JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 43397
  • Score
    100M100P100Q163498F
  • License MIT

A tiny shim for WebWorker (data URI only) that works in Node.

Package Exports

  • webworker-shim
  • webworker-shim/register

Readme

WebWorker Shim

A tiny shim for WebWorker (data URI only) that works in Node.

Install

npm install webworker-shim

Usage

Only WebWorkers encoded as a data:text/javascript;charset=utf-8,* string are supported.

import Worker from 'webworker-shim';

// Let's create a worker

const worker = new Worker ( `data:text/javascript;charset=utf-8,${encodeURIComponent (`
  addEventListener ( 'message', event => {
    if ( event.data === 'ping' ) {
      postMessage ( 'pong' );
    }
  });
`)}`);

worker.addEventListener ( 'message', event => {
  console.log ( event.data ); // => 'pong'
});

worker.postMessage ( 'ping' );

Alternatively you can just polyfill gloalThis.Worker, like this:

import 'webworker-shim/register';

License

MIT © Fabio Spampinato