testcafe 2.6.0 → 2.6.1
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/CHANGELOG.md +21 -0
- package/bin/testcafe-with-v8-flag-filter.js +10 -16
- package/lib/api/exportable-lib/index.js +1 -11
- package/lib/api/structure/test.js +4 -11
- package/lib/api/test-controller/index.js +3 -10
- package/lib/api/test-run-tracker.js +1 -1
- package/lib/assertions/executor.js +2 -11
- package/lib/browser/connection/gateway/index.js +3 -4
- package/lib/cli/argument-parser/index.js +1 -3
- package/lib/cli/cli.js +3 -11
- package/lib/client/automation/index.js +49 -36
- package/lib/client/automation/index.min.js +1 -1
- package/lib/client/browser/idle-page/index.js +13 -5
- package/lib/client/core/index.js +14 -8
- package/lib/client/core/index.min.js +1 -1
- package/lib/client/driver/index.js +19 -20
- package/lib/client/driver/index.min.js +1 -1
- package/lib/compiler/babel/load-libs.js +3 -3
- package/lib/compiler/compilers.js +6 -6
- package/lib/compiler/index.js +3 -3
- package/lib/compiler/interfaces.js +1 -1
- package/lib/compiler/test-file/add-export-api.js +3 -3
- package/lib/compiler/test-file/api-based.js +5 -34
- package/lib/compiler/test-file/formats/es-next/compiler.js +4 -4
- package/lib/compiler/test-file/formats/typescript/compiler.js +5 -5
- package/lib/configuration/option-names.js +1 -2
- package/lib/errors/runtime/templates.js +1 -2
- package/lib/errors/types.js +2 -3
- package/lib/index.js +1 -3
- package/lib/live/bootstrapper.js +3 -3
- package/lib/live/test-runner.js +5 -5
- package/lib/native-automation/add-custom-debug-formatters.js +3 -2
- package/lib/native-automation/client/event-descriptor.js +11 -5
- package/lib/native-automation/client/input.js +3 -7
- package/lib/native-automation/request-hooks/event-provider.js +4 -1
- package/lib/native-automation/request-pipeline/context-info.js +4 -1
- package/lib/native-automation/request-pipeline/index.js +39 -19
- package/lib/native-automation/request-pipeline/safe-api.js +10 -7
- package/lib/native-automation/request-pipeline/special-handlers.js +16 -13
- package/lib/native-automation/resource-injector.js +7 -7
- package/lib/native-automation/types.js +1 -1
- package/lib/native-automation/utils/cdp.js +3 -2
- package/lib/role/role.js +4 -39
- package/lib/runner/bootstrapper.js +4 -11
- package/lib/runner/browser-job.js +4 -5
- package/lib/runner/fixture-hook-controller.js +1 -7
- package/lib/runner/index.js +6 -53
- package/lib/runner/interfaces.js +1 -1
- package/lib/runner/task/index.js +2 -4
- package/lib/runner/test-run-controller.js +2 -4
- package/lib/test-run/bookmark.js +5 -23
- package/lib/test-run/commands/service.js +2 -3
- package/lib/test-run/commands/utils.js +4 -2
- package/lib/test-run/index.js +9 -132
- package/lib/testcafe.js +1 -9
- package/lib/utils/debug-loggers.js +4 -2
- package/lib/utils/parse-user-agent.js +17 -2
- package/package.json +3 -4
- package/lib/compiler/test-file/test-file-temp-variable-name.js +0 -6
- package/lib/dashboard/config-storage.js +0 -26
- package/lib/dashboard/connector.js +0 -84
- package/lib/dashboard/documentation-url.js +0 -6
- package/lib/dashboard/formatting.js +0 -26
- package/lib/dashboard/get-dashboard-url.js +0 -10
- package/lib/dashboard/get-default-project-link.js +0 -23
- package/lib/dashboard/get-env-options.js +0 -26
- package/lib/dashboard/index.js +0 -145
- package/lib/dashboard/interfaces.js +0 -3
- package/lib/dashboard/messages.js +0 -21
- package/lib/services/compiler/esm-runtime-holder-name.js +0 -6
- package/lib/services/compiler/host.js +0 -370
- package/lib/services/compiler/interfaces.js +0 -3
- package/lib/services/compiler/io.js +0 -10
- package/lib/services/compiler/protocol.js +0 -17
- package/lib/services/compiler/service-loader.js +0 -18
- package/lib/services/compiler/service.js +0 -362
- package/lib/services/compiler/test-run-proxy.js +0 -157
- package/lib/services/interfaces.js +0 -3
- package/lib/services/process-title.js +0 -10
- package/lib/services/serialization/prepare-options.js +0 -23
- package/lib/services/serialization/replicator/create-replicator.js +0 -58
- package/lib/services/serialization/replicator/interfaces.js +0 -3
- package/lib/services/serialization/replicator/transforms/base-transform.js +0 -16
- package/lib/services/serialization/replicator/transforms/browser-console-messages-transform.js +0 -23
- package/lib/services/serialization/replicator/transforms/callsite-record-transform.js +0 -24
- package/lib/services/serialization/replicator/transforms/command-base-trasform/assertion-command-constructors.js +0 -28
- package/lib/services/serialization/replicator/transforms/command-base-trasform/command-constructors.js +0 -67
- package/lib/services/serialization/replicator/transforms/command-base-trasform/index.js +0 -49
- package/lib/services/serialization/replicator/transforms/command-base-trasform/types.js +0 -3
- package/lib/services/serialization/replicator/transforms/configure-response-event-option-transform.js +0 -21
- package/lib/services/serialization/replicator/transforms/custom-error-transform.js +0 -29
- package/lib/services/serialization/replicator/transforms/function-marker-transform/index.js +0 -21
- package/lib/services/serialization/replicator/transforms/function-marker-transform/marker.js +0 -9
- package/lib/services/serialization/replicator/transforms/promise-marker-transform/index.js +0 -21
- package/lib/services/serialization/replicator/transforms/promise-marker-transform/marker.js +0 -9
- package/lib/services/serialization/replicator/transforms/raw-command-callsite-record-transform.js +0 -22
- package/lib/services/serialization/replicator/transforms/re-executable-promise-transform/index.js +0 -22
- package/lib/services/serialization/replicator/transforms/re-executable-promise-transform/marker.js +0 -6
- package/lib/services/serialization/replicator/transforms/request-filter-rule-transform.js +0 -23
- package/lib/services/serialization/replicator/transforms/request-hook-event-data-transform.js +0 -41
- package/lib/services/serialization/replicator/transforms/response-mock-transform.js +0 -23
- package/lib/services/serialization/replicator/transforms/role-transform.js +0 -21
- package/lib/services/serialization/replicator/transforms/testcafe-error-list-transform.js +0 -23
- package/lib/services/serialization/replicator/transforms/url-transform.js +0 -23
- package/lib/services/serialization/test-structure.js +0 -91
- package/lib/services/utils/ipc/interfaces.js +0 -29
- package/lib/services/utils/ipc/io.js +0 -109
- package/lib/services/utils/ipc/message.js +0 -84
- package/lib/services/utils/ipc/packet.js +0 -57
- package/lib/services/utils/ipc/proxy.js +0 -94
- package/lib/services/utils/ipc/transport.js +0 -65
- package/lib/services/utils/method-should-not-be-called-error.js +0 -10
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.MessageSerializer = exports.MessageParser = void 0;
|
|
7
|
-
const packet_1 = __importDefault(require("./packet"));
|
|
8
|
-
const runtime_1 = require("../../../errors/runtime");
|
|
9
|
-
const types_1 = require("../../../errors/types");
|
|
10
|
-
const create_replicator_1 = __importDefault(require("../../serialization/replicator/create-replicator"));
|
|
11
|
-
const replicator = (0, create_replicator_1.default)();
|
|
12
|
-
class MessageParser {
|
|
13
|
-
constructor() {
|
|
14
|
-
this.dataQueue = [];
|
|
15
|
-
this.packetQueue = [];
|
|
16
|
-
}
|
|
17
|
-
static _concatPackets(packets) {
|
|
18
|
-
const data = packets.map(packet => packet.data);
|
|
19
|
-
return Buffer.concat(data);
|
|
20
|
-
}
|
|
21
|
-
_processPacket(packet) {
|
|
22
|
-
if (packet.header.tail) {
|
|
23
|
-
if (!packet.header.head && this.packetQueue.length === 0)
|
|
24
|
-
throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.unexpectedIPCTailPacket);
|
|
25
|
-
const packets = this.packetQueue.splice(0, this.packetQueue.length);
|
|
26
|
-
const data = packet.header.head ? packet.data : MessageParser._concatPackets([...packets, packet]);
|
|
27
|
-
const stringified = data.toString();
|
|
28
|
-
try {
|
|
29
|
-
return replicator.decode(stringified);
|
|
30
|
-
}
|
|
31
|
-
catch (e) {
|
|
32
|
-
if (e instanceof Error)
|
|
33
|
-
e.message += `\n${stringified}\n`;
|
|
34
|
-
throw e;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
if (packet.header.head && this.packetQueue.length !== 0) {
|
|
38
|
-
this.packetQueue.splice(0, this.packetQueue.length);
|
|
39
|
-
throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.unexpectedIPCHeadPacket);
|
|
40
|
-
}
|
|
41
|
-
if (!packet.header.head && !packet.header.tail && this.packetQueue.length === 0)
|
|
42
|
-
throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.unexpectedIPCBodyPacket);
|
|
43
|
-
this.packetQueue.push(packet);
|
|
44
|
-
return void 0;
|
|
45
|
-
}
|
|
46
|
-
_processData() {
|
|
47
|
-
let buffer = Buffer.concat(this.dataQueue.splice(0, this.dataQueue.length));
|
|
48
|
-
let packet = packet_1.default.parse(buffer);
|
|
49
|
-
const messages = [];
|
|
50
|
-
while (packet) {
|
|
51
|
-
const message = this._processPacket(packet);
|
|
52
|
-
if (message)
|
|
53
|
-
messages.push(message);
|
|
54
|
-
buffer = buffer.slice(packet.header.totalSize);
|
|
55
|
-
packet = packet_1.default.parse(buffer);
|
|
56
|
-
}
|
|
57
|
-
if (buffer.length)
|
|
58
|
-
this.dataQueue.unshift(buffer);
|
|
59
|
-
return messages;
|
|
60
|
-
}
|
|
61
|
-
parse(data) {
|
|
62
|
-
this.dataQueue.push(data);
|
|
63
|
-
return this._processData();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
exports.MessageParser = MessageParser;
|
|
67
|
-
class MessageSerializer {
|
|
68
|
-
static _chunkData(data) {
|
|
69
|
-
const chunks = [];
|
|
70
|
-
for (let index = 0; index < data.length; index += packet_1.default.MAX_PAYLOAD_SIZE) {
|
|
71
|
-
const size = Math.min(data.length - index, packet_1.default.MAX_PAYLOAD_SIZE);
|
|
72
|
-
const head = index === 0;
|
|
73
|
-
const tail = index + size >= data.length;
|
|
74
|
-
chunks.push(packet_1.default.serialize(data.slice(index, index + size), { head, tail }));
|
|
75
|
-
}
|
|
76
|
-
return chunks;
|
|
77
|
-
}
|
|
78
|
-
serialize(message) {
|
|
79
|
-
const encodedMessage = replicator.encode(message);
|
|
80
|
-
return MessageSerializer._chunkData(Buffer.from(encodedMessage));
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
exports.MessageSerializer = MessageSerializer;
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy91dGlscy9pcGMvbWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxzREFBMkQ7QUFDM0QscURBQXVEO0FBQ3ZELGlEQUF1RDtBQUN2RCx5R0FBZ0Y7QUFFaEYsTUFBTSxVQUFVLEdBQUcsSUFBQSwyQkFBZ0IsR0FBRSxDQUFDO0FBRXRDLE1BQWEsYUFBYTtJQUl0QjtRQUNJLElBQUksQ0FBQyxTQUFTLEdBQUssRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUFFLE9BQXVCO1FBQ2xELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyxjQUFjLENBQUUsTUFBb0I7UUFDeEMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDcEQsTUFBTSxJQUFJLHNCQUFZLENBQUMsc0JBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBRW5FLE1BQU0sT0FBTyxHQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hFLE1BQU0sSUFBSSxHQUFVLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFh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SyxDQUFDLENBQUM7WUFDekIsTUFBTSxJQUFJLEdBQUcsS0FBSyxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBRXpDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNsRjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTSxTQUFTLENBQUUsT0FBZTtRQUM3QixNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWxELE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQ0o7QUFwQkQsOENBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmYXVsdCBhcyBQYWNrZXQsIFBhcnNlZFBhY2tldCB9IGZyb20gJy4vcGFja2V0JztcbmltcG9ydCB7IEdlbmVyYWxFcnJvciB9IGZyb20gJy4uLy4uLy4uL2Vycm9ycy9ydW50aW1lJztcbmltcG9ydCB7IFJVTlRJTUVfRVJST1JTIH0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzL3R5cGVzJztcbmltcG9ydCBjcmVhdGVSZXBsaWNhdG9yIGZyb20gJy4uLy4uL3NlcmlhbGl6YXRpb24vcmVwbGljYXRvci9jcmVhdGUtcmVwbGljYXRvcic7XG5cbmNvbnN0IHJlcGxpY2F0b3IgPSBjcmVhdGVSZXBsaWNhdG9yKCk7XG5cbmV4cG9ydCBjbGFzcyBNZXNzYWdlUGFyc2VyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGFRdWV1ZTogQnVmZmVyW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWNrZXRRdWV1ZTogUGFyc2VkUGFja2V0W107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IgKCkge1xuICAgICAgICB0aGlzLmRhdGFRdWV1ZSAgID0gW107XG4gICAgICAgIHRoaXMucGFja2V0UXVldWUgPSBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBfY29uY2F0UGFja2V0cyAocGFja2V0czogUGFyc2VkUGFja2V0W10pOiBCdWZmZXIge1xuICAgICAgICBjb25zdCBkYXRhID0gcGFja2V0cy5tYXAocGFja2V0ID0+IHBhY2tldC5kYXRhKTtcblxuICAgICAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChkYXRhKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9wcm9jZXNzUGFja2V0IChwYWNrZXQ6IFBhcnNlZFBhY2tldCk6IG9iamVjdHx1bmRlZmluZWQge1xuICAgICAgICBpZiAocGFja2V0LmhlYWRlci50YWlsKSB7XG4gICAgICAgICAgICBpZiAoIXBhY2tldC5oZWFkZXIuaGVhZCAmJiB0aGlzLnBhY2tldFF1ZXVlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgR2VuZXJhbEVycm9yKFJVTlRJTUVfRVJST1JTLnVuZXhwZWN0ZWRJUENUYWlsUGFja2V0KTtcblxuICAgICAgICAgICAgY29uc3QgcGFja2V0cyAgICAgPSB0aGlzLnBhY2tldFF1ZXVlLnNwbGljZSgwLCB0aGlzLnBhY2tldFF1ZXVlLmxlbmd0aCk7XG4gICAgICAgICAgICBjb25zdCBkYXRhICAgICAgICA9IHBhY2tldC5oZWFkZXIuaGVhZCA/IHBhY2tldC5kYXRhIDogTWVzc2FnZVBhcnNlci5fY29uY2F0UGFja2V0cyhbLi4ucGFja2V0cywgcGFja2V0XSk7XG4gICAgICAgICAgICBjb25zdCBzdHJpbmdpZmllZCA9IGRhdGEudG9TdHJpbmcoKTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVwbGljYXRvci5kZWNvZGUoc3RyaW5naWZpZWQpIGFzIG9iamVjdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcilcbiAgICAgICAgICAgICAgICAgICAgZS5tZXNzYWdlICs9IGBcXG4ke3N0cmluZ2lmaWVkfVxcbmA7XG5cbiAgICAgICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhY2tldC5oZWFkZXIuaGVhZCAmJiB0aGlzLnBhY2tldFF1ZXVlLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5wYWNrZXRRdWV1ZS5zcGxpY2UoMCwgdGhpcy5wYWNrZXRRdWV1ZS5sZW5ndGgpO1xuXG4gICAgICAgICAgICB0aHJvdyBuZXcgR2VuZXJhbEVycm9yKFJVTlRJTUVfRVJST1JTLnVuZXhwZWN0ZWRJUENIZWFkUGFja2V0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcGFja2V0LmhlYWRlci5oZWFkICYmICFwYWNrZXQuaGVhZGVyLnRhaWwgJiYgdGhpcy5wYWNrZXRRdWV1ZS5sZW5ndGggPT09IDApXG4gICAgICAgICAgICB0aHJvdyBuZXcgR2VuZXJhbEVycm9yKFJVTlRJTUVfRVJST1JTLnVuZXhwZWN0ZWRJUENCb2R5UGFja2V0KTtcblxuICAgICAgICB0aGlzLnBhY2tldFF1ZXVlLnB1c2gocGFja2V0KTtcblxuICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Byb2Nlc3NEYXRhICgpOiBvYmplY3RbXSB7XG4gICAgICAgIGxldCBidWZmZXIgPSBCdWZmZXIuY29uY2F0KHRoaXMuZGF0YVF1ZXVlLnNwbGljZSgwLCB0aGlzLmRhdGFRdWV1ZS5sZW5ndGgpKTtcbiAgICAgICAgbGV0IHBhY2tldCA9IFBhY2tldC5wYXJzZShidWZmZXIpO1xuXG4gICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gW107XG5cbiAgICAgICAgd2hpbGUgKHBhY2tldCkge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuX3Byb2Nlc3NQYWNrZXQocGFja2V0KTtcblxuICAgICAgICAgICAgaWYgKG1lc3NhZ2UpXG4gICAgICAgICAgICAgICAgbWVzc2FnZXMucHVzaChtZXNzYWdlKTtcblxuICAgICAgICAgICAgYnVmZmVyID0gYnVmZmVyLnNsaWNlKHBhY2tldC5oZWFkZXIudG90YWxTaXplKTtcblxuICAgICAgICAgICAgcGFja2V0ID0gUGFja2V0LnBhcnNlKGJ1ZmZlcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYnVmZmVyLmxlbmd0aClcbiAgICAgICAgICAgIHRoaXMuZGF0YVF1ZXVlLnVuc2hpZnQoYnVmZmVyKTtcblxuICAgICAgICByZXR1cm4gbWVzc2FnZXM7XG4gICAgfVxuXG4gICAgcHVibGljIHBhcnNlIChkYXRhOiBCdWZmZXIpOiBvYmplY3RbXSB7XG4gICAgICAgIHRoaXMuZGF0YVF1ZXVlLnB1c2goZGF0YSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NEYXRhKCk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWVzc2FnZVNlcmlhbGl6ZXIge1xuICAgIHByaXZhdGUgc3RhdGljIF9jaHVua0RhdGEgKGRhdGE6IEJ1ZmZlcik6IEJ1ZmZlcltdIHtcbiAgICAgICAgY29uc3QgY2h1bmtzID0gW107XG5cbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGRhdGEubGVuZ3RoOyBpbmRleCArPSBQYWNrZXQuTUFYX1BBWUxPQURfU0laRSkge1xuICAgICAgICAgICAgY29uc3Qgc2l6ZSA9IE1hdGgubWluKGRhdGEubGVuZ3RoIC0gaW5kZXgsIFBhY2tldC5NQVhfUEFZTE9BRF9TSVpFKTtcbiAgICAgICAgICAgIGNvbnN0IGhlYWQgPSBpbmRleCA9PT0gMDtcbiAgICAgICAgICAgIGNvbnN0IHRhaWwgPSBpbmRleCArIHNpemUgPj0gZGF0YS5sZW5ndGg7XG5cbiAgICAgICAgICAgIGNodW5rcy5wdXNoKFBhY2tldC5zZXJpYWxpemUoZGF0YS5zbGljZShpbmRleCwgaW5kZXggKyBzaXplKSwgeyBoZWFkLCB0YWlsIH0pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjaHVua3M7XG4gICAgfVxuXG4gICAgcHVibGljIHNlcmlhbGl6ZSAobWVzc2FnZTogb2JqZWN0KTogQnVmZmVyW10ge1xuICAgICAgICBjb25zdCBlbmNvZGVkTWVzc2FnZSA9IHJlcGxpY2F0b3IuZW5jb2RlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHJldHVybiBNZXNzYWdlU2VyaWFsaXplci5fY2h1bmtEYXRhKEJ1ZmZlci5mcm9tKGVuY29kZWRNZXNzYWdlKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Packet = void 0;
|
|
4
|
-
const runtime_1 = require("../../../errors/runtime");
|
|
5
|
-
const types_1 = require("../../../errors/types");
|
|
6
|
-
const HEAD_MASK = 0x01;
|
|
7
|
-
const TAIL_MASK = 0x02;
|
|
8
|
-
const BYTE_SHIFT = 8;
|
|
9
|
-
const BYTE_MASK = 2 ** BYTE_SHIFT - 1;
|
|
10
|
-
class Packet {
|
|
11
|
-
static _parseHeader(buffer) {
|
|
12
|
-
const dataSize = buffer[1] << BYTE_SHIFT << BYTE_SHIFT | buffer[2] << BYTE_SHIFT | buffer[3];
|
|
13
|
-
return {
|
|
14
|
-
head: Boolean(buffer[0] & HEAD_MASK),
|
|
15
|
-
tail: Boolean(buffer[0] & TAIL_MASK),
|
|
16
|
-
size: dataSize,
|
|
17
|
-
totalSize: dataSize + Packet.HEADER_SIZE,
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
static parse(buffer) {
|
|
21
|
-
if (buffer.length < Packet.HEADER_SIZE)
|
|
22
|
-
return void 0;
|
|
23
|
-
const header = Packet._parseHeader(buffer);
|
|
24
|
-
if (header.size > this.MAX_PAYLOAD_SIZE)
|
|
25
|
-
throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.tooLargeIPCPayload);
|
|
26
|
-
if (buffer.length < header.size)
|
|
27
|
-
return void 0;
|
|
28
|
-
return { header, data: buffer.slice(Packet.HEADER_SIZE, Packet.HEADER_SIZE + header.size) };
|
|
29
|
-
}
|
|
30
|
-
static _serializeHeader({ size, head, tail }, buffer) {
|
|
31
|
-
buffer[0] = 0;
|
|
32
|
-
if (head)
|
|
33
|
-
buffer[0] |= HEAD_MASK;
|
|
34
|
-
if (tail)
|
|
35
|
-
buffer[0] |= TAIL_MASK;
|
|
36
|
-
buffer[1] = size >> BYTE_SHIFT >> BYTE_SHIFT & BYTE_MASK;
|
|
37
|
-
buffer[2] = size >> BYTE_SHIFT & BYTE_MASK;
|
|
38
|
-
buffer[3] = size & BYTE_MASK;
|
|
39
|
-
}
|
|
40
|
-
static serialize(data, { head = false, tail = false } = {}) {
|
|
41
|
-
const size = data.length;
|
|
42
|
-
if (size > Packet.MAX_PAYLOAD_SIZE)
|
|
43
|
-
throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.tooLargeIPCPayload);
|
|
44
|
-
const buffer = Buffer.alloc(size + Packet.HEADER_SIZE);
|
|
45
|
-
Packet._serializeHeader({ size, head, tail }, buffer);
|
|
46
|
-
data.copy(buffer, Packet.HEADER_SIZE);
|
|
47
|
-
return buffer;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.Packet = Packet;
|
|
51
|
-
// NOTE: Max message size: 64 KiB, header size: 4 B
|
|
52
|
-
Packet.MAX_PACKET_SIZE = 64 * 2 ** 10;
|
|
53
|
-
Packet.HEADER_SIZE = 4;
|
|
54
|
-
Packet.MAX_PAYLOAD_SIZE = Packet.MAX_PACKET_SIZE - Packet.HEADER_SIZE;
|
|
55
|
-
exports.default = Packet;
|
|
56
|
-
module.exports = exports.default;
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3V0aWxzL2lwYy9wYWNrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXVEO0FBQ3ZELGlEQUF1RDtBQUd2RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUM7QUFDdkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDO0FBRXZCLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLFNBQVMsR0FBSSxDQUFDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztBQW9CdkMsTUFBYSxNQUFNO0lBTVAsTUFBTSxDQUFDLFlBQVksQ0FBRSxNQUFjO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLElBQUksVUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTdGLE9BQU87WUFDSCxJQUFJLEVBQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7WUFDekMsSUFBSSxFQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDO1lBQ3pDLElBQUksRUFBTyxRQUFRO1lBQ25CLFNBQVMsRUFBRSxRQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVc7U0FDM0MsQ0FBQztJQUNOLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFFLE1BQWM7UUFDL0IsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXO1lBQ2xDLE9BQU8sS0FBSyxDQUFDLENBQUM7UUFFbEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUzQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQjtZQUNuQyxNQUFNLElBQUksc0JBQVksQ0FBQyxzQkFBYyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFOUQsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJO1lBQzNCLE9BQU8sS0FBSyxDQUFDLENBQUM7UUFFbEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDaEcsQ0FBQztJQUVPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFvQixFQUFFLE1BQWM7UUFDbkYsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVkLElBQUksSUFBSTtZQUNKLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUM7UUFFM0IsSUFBSSxJQUFJO1lBQ0osTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUUzQixNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLFVBQVUsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUMzQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLFNBQVMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBRSxJQUFZLEVBQUUsRUFBRSxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQUksR0FBRyxLQUFLLEtBQWlDLEVBQUU7UUFDbEcsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUV6QixJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsZ0JBQWdCO1lBQzlCLE1BQU0sSUFBSSxzQkFBWSxDQUFDLHNCQUFjLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUU5RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdkQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdEMsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7QUEzREwsd0JBNERDO0FBM0RHLG1EQUFtRDtBQUM1QixzQkFBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQy9CLGtCQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLHVCQUFnQixHQUFHLE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztBQTBEMUYsa0JBQWUsTUFBTSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VuZXJhbEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzL3J1bnRpbWUnO1xuaW1wb3J0IHsgUlVOVElNRV9FUlJPUlMgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMvdHlwZXMnO1xuXG5cbmNvbnN0IEhFQURfTUFTSyA9IDB4MDE7XG5jb25zdCBUQUlMX01BU0sgPSAweDAyO1xuXG5jb25zdCBCWVRFX1NISUZUID0gODtcbmNvbnN0IEJZVEVfTUFTSyAgPSAyICoqIEJZVEVfU0hJRlQgLSAxO1xuXG5pbnRlcmZhY2UgUGFja2V0SGVhZGVyRmxhZ3Mge1xuICAgIGhlYWQ6IGJvb2xlYW47XG4gICAgdGFpbDogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIFBhY2tldEhlYWRlckRhdGEgZXh0ZW5kcyBQYWNrZXRIZWFkZXJGbGFncyB7XG4gICAgc2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhY2tldEhlYWRlciBleHRlbmRzIFBhY2tldEhlYWRlckRhdGF7XG4gICAgdG90YWxTaXplOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkUGFja2V0IHtcbiAgICBoZWFkZXI6IFBhY2tldEhlYWRlcjtcbiAgICBkYXRhOiBCdWZmZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBQYWNrZXQge1xuICAgIC8vIE5PVEU6IE1heCBtZXNzYWdlIHNpemU6IDY0IEtpQiwgaGVhZGVyIHNpemU6IDQgQlxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTUFYX1BBQ0tFVF9TSVpFID0gNjQgKiAyICoqIDEwO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSEVBREVSX1NJWkUgPSA0O1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTUFYX1BBWUxPQURfU0laRSA9IFBhY2tldC5NQVhfUEFDS0VUX1NJWkUgLSBQYWNrZXQuSEVBREVSX1NJWkU7XG5cbiAgICBwcml2YXRlIHN0YXRpYyBfcGFyc2VIZWFkZXIgKGJ1ZmZlcjogQnVmZmVyKTogUGFja2V0SGVhZGVyIHtcbiAgICAgICAgY29uc3QgZGF0YVNpemUgPSBidWZmZXJbMV0gPDwgQllURV9TSElGVCA8PCBCWVRFX1NISUZUIHwgYnVmZmVyWzJdIDw8IEJZVEVfU0hJRlQgfCBidWZmZXJbM107XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWQ6ICAgICAgQm9vbGVhbihidWZmZXJbMF0gJiBIRUFEX01BU0spLFxuICAgICAgICAgICAgdGFpbDogICAgICBCb29sZWFuKGJ1ZmZlclswXSAmIFRBSUxfTUFTSyksXG4gICAgICAgICAgICBzaXplOiAgICAgIGRhdGFTaXplLFxuICAgICAgICAgICAgdG90YWxTaXplOiBkYXRhU2l6ZSArIFBhY2tldC5IRUFERVJfU0laRSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHBhcnNlIChidWZmZXI6IEJ1ZmZlcik6IFBhcnNlZFBhY2tldHx1bmRlZmluZWQge1xuICAgICAgICBpZiAoYnVmZmVyLmxlbmd0aCA8IFBhY2tldC5IRUFERVJfU0laRSlcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG5cbiAgICAgICAgY29uc3QgaGVhZGVyID0gUGFja2V0Ll9wYXJzZUhlYWRlcihidWZmZXIpO1xuXG4gICAgICAgIGlmIChoZWFkZXIuc2l6ZSA+IHRoaXMuTUFYX1BBWUxPQURfU0laRSlcbiAgICAgICAgICAgIHRocm93IG5ldyBHZW5lcmFsRXJyb3IoUlVOVElNRV9FUlJPUlMudG9vTGFyZ2VJUENQYXlsb2FkKTtcblxuICAgICAgICBpZiAoYnVmZmVyLmxlbmd0aCA8IGhlYWRlci5zaXplKVxuICAgICAgICAgICAgcmV0dXJuIHZvaWQgMDtcblxuICAgICAgICByZXR1cm4geyBoZWFkZXIsIGRhdGE6IGJ1ZmZlci5zbGljZShQYWNrZXQuSEVBREVSX1NJWkUsIFBhY2tldC5IRUFERVJfU0laRSArIGhlYWRlci5zaXplKSB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIF9zZXJpYWxpemVIZWFkZXIgKHsgc2l6ZSwgaGVhZCwgdGFpbCB9OiBQYWNrZXRIZWFkZXJEYXRhLCBidWZmZXI6IEJ1ZmZlcik6IHZvaWQge1xuICAgICAgICBidWZmZXJbMF0gPSAwO1xuXG4gICAgICAgIGlmIChoZWFkKVxuICAgICAgICAgICAgYnVmZmVyWzBdIHw9IEhFQURfTUFTSztcblxuICAgICAgICBpZiAodGFpbClcbiAgICAgICAgICAgIGJ1ZmZlclswXSB8PSBUQUlMX01BU0s7XG5cbiAgICAgICAgYnVmZmVyWzFdID0gc2l6ZSA+PiBCWVRFX1NISUZUID4+IEJZVEVfU0hJRlQgJiBCWVRFX01BU0s7XG4gICAgICAgIGJ1ZmZlclsyXSA9IHNpemUgPj4gQllURV9TSElGVCAmIEJZVEVfTUFTSztcbiAgICAgICAgYnVmZmVyWzNdID0gc2l6ZSAmIEJZVEVfTUFTSztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHNlcmlhbGl6ZSAoZGF0YTogQnVmZmVyLCB7IGhlYWQgPSBmYWxzZSwgdGFpbCA9IGZhbHNlIH06IFBhcnRpYWw8UGFja2V0SGVhZGVyRmxhZ3M+ID0ge30pOiBCdWZmZXIge1xuICAgICAgICBjb25zdCBzaXplID0gZGF0YS5sZW5ndGg7XG5cbiAgICAgICAgaWYgKHNpemUgPiBQYWNrZXQuTUFYX1BBWUxPQURfU0laRSlcbiAgICAgICAgICAgIHRocm93IG5ldyBHZW5lcmFsRXJyb3IoUlVOVElNRV9FUlJPUlMudG9vTGFyZ2VJUENQYXlsb2FkKTtcblxuICAgICAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuYWxsb2Moc2l6ZSArIFBhY2tldC5IRUFERVJfU0laRSk7XG5cbiAgICAgICAgUGFja2V0Ll9zZXJpYWxpemVIZWFkZXIoeyBzaXplLCBoZWFkLCB0YWlsIH0sIGJ1ZmZlcik7XG5cbiAgICAgICAgZGF0YS5jb3B5KGJ1ZmZlciwgUGFja2V0LkhFQURFUl9TSVpFKTtcblxuICAgICAgICByZXR1cm4gYnVmZmVyO1xuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUGFja2V0O1xuXG5cbiJdfQ==
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.IPCProxy = void 0;
|
|
7
|
-
const async_event_emitter_1 = __importDefault(require("../../../utils/async-event-emitter"));
|
|
8
|
-
const lodash_1 = require("lodash");
|
|
9
|
-
const interfaces_1 = require("./interfaces");
|
|
10
|
-
class IPCProxy extends async_event_emitter_1.default {
|
|
11
|
-
constructor(transport) {
|
|
12
|
-
super();
|
|
13
|
-
this._requestCounter = 0;
|
|
14
|
-
this._stopped = false;
|
|
15
|
-
this._transport = transport;
|
|
16
|
-
this._handlers = {};
|
|
17
|
-
this._transport.read();
|
|
18
|
-
this._transport.on(interfaces_1.IPCTransportEvents.data, rawPacket => this._onRead(rawPacket));
|
|
19
|
-
this.on('request', data => this._onRequest(data));
|
|
20
|
-
}
|
|
21
|
-
async _onRead(packet) {
|
|
22
|
-
if (packet.type === interfaces_1.IPCPacketType.response)
|
|
23
|
-
this.emit(`response-${packet.id}`, packet);
|
|
24
|
-
else
|
|
25
|
-
this.emit('request', packet);
|
|
26
|
-
}
|
|
27
|
-
async _onRequest(requestPacket) {
|
|
28
|
-
let resultData = null;
|
|
29
|
-
try {
|
|
30
|
-
resultData = { result: await this._handlers[requestPacket.data.name](...requestPacket.data.args) };
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
resultData = { error };
|
|
34
|
-
}
|
|
35
|
-
const responsePacket = {
|
|
36
|
-
id: requestPacket.id,
|
|
37
|
-
type: interfaces_1.IPCPacketType.response,
|
|
38
|
-
sync: requestPacket.sync,
|
|
39
|
-
data: resultData,
|
|
40
|
-
};
|
|
41
|
-
// NOTE: The result of long-running action can come after the compiler service was terminated.
|
|
42
|
-
if (this._stopped)
|
|
43
|
-
return;
|
|
44
|
-
await this._transport.write(responsePacket);
|
|
45
|
-
}
|
|
46
|
-
_createPacket(opts) {
|
|
47
|
-
return {
|
|
48
|
-
id: this._requestCounter++,
|
|
49
|
-
type: interfaces_1.IPCPacketType.request,
|
|
50
|
-
sync: opts.sync,
|
|
51
|
-
data: opts.data,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
_createPlainError(errorData) {
|
|
55
|
-
const error = new Error(errorData.message);
|
|
56
|
-
Object.assign(error, errorData);
|
|
57
|
-
return error;
|
|
58
|
-
}
|
|
59
|
-
register(func, context = null) {
|
|
60
|
-
func = (0, lodash_1.castArray)(func);
|
|
61
|
-
func.forEach(fn => {
|
|
62
|
-
if (this._handlers[fn.name])
|
|
63
|
-
return;
|
|
64
|
-
this._handlers[fn.name] = fn.bind(context);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
async call(target, ...args) {
|
|
68
|
-
const name = typeof target === 'string' ? target : target.name;
|
|
69
|
-
const packet = this._createPacket({ data: { name, args }, sync: false });
|
|
70
|
-
const responsePromise = this.once(`response-${packet.id}`);
|
|
71
|
-
await this._transport.write(packet);
|
|
72
|
-
const { data } = await responsePromise;
|
|
73
|
-
if ((0, interfaces_1.isIPCErrorResponse)(data))
|
|
74
|
-
throw data.error;
|
|
75
|
-
return data.result;
|
|
76
|
-
}
|
|
77
|
-
callSync(target, ...args) {
|
|
78
|
-
const name = typeof target === 'string' ? target : target.name;
|
|
79
|
-
const requestPacket = this._createPacket({ data: { name, args }, sync: true });
|
|
80
|
-
this._transport.writeSync(requestPacket);
|
|
81
|
-
let responsePacket = this._transport.readSync();
|
|
82
|
-
while (responsePacket.id !== requestPacket.id)
|
|
83
|
-
responsePacket = this._transport.readSync();
|
|
84
|
-
const response = responsePacket.data;
|
|
85
|
-
if ((0, interfaces_1.isIPCErrorResponse)(response))
|
|
86
|
-
throw response.error;
|
|
87
|
-
return response.result;
|
|
88
|
-
}
|
|
89
|
-
stop() {
|
|
90
|
-
this._stopped = true;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
exports.IPCProxy = IPCProxy;
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvdXRpbHMvaXBjL3Byb3h5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDZGQUE4RDtBQUM5RCxtQ0FBbUM7QUFFbkMsNkNBU3NCO0FBUXRCLE1BQWEsUUFBUyxTQUFRLDZCQUFZO0lBTXRDLFlBQW9CLFNBQXVCO1FBQ3ZDLEtBQUssRUFBRSxDQUFDO1FBTEosb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFPeEIsSUFBSSxDQUFDLFFBQVEsR0FBSyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFFNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFFcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQywrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFPLENBQUUsTUFBaUI7UUFDcEMsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLDBCQUFhLENBQUMsUUFBUTtZQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDOztZQUUzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVUsQ0FBRSxhQUErQjtRQUNyRCxJQUFJLFVBQVUsR0FB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Q0FBQyxJQUFJLENBQUM7UUFDeEUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV6QyxJQUFJLGNBQWMsR0FBc0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVuRSxPQUFPLGNBQWMsQ0FBQyxFQUFFLEtBQUssYUFBYSxDQUFDLEVBQUU7WUFDekMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFaEQsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztRQUVyQyxJQUFJLElBQUEsK0JBQWtCLEVBQUMsUUFBUSxDQUFDO1lBQzVCLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQztRQUV6QixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVNLElBQUk7UUFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDO0NBQ0o7QUFwSEQsNEJBb0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEV2ZW50RW1pdHRlciBmcm9tICcuLi8uLi8uLi91dGlscy9hc3luYy1ldmVudC1lbWl0dGVyJztcbmltcG9ydCB7IGNhc3RBcnJheSB9IGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7XG4gICAgSVBDUGFja2V0LFxuICAgIElQQ1BhY2tldFR5cGUsXG4gICAgSVBDUmVxdWVzdFBhY2tldCxcbiAgICBJUENSZXNwb25zZVBhY2tldCxcbiAgICBJUENSZXF1ZXN0RGF0YSxcbiAgICBpc0lQQ0Vycm9yUmVzcG9uc2UsXG4gICAgSVBDVHJhbnNwb3J0RXZlbnRzLFxuICAgIElQQ1RyYW5zcG9ydCxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuXG5pbnRlcmZhY2UgUmVxdWVzdE9wdGlvbnMge1xuICAgIGRhdGE6IElQQ1JlcXVlc3REYXRhO1xuICAgIHN5bmM6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBJUENQcm94eSBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gICAgcHJpdmF0ZSBfdHJhbnNwb3J0OiBJUENUcmFuc3BvcnQ7XG4gICAgcHJpdmF0ZSBfcmVxdWVzdENvdW50ZXIgPSAwO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2hhbmRsZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBGdW5jdGlvbiB9O1xuICAgIHByaXZhdGUgX3N0b3BwZWQ6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IgKHRyYW5zcG9ydDogSVBDVHJhbnNwb3J0KSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5fc3RvcHBlZCAgID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3RyYW5zcG9ydCA9IHRyYW5zcG9ydDtcblxuICAgICAgICB0aGlzLl9oYW5kbGVycyA9IHt9O1xuXG4gICAgICAgIHRoaXMuX3RyYW5zcG9ydC5yZWFkKCk7XG4gICAgICAgIHRoaXMuX3RyYW5zcG9ydC5vbihJUENUcmFuc3BvcnRFdmVudHMuZGF0YSwgcmF3UGFja2V0ID0+IHRoaXMuX29uUmVhZChyYXdQYWNrZXQpKTtcbiAgICAgICAgdGhpcy5vbigncmVxdWVzdCcsIGRhdGEgPT4gdGhpcy5fb25SZXF1ZXN0KGRhdGEpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9vblJlYWQgKHBhY2tldDogSVBDUGFja2V0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChwYWNrZXQudHlwZSA9PT0gSVBDUGFja2V0VHlwZS5yZXNwb25zZSlcbiAgICAgICAgICAgIHRoaXMuZW1pdChgcmVzcG9uc2UtJHtwYWNrZXQuaWR9YCwgcGFja2V0KTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhpcy5lbWl0KCdyZXF1ZXN0JywgcGFja2V0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9vblJlcXVlc3QgKHJlcXVlc3RQYWNrZXQ6IElQQ1JlcXVlc3RQYWNrZXQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgbGV0IHJlc3VsdERhdGEgPSBudWxsO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXN1bHREYXRhID0geyByZXN1bHQ6IGF3YWl0IHRoaXMuX2hhbmRsZXJzW3JlcXVlc3RQYWNrZXQuZGF0YS5uYW1lXSguLi5yZXF1ZXN0UGFja2V0LmRhdGEuYXJncykgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAgICAgcmVzdWx0RGF0YSA9IHsgZXJyb3IgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlUGFja2V0OiBJUENSZXNwb25zZVBhY2tldCA9IHtcbiAgICAgICAgICAgIGlkOiAgIHJlcXVlc3RQYWNrZXQuaWQsXG4gICAgICAgICAgICB0eXBlOiBJUENQYWNrZXRUeXBlLnJlc3BvbnNlLFxuICAgICAgICAgICAgc3luYzogcmVxdWVzdFBhY2tldC5zeW5jLFxuXG4gICAgICAgICAgICBkYXRhOiByZXN1bHREYXRhLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIE5PVEU6IFRoZSByZXN1bHQgb2YgbG9uZy1ydW5uaW5nIGFjdGlvbiBjYW4gY29tZSBhZnRlciB0aGUgY29tcGlsZXIgc2VydmljZSB3YXMgdGVybWluYXRlZC5cbiAgICAgICAgaWYgKHRoaXMuX3N0b3BwZWQpXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgYXdhaXQgdGhpcy5fdHJhbnNwb3J0LndyaXRlKHJlc3BvbnNlUGFja2V0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVQYWNrZXQgKG9wdHM6IFJlcXVlc3RPcHRpb25zKTogSVBDUmVxdWVzdFBhY2tldCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogICB0aGlzLl9yZXF1ZXN0Q291bnRlcisrLFxuICAgICAgICAgICAgdHlwZTogSVBDUGFja2V0VHlwZS5yZXF1ZXN0LFxuICAgICAgICAgICAgc3luYzogb3B0cy5zeW5jLFxuICAgICAgICAgICAgZGF0YTogb3B0cy5kYXRhLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZVBsYWluRXJyb3IgKGVycm9yRGF0YTogRXJyb3IpOiBFcnJvciB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKGVycm9yRGF0YS5tZXNzYWdlKTtcblxuICAgICAgICBPYmplY3QuYXNzaWduKGVycm9yLCBlcnJvckRhdGEpO1xuXG4gICAgICAgIHJldHVybiBlcnJvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXIgKGZ1bmM6IEZ1bmN0aW9uIHwgRnVuY3Rpb25bXSwgY29udGV4dDogYW55ID0gbnVsbCk6IHZvaWQge1xuICAgICAgICBmdW5jID0gY2FzdEFycmF5KGZ1bmMpO1xuXG4gICAgICAgIGZ1bmMuZm9yRWFjaChmbiA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5faGFuZGxlcnNbZm4ubmFtZV0pXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVyc1tmbi5uYW1lXSA9IGZuLmJpbmQoY29udGV4dCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBjYWxsICh0YXJnZXQ6IHN0cmluZ3xGdW5jdGlvbiwgLi4uYXJnczogYW55W10pOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBuYW1lICAgICAgICAgICAgPSB0eXBlb2YgdGFyZ2V0ID09PSAnc3RyaW5nJyA/IHRhcmdldCA6IHRhcmdldC5uYW1lO1xuICAgICAgICBjb25zdCBwYWNrZXQgICAgICAgICAgPSB0aGlzLl9jcmVhdGVQYWNrZXQoeyBkYXRhOiB7IG5hbWUsIGFyZ3MgfSwgc3luYzogZmFsc2UgfSk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlUHJvbWlzZSA9IHRoaXMub25jZShgcmVzcG9uc2UtJHtwYWNrZXQuaWR9YCk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5fdHJhbnNwb3J0LndyaXRlKHBhY2tldCk7XG5cbiAgICAgICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCByZXNwb25zZVByb21pc2U7XG5cbiAgICAgICAgaWYgKGlzSVBDRXJyb3JSZXNwb25zZShkYXRhKSlcbiAgICAgICAgICAgIHRocm93IGRhdGEuZXJyb3I7XG5cbiAgICAgICAgcmV0dXJuIGRhdGEucmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyBjYWxsU3luYyAodGFyZ2V0OiBzdHJpbmd8RnVuY3Rpb24sIC4uLmFyZ3M6IGFueVtdKTogYW55IHtcbiAgICAgICAgY29uc3QgbmFtZSAgICAgICAgICA9IHR5cGVvZiB0YXJnZXQgPT09ICdzdHJpbmcnID8gdGFyZ2V0IDogdGFyZ2V0Lm5hbWU7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RQYWNrZXQgPSB0aGlzLl9jcmVhdGVQYWNrZXQoeyBkYXRhOiB7IG5hbWUsIGFyZ3MgfSwgc3luYzogdHJ1ZSB9KTtcblxuICAgICAgICB0aGlzLl90cmFuc3BvcnQud3JpdGVTeW5jKHJlcXVlc3RQYWNrZXQpO1xuXG4gICAgICAgIGxldCByZXNwb25zZVBhY2tldDogSVBDUmVzcG9uc2VQYWNrZXQgPSB0aGlzLl90cmFuc3BvcnQucmVhZFN5bmMoKTtcblxuICAgICAgICB3aGlsZSAocmVzcG9uc2VQYWNrZXQuaWQgIT09IHJlcXVlc3RQYWNrZXQuaWQpXG4gICAgICAgICAgICByZXNwb25zZVBhY2tldCA9IHRoaXMuX3RyYW5zcG9ydC5yZWFkU3luYygpO1xuXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gcmVzcG9uc2VQYWNrZXQuZGF0YTtcblxuICAgICAgICBpZiAoaXNJUENFcnJvclJlc3BvbnNlKHJlc3BvbnNlKSlcbiAgICAgICAgICAgIHRocm93IHJlc3BvbnNlLmVycm9yO1xuXG4gICAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHQ7XG4gICAgfVxuXG4gICAgcHVibGljIHN0b3AgKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdG9wcGVkID0gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ServiceTransport = exports.HostTransport = void 0;
|
|
7
|
-
const io_1 = require("./io");
|
|
8
|
-
const async_event_emitter_1 = __importDefault(require("../../../utils/async-event-emitter"));
|
|
9
|
-
const runtime_1 = require("../../../errors/runtime");
|
|
10
|
-
const types_1 = require("../../../errors/types");
|
|
11
|
-
const interfaces_1 = require("./interfaces");
|
|
12
|
-
class HostTransport extends async_event_emitter_1.default {
|
|
13
|
-
constructor(inputStream, outputStream, syncStream) {
|
|
14
|
-
super();
|
|
15
|
-
this.asyncReader = new io_1.AsyncReader(inputStream);
|
|
16
|
-
this.asyncWriter = new io_1.AsyncWriter(outputStream);
|
|
17
|
-
this.syncReader = new io_1.AsyncReader(syncStream);
|
|
18
|
-
this.syncWriter = new io_1.AsyncWriter(syncStream);
|
|
19
|
-
this.readers = [this.asyncReader, this.syncReader];
|
|
20
|
-
}
|
|
21
|
-
read() {
|
|
22
|
-
this.readers.forEach(reader => {
|
|
23
|
-
reader.on('data', data => this.emit('data', data));
|
|
24
|
-
reader.read();
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
async write(message) {
|
|
28
|
-
const writer = message.sync ? this.syncWriter : this.asyncWriter;
|
|
29
|
-
await writer.write(message);
|
|
30
|
-
}
|
|
31
|
-
readSync() {
|
|
32
|
-
throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.methodIsNotAvailableForAnIPCHost);
|
|
33
|
-
}
|
|
34
|
-
writeSync() {
|
|
35
|
-
throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.methodIsNotAvailableForAnIPCHost);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
exports.HostTransport = HostTransport;
|
|
39
|
-
class ServiceTransport extends async_event_emitter_1.default {
|
|
40
|
-
constructor(inputStream, outputStream, syncFd) {
|
|
41
|
-
super();
|
|
42
|
-
this.asyncReader = new io_1.AsyncReader(inputStream);
|
|
43
|
-
this.asyncWriter = new io_1.AsyncWriter(outputStream);
|
|
44
|
-
this.syncReader = new io_1.SyncReader(syncFd);
|
|
45
|
-
this.syncWriter = new io_1.SyncWriter(syncFd);
|
|
46
|
-
}
|
|
47
|
-
read() {
|
|
48
|
-
this.asyncReader.on('data', data => this.emit('data', data));
|
|
49
|
-
this.asyncReader.read();
|
|
50
|
-
}
|
|
51
|
-
async write(message) {
|
|
52
|
-
await this.asyncWriter.write(message);
|
|
53
|
-
}
|
|
54
|
-
readSync() {
|
|
55
|
-
const message = this.syncReader.readSync();
|
|
56
|
-
if (!(0, interfaces_1.isIPCResponsePacket)(message))
|
|
57
|
-
throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.malformedIPCMessage);
|
|
58
|
-
return message;
|
|
59
|
-
}
|
|
60
|
-
writeSync(message) {
|
|
61
|
-
this.syncWriter.writeSync(message);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
exports.ServiceTransport = ServiceTransport;
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3V0aWxzL2lwYy90cmFuc3BvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkJBS2M7QUFFZCw2RkFBOEQ7QUFDOUQscURBQXVEO0FBQ3ZELGlEQUF1RDtBQUN2RCw2Q0FLc0I7QUFHdEIsTUFBYSxhQUFjLFNBQVEsNkJBQVk7SUFRM0MsWUFBb0IsV0FBa0MsRUFBRSxZQUFtQyxFQUFFLFVBQXlEO1FBQ2xKLEtBQUssRUFBRSxDQUFDO1FBRVIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGdCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGdCQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGdCQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGdCQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTSxJQUFJO1FBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDMUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSyxDQUFFLE9BQWtCO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFakUsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxRQUFRO1FBQ1gsTUFBTSxJQUFJLHNCQUFZLENBQUMsc0JBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFTSxTQUFTO1FBQ1osTUFBTSxJQUFJLHNCQUFZLENBQUMsc0JBQWMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Q0FDSjtBQXhDRCxzQ0F3Q0M7QUFHRCxNQUFhLGdCQUFpQixTQUFRLDZCQUFZO0lBTTlDLFlBQW9CLFdBQWtDLEVBQUUsWUFBbUMsRUFBRSxNQUFjO1FBQ3ZHLEtBQUssRUFBRSxDQUFDO1FBRVIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGdCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGdCQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksZUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxJQUFJO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSyxDQUFFLE9BQWtCO1FBQ2xDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLFFBQVE7UUFDWCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTNDLElBQUksQ0FBQyxJQUFBLGdDQUFtQixFQUFDLE9BQU8sQ0FBQztZQUM3QixNQUFNLElBQUksc0JBQVksQ0FBQyxzQkFBYyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFL0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVNLFNBQVMsQ0FBRSxPQUFrQjtRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0o7QUFyQ0QsNENBcUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBc3luY1JlYWRlcixcbiAgICBBc3luY1dyaXRlcixcbiAgICBTeW5jUmVhZGVyLFxuICAgIFN5bmNXcml0ZXIsXG59IGZyb20gJy4vaW8nO1xuXG5pbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gJy4uLy4uLy4uL3V0aWxzL2FzeW5jLWV2ZW50LWVtaXR0ZXInO1xuaW1wb3J0IHsgR2VuZXJhbEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzL3J1bnRpbWUnO1xuaW1wb3J0IHsgUlVOVElNRV9FUlJPUlMgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMvdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBJUENQYWNrZXQsXG4gICAgSVBDUmVzcG9uc2VQYWNrZXQsXG4gICAgSVBDVHJhbnNwb3J0LFxuICAgIGlzSVBDUmVzcG9uc2VQYWNrZXQsXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5cblxuZXhwb3J0IGNsYXNzIEhvc3RUcmFuc3BvcnQgZXh0ZW5kcyBFdmVudEVtaXR0ZXIgaW1wbGVtZW50cyBJUENUcmFuc3BvcnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXN5bmNSZWFkZXI6IEFzeW5jUmVhZGVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXN5bmNXcml0ZXI6IEFzeW5jV3JpdGVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3luY1JlYWRlcjogQXN5bmNSZWFkZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzeW5jV3JpdGVyOiBBc3luY1dyaXRlcjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVhZGVyczogQXN5bmNSZWFkZXJbXTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAoaW5wdXRTdHJlYW06IE5vZGVKUy5SZWFkYWJsZVN0cmVhbSwgb3V0cHV0U3RyZWFtOiBOb2RlSlMuV3JpdGFibGVTdHJlYW0sIHN5bmNTdHJlYW06IE5vZGVKUy5SZWFkYWJsZVN0cmVhbSAmIE5vZGVKUy5Xcml0YWJsZVN0cmVhbSkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuYXN5bmNSZWFkZXIgPSBuZXcgQXN5bmNSZWFkZXIoaW5wdXRTdHJlYW0pO1xuICAgICAgICB0aGlzLmFzeW5jV3JpdGVyID0gbmV3IEFzeW5jV3JpdGVyKG91dHB1dFN0cmVhbSk7XG5cbiAgICAgICAgdGhpcy5zeW5jUmVhZGVyID0gbmV3IEFzeW5jUmVhZGVyKHN5bmNTdHJlYW0pO1xuICAgICAgICB0aGlzLnN5bmNXcml0ZXIgPSBuZXcgQXN5bmNXcml0ZXIoc3luY1N0cmVhbSk7XG5cbiAgICAgICAgdGhpcy5yZWFkZXJzID0gW3RoaXMuYXN5bmNSZWFkZXIsIHRoaXMuc3luY1JlYWRlcl07XG4gICAgfVxuXG4gICAgcHVibGljIHJlYWQgKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlYWRlcnMuZm9yRWFjaChyZWFkZXIgPT4ge1xuICAgICAgICAgICAgcmVhZGVyLm9uKCdkYXRhJywgZGF0YSA9PiB0aGlzLmVtaXQoJ2RhdGEnLCBkYXRhKSk7XG4gICAgICAgICAgICByZWFkZXIucmVhZCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgd3JpdGUgKG1lc3NhZ2U6IElQQ1BhY2tldCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB3cml0ZXIgPSBtZXNzYWdlLnN5bmMgPyB0aGlzLnN5bmNXcml0ZXIgOiB0aGlzLmFzeW5jV3JpdGVyO1xuXG4gICAgICAgIGF3YWl0IHdyaXRlci53cml0ZShtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVhZFN5bmMgKCk6IG5ldmVyIHtcbiAgICAgICAgdGhyb3cgbmV3IEdlbmVyYWxFcnJvcihSVU5USU1FX0VSUk9SUy5tZXRob2RJc05vdEF2YWlsYWJsZUZvckFuSVBDSG9zdCk7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlU3luYyAoKTogbmV2ZXIge1xuICAgICAgICB0aHJvdyBuZXcgR2VuZXJhbEVycm9yKFJVTlRJTUVfRVJST1JTLm1ldGhvZElzTm90QXZhaWxhYmxlRm9yQW5JUENIb3N0KTtcbiAgICB9XG59XG5cblxuZXhwb3J0IGNsYXNzIFNlcnZpY2VUcmFuc3BvcnQgZXh0ZW5kcyBFdmVudEVtaXR0ZXIgaW1wbGVtZW50cyBJUENUcmFuc3BvcnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXN5bmNSZWFkZXI6IEFzeW5jUmVhZGVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXN5bmNXcml0ZXI6IEFzeW5jV3JpdGVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3luY1JlYWRlcjogU3luY1JlYWRlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5bmNXcml0ZXI6IFN5bmNXcml0ZXI7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IgKGlucHV0U3RyZWFtOiBOb2RlSlMuUmVhZGFibGVTdHJlYW0sIG91dHB1dFN0cmVhbTogTm9kZUpTLldyaXRhYmxlU3RyZWFtLCBzeW5jRmQ6IG51bWJlcikge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuYXN5bmNSZWFkZXIgPSBuZXcgQXN5bmNSZWFkZXIoaW5wdXRTdHJlYW0pO1xuICAgICAgICB0aGlzLmFzeW5jV3JpdGVyID0gbmV3IEFzeW5jV3JpdGVyKG91dHB1dFN0cmVhbSk7XG5cbiAgICAgICAgdGhpcy5zeW5jUmVhZGVyID0gbmV3IFN5bmNSZWFkZXIoc3luY0ZkKTtcbiAgICAgICAgdGhpcy5zeW5jV3JpdGVyID0gbmV3IFN5bmNXcml0ZXIoc3luY0ZkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVhZCAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXN5bmNSZWFkZXIub24oJ2RhdGEnLCBkYXRhID0+IHRoaXMuZW1pdCgnZGF0YScsIGRhdGEpKTtcbiAgICAgICAgdGhpcy5hc3luY1JlYWRlci5yZWFkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHdyaXRlIChtZXNzYWdlOiBJUENQYWNrZXQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5hc3luY1dyaXRlci53cml0ZShtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVhZFN5bmMgKCk6IElQQ1Jlc3BvbnNlUGFja2V0IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuc3luY1JlYWRlci5yZWFkU3luYygpO1xuXG4gICAgICAgIGlmICghaXNJUENSZXNwb25zZVBhY2tldChtZXNzYWdlKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBHZW5lcmFsRXJyb3IoUlVOVElNRV9FUlJPUlMubWFsZm9ybWVkSVBDTWVzc2FnZSk7XG5cbiAgICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlU3luYyAobWVzc2FnZTogSVBDUGFja2V0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3luY1dyaXRlci53cml0ZVN5bmMobWVzc2FnZSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
class MethodShouldNotBeCalledError extends Error {
|
|
4
|
-
constructor() {
|
|
5
|
-
super('The method should not be called.');
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
exports.default = MethodShouldNotBeCalledError;
|
|
9
|
-
module.exports = exports.default;
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0aG9kLXNob3VsZC1ub3QtYmUtY2FsbGVkLWVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3V0aWxzL21ldGhvZC1zaG91bGQtbm90LWJlLWNhbGxlZC1lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE1BQXFCLDRCQUE2QixTQUFRLEtBQUs7SUFDM0Q7UUFDSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0o7QUFKRCwrQ0FJQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGhvZFNob3VsZE5vdEJlQ2FsbGVkRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgc3VwZXIoJ1RoZSBtZXRob2Qgc2hvdWxkIG5vdCBiZSBjYWxsZWQuJyk7XG4gICAgfVxufVxuIl19
|