@chartshq/datamodel
Version:
An environment with `node`, `rustup` and `wasm-pack` set up.
1 lines • 730 B
JavaScript
import*as GPromise from"global-promise";import{v4 as uuidv4}from"uuid";var RETRY_INTERVAL=64,isTaskerFree=function(r){return r.isFree},initializePoolExecutor=function(r){var e=function(){return r.find(isTaskerFree)};return function(r){var i,t=uuidv4(),n=GPromise.create(t);return(i=e(),new Promise(function(r){if(null==i)var t=setInterval(function(){var i=e();null!=i&&(i.isFree=!1,clearInterval(t),r(i))},RETRY_INTERVAL);else i.isFree=!1,r(i)})).then(function(e){var i=e.worker;i.addEventListener("message",function(r){var i=r.data,t=i.reqId,n=i.data;e.isFree=!0,n.error?GPromise.reject(t,new Error(n.error)):GPromise.resolve(t,n.data)}),i.postMessage({data:r,reqId:t,type:"transform-data"})}),n}};export{initializePoolExecutor};