An open API service indexing awesome lists of open source software.

https://github.com/fabiospampinato/webworker-shim

A tiny shim for WebWorker (data URI only) that works in Node.
https://github.com/fabiospampinato/webworker-shim

node shim webworker worker

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

          

# WebWorker Shim

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

## Install

```sh
npm install webworker-shim
```

## Usage

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

```ts
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:

```ts
import 'webworker-shim/register';
```

## License

MIT © Fabio Spampinato