@lakutata/core 1.0.27 → 1.0.31
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/README.md +4 -0
- package/build/Application.d.ts +4 -0
- package/build/Application.js +20 -7
- package/build/Application.js.map +1 -1
- package/build/ApplicationManagement.js +5 -0
- package/build/ApplicationManagement.js.map +1 -1
- package/build/base/BaseObject.js +1 -1
- package/build/base/BaseObject.js.map +1 -1
- package/build/base/Container.js +16 -0
- package/build/base/Container.js.map +1 -1
- package/build/base/ValidatorClass.d.ts +1 -0
- package/build/base/ValidatorClass.js +70 -53
- package/build/base/ValidatorClass.js.map +1 -1
- package/build/base/abstracts/Exception.js +5 -2
- package/build/base/abstracts/Exception.js.map +1 -1
- package/build/base/abstracts/Module.js +8 -8
- package/build/base/abstracts/Module.js.map +1 -1
- package/build/base/abstracts/Workflow.js +1 -1
- package/build/base/abstracts/Workflow.js.map +1 -1
- package/build/base/process/Process.d.ts +1 -1
- package/build/base/process/Process.js +2 -2
- package/build/base/process/Process.js.map +1 -1
- package/build/base/process/ProcessManager.d.ts +1 -1
- package/build/base/process/ProcessManager.js +2 -2
- package/build/base/process/ProcessManager.js.map +1 -1
- package/build/base/thread/Thread.d.ts +1 -1
- package/build/base/thread/Thread.js +2 -2
- package/build/base/thread/Thread.js.map +1 -1
- package/build/base/thread/ThreadManager.d.ts +1 -1
- package/build/base/thread/ThreadManager.js +2 -2
- package/build/base/thread/ThreadManager.js.map +1 -1
- package/build/decorators/MethodValidation.js.map +1 -1
- package/build/interfaces/IApplicationConfig.d.ts +1 -0
- package/build/interfaces/ShellJsInterfaces.d.ts +162 -0
- package/build/interfaces/ShellJsInterfaces.js +3 -0
- package/build/interfaces/ShellJsInterfaces.js.map +1 -0
- package/build/lib/multipleRunner/constants/Channel.d.ts +5 -0
- package/build/lib/multipleRunner/constants/Channel.js +9 -0
- package/build/lib/multipleRunner/constants/Channel.js.map +1 -0
- package/build/lib/multipleRunner/constants/MetadataKey.d.ts +2 -0
- package/build/lib/multipleRunner/constants/MetadataKey.js +6 -0
- package/build/lib/multipleRunner/constants/MetadataKey.js.map +1 -0
- package/build/lib/multipleRunner/containers/ContainerVolume.d.ts +4 -0
- package/build/lib/multipleRunner/containers/ContainerVolume.js +85 -0
- package/build/lib/multipleRunner/containers/ContainerVolume.js.map +1 -0
- package/build/lib/multipleRunner/definitions/interfaces/ClassConstructor.d.ts +3 -0
- package/build/lib/multipleRunner/definitions/interfaces/ClassConstructor.js +3 -0
- package/build/lib/multipleRunner/definitions/interfaces/ClassConstructor.js.map +1 -0
- package/build/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.d.ts +4 -0
- package/build/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.js +3 -0
- package/build/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.js.map +1 -0
- package/build/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.d.ts +7 -0
- package/build/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.js +3 -0
- package/build/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.js.map +1 -0
- package/build/lib/multipleRunner/definitions/interfaces/ProxyClass.d.ts +3 -0
- package/build/lib/multipleRunner/definitions/interfaces/ProxyClass.js +3 -0
- package/build/lib/multipleRunner/definitions/interfaces/ProxyClass.js.map +1 -0
- package/build/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.d.ts +7 -0
- package/build/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.js +3 -0
- package/build/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.js.map +1 -0
- package/build/lib/multipleRunner/lib/Process.d.ts +5 -0
- package/build/lib/multipleRunner/lib/Process.js +44 -0
- package/build/lib/multipleRunner/lib/Process.js.map +1 -0
- package/build/lib/multipleRunner/lib/Thread.d.ts +5 -0
- package/build/lib/multipleRunner/lib/Thread.js +52 -0
- package/build/lib/multipleRunner/lib/Thread.js.map +1 -0
- package/build/lib/multipleRunner/lib/bridges/BaseBridge.d.ts +32 -0
- package/build/lib/multipleRunner/lib/bridges/BaseBridge.js +104 -0
- package/build/lib/multipleRunner/lib/bridges/BaseBridge.js.map +1 -0
- package/build/lib/multipleRunner/lib/bridges/ProcessBridge.d.ts +5 -0
- package/build/lib/multipleRunner/lib/bridges/ProcessBridge.js +20 -0
- package/build/lib/multipleRunner/lib/bridges/ProcessBridge.js.map +1 -0
- package/build/lib/multipleRunner/lib/bridges/ThreadBridge.d.ts +5 -0
- package/build/lib/multipleRunner/lib/bridges/ThreadBridge.js +17 -0
- package/build/lib/multipleRunner/lib/bridges/ThreadBridge.js.map +1 -0
- package/build/lib/multipleRunner/lib/cores/GenerateExecArgv.d.ts +2 -0
- package/build/lib/multipleRunner/lib/cores/GenerateExecArgv.js +35 -0
- package/build/lib/multipleRunner/lib/cores/GenerateExecArgv.js.map +1 -0
- package/build/lib/multipleRunner/lib/cores/IsElectron.d.ts +1 -0
- package/build/lib/multipleRunner/lib/cores/IsElectron.js +9 -0
- package/build/lib/multipleRunner/lib/cores/IsElectron.js.map +1 -0
- package/build/lib/multipleRunner/lib/cores/ProcessClass.d.ts +5 -0
- package/build/lib/multipleRunner/lib/cores/ProcessClass.js +12 -0
- package/build/lib/multipleRunner/lib/cores/ProcessClass.js.map +1 -0
- package/build/lib/multipleRunner/lib/cores/ThreadClass.d.ts +5 -0
- package/build/lib/multipleRunner/lib/cores/ThreadClass.js +12 -0
- package/build/lib/multipleRunner/lib/cores/ThreadClass.js.map +1 -0
- package/build/lib/multipleRunner/lib/cores/UniParentBridgeHandler.d.ts +2 -0
- package/build/lib/multipleRunner/lib/cores/UniParentBridgeHandler.js +104 -0
- package/build/lib/multipleRunner/lib/cores/UniParentBridgeHandler.js.map +1 -0
- package/build/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.d.ts +17 -0
- package/build/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.js +53 -0
- package/build/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.js.map +1 -0
- package/build/plugins/Crypto.js +2 -2
- package/build/plugins/Crypto.js.map +1 -1
- package/build/plugins/Formatter.d.ts +1 -0
- package/build/plugins/Formatter.js +9 -6
- package/build/plugins/Formatter.js.map +1 -1
- package/build/plugins/HttpRequest.js +8 -8
- package/build/plugins/HttpRequest.js.map +1 -1
- package/build/plugins/Logger.js +15 -6
- package/build/plugins/Logger.js.map +1 -1
- package/build/plugins/MessagePack.js +2 -2
- package/build/plugins/MessagePack.js.map +1 -1
- package/build/plugins/Security.js +24 -24
- package/build/plugins/Security.js.map +1 -1
- package/build/plugins/Shell.d.ts +39 -0
- package/build/plugins/Shell.js +58 -0
- package/build/plugins/Shell.js.map +1 -0
- package/build/types/TPluginsConfig.d.ts +1 -0
- package/build/utils/Delay.js +1 -1
- package/build/utils/Delay.js.map +1 -1
- package/build/utils/Timeout.js +1 -1
- package/build/utils/Timeout.js.map +1 -1
- package/build/utils/ValidDataUrl.d.ts +1 -0
- package/build/utils/ValidDataUrl.js +8 -0
- package/build/utils/ValidDataUrl.js.map +1 -0
- package/package.json +14 -14
- package/src/Application.ts +33 -11
- package/src/ApplicationManagement.ts +4 -1
- package/src/base/Container.ts +14 -1
- package/src/base/ValidatorClass.ts +44 -7
- package/src/base/abstracts/Exception.ts +2 -2
- package/src/base/abstracts/Module.ts +2 -1
- package/src/base/process/Process.ts +1 -1
- package/src/base/process/ProcessManager.ts +2 -2
- package/src/base/thread/Thread.ts +1 -1
- package/src/base/thread/ThreadManager.ts +2 -2
- package/src/decorators/MethodValidation.ts +6 -6
- package/src/interfaces/IApplicationConfig.ts +1 -0
- package/src/interfaces/ShellJsInterfaces.ts +858 -0
- package/src/lib/minified/ShellJs.min.js +1 -0
- package/src/lib/multipleRunner/constants/Channel.ts +5 -0
- package/src/lib/multipleRunner/constants/MetadataKey.ts +2 -0
- package/src/lib/multipleRunner/containers/ContainerVolume.ts +83 -0
- package/src/lib/multipleRunner/definitions/interfaces/ClassConstructor.ts +3 -0
- package/src/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.ts +5 -0
- package/src/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.ts +10 -0
- package/src/lib/multipleRunner/definitions/interfaces/ProxyClass.ts +3 -0
- package/src/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.ts +10 -0
- package/src/lib/multipleRunner/lib/Process.ts +44 -0
- package/src/lib/multipleRunner/lib/Thread.ts +52 -0
- package/src/lib/multipleRunner/lib/bridges/BaseBridge.ts +115 -0
- package/src/lib/multipleRunner/lib/bridges/ProcessBridge.ts +18 -0
- package/src/lib/multipleRunner/lib/bridges/ThreadBridge.ts +15 -0
- package/src/lib/multipleRunner/lib/cores/GenerateExecArgv.ts +28 -0
- package/src/lib/multipleRunner/lib/cores/IsElectron.ts +3 -0
- package/src/lib/multipleRunner/lib/cores/ProcessClass.ts +8 -0
- package/src/lib/multipleRunner/lib/cores/ThreadClass.ts +8 -0
- package/src/lib/multipleRunner/lib/cores/UniParentBridgeHandler.ts +97 -0
- package/src/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.ts +66 -0
- package/src/plugins/Crypto.ts +3 -3
- package/src/plugins/Formatter.ts +10 -5
- package/src/plugins/Logger.ts +8 -2
- package/src/plugins/Shell.ts +371 -0
- package/src/tests/Main.spec.ts +11 -6
- package/src/tests/threads/TestThread.ts +3 -1
- package/src/types/TPluginsConfig.ts +1 -1
- package/src/utils/ValidDataUrl.ts +8 -0
- package/.idea/dbnavigator.xml +0 -558
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ThreadClass } from '../../lib/cores/ThreadClass';
|
|
2
|
+
import { ClassConstructor } from './ClassConstructor';
|
|
3
|
+
export interface ThreadClassConstructor<T extends ThreadClass> extends ClassConstructor<T> {
|
|
4
|
+
new (...args: any[]): T;
|
|
5
|
+
CLASS_PATH: string;
|
|
6
|
+
CLASS_NAME: string;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadClassConstructor.js","sourceRoot":"","sources":["../../../../../src/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { ProcessClassConstructor } from '../definitions/interfaces/ProcessClassConstructor';
|
|
3
|
+
import { ProcessClass } from './cores/ProcessClass';
|
|
4
|
+
import { ProxyClass } from '../definitions/interfaces/ProxyClass';
|
|
5
|
+
export declare function Process<T extends ProcessClass>(processClassConstructor: ProcessClassConstructor<T>): Promise<T & ProxyClass>;
|
|
@@ -0,0 +1,44 @@
|
|
|
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.Process = void 0;
|
|
7
|
+
require("reflect-metadata");
|
|
8
|
+
const child_process_1 = require("child_process");
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const GenerateExecArgv_1 = require("./cores/GenerateExecArgv");
|
|
11
|
+
const ProcessBridge_1 = require("./bridges/ProcessBridge");
|
|
12
|
+
const UniParentBridgeHandler_1 = require("./cores/UniParentBridgeHandler");
|
|
13
|
+
const ContainerVolume_1 = require("../containers/ContainerVolume");
|
|
14
|
+
const fs_1 = __importDefault(require("fs"));
|
|
15
|
+
const os_1 = __importDefault(require("os"));
|
|
16
|
+
async function Process(processClassConstructor) {
|
|
17
|
+
return new Promise((resolve, reject) => {
|
|
18
|
+
ProcessProxy(processClassConstructor, (setupError, instance) => {
|
|
19
|
+
if (setupError) {
|
|
20
|
+
reject(setupError);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
resolve(instance);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
exports.Process = Process;
|
|
29
|
+
function ProcessProxy(processClassConstructor, callback) {
|
|
30
|
+
const className = processClassConstructor.CLASS_NAME;
|
|
31
|
+
const classPath = processClassConstructor.CLASS_PATH;
|
|
32
|
+
const tmpProcessRuntimeContainerFilename = path_1.default.resolve(os_1.default.tmpdir(), `./PRC_TMP_${Date.now()}.tmp`);
|
|
33
|
+
const tmpBaseRuntimeContainerFilename = path_1.default.resolve(os_1.default.tmpdir(), `./PBRC_TMP_${Date.now()}.tmp`);
|
|
34
|
+
fs_1.default.writeFileSync(tmpBaseRuntimeContainerFilename, ContainerVolume_1.ContainerVolume.readFileSync(ContainerVolume_1.BASE_RUNTIME_CONTAINER_FILE).toString());
|
|
35
|
+
fs_1.default.writeFileSync(tmpProcessRuntimeContainerFilename, ContainerVolume_1.ContainerVolume.readFileSync(ContainerVolume_1.PROCESS_RUNTIME_CONTAINER_FILE).toString());
|
|
36
|
+
const childProcess = (0, child_process_1.fork)(tmpProcessRuntimeContainerFilename, [
|
|
37
|
+
tmpBaseRuntimeContainerFilename,
|
|
38
|
+
require.resolve(path_1.default.resolve(__dirname, './bridges/ProcessBridge'))
|
|
39
|
+
], {
|
|
40
|
+
execArgv: (0, GenerateExecArgv_1.GenerateExecArgv)(classPath)
|
|
41
|
+
});
|
|
42
|
+
(0, UniParentBridgeHandler_1.UniParentBridgeHandler)(new ProcessBridge_1.ProcessBridge(childProcess), className, classPath, processClassConstructor, callback);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=Process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Process.js","sourceRoot":"","sources":["../../../../src/lib/multipleRunner/lib/Process.ts"],"names":[],"mappings":";;;;;;AAAA,4BAAyB;AAEzB,iDAAgD;AAChD,gDAAuB;AACvB,+DAAyD;AACzD,2DAAqD;AAErD,2EAAqE;AAErE,mEAIsC;AACtC,4CAAmB;AACnB,4CAAmB;AAEZ,KAAK,UAAU,OAAO,CAAyB,uBAAmD;IACrG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,YAAY,CAAC,uBAAuB,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE;YAC3D,IAAI,UAAU,EAAE;gBACZ,MAAM,CAAC,UAAU,CAAC,CAAA;aACrB;iBAAM;gBACH,OAAO,CAAiB,QAAQ,CAAC,CAAA;aACpC;QACL,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC;AAVD,0BAUC;AAED,SAAS,YAAY,CAAyB,uBAAmD,EAAE,QAAkD;IACjJ,MAAM,SAAS,GAAW,uBAAuB,CAAC,UAAU,CAAA;IAC5D,MAAM,SAAS,GAAW,uBAAuB,CAAC,UAAU,CAAA;IAC5D,MAAM,kCAAkC,GAAW,cAAI,CAAC,OAAO,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC3G,MAAM,+BAA+B,GAAW,cAAI,CAAC,OAAO,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACzG,YAAE,CAAC,aAAa,CAAC,+BAA+B,EAAE,iCAAe,CAAC,YAAY,CAAC,6CAA2B,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvH,YAAE,CAAC,aAAa,CAAC,kCAAkC,EAAE,iCAAe,CAAC,YAAY,CAAC,gDAA8B,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC7H,MAAM,YAAY,GAAiB,IAAA,oBAAI,EAAC,kCAAkC,EAAE;QACxE,+BAA+B;QAC/B,OAAO,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;KACtE,EAAE;QACC,QAAQ,EAAE,IAAA,mCAAgB,EAAC,SAAS,CAAC;KACxC,CAAC,CAAA;IACF,IAAA,+CAAsB,EAAC,IAAI,6BAAa,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,uBAAuB,EAAE,QAAQ,CAAC,CAAA;AACpH,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { ThreadClassConstructor } from '../definitions/interfaces/ThreadClassConstructor';
|
|
3
|
+
import { ThreadClass } from './cores/ThreadClass';
|
|
4
|
+
import { ProxyClass } from '../definitions/interfaces/ProxyClass';
|
|
5
|
+
export declare function Thread<T extends ThreadClass>(threadClassConstructor: ThreadClassConstructor<T>): Promise<T & ProxyClass>;
|
|
@@ -0,0 +1,52 @@
|
|
|
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.Thread = void 0;
|
|
7
|
+
require("reflect-metadata");
|
|
8
|
+
const worker_threads_1 = require("worker_threads");
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const ThreadBridge_1 = require("./bridges/ThreadBridge");
|
|
11
|
+
const GenerateExecArgv_1 = require("./cores/GenerateExecArgv");
|
|
12
|
+
const UniParentBridgeHandler_1 = require("./cores/UniParentBridgeHandler");
|
|
13
|
+
const os_1 = __importDefault(require("os"));
|
|
14
|
+
const fs_1 = __importDefault(require("fs"));
|
|
15
|
+
const ContainerVolume_1 = require("../containers/ContainerVolume");
|
|
16
|
+
const Process_1 = require("./Process");
|
|
17
|
+
const IsElectron_1 = require("./cores/IsElectron");
|
|
18
|
+
async function Thread(threadClassConstructor) {
|
|
19
|
+
if ((0, IsElectron_1.isElectron)()) {
|
|
20
|
+
return await (0, Process_1.Process)(threadClassConstructor);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return new Promise((resolve, reject) => {
|
|
24
|
+
ThreadProxy(threadClassConstructor, (setupError, instance) => {
|
|
25
|
+
if (setupError) {
|
|
26
|
+
reject(setupError);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
resolve(instance);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.Thread = Thread;
|
|
36
|
+
function ThreadProxy(threadClassConstructor, callback) {
|
|
37
|
+
const className = threadClassConstructor.CLASS_NAME;
|
|
38
|
+
const classPath = threadClassConstructor.CLASS_PATH;
|
|
39
|
+
const tmpBaseRuntimeContainerFilename = path_1.default.resolve(os_1.default.tmpdir(), `./TBRC_TMP_${Date.now()}.tmp`);
|
|
40
|
+
fs_1.default.writeFileSync(tmpBaseRuntimeContainerFilename, ContainerVolume_1.ContainerVolume.readFileSync(ContainerVolume_1.BASE_RUNTIME_CONTAINER_FILE).toString());
|
|
41
|
+
const exeArgv = (0, GenerateExecArgv_1.GenerateExecArgv)(classPath).reverse();
|
|
42
|
+
const worker = new worker_threads_1.Worker(ContainerVolume_1.ContainerVolume.readFileSync(ContainerVolume_1.THREAD_RUNTIME_CONTAINER_FILE).toString(), {
|
|
43
|
+
eval: true,
|
|
44
|
+
argv: [
|
|
45
|
+
exeArgv.length > 0 ? exeArgv[0] : 'undefined',
|
|
46
|
+
tmpBaseRuntimeContainerFilename,
|
|
47
|
+
require.resolve(path_1.default.resolve(__dirname, './bridges/ThreadBridge'))
|
|
48
|
+
]
|
|
49
|
+
});
|
|
50
|
+
(0, UniParentBridgeHandler_1.UniParentBridgeHandler)(new ThreadBridge_1.ThreadBridge(worker), className, classPath, threadClassConstructor, callback);
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=Thread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Thread.js","sourceRoot":"","sources":["../../../../src/lib/multipleRunner/lib/Thread.ts"],"names":[],"mappings":";;;;;;AAAA,4BAAyB;AAGzB,mDAAqC;AACrC,gDAAuB;AACvB,yDAAmD;AACnD,+DAAyD;AACzD,2EAAqE;AAErE,4CAAmB;AACnB,4CAAmB;AACnB,mEAIsC;AACtC,uCAAiC;AACjC,mDAA6C;AAEtC,KAAK,UAAU,MAAM,CAAwB,sBAAiD;IACpG,IAAI,IAAA,uBAAU,GAAE,EAAE;QACjB,OAAO,MAAM,IAAA,iBAAO,EAAC,sBAA6B,CAAQ,CAAA;KAC1D;SAAM;QACN,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,WAAW,CAAC,sBAAsB,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE;gBAC5D,IAAI,UAAU,EAAE;oBACf,MAAM,CAAC,UAAU,CAAC,CAAA;iBAClB;qBAAM;oBACN,OAAO,CAAiB,QAAQ,CAAC,CAAA;iBACjC;YACF,CAAC,CAAC,CAAA;QACH,CAAC,CAAC,CAAA;KACF;AACF,CAAC;AAdD,wBAcC;AAED,SAAS,WAAW,CAAwB,sBAAiD,EAAE,QAAkD;IAChJ,MAAM,SAAS,GAAW,sBAAsB,CAAC,UAAU,CAAA;IAC3D,MAAM,SAAS,GAAW,sBAAsB,CAAC,UAAU,CAAA;IAC3D,MAAM,+BAA+B,GAAW,cAAI,CAAC,OAAO,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACzG,YAAE,CAAC,aAAa,CAAC,+BAA+B,EAAE,iCAAe,CAAC,YAAY,CAAC,6CAA2B,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvH,MAAM,OAAO,GAAG,IAAA,mCAAgB,EAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;IACrD,MAAM,MAAM,GAAW,IAAI,uBAAM,CAAC,iCAAe,CAAC,YAAY,CAAC,+CAA6B,CAAC,CAAC,QAAQ,EAAE,EAAE;QACzG,IAAI,EAAE,IAAI;QACV,IAAI,EAAE;YACL,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;YAC7C,+BAA+B;YAC/B,OAAO,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;SAClE;KACD,CAAC,CAAA;IAEF,IAAA,+CAAsB,EAAC,IAAI,2BAAY,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,CAAC,CAAA;AACzG,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
3
|
+
export declare class BaseBridge {
|
|
4
|
+
protected readonly eventEmitter: EventEmitter;
|
|
5
|
+
protected readonly bridge: any;
|
|
6
|
+
constructor(bridgeObject: any);
|
|
7
|
+
off(channel: string): this;
|
|
8
|
+
on(channel: string, listener: (...args: any[]) => void): this;
|
|
9
|
+
once(channel: string, listener: (...args: any[]) => void): this;
|
|
10
|
+
send(channel: string, ...args: any[]): void;
|
|
11
|
+
ready(properties: {
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
}, propertyValues: {
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
}): this;
|
|
16
|
+
onReady(callback: (properties: {
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
}, propertyValues: {
|
|
19
|
+
[key: string]: any;
|
|
20
|
+
}) => void): this;
|
|
21
|
+
error(error: Error): void;
|
|
22
|
+
setupError(error: Error): void;
|
|
23
|
+
invoke(method: string, args: Array<any>): Promise<unknown>;
|
|
24
|
+
onInvoke(handler: (method: string, args: Array<any>) => Promise<any>): void;
|
|
25
|
+
set(property: string, value: any): this;
|
|
26
|
+
onSet(handler: (property: string, value: any) => void): this;
|
|
27
|
+
propertyChange(property: string, value: any): this;
|
|
28
|
+
onPropertyChanged(handler: (property: string, value: any) => void): this;
|
|
29
|
+
callbackHandler(thisArg: any, handler: (...args: any[]) => any): string;
|
|
30
|
+
onCallback(callbackEvtName: string, args: any[]): this;
|
|
31
|
+
terminate(): Promise<void>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
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.BaseBridge = void 0;
|
|
7
|
+
const events_1 = require("events");
|
|
8
|
+
const random_1 = __importDefault(require("random"));
|
|
9
|
+
const Channel_1 = require("../../constants/Channel");
|
|
10
|
+
class BaseBridge {
|
|
11
|
+
constructor(bridgeObject) {
|
|
12
|
+
this.eventEmitter = new events_1.EventEmitter();
|
|
13
|
+
this.bridge = bridgeObject;
|
|
14
|
+
this.bridge.on('message', data => {
|
|
15
|
+
this.eventEmitter.emit.apply(this.eventEmitter, [data.channel].concat(data.args));
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
off(channel) {
|
|
19
|
+
this.eventEmitter.removeAllListeners(channel);
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
on(channel, listener) {
|
|
23
|
+
this.eventEmitter.on.apply(this.eventEmitter, [channel, listener]);
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
once(channel, listener) {
|
|
27
|
+
this.eventEmitter.once.apply(this.eventEmitter, [channel, listener]);
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
send(channel, ...args) {
|
|
31
|
+
throw new Error('Method did not implemented');
|
|
32
|
+
}
|
|
33
|
+
ready(properties, propertyValues) {
|
|
34
|
+
this.send(Channel_1.READY, properties, propertyValues);
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
onReady(callback) {
|
|
38
|
+
this.once(Channel_1.READY, callback);
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
error(error) {
|
|
42
|
+
this.send('error', error.message);
|
|
43
|
+
}
|
|
44
|
+
setupError(error) {
|
|
45
|
+
this.send(Channel_1.SETUP_ERROR, error.message);
|
|
46
|
+
}
|
|
47
|
+
async invoke(method, args) {
|
|
48
|
+
return new Promise((resolve, reject) => {
|
|
49
|
+
const invokeId = `ts_${Date.now()}_rnd_${random_1.default.int(100, 999999)}`;
|
|
50
|
+
const responseChannelName = `__%$invoke_res_${invokeId}$%__`;
|
|
51
|
+
this.once(responseChannelName, (errMsg, result) => {
|
|
52
|
+
if (errMsg) {
|
|
53
|
+
reject(new Error(errMsg));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
resolve(result);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
this.send(Channel_1.INVOKE, method, args, responseChannelName);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
onInvoke(handler) {
|
|
63
|
+
this.on(Channel_1.INVOKE, (method, args, responseChannelName) => {
|
|
64
|
+
handler(method, args).then(result => {
|
|
65
|
+
this.send(responseChannelName, null, result);
|
|
66
|
+
}).catch(invokeError => {
|
|
67
|
+
this.send(responseChannelName, invokeError.message, undefined);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
set(property, value) {
|
|
72
|
+
this.send(Channel_1.SET_PROPERTY, property, value);
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
onSet(handler) {
|
|
76
|
+
this.on(Channel_1.SET_PROPERTY, handler);
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
propertyChange(property, value) {
|
|
80
|
+
this.send(Channel_1.PROPERTY_CHANGE, property, value);
|
|
81
|
+
this.send('property-changed', property, value);
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
onPropertyChanged(handler) {
|
|
85
|
+
this.on(Channel_1.PROPERTY_CHANGE, handler);
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
callbackHandler(thisArg, handler) {
|
|
89
|
+
const callbackEvtName = `__________%$CALLBACK[${Date.now()}]$%__________`;
|
|
90
|
+
this.once(callbackEvtName, (...args) => {
|
|
91
|
+
handler.apply(thisArg, args);
|
|
92
|
+
});
|
|
93
|
+
return callbackEvtName;
|
|
94
|
+
}
|
|
95
|
+
onCallback(callbackEvtName, args) {
|
|
96
|
+
this.send.apply(this, [callbackEvtName].concat(args));
|
|
97
|
+
return this;
|
|
98
|
+
}
|
|
99
|
+
async terminate() {
|
|
100
|
+
throw new Error('Method did not implemented');
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.BaseBridge = BaseBridge;
|
|
104
|
+
//# sourceMappingURL=BaseBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseBridge.js","sourceRoot":"","sources":["../../../../../src/lib/multipleRunner/lib/bridges/BaseBridge.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAmC;AACnC,oDAA2B;AAC3B,qDAAiG;AAEjG,MAAa,UAAU;IAInB,YAAY,YAAiB;QAHV,iBAAY,GAAiB,IAAI,qBAAY,EAAE,CAAA;QAI9D,IAAI,CAAC,MAAM,GAAG,YAAY,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAQ,CAAC,CAAA;QAC5F,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,GAAG,CAAC,OAAe;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,EAAE,CAAC,OAAe,EAAE,QAAkC;QACzD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;QAClE,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,QAAkC;QAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;QACpE,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QACvC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IACjD,CAAC;IAEM,KAAK,CAAC,UAAkC,EAAE,cAAsC;QACnF,IAAI,CAAC,IAAI,CAAC,eAAK,EAAE,UAAU,EAAE,cAAc,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,OAAO,CAAC,QAA8F;QACzG,IAAI,CAAC,IAAI,CAAC,eAAK,EAAE,QAAQ,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,KAAK,CAAC,KAAY;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC;IAEM,UAAU,CAAC,KAAY;QAC1B,IAAI,CAAC,IAAI,CAAC,qBAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,IAAgB;QAChD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,QAAQ,GAAW,MAAM,IAAI,CAAC,GAAG,EAAE,QAAQ,gBAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAA;YAC1E,MAAM,mBAAmB,GAAW,kBAAkB,QAAQ,MAAM,CAAA;YACpE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAc,EAAE,MAAW,EAAE,EAAE;gBAC3D,IAAI,MAAM,EAAE;oBACR,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;iBAC5B;qBAAM;oBACH,OAAO,CAAC,MAAM,CAAC,CAAA;iBAClB;YACL,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,IAAI,CAAC,gBAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,QAAQ,CAAC,OAA2D;QACvE,IAAI,CAAC,EAAE,CAAC,gBAAM,EAAE,CAAC,MAAc,EAAE,IAAgB,EAAE,mBAA2B,EAAE,EAAE;YAC9E,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBAChC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;YAChD,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gBACnB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;YAClE,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,GAAG,CAAC,QAAgB,EAAE,KAAU;QACnC,IAAI,CAAC,IAAI,CAAC,sBAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;QACxC,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,KAAK,CAAC,OAA+C;QACxD,IAAI,CAAC,EAAE,CAAC,sBAAY,EAAE,OAAO,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,cAAc,CAAC,QAAgB,EAAE,KAAU;QAC9C,IAAI,CAAC,IAAI,CAAC,yBAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,iBAAiB,CAAC,OAA+C;QACpE,IAAI,CAAC,EAAE,CAAC,yBAAe,EAAE,OAAO,CAAC,CAAA;QACjC,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,eAAe,CAAC,OAAY,EAAE,OAAgC;QACjE,MAAM,eAAe,GAAW,wBAAwB,IAAI,CAAC,GAAG,EAAE,eAAe,CAAA;QACjF,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE;YAC1C,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QACF,OAAO,eAAe,CAAA;IAC1B,CAAC;IAEM,UAAU,CAAC,eAAuB,EAAE,IAAW;QAClD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,IAAI,CAAQ,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,KAAK,CAAC,SAAS;QAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IACjD,CAAC;CACJ;AA9GD,gCA8GC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessBridge = void 0;
|
|
4
|
+
const BaseBridge_1 = require("./BaseBridge");
|
|
5
|
+
class ProcessBridge extends BaseBridge_1.BaseBridge {
|
|
6
|
+
send(channel, ...args) {
|
|
7
|
+
this.bridge.send({
|
|
8
|
+
channel: channel,
|
|
9
|
+
args: args
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
async terminate() {
|
|
13
|
+
return new Promise(resolve => {
|
|
14
|
+
this.bridge.once('close', resolve);
|
|
15
|
+
this.bridge.kill();
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.ProcessBridge = ProcessBridge;
|
|
20
|
+
//# sourceMappingURL=ProcessBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProcessBridge.js","sourceRoot":"","sources":["../../../../../src/lib/multipleRunner/lib/bridges/ProcessBridge.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAEvC,MAAa,aAAc,SAAQ,uBAAU;IAElC,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACb,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,IAAI;SACb,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,SAAS;QAClB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACtB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAfD,sCAeC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ThreadBridge = void 0;
|
|
4
|
+
const BaseBridge_1 = require("./BaseBridge");
|
|
5
|
+
class ThreadBridge extends BaseBridge_1.BaseBridge {
|
|
6
|
+
send(channel, ...args) {
|
|
7
|
+
this.bridge.postMessage({
|
|
8
|
+
channel: channel,
|
|
9
|
+
args: args
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
async terminate() {
|
|
13
|
+
await this.bridge.terminate();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.ThreadBridge = ThreadBridge;
|
|
17
|
+
//# sourceMappingURL=ThreadBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadBridge.js","sourceRoot":"","sources":["../../../../../src/lib/multipleRunner/lib/bridges/ThreadBridge.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAEvC,MAAa,YAAa,SAAQ,uBAAU;IAEjC,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QACvC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,IAAI;SACb,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,SAAS;QAClB,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;IACjC,CAAC;CACJ;AAZD,oCAYC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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.GenerateExecArgv = void 0;
|
|
7
|
+
require("reflect-metadata");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
function GenerateExecArgv(modulePath) {
|
|
10
|
+
const moduleExtName = path_1.default.extname(modulePath).toUpperCase();
|
|
11
|
+
switch (moduleExtName) {
|
|
12
|
+
case '.TS': {
|
|
13
|
+
require('ts-node');
|
|
14
|
+
const registerRegEx = /ts-node\/register/;
|
|
15
|
+
const CMs = require('module')._cache;
|
|
16
|
+
for (const cmPath of Object.keys(CMs)) {
|
|
17
|
+
if (registerRegEx.test(cmPath)) {
|
|
18
|
+
return [
|
|
19
|
+
'-r',
|
|
20
|
+
cmPath
|
|
21
|
+
];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
case '.JS': {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
default: {
|
|
30
|
+
throw new Error('Invalid module type');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.GenerateExecArgv = GenerateExecArgv;
|
|
35
|
+
//# sourceMappingURL=GenerateExecArgv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenerateExecArgv.js","sourceRoot":"","sources":["../../../../../src/lib/multipleRunner/lib/cores/GenerateExecArgv.ts"],"names":[],"mappings":";;;;;;AAAA,4BAAyB;AACzB,gDAAuB;AAEvB,SAAgB,gBAAgB,CAAC,UAAkB;IAC/C,MAAM,aAAa,GAAW,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;IACpE,QAAQ,aAAa,EAAE;QACnB,KAAK,KAAK,CAAC,CAAC;YACR,OAAO,CAAC,SAAS,CAAC,CAAA;YAClB,MAAM,aAAa,GAAG,mBAAmB,CAAA;YACzC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAA;YACpC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACnC,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBAC5B,OAAO;wBACH,IAAI;wBACJ,MAAM;qBACT,CAAA;iBACJ;aACJ;YACD,OAAO,EAAE,CAAA;SACZ;QACD,KAAK,KAAK,CAAC,CAAC;YACR,OAAO,EAAE,CAAA;SACZ;QACD,OAAO,CAAC,CAAC;YACL,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;SACzC;KACJ;AACL,CAAC;AAxBD,4CAwBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isElectron(): boolean;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isElectron = void 0;
|
|
4
|
+
function isElectron() {
|
|
5
|
+
var _a;
|
|
6
|
+
return !!((_a = process === null || process === void 0 ? void 0 : process.versions) === null || _a === void 0 ? void 0 : _a.electron);
|
|
7
|
+
}
|
|
8
|
+
exports.isElectron = isElectron;
|
|
9
|
+
//# sourceMappingURL=IsElectron.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsElectron.js","sourceRoot":"","sources":["../../../../../src/lib/multipleRunner/lib/cores/IsElectron.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU;;IACtB,OAAO,CAAC,CAAC,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,QAAQ,CAAC,CAAA;AAC1C,CAAC;AAFD,gCAEC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessClass = void 0;
|
|
4
|
+
require("reflect-metadata");
|
|
5
|
+
const MultipleRunnerBaseClass_1 = require("../prototypes/MultipleRunnerBaseClass");
|
|
6
|
+
class ProcessClass extends MultipleRunnerBaseClass_1.MultipleRunnerBaseClass {
|
|
7
|
+
async setup() {
|
|
8
|
+
return super.setup();
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.ProcessClass = ProcessClass;
|
|
12
|
+
//# sourceMappingURL=ProcessClass.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProcessClass.js","sourceRoot":"","sources":["../../../../../src/lib/multipleRunner/lib/cores/ProcessClass.ts"],"names":[],"mappings":";;;AAAA,4BAAyB;AACzB,mFAA6E;AAE7E,MAAa,YAAa,SAAQ,iDAAuB;IAC3C,KAAK,CAAC,KAAK;QACjB,OAAO,KAAK,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;CACJ;AAJD,oCAIC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ThreadClass = void 0;
|
|
4
|
+
require("reflect-metadata");
|
|
5
|
+
const MultipleRunnerBaseClass_1 = require("../prototypes/MultipleRunnerBaseClass");
|
|
6
|
+
class ThreadClass extends MultipleRunnerBaseClass_1.MultipleRunnerBaseClass {
|
|
7
|
+
async setup() {
|
|
8
|
+
return super.setup();
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.ThreadClass = ThreadClass;
|
|
12
|
+
//# sourceMappingURL=ThreadClass.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreadClass.js","sourceRoot":"","sources":["../../../../../src/lib/multipleRunner/lib/cores/ThreadClass.ts"],"names":[],"mappings":";;;AAAA,4BAAyB;AACzB,mFAA6E;AAE7E,MAAa,WAAY,SAAQ,iDAAuB;IAC1C,KAAK,CAAC,KAAK;QACjB,OAAO,KAAK,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;CACJ;AAJD,kCAIC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UniParentBridgeHandler = void 0;
|
|
4
|
+
const Channel_1 = require("../../constants/Channel");
|
|
5
|
+
function UniParentBridgeHandler(bridge, className, classPath, classConstructor, callback) {
|
|
6
|
+
const reservedMethodNames = ['off', 'on', 'once', 'emit', 'terminate'];
|
|
7
|
+
bridge.on(Channel_1.SETUP_ERROR, (setupErrorMsg => {
|
|
8
|
+
callback(new Error(setupErrorMsg), null);
|
|
9
|
+
})).onReady((properties, propertyValues) => {
|
|
10
|
+
bridge.onPropertyChanged((property, value) => {
|
|
11
|
+
propertyValues[property] = value;
|
|
12
|
+
});
|
|
13
|
+
const proxyHandler = new Proxy({}, {
|
|
14
|
+
get(target, p) {
|
|
15
|
+
if (reservedMethodNames.indexOf(p.toString()) > -1) {
|
|
16
|
+
switch (p.toString()) {
|
|
17
|
+
case 'off': {
|
|
18
|
+
return new Proxy((...args) => {
|
|
19
|
+
}, {
|
|
20
|
+
apply(applyTarget, thisArg, argArray) {
|
|
21
|
+
bridge.off.apply(bridge, argArray);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
case 'on': {
|
|
26
|
+
return new Proxy((...args) => {
|
|
27
|
+
}, {
|
|
28
|
+
apply(applyTarget, thisArg, argArray) {
|
|
29
|
+
bridge.on.apply(bridge, argArray);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
case 'once': {
|
|
34
|
+
return new Proxy((...args) => {
|
|
35
|
+
}, {
|
|
36
|
+
apply(applyTarget, thisArg, argArray) {
|
|
37
|
+
bridge.once.apply(bridge, argArray);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
case 'emit': {
|
|
42
|
+
return new Proxy((...args) => {
|
|
43
|
+
}, {
|
|
44
|
+
apply(applyTarget, thisArg, argArray) {
|
|
45
|
+
bridge.send.apply(bridge, argArray);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
case 'terminate': {
|
|
50
|
+
return new Proxy((...args) => {
|
|
51
|
+
}, {
|
|
52
|
+
apply(applyTarget, thisArg, argArray) {
|
|
53
|
+
return new Promise((resolve, reject) => {
|
|
54
|
+
bridge.terminate().then(resolve).catch(reject);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
default:
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
const method = classConstructor.prototype[p];
|
|
65
|
+
const isPropertyMethod = properties[p.toString()] === 'function';
|
|
66
|
+
if (method || isPropertyMethod) {
|
|
67
|
+
return new Proxy(isPropertyMethod ? (...args) => {
|
|
68
|
+
} : method, {
|
|
69
|
+
apply(target, thisArg, argArray) {
|
|
70
|
+
const _argArray = [];
|
|
71
|
+
for (const _arg of argArray) {
|
|
72
|
+
if (typeof _arg !== 'function') {
|
|
73
|
+
_argArray.push(_arg);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
_argArray.push(bridge.callbackHandler(thisArg, _arg));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return new Promise((resolve, reject) => {
|
|
80
|
+
bridge.invoke(p.toString(), _argArray).then(resolve).catch(reject);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
else if (properties[p.toString()]) {
|
|
86
|
+
return propertyValues[p.toString()];
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
set(target, p, value, receiver) {
|
|
94
|
+
bridge.set(p.toString(), value);
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
bridge.off(Channel_1.SETUP_ERROR);
|
|
99
|
+
callback(null, proxyHandler);
|
|
100
|
+
});
|
|
101
|
+
bridge.send('create', className, classPath);
|
|
102
|
+
}
|
|
103
|
+
exports.UniParentBridgeHandler = UniParentBridgeHandler;
|
|
104
|
+
//# sourceMappingURL=UniParentBridgeHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UniParentBridgeHandler.js","sourceRoot":"","sources":["../../../../../src/lib/multipleRunner/lib/cores/UniParentBridgeHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { BaseBridge } from '../bridges/BaseBridge';
|
|
3
|
+
export declare class MultipleRunnerBaseClass {
|
|
4
|
+
private readonly __bridge__;
|
|
5
|
+
static get CLASS_PATH(): string;
|
|
6
|
+
static get CLASS_NAME(): string;
|
|
7
|
+
constructor(bridge: BaseBridge);
|
|
8
|
+
protected setup(): Promise<void>;
|
|
9
|
+
off(event: string): void;
|
|
10
|
+
on(event: 'property-changed', handler: (property: string, value: any) => void): void;
|
|
11
|
+
on(event: 'error', handler: (error: Error) => void): void;
|
|
12
|
+
on(event: string, handler: (...args: any[]) => void): void;
|
|
13
|
+
once(event: 'property-changed', handler: (property: string, value: any) => void): void;
|
|
14
|
+
once(event: 'error', handler: (error: Error) => void): void;
|
|
15
|
+
once(event: string, handler: (...args: any[]) => void): void;
|
|
16
|
+
emit(event: string, ...args: any[]): void;
|
|
17
|
+
}
|