@nsshunt/stsappframework 3.1.94 → 3.1.96

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/dist/index.js CHANGED
@@ -38,4 +38,6 @@ __exportStar(require("./influxdb/influxDBManagerLambda"), exports);
38
38
  __exportStar(require("./publishertransports/publishTransportUtils"), exports);
39
39
  __exportStar(require("./stsTransportWinston"), exports);
40
40
  __exportStar(require("./stsTransportLoggerWinston"), exports);
41
+ __exportStar(require("./ipcMessageProcessorPrimary"), exports);
42
+ __exportStar(require("./ipcMessageProcessorWorker"), exports);
41
43
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,mDAAgC;AAChC,6CAA0B;AAC1B,kDAA+B;AAC/B,kDAA+B;AAC/B,sDAAmC;AACnC,sDAAmC;AACnC,sDAAmC;AACnC,sDAAmC;AACnC,yDAAsC;AACtC,yDAAsC;AACtC,oDAAiC;AACjC,uDAAoC;AACpC,wDAAqC;AACrC,wDAAqC;AACrC,yDAAsC;AACtC,6DAA0C;AAC1C,iEAA8C;AAC9C,oEAAiD;AACjD,kEAA+C;AAC/C,mEAAgD;AAChD,8EAA2D;AAC3D,wDAAqC;AACrC,8DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,mDAAgC;AAChC,6CAA0B;AAC1B,kDAA+B;AAC/B,kDAA+B;AAC/B,sDAAmC;AACnC,sDAAmC;AACnC,sDAAmC;AACnC,sDAAmC;AACnC,yDAAsC;AACtC,yDAAsC;AACtC,oDAAiC;AACjC,uDAAoC;AACpC,wDAAqC;AACrC,wDAAqC;AACrC,yDAAsC;AACtC,6DAA0C;AAC1C,iEAA8C;AAC9C,oEAAiD;AACjD,kEAA+C;AAC/C,mEAAgD;AAChD,8EAA2D;AAC3D,wDAAqC;AACrC,8DAA2C;AAC3C,+DAA4C;AAC5C,8DAA2C"}
@@ -0,0 +1,40 @@
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.IPCMessageProcessorPrimary = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ /**
9
+ * todo
10
+ * @typedef {Object} options - todo
11
+ * @property {boolean} [wssServer=false] - Create a web socket server on this worker instance
12
+ */
13
+ class IPCMessageProcessorPrimary {
14
+ #options;
15
+ constructor(options) {
16
+ this.#options = options;
17
+ }
18
+ #LogDebugMessage(message) {
19
+ this.#options.logger.debug(message);
20
+ }
21
+ #processMessage = async (worker, msg) => {
22
+ if (msg.header) {
23
+ const checkName = `__STS__${this.#options.namespace}__`;
24
+ if (msg.header.includes(checkName)) {
25
+ const message = msg;
26
+ message.responsePayload = await this.#options.processCommand(message);
27
+ this.#LogDebugMessage(chalk_1.default.magenta(`sending: [${JSON.stringify(message)}]`));
28
+ worker.send(message);
29
+ }
30
+ }
31
+ };
32
+ Start = (worker) => {
33
+ worker.on('message', (payload) => this.#processMessage(worker, payload));
34
+ };
35
+ Stop = (worker) => {
36
+ worker.off('message', (payload) => this.#processMessage(worker, payload));
37
+ };
38
+ }
39
+ exports.IPCMessageProcessorPrimary = IPCMessageProcessorPrimary;
40
+ //# sourceMappingURL=ipcMessageProcessorPrimary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipcMessageProcessorPrimary.js","sourceRoot":"","sources":["../src/ipcMessageProcessorPrimary.ts"],"names":[],"mappings":";;;;;;AAEA,kDAA0B;AAW1B;;;;GAIG;AACH,MAAa,0BAA0B;IAEnC,QAAQ,CAA8B;IAEtC,YAAY,OAAoC;QAC5C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,OAAY;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,eAAe,GAAG,KAAK,EAAE,MAAc,EAAE,GAAQ,EAAE,EAAE;QACjD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,UAAU,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC;YACxD,IAAK,GAAG,CAAC,MAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAI,GAAsC,CAAC;gBACxD,OAAO,CAAC,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAEtE,IAAI,CAAC,gBAAgB,CAAC,eAAK,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC7E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;IACL,CAAC,CAAA;IAED,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE;QACvB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAA;IAED,IAAI,GAAG,CAAC,MAAc,EAAE,EAAE;QACtB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAA;CACJ;AAhCD,gEAgCC"}
@@ -0,0 +1,100 @@
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.IPCMessageProcessorWorker = void 0;
7
+ /* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const uuid_1 = require("uuid");
10
+ /**
11
+ * todo
12
+ * @typedef {Object} options - todo
13
+ * @property {boolean} [wssServer=false] - Create a web socket server on this worker instance
14
+ */
15
+ class IPCMessageProcessorWorker {
16
+ #options;
17
+ #inflightMessages = {};
18
+ #messageHeader;
19
+ constructor(options) {
20
+ this.#options = options;
21
+ this.#messageHeader = `__STS__${this.#options.namespace}__${(0, uuid_1.v4)()}`;
22
+ }
23
+ #LogDebugMessage(message) {
24
+ this.#options.logger.debug(message);
25
+ }
26
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
27
+ ReceivedMessageFromMaster(msg) {
28
+ // Override in subclass if required
29
+ }
30
+ SendMessage = (payload) => {
31
+ return new Promise((resolve, reject) => {
32
+ this.#SendMessageToParentProcess(payload, (payload) => {
33
+ resolve(payload);
34
+ }, (payload) => {
35
+ reject(payload);
36
+ });
37
+ });
38
+ };
39
+ #SendMessageToParentProcess = (payload, callBack, errorCallBack) => {
40
+ const messageId = (0, uuid_1.v4)();
41
+ const requestPayload = {
42
+ header: this.#messageHeader,
43
+ messageId,
44
+ requestPayload: payload,
45
+ responsePayload: {},
46
+ pid: process.pid.toString()
47
+ };
48
+ const messageRecord = {
49
+ messageId,
50
+ requestPayload,
51
+ responses: {}, // record
52
+ startTime: performance.now(),
53
+ endTime: 0,
54
+ timeout: setTimeout(() => {
55
+ this.#LogDebugMessage(chalk_1.default.red(`Timeout has occurred after: [${this.#options.requestResponseMessageTimeout}]ms with message id: [${messageRecord.messageId}]. Details: [${JSON.stringify(this.#inflightMessages[messageRecord.messageId].requestPayload)}]`));
56
+ setTimeout(() => {
57
+ delete this.#inflightMessages[messageRecord.messageId];
58
+ }, 0).unref();
59
+ errorCallBack(requestPayload);
60
+ }, this.#options.requestResponseMessageTimeout).unref(), // max message timeout allowed
61
+ callBack,
62
+ errorCallBack
63
+ };
64
+ this.#inflightMessages[messageRecord.messageId] = messageRecord;
65
+ this.#LogDebugMessage(chalk_1.default.cyan(`sending: [${JSON.stringify(requestPayload)}]`));
66
+ process.send(requestPayload);
67
+ };
68
+ #processMessage = (msg) => {
69
+ if (msg.header && msg.header.localeCompare(this.#messageHeader) === 0) {
70
+ const message = msg;
71
+ if (this.#inflightMessages[message.messageId]) {
72
+ const inFlightMessageRecord = this.#inflightMessages[message.messageId];
73
+ inFlightMessageRecord.responses[message.pid] = { ...message };
74
+ inFlightMessageRecord.endTime = performance.now();
75
+ this.#LogDebugMessage(chalk_1.default.green(`received: [${JSON.stringify(message)}]`));
76
+ inFlightMessageRecord.callBack(message);
77
+ }
78
+ else {
79
+ throw new Error(`Could not find Request/Response message with id: [${message.messageId}]`);
80
+ }
81
+ }
82
+ };
83
+ Start = () => {
84
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
+ this.#messageHeader = `__STS__${this.#options.namespace}__${(0, uuid_1.v4)()}`;
86
+ process.on('message', this.#processMessage);
87
+ };
88
+ Stop = () => {
89
+ process.off('message', this.#processMessage);
90
+ // Kill in-flight messages
91
+ for (const [, iPCMessageProcessorWorkerRecord] of Object.entries(this.#inflightMessages)) {
92
+ if (iPCMessageProcessorWorkerRecord.timeout) {
93
+ clearTimeout(iPCMessageProcessorWorkerRecord.timeout);
94
+ }
95
+ }
96
+ this.#inflightMessages = {};
97
+ };
98
+ }
99
+ exports.IPCMessageProcessorWorker = IPCMessageProcessorWorker;
100
+ //# sourceMappingURL=ipcMessageProcessorWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipcMessageProcessorWorker.js","sourceRoot":"","sources":["../src/ipcMessageProcessorWorker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nsshunt/stsappframework",
3
- "version": "3.1.94",
3
+ "version": "3.1.96",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./types/index.d.ts",
@@ -263,3 +263,22 @@ export interface IKafkaConsumer {
263
263
  Stop: (errorCb: (error: any) => void) => Promise<void>
264
264
  StartConsumingMessages: (cb: (topic: string, key: string, partition: number, value: string, headers: IHeaders | undefined) => void, errorCb: (error: any) => void) => Promise<void>
265
265
  }
266
+
267
+ export interface IIPCMessageProcessorIPCPayload {
268
+ header: string
269
+ messageId: string
270
+ requestPayload: JSONObject
271
+ responsePayload: JSONObject
272
+ pid: string
273
+ }
274
+
275
+ export interface IIPCMessageProcessorWorkerRecord {
276
+ messageId: string
277
+ requestPayload: IIPCMessageProcessorIPCPayload
278
+ responses: Record<string, IIPCMessageProcessorIPCPayload> // The key here will be the pid
279
+ startTime: number
280
+ endTime: number
281
+ timeout: NodeJS.Timeout | null
282
+ callBack: (payload: IIPCMessageProcessorIPCPayload) => void
283
+ errorCallBack: (payload: IIPCMessageProcessorIPCPayload) => void
284
+ }
package/src/index.ts CHANGED
@@ -22,3 +22,5 @@ export * from './influxdb/influxDBManagerLambda'
22
22
  export * from './publishertransports/publishTransportUtils'
23
23
  export * from './stsTransportWinston'
24
24
  export * from './stsTransportLoggerWinston'
25
+ export * from './ipcMessageProcessorPrimary'
26
+ export * from './ipcMessageProcessorWorker'
@@ -0,0 +1,51 @@
1
+ /* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF
2
+ import { ISTSLogger } from '@nsshunt/stsutils'
3
+ import chalk from 'chalk';
4
+
5
+ import { Worker } from 'node:cluster'
6
+
7
+ import { IIPCMessageProcessorIPCPayload } from './commonTypes'
8
+
9
+ export interface IIPCMessageProcessorPrimary {
10
+ logger: ISTSLogger
11
+ namespace: string
12
+ processCommand: (payload: IIPCMessageProcessorIPCPayload) => Promise<IIPCMessageProcessorIPCPayload>
13
+ }
14
+ /**
15
+ * todo
16
+ * @typedef {Object} options - todo
17
+ * @property {boolean} [wssServer=false] - Create a web socket server on this worker instance
18
+ */
19
+ export class IPCMessageProcessorPrimary
20
+ {
21
+ #options: IIPCMessageProcessorPrimary;
22
+
23
+ constructor(options: IIPCMessageProcessorPrimary) {
24
+ this.#options = options;
25
+ }
26
+
27
+ #LogDebugMessage(message: any) {
28
+ this.#options.logger.debug(message);
29
+ }
30
+
31
+ #processMessage = async (worker: Worker, msg: any) => {
32
+ if (msg.header) {
33
+ const checkName = `__STS__${this.#options.namespace}__`;
34
+ if ((msg.header as string).includes(checkName)) {
35
+ const message = (msg as IIPCMessageProcessorIPCPayload);
36
+ message.responsePayload = await this.#options.processCommand(message);
37
+
38
+ this.#LogDebugMessage(chalk.magenta(`sending: [${JSON.stringify(message)}]`))
39
+ worker.send(message);
40
+ }
41
+ }
42
+ }
43
+
44
+ Start = (worker: Worker) => {
45
+ worker.on('message', (payload) => this.#processMessage(worker, payload));
46
+ }
47
+
48
+ Stop = (worker: Worker) => {
49
+ worker.off('message', (payload) => this.#processMessage(worker, payload));
50
+ }
51
+ }
@@ -0,0 +1,114 @@
1
+ /* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF
2
+ import chalk from 'chalk';
3
+
4
+ import { ISTSLogger, JSONObject } from '@nsshunt/stsutils'
5
+
6
+ import { v4 as uuidv4 } from 'uuid';
7
+
8
+ import { IIPCMessageProcessorIPCPayload, IIPCMessageProcessorWorkerRecord } from './commonTypes'
9
+
10
+ export interface IIPCMessageProcessorWorker {
11
+ logger: ISTSLogger
12
+ requestResponseMessageTimeout: number
13
+ namespace: string
14
+ }
15
+ /**
16
+ * todo
17
+ * @typedef {Object} options - todo
18
+ * @property {boolean} [wssServer=false] - Create a web socket server on this worker instance
19
+ */
20
+ export class IPCMessageProcessorWorker
21
+ {
22
+ #options: IIPCMessageProcessorWorker;
23
+ #inflightMessages: Record<string, IIPCMessageProcessorWorkerRecord> = { };
24
+ #messageHeader: string;
25
+
26
+ constructor(options: IIPCMessageProcessorWorker) {
27
+ this.#options = options;
28
+ this.#messageHeader = `__STS__${this.#options.namespace}__${uuidv4()}`;
29
+ }
30
+
31
+ #LogDebugMessage(message: any) {
32
+ this.#options.logger.debug(message);
33
+ }
34
+
35
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
36
+ ReceivedMessageFromMaster(msg: any) {
37
+ // Override in subclass if required
38
+ }
39
+
40
+ SendMessage = (payload: JSONObject): Promise<JSONObject> => {
41
+ return new Promise((resolve, reject) => {
42
+ this.#SendMessageToParentProcess(payload,
43
+ (payload: any) => {
44
+ resolve(payload);
45
+ },
46
+ (payload: any) => {
47
+ reject(payload);
48
+ })
49
+ })
50
+ }
51
+
52
+ #SendMessageToParentProcess = (payload: JSONObject, callBack: (payload: IIPCMessageProcessorIPCPayload) => void, errorCallBack: (payload: IIPCMessageProcessorIPCPayload) => void): void => {
53
+ const messageId: string = uuidv4();
54
+ const requestPayload: IIPCMessageProcessorIPCPayload = {
55
+ header: this.#messageHeader,
56
+ messageId,
57
+ requestPayload: payload,
58
+ responsePayload: { },
59
+ pid: process.pid.toString()
60
+ }
61
+ const messageRecord = {
62
+ messageId,
63
+ requestPayload,
64
+ responses: { }, // record
65
+ startTime: performance.now(),
66
+ endTime: 0,
67
+ timeout: setTimeout(() => {
68
+ this.#LogDebugMessage(chalk.red(`Timeout has occurred after: [${this.#options.requestResponseMessageTimeout}]ms with message id: [${messageRecord.messageId}]. Details: [${JSON.stringify(this.#inflightMessages[messageRecord.messageId].requestPayload)}]`));
69
+ setTimeout(() => {
70
+ delete this.#inflightMessages[messageRecord.messageId];
71
+ }, 0).unref();
72
+ errorCallBack(requestPayload);
73
+ }, this.#options.requestResponseMessageTimeout).unref(),// max message timeout allowed
74
+ callBack,
75
+ errorCallBack
76
+ }
77
+ this.#inflightMessages[messageRecord.messageId] = messageRecord;
78
+ this.#LogDebugMessage(chalk.cyan(`sending: [${JSON.stringify(requestPayload)}]`));
79
+ (process as any).send(requestPayload);
80
+ }
81
+
82
+ #processMessage = (msg: any) => {
83
+ if (msg.header && msg.header.localeCompare(this.#messageHeader) === 0) {
84
+ const message = (msg as IIPCMessageProcessorIPCPayload);
85
+ if (this.#inflightMessages[message.messageId]) {
86
+ const inFlightMessageRecord: IIPCMessageProcessorWorkerRecord = this.#inflightMessages[message.messageId];
87
+ inFlightMessageRecord.responses[message.pid] = { ...message };
88
+ inFlightMessageRecord.endTime = performance.now();
89
+
90
+ this.#LogDebugMessage(chalk.green(`received: [${JSON.stringify(message)}]`));
91
+ inFlightMessageRecord.callBack(message)
92
+ } else {
93
+ throw new Error(`Could not find Request/Response message with id: [${message.messageId}]`);
94
+ }
95
+ }
96
+ }
97
+
98
+ Start = () => {
99
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
100
+ this.#messageHeader = `__STS__${this.#options.namespace}__${uuidv4()}`;
101
+ process.on('message', this.#processMessage);
102
+ }
103
+
104
+ Stop = () => {
105
+ process.off('message', this.#processMessage);
106
+ // Kill in-flight messages
107
+ for (const [, iPCMessageProcessorWorkerRecord] of Object.entries(this.#inflightMessages)) {
108
+ if (iPCMessageProcessorWorkerRecord.timeout) {
109
+ clearTimeout(iPCMessageProcessorWorkerRecord.timeout);
110
+ }
111
+ }
112
+ this.#inflightMessages = { };
113
+ }
114
+ }
@@ -168,4 +168,21 @@ export interface IKafkaConsumer {
168
168
  Stop: (errorCb: (error: any) => void) => Promise<void>;
169
169
  StartConsumingMessages: (cb: (topic: string, key: string, partition: number, value: string, headers: IHeaders | undefined) => void, errorCb: (error: any) => void) => Promise<void>;
170
170
  }
171
+ export interface IIPCMessageProcessorIPCPayload {
172
+ header: string;
173
+ messageId: string;
174
+ requestPayload: JSONObject;
175
+ responsePayload: JSONObject;
176
+ pid: string;
177
+ }
178
+ export interface IIPCMessageProcessorWorkerRecord {
179
+ messageId: string;
180
+ requestPayload: IIPCMessageProcessorIPCPayload;
181
+ responses: Record<string, IIPCMessageProcessorIPCPayload>;
182
+ startTime: number;
183
+ endTime: number;
184
+ timeout: NodeJS.Timeout | null;
185
+ callBack: (payload: IIPCMessageProcessorIPCPayload) => void;
186
+ errorCallBack: (payload: IIPCMessageProcessorIPCPayload) => void;
187
+ }
171
188
  //# sourceMappingURL=commonTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commonTypes.d.ts","sourceRoot":"","sources":["../src/commonTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commonTypes.d.ts","sourceRoot":"","sources":["../src/commonTypes.ts"],"names":[],"mappings":"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"}
package/types/index.d.ts CHANGED
@@ -22,4 +22,6 @@ export * from './influxdb/influxDBManagerLambda';
22
22
  export * from './publishertransports/publishTransportUtils';
23
23
  export * from './stsTransportWinston';
24
24
  export * from './stsTransportLoggerWinston';
25
+ export * from './ipcMessageProcessorPrimary';
26
+ export * from './ipcMessageProcessorWorker';
25
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA"}
@@ -0,0 +1,21 @@
1
+ /// <reference types="node" />
2
+ import { ISTSLogger } from '@nsshunt/stsutils';
3
+ import { Worker } from 'node:cluster';
4
+ import { IIPCMessageProcessorIPCPayload } from './commonTypes';
5
+ export interface IIPCMessageProcessorPrimary {
6
+ logger: ISTSLogger;
7
+ namespace: string;
8
+ processCommand: (payload: IIPCMessageProcessorIPCPayload) => Promise<IIPCMessageProcessorIPCPayload>;
9
+ }
10
+ /**
11
+ * todo
12
+ * @typedef {Object} options - todo
13
+ * @property {boolean} [wssServer=false] - Create a web socket server on this worker instance
14
+ */
15
+ export declare class IPCMessageProcessorPrimary {
16
+ #private;
17
+ constructor(options: IIPCMessageProcessorPrimary);
18
+ Start: (worker: Worker) => void;
19
+ Stop: (worker: Worker) => void;
20
+ }
21
+ //# sourceMappingURL=ipcMessageProcessorPrimary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipcMessageProcessorPrimary.d.ts","sourceRoot":"","sources":["../src/ipcMessageProcessorPrimary.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAA;AAE9D,MAAM,WAAW,2BAA2B;IACxC,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,CAAC,OAAO,EAAE,8BAA8B,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAA;CACvG;AACD;;;;GAIG;AACH,qBAAa,0BAA0B;;gBAIvB,OAAO,EAAE,2BAA2B;IAqBhD,KAAK,WAAY,MAAM,UAEtB;IAED,IAAI,WAAY,MAAM,UAErB;CACJ"}
@@ -0,0 +1,20 @@
1
+ import { ISTSLogger, JSONObject } from '@nsshunt/stsutils';
2
+ export interface IIPCMessageProcessorWorker {
3
+ logger: ISTSLogger;
4
+ requestResponseMessageTimeout: number;
5
+ namespace: string;
6
+ }
7
+ /**
8
+ * todo
9
+ * @typedef {Object} options - todo
10
+ * @property {boolean} [wssServer=false] - Create a web socket server on this worker instance
11
+ */
12
+ export declare class IPCMessageProcessorWorker {
13
+ #private;
14
+ constructor(options: IIPCMessageProcessorWorker);
15
+ ReceivedMessageFromMaster(msg: any): void;
16
+ SendMessage: (payload: JSONObject) => Promise<JSONObject>;
17
+ Start: () => void;
18
+ Stop: () => void;
19
+ }
20
+ //# sourceMappingURL=ipcMessageProcessorWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipcMessageProcessorWorker.d.ts","sourceRoot":"","sources":["../src/ipcMessageProcessorWorker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAM1D,MAAM,WAAW,0BAA0B;IACvC,MAAM,EAAE,UAAU,CAAA;IAClB,6BAA6B,EAAE,MAAM,CAAA;IACrC,SAAS,EAAE,MAAM,CAAA;CACpB;AACD;;;;GAIG;AACH,qBAAa,yBAAyB;;gBAMtB,OAAO,EAAE,0BAA0B;IAU/C,yBAAyB,CAAC,GAAG,EAAE,GAAG;IAIlC,WAAW,YAAa,UAAU,KAAG,QAAQ,UAAU,CAAC,CAUvD;IAgDD,KAAK,aAIJ;IAED,IAAI,aASH;CACJ"}