omni-tools/src/lib/ghostscript/worker-init.js

16 lines
497 B
JavaScript
Raw Normal View History

2025-04-03 01:44:58 +00:00
export async function compressWithGhostScript(dataStruct) {
2025-04-03 01:43:12 +00:00
const worker = new Worker(
new URL('./background-worker.js', import.meta.url),
{ type: 'module' }
);
worker.postMessage({ data: dataStruct, target: 'wasm' });
return new Promise((resolve, reject) => {
const listener = (e) => {
resolve(e.data);
worker.removeEventListener('message', listener);
setTimeout(() => worker.terminate(), 0);
};
worker.addEventListener('message', listener);
});
}