1 | function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
2 |
|
3 | function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
4 |
|
5 | const babel = require("./babel-core");
|
6 |
|
7 | const handleMessage = require("./handle-message");
|
8 |
|
9 | const {
|
10 | parentPort
|
11 | } = require("worker_threads");
|
12 |
|
13 | parentPort.addListener("message", function () {
|
14 | var _ref = _asyncToGenerator(function* ({
|
15 | signal,
|
16 | port,
|
17 | action,
|
18 | payload
|
19 | }) {
|
20 | let response;
|
21 |
|
22 | try {
|
23 | if (babel.init) yield babel.init;
|
24 | response = {
|
25 | result: yield handleMessage(action, payload)
|
26 | };
|
27 | } catch (error) {
|
28 | response = {
|
29 | error,
|
30 | errorData: Object.assign({}, error)
|
31 | };
|
32 | }
|
33 |
|
34 | try {
|
35 | port.postMessage(response);
|
36 | } catch (_unused) {
|
37 | port.postMessage({
|
38 | error: new Error("Cannot serialize worker response")
|
39 | });
|
40 | } finally {
|
41 | port.close();
|
42 | Atomics.store(signal, 0, 1);
|
43 | Atomics.notify(signal, 0);
|
44 | }
|
45 | });
|
46 |
|
47 | return function (_x) {
|
48 | return _ref.apply(this, arguments);
|
49 | };
|
50 | }()); |
\ | No newline at end of file |