UNPKG

worktank

Version:

A simple isomorphic library for executing functions inside WebWorkers or Node Threads pools.

3 lines (2 loc) 1.15 kB
declare const _default: "globalThis.WorkTankWorkerBackend=(()=>{let{addEventListener:d,postMessage:n}=globalThis,r={},l=e=>e instanceof Error?e:typeof e==\"string\"?new Error(e):new Error(\"Unknown error\"),a=e=>{try{n({type:\"log\",value:e})}catch(t){console.error(\"Failed to post log message\",t)}},g=e=>{let t=!1,o;return()=>(t||(t=!0,o=e()),o)},u=e=>{var t,o;((t=e.data)==null?void 0:t.type)===\"exec\"?p(e.data.method,e.data.args):a(`Unknown message type: ${(o=e.data)==null?void 0:o.type}`)},p=(e,t)=>{let o=r[e];new Promise(i=>i(o.apply(void 0,t))).then(y,s)},s=e=>{let{name:t,message:o,stack:c}=l(e);try{n({type:\"result\",error:{name:t,message:o,stack:c}})}catch(i){s(\"Failed to post error message\")}},y=e=>{try{n({type:\"result\",value:e})}catch(t){s(t)}};return{ready:g(()=>{d(\"message\",u),n({type:\"ready\"})}),registerEnv:e=>{globalThis.process||(globalThis.process={}),globalThis.process.env={...globalThis.process.env,...e}},registerMethods:e=>{for(let t in e){let o=e[t];typeof o==\"function\"?r[t]=o:a(`Method \"${t}\" is not a function and will be ignored`)}}}})(); /*! BOOTLOADER_PLACEHOLDER !*/"; export default _default;