UNPKG

2.76 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.runWorker = void 0;
4const worker_threads_1 = require("worker_threads");
5async function runIfWorker() {
6 if (!worker_threads_1.isMainThread) {
7 worker_threads_1.parentPort?.postMessage(`${worker_threads_1.workerData} done`);
8 }
9}
10runIfWorker();
11async function runWorker(arg) {
12 return new Promise((resolve, reject) => {
13 const worker = new worker_threads_1.Worker(__filename, { workerData: arg });
14 worker.on("message", resolve);
15 worker.on("error", reject);
16 worker.on("exit", code => {
17 if (code !== 0) {
18 reject(new Error(`Worker stopped with exit code ${code}`));
19 }
20 });
21 });
22}
23exports.runWorker = runWorker;
24//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9maXh0dXJlcy93b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQThFO0FBRTlFLEtBQUssVUFBVSxXQUFXO0lBQ3RCLElBQUksQ0FBQyw2QkFBWSxFQUFFO1FBQ2YsMkJBQVUsRUFBRSxXQUFXLENBQUMsR0FBRywyQkFBVSxPQUFPLENBQUMsQ0FBQztLQUNqRDtBQUNMLENBQUM7QUFFRCxXQUFXLEVBQUUsQ0FBQztBQUVQLEtBQUssVUFBVSxTQUFTLENBQUMsR0FBVztJQUN2QyxPQUFPLElBQUksT0FBTyxDQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQzNDLE1BQU0sTUFBTSxHQUFHLElBQUksdUJBQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5QixNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzQixNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNyQixJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ1osTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLGlDQUFpQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDOUQ7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQVhELDhCQVdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNNYWluVGhyZWFkLCBwYXJlbnRQb3J0LCBXb3JrZXIsIHdvcmtlckRhdGEgfSBmcm9tIFwid29ya2VyX3RocmVhZHNcIjtcblxuYXN5bmMgZnVuY3Rpb24gcnVuSWZXb3JrZXIoKSB7XG4gICAgaWYgKCFpc01haW5UaHJlYWQpIHtcbiAgICAgICAgcGFyZW50UG9ydD8ucG9zdE1lc3NhZ2UoYCR7d29ya2VyRGF0YX0gZG9uZWApO1xuICAgIH1cbn1cblxucnVuSWZXb3JrZXIoKTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bldvcmtlcihhcmc6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3Qgd29ya2VyID0gbmV3IFdvcmtlcihfX2ZpbGVuYW1lLCB7IHdvcmtlckRhdGE6IGFyZyB9KTtcbiAgICAgICAgd29ya2VyLm9uKFwibWVzc2FnZVwiLCByZXNvbHZlKTtcbiAgICAgICAgd29ya2VyLm9uKFwiZXJyb3JcIiwgcmVqZWN0KTtcbiAgICAgICAgd29ya2VyLm9uKFwiZXhpdFwiLCBjb2RlID0+IHtcbiAgICAgICAgICAgIGlmIChjb2RlICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgV29ya2VyIHN0b3BwZWQgd2l0aCBleGl0IGNvZGUgJHtjb2RlfWApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG4iXX0=
\No newline at end of file