UNPKG

5.99 kBJavaScriptView Raw
1var _class, _worker, _signal, _temp, _markInRegisterWorker, _worker_threads;
2
3function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) { _classCheckPrivateStaticAccess(receiver, classConstructor); _classCheckPrivateStaticFieldDescriptor(descriptor, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
4
5function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) { _classCheckPrivateStaticAccess(receiver, classConstructor); _classCheckPrivateStaticFieldDescriptor(descriptor, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
6
7function _classCheckPrivateStaticFieldDescriptor(descriptor, action) { if (descriptor === undefined) { throw new TypeError("attempted to " + action + " private static field before its declaration"); } }
8
9function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } }
10
11function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
12
13function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
14
15function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
16
17function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
18
19function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
20
21function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
22
23function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
24
25const path = require("path");
26
27const ACTIONS = {
28 GET_DEFAULT_EXTENSIONS: "GET_DEFAULT_EXTENSIONS",
29 SET_OPTIONS: "SET_OPTIONS",
30 TRANSFORM: "TRANSFORM",
31 TRANSFORM_SYNC: "TRANSFORM_SYNC"
32};
33
34var _send = new WeakMap();
35
36var _eCache = new WeakMap();
37
38class Client {
39 constructor(send) {
40 _classPrivateFieldInitSpec(this, _send, {
41 writable: true,
42 value: void 0
43 });
44
45 _classPrivateFieldInitSpec(this, _eCache, {
46 writable: true,
47 value: void 0
48 });
49
50 _classPrivateFieldSet(this, _send, send);
51 }
52
53 getDefaultExtensions() {
54 var _classPrivateFieldGet2;
55
56 return (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _eCache)) != null ? _classPrivateFieldGet2 : _classPrivateFieldSet(this, _eCache, _classPrivateFieldGet(this, _send).call(this, ACTIONS.GET_DEFAULT_EXTENSIONS, undefined));
57 }
58
59 setOptions(options) {
60 return _classPrivateFieldGet(this, _send).call(this, ACTIONS.SET_OPTIONS, options);
61 }
62
63 transform(code, filename) {
64 return _classPrivateFieldGet(this, _send).call(this, ACTIONS.TRANSFORM, {
65 code,
66 filename
67 });
68 }
69
70}
71
72exports.WorkerClient = (_temp = (_worker = new WeakMap(), _signal = new WeakMap(), _class = class WorkerClient extends Client {
73 constructor() {
74 super((action, payload) => {
75 _classPrivateFieldGet(this, _signal)[0] = 0;
76 const subChannel = new (_classStaticPrivateFieldSpecGet(WorkerClient, _class, _worker_threads).MessageChannel)();
77
78 _classPrivateFieldGet(this, _worker).postMessage({
79 signal: _classPrivateFieldGet(this, _signal),
80 port: subChannel.port1,
81 action,
82 payload
83 }, [subChannel.port1]);
84
85 Atomics.wait(_classPrivateFieldGet(this, _signal), 0, 0);
86
87 const {
88 message
89 } = _classStaticPrivateFieldSpecGet(WorkerClient, _class, _worker_threads).receiveMessageOnPort(subChannel.port2);
90
91 if (message.error) throw Object.assign(message.error, message.errorData);else return message.result;
92 });
93
94 _classPrivateFieldInitSpec(this, _worker, {
95 writable: true,
96 value: new (_classStaticPrivateFieldSpecGet(WorkerClient, _class, _worker_threads).Worker)(path.resolve(__dirname, "./worker/index.js"), {
97 env: _classStaticPrivateFieldSpecGet(WorkerClient, _class, _markInRegisterWorker).call(WorkerClient, process.env)
98 })
99 });
100
101 _classPrivateFieldInitSpec(this, _signal, {
102 writable: true,
103 value: new Int32Array(new SharedArrayBuffer(4))
104 });
105
106 _classPrivateFieldGet(this, _worker).unref();
107 }
108
109}), _markInRegisterWorker = {
110 get: _get_markInRegisterWorker,
111 set: void 0
112}, _worker_threads = {
113 get: _get_worker_threads,
114 set: void 0
115}, _temp);
116
117function _get_worker_threads() {
118 return require("worker_threads");
119}
120
121function _get_markInRegisterWorker() {
122 return require("./is-in-register-worker").markInRegisterWorker;
123}
124
125{
126 var _class2, _temp2, _handleMessage;
127
128 exports.LocalClient = (_temp2 = _class2 = class LocalClient extends Client {
129 constructor() {
130 var _classStaticPrivateFi;
131
132 (_classStaticPrivateFi = _classStaticPrivateFieldSpecGet(LocalClient, _class2, _handleMessage)) != null ? _classStaticPrivateFi : _classStaticPrivateFieldSpecSet(LocalClient, _class2, _handleMessage, require("./worker/handle-message"));
133 super((action, payload) => {
134 return _classStaticPrivateFieldSpecGet(LocalClient, _class2, _handleMessage).call(LocalClient, action === ACTIONS.TRANSFORM ? ACTIONS.TRANSFORM_SYNC : action, payload);
135 });
136 this.isLocalClient = true;
137 }
138
139 }, _handleMessage = {
140 writable: true,
141 value: void 0
142 }, _temp2);
143}
\No newline at end of file