Numerous Problems Multiplied

    webworker-polyfill

    0.1.0 • Public • Published

    webworker-polyfill

    Web worker has a lot of limitations like you cannot access localStorage, because you cannot access initiating window.

    This library is to fill this gap, providing this missing objects. Only exception is that these APIs will become promised methods.

    Usage

    In your host context,

    import polyfill from 'webworker-polyfill'
     
    const worker = new Worker('./worker.js')
    polyfill(worker)

    In your worker context (worker.js here):

    import polyfill from 'webworker-polyfill'
     
    polyfill(self)
     
    // then do what you want to do
    localStorage.setItem('set_from_worker', 'whatever')
    localStorage.getItem('set_from_worker').then((value) => {
      console.log(value)
    })
     
    // or use ES2017 async/await
    (async () => {
      const value = await localStorage.getItem('set_from_worker')
      console.log(value)
    })()

    How it works

    Just postMessage() and request the host context to access these resources whenever you access these missing APIs. Simple, right?

    Supported APIs

    • localStorage
    • indexDB

    Install

    npm i webworker-polyfill

    DownloadsWeekly Downloads

    1

    Version

    0.1.0

    License

    MIT

    Last publish

    Collaborators

    • chaoyangnz