Lightweight utility to proxy api requests from main thread to web worker. Run the tests in your browser here!
// Main threadconst{ProxyWorker}=require('proxyworker');constworker=newProxyWorker(newWorker('./path/to/worker.js'));// Call 'echo' method on worker with some arguments.// This returns a promise that will resolve with the worker api response.worker.callWithArgs('echo',['a','b','c',1,2,3]);// Subscribe to worker event.worker.subscribe('breakfast',breakfast=>{// breakfast => ['green', 'eggs', 'and', 'tofu']});// worker.jsconst{emit, proxy}=require('proxyworker');proxy({methods: {echo: function(){letresult=Array.prototype.slice.call(arguments);returnPromise.resolve(result);}},events: ['breakfast',]});// Time for breakfast?setInterval(function(){emit('breakfast',['green','eggs','and','tofu',]);},24*60*60*1000);