woolball-client
Version:
Client-side library for Woolball enabling secure browser resource sharing for distributed AI task processing
31 lines (30 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.process = void 0;
const tasks_1 = require("../utils/tasks");
const process = async ({ data }) => {
const { task, ...taskData } = data;
try {
const processor = tasks_1.taskProcessors[task];
if (!processor) {
self.postMessage({ error: `Unsupported task: ${task}` });
return;
}
console.log(`[Worker] Processing task ${task} with processor`);
const result = await processor(taskData);
console.log(`[Worker] Task ${task} completed successfully`);
self.postMessage(result);
}
catch (e) {
const errorMessage = e instanceof Error ? e.message : String(e);
console.error('[Worker] Error:', errorMessage);
self.postMessage({ error: errorMessage });
}
};
exports.process = process;
self.onmessage = (event) => {
console.log('[Worker] Message received');
(0, exports.process)(event).catch(err => {
console.error('[Worker] Unhandled error:', err);
});
};