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.
- Host: GitHub
- URL: https://github.com/fabiospampinato/webworker-shim
- Owner: fabiospampinato
- License: mit
- Created: 2022-05-21T23:11:38.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-09-24T16:28:51.000Z (about 2 years ago)
- Last Synced: 2024-11-01T17:42:34.743Z (12 months ago)
- Topics: node, shim, webworker, worker
- Language: TypeScript
- Homepage:
- Size: 6.84 KB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license
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