@lakutata/core 1.0.28 → 1.0.29

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.
Files changed (112) hide show
  1. package/README.md +4 -0
  2. package/build/Application.d.ts +3 -0
  3. package/build/Application.js +16 -0
  4. package/build/Application.js.map +1 -1
  5. package/build/ApplicationManagement.js +5 -0
  6. package/build/ApplicationManagement.js.map +1 -1
  7. package/build/base/process/Process.d.ts +1 -1
  8. package/build/base/process/Process.js +2 -2
  9. package/build/base/process/Process.js.map +1 -1
  10. package/build/base/process/ProcessManager.d.ts +1 -1
  11. package/build/base/process/ProcessManager.js +2 -2
  12. package/build/base/process/ProcessManager.js.map +1 -1
  13. package/build/base/thread/Thread.d.ts +1 -1
  14. package/build/base/thread/Thread.js +2 -2
  15. package/build/base/thread/Thread.js.map +1 -1
  16. package/build/base/thread/ThreadManager.d.ts +1 -1
  17. package/build/base/thread/ThreadManager.js +2 -2
  18. package/build/base/thread/ThreadManager.js.map +1 -1
  19. package/build/interfaces/IApplicationConfig.d.ts +1 -0
  20. package/build/lib/multipleRunner/constants/Channel.d.ts +5 -0
  21. package/build/lib/multipleRunner/constants/Channel.js +9 -0
  22. package/build/lib/multipleRunner/constants/Channel.js.map +1 -0
  23. package/build/lib/multipleRunner/constants/MetadataKey.d.ts +2 -0
  24. package/build/lib/multipleRunner/constants/MetadataKey.js +6 -0
  25. package/build/lib/multipleRunner/constants/MetadataKey.js.map +1 -0
  26. package/build/lib/multipleRunner/containers/ContainerVolume.d.ts +4 -0
  27. package/build/lib/multipleRunner/containers/ContainerVolume.js +85 -0
  28. package/build/lib/multipleRunner/containers/ContainerVolume.js.map +1 -0
  29. package/build/lib/multipleRunner/definitions/interfaces/ClassConstructor.d.ts +3 -0
  30. package/build/lib/multipleRunner/definitions/interfaces/ClassConstructor.js +3 -0
  31. package/build/lib/multipleRunner/definitions/interfaces/ClassConstructor.js.map +1 -0
  32. package/build/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.d.ts +4 -0
  33. package/build/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.js +3 -0
  34. package/build/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.js.map +1 -0
  35. package/build/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.d.ts +7 -0
  36. package/build/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.js +3 -0
  37. package/build/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.js.map +1 -0
  38. package/build/lib/multipleRunner/definitions/interfaces/ProxyClass.d.ts +3 -0
  39. package/build/lib/multipleRunner/definitions/interfaces/ProxyClass.js +3 -0
  40. package/build/lib/multipleRunner/definitions/interfaces/ProxyClass.js.map +1 -0
  41. package/build/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.d.ts +7 -0
  42. package/build/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.js +3 -0
  43. package/build/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.js.map +1 -0
  44. package/build/lib/multipleRunner/lib/Process.d.ts +5 -0
  45. package/build/lib/multipleRunner/lib/Process.js +44 -0
  46. package/build/lib/multipleRunner/lib/Process.js.map +1 -0
  47. package/build/lib/multipleRunner/lib/Thread.d.ts +5 -0
  48. package/build/lib/multipleRunner/lib/Thread.js +52 -0
  49. package/build/lib/multipleRunner/lib/Thread.js.map +1 -0
  50. package/build/lib/multipleRunner/lib/bridges/BaseBridge.d.ts +32 -0
  51. package/build/lib/multipleRunner/lib/bridges/BaseBridge.js +104 -0
  52. package/build/lib/multipleRunner/lib/bridges/BaseBridge.js.map +1 -0
  53. package/build/lib/multipleRunner/lib/bridges/ProcessBridge.d.ts +5 -0
  54. package/build/lib/multipleRunner/lib/bridges/ProcessBridge.js +20 -0
  55. package/build/lib/multipleRunner/lib/bridges/ProcessBridge.js.map +1 -0
  56. package/build/lib/multipleRunner/lib/bridges/ThreadBridge.d.ts +5 -0
  57. package/build/lib/multipleRunner/lib/bridges/ThreadBridge.js +17 -0
  58. package/build/lib/multipleRunner/lib/bridges/ThreadBridge.js.map +1 -0
  59. package/build/lib/multipleRunner/lib/cores/GenerateExecArgv.d.ts +2 -0
  60. package/build/lib/multipleRunner/lib/cores/GenerateExecArgv.js +35 -0
  61. package/build/lib/multipleRunner/lib/cores/GenerateExecArgv.js.map +1 -0
  62. package/build/lib/multipleRunner/lib/cores/IsElectron.d.ts +1 -0
  63. package/build/lib/multipleRunner/lib/cores/IsElectron.js +9 -0
  64. package/build/lib/multipleRunner/lib/cores/IsElectron.js.map +1 -0
  65. package/build/lib/multipleRunner/lib/cores/ProcessClass.d.ts +5 -0
  66. package/build/lib/multipleRunner/lib/cores/ProcessClass.js +12 -0
  67. package/build/lib/multipleRunner/lib/cores/ProcessClass.js.map +1 -0
  68. package/build/lib/multipleRunner/lib/cores/ThreadClass.d.ts +5 -0
  69. package/build/lib/multipleRunner/lib/cores/ThreadClass.js +12 -0
  70. package/build/lib/multipleRunner/lib/cores/ThreadClass.js.map +1 -0
  71. package/build/lib/multipleRunner/lib/cores/UniParentBridgeHandler.d.ts +2 -0
  72. package/build/lib/multipleRunner/lib/cores/UniParentBridgeHandler.js +104 -0
  73. package/build/lib/multipleRunner/lib/cores/UniParentBridgeHandler.js.map +1 -0
  74. package/build/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.d.ts +17 -0
  75. package/build/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.js +53 -0
  76. package/build/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.js.map +1 -0
  77. package/build/plugins/Formatter.d.ts +1 -0
  78. package/build/plugins/Formatter.js +8 -5
  79. package/build/plugins/Formatter.js.map +1 -1
  80. package/build/plugins/Logger.js +1 -1
  81. package/build/plugins/Logger.js.map +1 -1
  82. package/package.json +4 -3
  83. package/src/Application.ts +29 -0
  84. package/src/ApplicationManagement.ts +3 -0
  85. package/src/base/process/Process.ts +1 -1
  86. package/src/base/process/ProcessManager.ts +2 -2
  87. package/src/base/thread/Thread.ts +1 -1
  88. package/src/base/thread/ThreadManager.ts +2 -2
  89. package/src/interfaces/IApplicationConfig.ts +1 -0
  90. package/src/lib/multipleRunner/constants/Channel.ts +5 -0
  91. package/src/lib/multipleRunner/constants/MetadataKey.ts +2 -0
  92. package/src/lib/multipleRunner/containers/ContainerVolume.ts +83 -0
  93. package/src/lib/multipleRunner/definitions/interfaces/ClassConstructor.ts +3 -0
  94. package/src/lib/multipleRunner/definitions/interfaces/MultipleRunnerBaseClassConstructor.ts +5 -0
  95. package/src/lib/multipleRunner/definitions/interfaces/ProcessClassConstructor.ts +10 -0
  96. package/src/lib/multipleRunner/definitions/interfaces/ProxyClass.ts +3 -0
  97. package/src/lib/multipleRunner/definitions/interfaces/ThreadClassConstructor.ts +10 -0
  98. package/src/lib/multipleRunner/lib/Process.ts +44 -0
  99. package/src/lib/multipleRunner/lib/Thread.ts +52 -0
  100. package/src/lib/multipleRunner/lib/bridges/BaseBridge.ts +115 -0
  101. package/src/lib/multipleRunner/lib/bridges/ProcessBridge.ts +18 -0
  102. package/src/lib/multipleRunner/lib/bridges/ThreadBridge.ts +15 -0
  103. package/src/lib/multipleRunner/lib/cores/GenerateExecArgv.ts +28 -0
  104. package/src/lib/multipleRunner/lib/cores/IsElectron.ts +3 -0
  105. package/src/lib/multipleRunner/lib/cores/ProcessClass.ts +8 -0
  106. package/src/lib/multipleRunner/lib/cores/ThreadClass.ts +8 -0
  107. package/src/lib/multipleRunner/lib/cores/UniParentBridgeHandler.ts +97 -0
  108. package/src/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.ts +66 -0
  109. package/src/plugins/Formatter.ts +10 -5
  110. package/src/plugins/Logger.ts +1 -1
  111. package/src/tests/Main.spec.ts +6 -2
  112. package/src/tests/threads/TestThread.ts +3 -1
