Skip to content

developit/workerize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jan 17, 2018
4ab9c91 Β· Jan 17, 2018

History

29 Commits
Jan 10, 2018
Jan 9, 2018
Jan 9, 2018
Jan 13, 2018
Jan 17, 2018
Jan 17, 2018

Repository files navigation

πŸ’– Using Webpack? You want workerize-loader ➑️

workerize

Workerize npm travis

Moves a module into a Web Worker, automatically reflecting exported functions as asynchronous proxies.

  • Bundles a tiny, purpose-built RPC implementation into your app
  • If exported module methods are already async, signature is unchanged
  • Supports synchronous and asynchronous worker functions
  • Works beautifully with async/await
  • Just 900 bytes of gzipped ES3

Install

npm install --save workerize

Usage

Pass either a function or a string containing code.

worker.js:

let worker = workerize(`
	export function add(a, b) {
		// block for half a second to demonstrate asynchronicity
		let start = Date.now();
		while (Date.now()-start < 500);
		return a + b;
	}
`);

(async () => {
	console.log('3 + 9 = ', await worker.add(3, 9));
	console.log('1 + 2 = ', await worker.add(1, 2));
})();

License

MIT License Β© Jason Miller