MCPcopy
hub / github.com/101arrowz/fflate / wc

Function wc

test/util.ts:119–152  ·  view source on GitHub ↗
(pkg: string, method?: string)

Source from the content-addressed store, hash-verified

117
118// Worker creator
119const wc = (pkg: string, method?: string): Workerized => {
120 const str = cws(pkg, method);
121 return (workerData, transferable) => {
122 const worker = new Worker(str, {
123 eval: true,
124 workerData,
125 transferList: transferable
126 });
127 let terminated = false;
128 return {
129 timeout(ms: number) {
130 const tm = setTimeout(() => {
131 worker.terminate();
132 terminated = true;
133 }, ms);
134 worker.once('message', () => clearTimeout(tm));
135 },
136 then(res, rej) {
137 return new Promise((res, rej) => {
138 worker
139 .once('message', msg => {
140 if (msg.err) rej(msg.err);
141 res(msg);
142 })
143 .once('error', rej)
144 .once('exit', code => {
145 if (terminated) rej(new Error('Timed out'));
146 else if (code !== 0) rej(new Error('Exited with status code ' + code));
147 });
148 }).then(res, rej);
149 }
150 };
151 }
152}
153
154const fflate = resolve(__dirname, '..');
155

Callers 1

util.tsFile · 0.85

Calls 1

cwsFunction · 0.85

Tested by

no test coverage detected