@mongosh/node-runtime-worker-thread 2.3.0 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AUTHORS +1 -0
- package/dist/153.js +1 -0
- package/dist/41.js +1 -0
- package/dist/502.js +1 -0
- package/dist/{578.js → 503.js} +1 -1
- package/dist/{43.js → 527.js} +1 -1
- package/dist/534.js +1 -0
- package/dist/711.js +1 -0
- package/dist/739.js +1 -0
- package/dist/index.d.ts +6 -8
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/report.html +2 -2
- package/dist/rpc.d.ts +6 -15
- package/dist/rpc.js +7 -71
- package/dist/rpc.js.map +1 -1
- package/dist/worker-process-mongosh-bus.d.ts +7 -0
- package/dist/{child-process-mongosh-bus.js → worker-process-mongosh-bus.js} +8 -8
- package/dist/worker-process-mongosh-bus.js.map +1 -0
- package/dist/worker-runtime.js +16 -16
- package/dist/worker-runtime.js.map +1 -1
- package/dist/{child-process-evaluation-listener.d.ts → worker-thread-evaluation-listener.d.ts} +2 -4
- package/dist/{child-process-evaluation-listener.js → worker-thread-evaluation-listener.js} +6 -6
- package/dist/worker-thread-evaluation-listener.js.map +1 -0
- package/package.json +13 -12
- package/src/index.spec.ts +148 -147
- package/src/index.ts +98 -120
- package/src/lock.spec.ts +1 -1
- package/src/rpc.spec.ts +24 -90
- package/src/rpc.ts +17 -98
- package/src/{child-process-mongosh-bus.ts → worker-process-mongosh-bus.ts} +5 -6
- package/src/worker-runtime.spec.ts +19 -29
- package/src/worker-runtime.ts +15 -22
- package/src/{child-process-evaluation-listener.ts → worker-thread-evaluation-listener.ts} +3 -4
- package/tests/register-worker.js +1 -0
- package/tsconfig.json +2 -1
- package/webpack.config.js +4 -6
- package/__fixtures__/script-that-throws.js +0 -1
- package/dist/354.js +0 -1
- package/dist/528.js +0 -1
- package/dist/650.js +0 -1
- package/dist/722.js +0 -1
- package/dist/777.js +0 -1
- package/dist/942.js +0 -1
- package/dist/child-process-evaluation-listener.js.map +0 -1
- package/dist/child-process-mongosh-bus.d.ts +0 -9
- package/dist/child-process-mongosh-bus.js.map +0 -1
- package/dist/child-process-proxy.d.ts +0 -1
- package/dist/child-process-proxy.js +0 -1
- package/dist/child-process-proxy.js.map +0 -1
- package/dist/spawn-child-from-source.d.ts +0 -5
- package/dist/spawn-child-from-source.js +0 -74
- package/dist/spawn-child-from-source.js.map +0 -1
- package/src/child-process-proxy.spec.ts +0 -84
- package/src/child-process-proxy.ts +0 -124
- package/src/spawn-child-from-source.spec.ts +0 -90
- package/src/spawn-child-from-source.ts +0 -102
- package/tsconfig.test.json +0 -11
package/dist/rpc.d.ts
CHANGED
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
export
|
|
2
|
-
export declare function deserialize<T = unknown>(str: string): T | string;
|
|
3
|
-
type RPCMessageBus = {
|
|
4
|
-
on: Function;
|
|
5
|
-
off: Function;
|
|
6
|
-
} & ({
|
|
1
|
+
export type RPCMessageBus = {
|
|
7
2
|
postMessage: Function;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
send?: Function;
|
|
12
|
-
});
|
|
13
|
-
export declare function removeTrailingUndefined(arr: unknown[]): unknown[];
|
|
3
|
+
addEventListener: Function;
|
|
4
|
+
removeEventListener: Function;
|
|
5
|
+
};
|
|
14
6
|
export declare const close: unique symbol;
|
|
15
7
|
export declare const cancel: unique symbol;
|
|
16
8
|
export type Exposed<T> = {
|
|
@@ -20,9 +12,8 @@ export type Exposed<T> = {
|
|
|
20
12
|
} & {
|
|
21
13
|
[close]: () => void;
|
|
22
14
|
};
|
|
23
|
-
export declare function exposeAll<O>(obj: O, messageBus: RPCMessageBus): Exposed<O>;
|
|
15
|
+
export declare function exposeAll<O extends object>(obj: O, messageBus: RPCMessageBus): Exposed<O>;
|
|
24
16
|
export type Caller<Impl, Keys extends keyof Impl = keyof Impl> = CancelableMethods<Pick<Impl, Keys>> & {
|
|
25
17
|
[cancel]: () => void;
|
|
26
18
|
};
|
|
27
|
-
export declare function createCaller<Impl extends
|
|
28
|
-
export {};
|
|
19
|
+
export declare function createCaller<Impl extends object>(methodNames: Extract<keyof Impl, string>[], messageBus: RPCMessageBus, processors?: Partial<Record<(typeof methodNames)[number], (...input: any[]) => any[]>>): Caller<Impl, (typeof methodNames)[number]>;
|
package/dist/rpc.js
CHANGED
|
@@ -1,23 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createCaller = exports.exposeAll = exports.cancel = exports.close =
|
|
7
|
-
const v8_1 = __importDefault(require("v8"));
|
|
3
|
+
exports.createCaller = exports.exposeAll = exports.cancel = exports.close = void 0;
|
|
8
4
|
const postmsg_rpc_1 = require("postmsg-rpc");
|
|
9
5
|
const serializer_1 = require("./serializer");
|
|
10
|
-
function serialize(data) {
|
|
11
|
-
return `data:;base64,${v8_1.default.serialize(data).toString('base64')}`;
|
|
12
|
-
}
|
|
13
|
-
exports.serialize = serialize;
|
|
14
|
-
function deserialize(str) {
|
|
15
|
-
if (/^data:;base64,.+/.test(str)) {
|
|
16
|
-
return v8_1.default.deserialize(Buffer.from(str.replace('data:;base64,', ''), 'base64'));
|
|
17
|
-
}
|
|
18
|
-
return str;
|
|
19
|
-
}
|
|
20
|
-
exports.deserialize = deserialize;
|
|
21
6
|
var RPCMessageTypes;
|
|
22
7
|
(function (RPCMessageTypes) {
|
|
23
8
|
RPCMessageTypes[RPCMessageTypes["Message"] = 0] = "Message";
|
|
@@ -26,65 +11,16 @@ var RPCMessageTypes;
|
|
|
26
11
|
function isRPCError(data) {
|
|
27
12
|
return (data && typeof data === 'object' && data.type === RPCMessageTypes.Error);
|
|
28
13
|
}
|
|
29
|
-
function isMessageData(data) {
|
|
30
|
-
return data && typeof data === 'object' && 'id' in data && 'sender' in data;
|
|
31
|
-
}
|
|
32
|
-
function isServerMessageData(data) {
|
|
33
|
-
return isMessageData(data) && data.sender === 'postmsg-rpc/server';
|
|
34
|
-
}
|
|
35
|
-
function isClientMessageData(data) {
|
|
36
|
-
return isMessageData(data) && data.sender === 'postmsg-rpc/client';
|
|
37
|
-
}
|
|
38
|
-
function removeTrailingUndefined(arr) {
|
|
39
|
-
if (Array.isArray(arr)) {
|
|
40
|
-
arr = [...arr];
|
|
41
|
-
while (arr.length > 0 && arr[arr.length - 1] === undefined) {
|
|
42
|
-
arr.pop();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return arr;
|
|
46
|
-
}
|
|
47
|
-
exports.removeTrailingUndefined = removeTrailingUndefined;
|
|
48
|
-
function send(messageBus, data) {
|
|
49
|
-
if ('postMessage' in messageBus &&
|
|
50
|
-
typeof messageBus.postMessage === 'function') {
|
|
51
|
-
messageBus.postMessage(data);
|
|
52
|
-
}
|
|
53
|
-
if ('send' in messageBus && typeof messageBus.send === 'function') {
|
|
54
|
-
messageBus.send(data);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
14
|
function getRPCOptions(messageBus) {
|
|
58
15
|
return {
|
|
59
|
-
addListener: messageBus.
|
|
60
|
-
removeListener: messageBus.
|
|
16
|
+
addListener: messageBus.addEventListener.bind(messageBus),
|
|
17
|
+
removeListener: messageBus.removeEventListener.bind(messageBus),
|
|
61
18
|
postMessage(data) {
|
|
62
|
-
|
|
63
|
-
data.args = serialize(removeTrailingUndefined(data.args));
|
|
64
|
-
}
|
|
65
|
-
if (isServerMessageData(data)) {
|
|
66
|
-
try {
|
|
67
|
-
data.res = serialize(data.res);
|
|
68
|
-
}
|
|
69
|
-
catch (e) {
|
|
70
|
-
data.res = serialize({
|
|
71
|
-
type: RPCMessageTypes.Error,
|
|
72
|
-
payload: (0, serializer_1.serializeError)(e),
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return send(messageBus, data);
|
|
19
|
+
return messageBus.postMessage(data);
|
|
77
20
|
},
|
|
78
|
-
getMessageData(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
typeof data.args === 'string') {
|
|
82
|
-
data.args = deserialize(data.args);
|
|
83
|
-
}
|
|
84
|
-
if (isServerMessageData(data) && typeof data.res === 'string') {
|
|
85
|
-
data.res = deserialize(data.res);
|
|
86
|
-
}
|
|
87
|
-
return data;
|
|
21
|
+
getMessageData(event) {
|
|
22
|
+
var _a;
|
|
23
|
+
return (_a = event.data) !== null && _a !== void 0 ? _a : event;
|
|
88
24
|
},
|
|
89
25
|
};
|
|
90
26
|
}
|
package/dist/rpc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.WorkerProcessMongoshBus = void 0;
|
|
4
4
|
const rpc_1 = require("./rpc");
|
|
5
|
-
class
|
|
6
|
-
constructor(eventEmitter,
|
|
5
|
+
class WorkerProcessMongoshBus {
|
|
6
|
+
constructor(eventEmitter, worker) {
|
|
7
7
|
const exposedEmitter = (0, rpc_1.exposeAll)({
|
|
8
8
|
emit(...args) {
|
|
9
9
|
eventEmitter.emit(...args);
|
|
10
10
|
},
|
|
11
11
|
on() {
|
|
12
|
-
throw new Error("Can't use `on` method on
|
|
12
|
+
throw new Error("Can't use `on` method on WorkerProcessMongoshBus");
|
|
13
13
|
},
|
|
14
14
|
once() {
|
|
15
|
-
throw new Error("Can't use `once` method on
|
|
15
|
+
throw new Error("Can't use `once` method on WorkerProcessMongoshBus");
|
|
16
16
|
},
|
|
17
|
-
},
|
|
17
|
+
}, worker);
|
|
18
18
|
this.exposedEmitter = exposedEmitter;
|
|
19
19
|
}
|
|
20
20
|
terminate() {
|
|
21
21
|
this.exposedEmitter[rpc_1.close]();
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
exports.
|
|
25
|
-
//# sourceMappingURL=
|
|
24
|
+
exports.WorkerProcessMongoshBus = WorkerProcessMongoshBus;
|
|
25
|
+
//# sourceMappingURL=worker-process-mongosh-bus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-process-mongosh-bus.js","sourceRoot":"","sources":["../src/worker-process-mongosh-bus.ts"],"names":[],"mappings":";;;AAEA,+BAAyC;AAEzC,MAAa,uBAAuB;IAGlC,YAAY,YAAwB,EAAE,MAAc;QAClD,MAAM,cAAc,GAAwB,IAAA,eAAS,EACnD;YACE,IAAI,CAAC,GAAG,IAAI;gBACV,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7B,CAAC;YACD,EAAE;gBACA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;YACD,IAAI;gBACF,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACxE,CAAC;SACF,EACD,MAAM,CACP,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,SAAS;QACP,IAAI,CAAC,cAAc,CAAC,WAAK,CAAC,EAAE,CAAC;IAC/B,CAAC;CACF;AAxBD,0DAwBC"}
|