@@ -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":"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"}
@@ -0,0 +1,5 @@
1
+ import { BaseBridge } from './BaseBridge';
2
+ export declare class ProcessBridge extends BaseBridge {
3
+ send(channel: string, ...args: any[]): void;
4
+ terminate(): Promise<void>;
5
+ }
@@ -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,5 @@
1
+ import { BaseBridge } from './BaseBridge';
2
+ export declare class ThreadBridge extends BaseBridge {
3
+ send(channel: string, ...args: any[]): void;
4
+ terminate(): Promise<void>;
5
+ }
@@ -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,2 @@
1
+ import 'reflect-metadata';
2
+ export declare function GenerateExecArgv(modulePath: string): Array<string>;
@@ -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,5 @@
1
+ import 'reflect-metadata';
2
+ import { MultipleRunnerBaseClass } from '../prototypes/MultipleRunnerBaseClass';
3
+ export declare class ProcessClass extends MultipleRunnerBaseClass {
4
+ protected setup(): Promise<void>;
5
+ }
@@ -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,5 @@
1
+ import 'reflect-metadata';
2
+ import { MultipleRunnerBaseClass } from '../prototypes/MultipleRunnerBaseClass';
3
+ export declare class ThreadClass extends MultipleRunnerBaseClass {
4
+ protected setup(): Promise<void>;
5
+ }
@@ -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,2 @@
1
+ import { BaseBridge } from '../bridges/BaseBridge';
2
+ export declare function UniParentBridgeHandler<T>(bridge: BaseBridge, className: string, classPath: string, classConstructor: any, callback: (setupError: Error, proxyInstance: T) => void): void;
@@ -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":";;;AACA,qDAAmD;AAEnD,SAAgB,sBAAsB,CAAI,MAAkB,EAAE,SAAiB,EAAE,SAAiB,EAAE,gBAAqB,EAAE,QAAuD;IAC9K,MAAM,mBAAmB,GAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;IACrF,MAAM,CAAC,EAAE,CAAC,qBAAW,EAAE,CAAC,aAAa,CAAC,EAAE;QACpC,QAAQ,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,IAAW,CAAC,CAAA;IACnD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAkC,EAAE,cAAsC,EAAE,EAAE;QACvF,MAAM,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YACzC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;QACpC,CAAC,CAAC,CAAA;QACF,MAAM,YAAY,GAAQ,IAAI,KAAK,CAAC,EAAE,EAAE;YACpC,GAAG,CAAC,MAAS,EAAE,CAAc;gBACzB,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;oBAChD,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE;wBAClB,KAAK,KAAK,CAAC,CAAC;4BACR,OAAO,IAAI,KAAK,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;4BACpC,CAAC,EAAE;gCACC,KAAK,CAAC,WAAqC,EAAE,OAAY,EAAE,QAAc;oCACrE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;gCACtC,CAAC;6BACJ,CAAC,CAAA;yBACL;wBACD,KAAK,IAAI,CAAC,CAAC;4BACP,OAAO,IAAI,KAAK,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;4BACpC,CAAC,EAAE;gCACC,KAAK,CAAC,WAAqC,EAAE,OAAY,EAAE,QAAc;oCACrE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;gCACrC,CAAC;6BACJ,CAAC,CAAA;yBACL;wBACD,KAAK,MAAM,CAAC,CAAC;4BACT,OAAO,IAAI,KAAK,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;4BACpC,CAAC,EAAE;gCACC,KAAK,CAAC,WAAqC,EAAE,OAAY,EAAE,QAAc;oCACrE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;gCACvC,CAAC;6BACJ,CAAC,CAAA;yBACL;wBACD,KAAK,MAAM,CAAC,CAAC;4BACT,OAAO,IAAI,KAAK,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;4BACpC,CAAC,EAAE;gCACC,KAAK,CAAC,WAAqC,EAAE,OAAY,EAAE,QAAc;oCACrE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;gCACvC,CAAC;6BACJ,CAAC,CAAA;yBACL;wBACD,KAAK,WAAW,CAAC,CAAC;4BACd,OAAO,IAAI,KAAK,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;4BACpC,CAAC,EAAE;gCACC,KAAK,CAAC,WAAqC,EAAE,OAAY,EAAE,QAAc;oCACrE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wCACnC,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;oCAClD,CAAC,CAAC,CAAA;gCACN,CAAC;6BACJ,CAAC,CAAA;yBACL;wBACD;4BACI,OAAO,SAAS,CAAA;qBACvB;iBACJ;qBAAM;oBACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;oBAC5C,MAAM,gBAAgB,GAAY,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,UAAU,CAAA;oBACzE,IAAI,MAAM,IAAI,gBAAgB,EAAE;wBAC5B,OAAO,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;wBACvD,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;4BACR,KAAK,CAAC,MAAM,EAAE,OAAY,EAAE,QAAc;gCACtC,MAAM,SAAS,GAAU,EAAE,CAAA;gCAC3B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;oCACzB,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;wCAC5B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;qCACvB;yCAAM;wCACH,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;qCACxD;iCACJ;gCACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oCACnC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gCACtE,CAAC,CAAC,CAAA;4BACN,CAAC;yBACJ,CAAC,CAAA;qBACL;yBAAM,IAAI,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE;wBACjC,OAAO,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;qBACtC;yBAAM;wBACH,OAAO,SAAS,CAAA;qBACnB;iBACJ;YACL,CAAC;YACD,GAAG,CAAC,MAAU,EAAE,CAAc,EAAE,KAAU,EAAE,QAAa;gBACrD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAA;gBAC/B,OAAO,IAAI,CAAA;YACf,CAAC;SACJ,CAAC,CAAA;QACF,MAAM,CAAC,GAAG,CAAC,qBAAW,CAAC,CAAA;QACvB,QAAQ,CAAC,IAAW,EAAE,YAAY,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAC/C,CAAC;AA7FD,wDA6FC"}
@@ -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
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultipleRunnerBaseClass = void 0;
4
+ require("reflect-metadata");
5
+ const MetadataKey_1 = require("../../constants/MetadataKey");
6
+ class MultipleRunnerBaseClass {
7
+ constructor(bridge) {
8
+ this.__bridge__ = bridge;
9
+ }
10
+ static get CLASS_PATH() {
11
+ if (!Reflect.getMetadata(MetadataKey_1.MULTIPLE_RUNNER__CLASS_PATH, this)) {
12
+ const cachedModules = require('module')._cache;
13
+ for (const modulePath of Object.keys(cachedModules)) {
14
+ const cachedModule = cachedModules[modulePath];
15
+ if (typeof cachedModule === 'object') {
16
+ const exports = cachedModule.exports;
17
+ if (exports && typeof exports === 'object') {
18
+ for (const exportName of Object.keys(exports)) {
19
+ if (typeof exports[exportName] === 'function') {
20
+ if (exports[exportName] === this) {
21
+ Reflect.defineMetadata(MetadataKey_1.MULTIPLE_RUNNER__CLASS_PATH, modulePath, this);
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }
27
+ }
28
+ }
29
+ return Reflect.getMetadata(MetadataKey_1.MULTIPLE_RUNNER__CLASS_PATH, this);
30
+ }
31
+ static get CLASS_NAME() {
32
+ if (!Reflect.getMetadata(MetadataKey_1.MULTIPLE_RUNNER_CLASS_NAME, this)) {
33
+ Reflect.defineMetadata(MetadataKey_1.MULTIPLE_RUNNER_CLASS_NAME, this.name, this);
34
+ }
35
+ return Reflect.getMetadata(MetadataKey_1.MULTIPLE_RUNNER_CLASS_NAME, this);
36
+ }
37
+ async setup() {
38
+ }
39
+ off(event) {
40
+ this.__bridge__.off(event);
41
+ }
42
+ on(event, handler) {
43
+ this.__bridge__.on(event, handler);
44
+ }
45
+ once(event, handler) {
46
+ this.__bridge__.once(event, handler);
47
+ }
48
+ emit(event, ...args) {
49
+ this.__bridge__.send.apply(this.__bridge__, [event].concat(args));
50
+ }
51
+ }
52
+ exports.MultipleRunnerBaseClass = MultipleRunnerBaseClass;
53
+ //# sourceMappingURL=MultipleRunnerBaseClass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultipleRunnerBaseClass.js","sourceRoot":"","sources":["../../../../../src/lib/multipleRunner/lib/prototypes/MultipleRunnerBaseClass.ts"],"names":[],"mappings":";;;AAAA,4BAAyB;AAEzB,6DAAmG;AAEnG,MAAa,uBAAuB;IAgCnC,YAAY,MAAkB;QAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAA;IACzB,CAAC;IA/BM,MAAM,KAAK,UAAU;QAC3B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,yCAA2B,EAAE,IAAI,CAAC,EAAE;YAC5D,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAA;YAC9C,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBACpD,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;gBAC9C,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;oBACrC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAA;oBACpC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;wBAC3C,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;4BAC9C,IAAI,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE;gCAC9C,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;oCACjC,OAAO,CAAC,cAAc,CAAC,yCAA2B,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;iCACrE;6BACD;yBACD;qBACD;iBACD;aACD;SACD;QACD,OAAO,OAAO,CAAC,WAAW,CAAC,yCAA2B,EAAE,IAAI,CAAC,CAAA;IAC9D,CAAC;IAEM,MAAM,KAAK,UAAU;QAC3B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,wCAA0B,EAAE,IAAI,CAAC,EAAE;YAC3D,OAAO,CAAC,cAAc,CAAC,wCAA0B,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;SACnE;QACD,OAAO,OAAO,CAAC,WAAW,CAAC,wCAA0B,EAAE,IAAI,CAAC,CAAA;IAC7D,CAAC;IAMS,KAAK,CAAC,KAAK;IAErB,CAAC;IAEM,GAAG,CAAC,KAAa;QACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAKM,EAAE,CAAC,KAAa,EAAE,OAAiC;QACzD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACnC,CAAC;IAKM,IAAI,CAAC,KAAa,EAAE,OAAiC;QAC3D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAEM,IAAI,CAAC,KAAa,EAAE,GAAG,IAAW;QACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAQ,CAAC,CAAA;IACzE,CAAC;CACD;AA7DD,0DA6DC"}
@@ -5,6 +5,7 @@ declare module '../Core' {
5
5
  }
6
6
  }
7
7
  export declare class Formatter extends Plugin {
8
+ protected get timezone(): string;
8
9
  protected readonly dateFormat: string;
9
10
  asTimestamp(inp?: string | number | Date): number;
10
11
  asMillisecondTimestamp(inp?: string | number | Date): number;
@@ -14,24 +14,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.Formatter = void 0;
16
16
  const Plugin_1 = require("../base/Plugin");
17
- const moment_1 = __importDefault(require("moment"));
17
+ const moment_timezone_1 = __importDefault(require("moment-timezone"));
18
18
  const DependencyInjection_1 = require("../decorators/DependencyInjection");
19
19
  class Formatter extends Plugin_1.Plugin {
20
20
  constructor() {
21
21
  super(...arguments);
22
22
  this.dateFormat = 'YYYY-MM-DD HH:mm:ss';
23
23
  }
24
+ get timezone() {
25
+ return process.env.TZ;
26
+ }
24
27
  asTimestamp(inp = new Date()) {
25
- return moment_1.default(inp).unix();
28
+ return moment_timezone_1.default.tz(inp, this.timezone).unix();
26
29
  }
27
30
  asMillisecondTimestamp(inp = new Date()) {
28
- return moment_1.default(inp).valueOf();
31
+ return moment_timezone_1.default.tz(inp, this.timezone).valueOf();
29
32
  }
30
33
  asDate(inp) {
31
- return moment_1.default(inp).toDate();
34
+ return moment_timezone_1.default.tz(inp, this.timezone).toDate();
32
35
  }
33
36
  asDateText(inp = new Date(), format) {
34
- return moment_1.default(inp).format(format ? format : this.dateFormat);
37
+ return moment_timezone_1.default.tz(inp, this.timezone).format(format ? format : this.dateFormat);
35
38
  }
36
39
  asPercent(value, decimals = 2) {
37
40
  const val = +((value * 100).toFixed(decimals));
@@ -1 +1 @@
1
- {"version":3,"file":"Formatter.js","sourceRoot":"","sources":["../../src/plugins/Formatter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqC;AACrC,oDAA2B;AAC3B,2EAA8D;AAQ9D,MAAa,SAAU,SAAQ,eAAM;IAArC;;QAOoB,eAAU,GAAW,qBAAqB,CAAA;IAiD9D,CAAC;IA1CO,WAAW,CAAC,MAA8B,IAAI,IAAI,EAAE;QAC1D,OAAO,gBAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1B,CAAC;IAOM,sBAAsB,CAAC,MAA8B,IAAI,IAAI,EAAE;QACrE,OAAO,gBAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;IAC7B,CAAC;IAOM,MAAM,CAAC,GAA2B;QACxC,OAAO,gBAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAA;IAC5B,CAAC;IAQM,UAAU,CAAC,MAA8B,IAAI,IAAI,EAAE,EAAE,MAAe;QAC1E,OAAO,gBAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC7D,CAAC;IAQM,SAAS,CAAC,KAAa,EAAE,WAAmB,CAAC;QACnD,MAAM,GAAG,GAAW,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QACtD,OAAO,GAAG,GAAG,GAAG,CAAA;IACjB,CAAC;CACD;AAjDA;IADC,kCAAY,EAAE;;6CAC8C;AAP9D,8BAwDC"}
1
+ {"version":3,"file":"Formatter.js","sourceRoot":"","sources":["../../src/plugins/Formatter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqC;AACrC,sEAA4C;AAC5C,2EAA8D;AAQ9D,MAAa,SAAU,SAAQ,eAAM;IAArC;;QAYoB,eAAU,GAAW,qBAAqB,CAAA;IAiD9D,CAAC;IA3DA,IAAc,QAAQ;QACrB,OAAe,OAAO,CAAC,GAAG,CAAC,EAAE,CAAA;IAC9B,CAAC;IAeM,WAAW,CAAC,MAA8B,IAAI,IAAI,EAAE;QAC1D,OAAO,yBAAc,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAA;IACpD,CAAC;IAOM,sBAAsB,CAAC,MAA8B,IAAI,IAAI,EAAE;QACrE,OAAO,yBAAc,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAA;IACvD,CAAC;IAOM,MAAM,CAAC,GAA2B;QACxC,OAAO,yBAAc,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAA;IACtD,CAAC;IAQM,UAAU,CAAC,MAA8B,IAAI,IAAI,EAAE,EAAE,MAAe;QAC1E,OAAO,yBAAc,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACvF,CAAC;IAQM,SAAS,CAAC,KAAa,EAAE,WAAmB,CAAC;QACnD,MAAM,GAAG,GAAW,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QACtD,OAAO,GAAG,GAAG,GAAG,CAAA;IACjB,CAAC;CACD;AAjDA;IADC,kCAAY,EAAE;;6CAC8C;AAZ9D,8BA6DC"}
@@ -22,7 +22,7 @@ class Logger extends Plugin_1.Plugin {
22
22
  this.transports = [];
23
23
  this.console = {
24
24
  silent: false,
25
- format: winston_1.format.combine(winston_1.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston_1.format.colorize(), winston_1.format.printf(packet => {
25
+ format: winston_1.format.combine(winston_1.format.timestamp(), winston_1.format.colorize(), winston_1.format.printf(packet => {
26
26
  return `${packet.timestamp} ${packet.level}: ${packet.message}`;
27
27
  }))
28
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/plugins/Logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/plugins/Logger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lakutata/core",
3
- "version": "1.0.28",
3
+ "version": "1.0.29",
4
4
  "description": "Lakutata Framework Core",
5
5
  "main": "./build/Core.js",
6
6
  "types": "./build/Core.d.ts",
@@ -56,20 +56,21 @@
56
56
  "@thiagodelgado111/yup-phone": "^0.0.2",
57
57
  "bcryptjs": "^2.4.3",
58
58
  "crypto-js": "^4.1.1",
59
- "ergate": "^2.0.11",
60
59
  "inversify": "^5.1.1",
61
60
  "is-ssh": "^1.3.3",
62
61
  "json-helpers": "^5.1.4",
63
62
  "json5": "^2.2.0",
64
63
  "lodash.mapvalues": "^4.6.0",
65
- "memfs": "^3.3.0",
64
+ "memfs": "^3.4.0",
66
65
  "merge-deep": "^3.0.3",
67
66
  "moment": "^2.29.1",
67
+ "moment-timezone": "^0.5.34",
68
68
  "msgpack5": "^5.3.2",
69
69
  "needle": "^2.9.1",
70
70
  "node-rsa": "^1.1.1",
71
71
  "p-timeout": "^4.1.0",
72
72
  "pupa": "^2.1.1",
73
+ "random": "^3.0.6",
73
74
  "reflect-metadata": "^0.1.13",
74
75
  "string-random": "^0.1.3",
75
76
  "valid-data-url": "^3.0.1",
@@ -13,6 +13,7 @@ import {Logger} from './plugins/Logger'
13
13
  import {format} from 'winston'
14
14
  import {TProcessesConfig} from './types/TProcessesConfig'
15
15
  import {TThreadsConfig} from './types/TThreadsConfig'
16
+ import momentTimezone from 'moment-timezone'
16
17
 
17
18
  export class Application extends Module {
18
19
  /**
@@ -125,6 +126,18 @@ export class Application extends Module {
125
126
  */
126
127
  protected readonly workflows: TWorkflowsConfig = []
127
128
 
129
+ /**
130
+ * 程序时区
131
+ * @type {string}
132
+ * @protected
133
+ */
134
+ protected tz: string = (() => {
135
+ if (!process.env.TZ) {
136
+ process.env.TZ = momentTimezone.tz.guess()
137
+ }
138
+ return process.env.TZ
139
+ })()
140
+
128
141
  /**
129
142
  * 初始化
130
143
  * @returns {Promise<void>}
@@ -137,6 +150,22 @@ export class Application extends Module {
137
150
  })
138
151
  }
139
152
 
153
+ /**
154
+ * 获取程序时区
155
+ * @returns {string}
156
+ */
157
+ public getTimezone() {
158
+ return this.tz
159
+ }
160
+
161
+ /**
162
+ * 设置程序时区
163
+ * @param {string} tz
164
+ */
165
+ public setTimezone(tz: string) {
166
+ this.tz = tz
167
+ }
168
+
140
169
  /**
141
170
  * 获取应用程序ID
142
171
  * @returns {string}