@nsshunt/stsappframework 2.19.265 → 2.19.267

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.
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.KafkaManager = void 0;
7
+ /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
4
8
  /*
5
9
 
6
10
  kafka example server #01 - Docker Compose File
@@ -55,6 +59,17 @@ services:
55
59
  */
56
60
  const stsutils_1 = require("@nsshunt/stsutils");
57
61
  const kafkajs_1 = require("kafkajs");
62
+ const net_1 = __importDefault(require("net"));
63
+ const tls_1 = __importDefault(require("tls"));
64
+ const KEEP_ALIVE_DELAY = 60000; // in ms
65
+ //const myCustomSocketFactory = ({ host, port, ssl, onConnect }) => {
66
+ const myCustomSocketFactory = (config) => {
67
+ const socket = config.ssl
68
+ ? tls_1.default.connect(Object.assign({ host: config.host, port: config.port }, !net_1.default.isIP(config.host) ? { servername: config.host } : {}, config.ssl), config.onConnect)
69
+ : net_1.default.connect({ host: config.host, port: config.port }, config.onConnect);
70
+ socket.setKeepAlive(true, KEEP_ALIVE_DELAY);
71
+ return socket;
72
+ };
58
73
  class KafkaManager extends stsutils_1.STSOptionsBase {
59
74
  #kafka;
60
75
  #producer;
@@ -64,8 +79,9 @@ class KafkaManager extends stsutils_1.STSOptionsBase {
64
79
  this.#kafka = new kafkajs_1.Kafka({
65
80
  clientId: options.clientId,
66
81
  brokers: options.brokers,
67
- logLevel: kafkajs_1.logLevel.NOTHING
82
+ logLevel: kafkajs_1.logLevel.NOTHING,
68
83
  //brokers: ['localhost:9092', 'kafka2:9092'],
84
+ socketFactory: myCustomSocketFactory,
69
85
  });
70
86
  }
71
87
  get kafka() {
@@ -1 +1 @@
1
- {"version":3,"file":"kafkamanager.js","sourceRoot":"","sources":["../src/kafkamanager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kafkamanager.js","sourceRoot":"","sources":["../src/kafkamanager.ts"],"names":[],"mappings":";;;;;;AAAA,wFAAwF,CAAE,UAAU;AACpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDE;AACF,gDAAkD;AAElD,qCAAuF;AAEvF,8CAAqB;AACrB,8CAAqB;AAErB,MAAM,gBAAgB,GAAG,KAAK,CAAA,CAAC,QAAQ;AAiBvC,qEAAqE;AACrE,MAAM,qBAAqB,GAAG,CAAC,MAA4B,EAAE,EAAE;IAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG;QACrB,CAAC,CAAC,aAAG,CAAC,OAAO,CACT,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,aAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAC9H,MAAM,CAAC,SAAS,CACnB;QACD,CAAC,CAAC,aAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IAE7E,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;IAE3C,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA;AAED,MAAa,YAAa,SAAQ,yBAAc;IAC5C,MAAM,CAAO;IACb,SAAS,CAAuB;IAChC,SAAS,CAAuB;IAEhC,YAAY,OAA4B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,MAAM,GAAG,IAAI,eAAK,CAAC;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,kBAAQ,CAAC,OAAO;YAC1B,6CAA6C;YAC7C,aAAa,EAAE,qBAAqB;SACvC,CAAC,CAAA;IACN,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,eAAe,GAAG,KAAK,IAAoB,EAAE;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;IACnC,CAAC,CAAA;IAED,kBAAkB,GAAG,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAA;IACtC,CAAC,CAAA;IAED,eAAe,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAClD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;IACnC,CAAC,CAAA;IAED,kBAAkB,GAAG,KAAK,IAAmB,EAAE;QAC3C,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC;IACxC,CAAC,CAAA;IAED,WAAW,GAAG,KAAK,EAAE,KAAa,EAAE,UAAkB,EAAE,EAAE;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACjC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;QACrB,MAAM,KAAK,CAAC,YAAY,CAAC;YACrB,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO;YAC9B,MAAM,EAAE;gBACJ;oBACI,KAAK,EAAE,KAAK;oBACZ,aAAa,EAAE,UAAU,EAAM,2DAA2D;oBAC1F,sGAAsG;oBACtG,8FAA8F;oBAC9F,uGAAuG;iBAC1G;aACJ;SACJ,CAAC,CAAA;QACF,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;IAC5B,CAAC,CAAA;IAED,WAAW,GAAG,KAAK,EAAC,KAAa,EAAE,OAAsC,EAAqC,EAAE;QAC5G,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACvB,KAAK;gBACL,QAAQ,EAAE,CAAE,OAAO,CAAE;aACxB,CAAC,CAAA;SACL;aAAM;YACH,OAAO,IAAI,CAAC;SACf;IACL,CAAC,CAAA;IAED,YAAY,GAAG,KAAK,EAAC,KAAa,EAAE,QAAyC,EAAqC,EAAE;QAChH,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACvB,KAAK;gBACL,QAAQ;aACX,CAAC,CAAA;SACL;aAAM;YACH,OAAO,IAAI,CAAC;SACf;IACL,CAAC,CAAA;IAED,sBAAsB,GAAG,KAAK,EAAE,EAA0F,EAAE,EAAE;QAC1H,MAAM,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC;YACtB,6DAA6D;YAC7D,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;gBACnE,IAAI;oBACA,IAAI,OAAO,CAAC,GAAG,EAAE;wBACb,IAAI,OAAO,CAAC,KAAK,EAAE;4BACf,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;yBACnF;6BAAM;4BACH,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;yBAC7D;qBACJ;yBAAM;wBACH,IAAI,OAAO,CAAC,KAAK,EAAE;4BACf,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;yBAChE;6BAAM;4BACH,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;yBACzC;qBACJ;iBACJ;gBAAC,OAAO,GAAG,EAAE;oBACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACpB;YACL,CAAC;SACJ,CAAC,CAAA;IACN,CAAC,CAAA;IAED,SAAS,GAAG,KAAK,EAAC,MAAgB,EAAE,EAAE;QAClC,MAAM,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IACpE,CAAC,CAAA;IAED,IAAI,GAAG,KAAK,IAAG,EAAE;QACb,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC,CAAA;CACJ;AAjHD,oCAiHC"}
@@ -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
+ /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
7
+ const cluster_1 = __importDefault(require("cluster"));
8
+ const worker_threads_1 = require("worker_threads");
9
+ if (cluster_1.default.isPrimary) {
10
+ console.log(`Primary ${process.pid} is running`);
11
+ // Fork workers.
12
+ cluster_1.default.fork();
13
+ cluster_1.default.on('exit', (worker, code, signal) => {
14
+ console.log(`worker ${worker.process.pid} died`);
15
+ });
16
+ const fileName = './dist/webworkertesting/worker.js';
17
+ const publishCollectorWebWorker = new worker_threads_1.Worker(fileName);
18
+ publishCollectorWebWorker.unref();
19
+ publishCollectorWebWorker.postMessage({ cmd: 'text', message: 'Hello World' });
20
+ publishCollectorWebWorker.on('message', (data) => {
21
+ console.log(`cluster.primary (${process.pid}): message from worker = [${JSON.stringify(data)}]`);
22
+ });
23
+ const { port1, port2 } = new worker_threads_1.MessageChannel();
24
+ publishCollectorWebWorker.postMessage({ cmd: 'portmessage', port: port2 }, [port2]);
25
+ port1.postMessage('sending to port1');
26
+ port1.on('message', (data) => {
27
+ console.log(`cluster.primary (${process.pid}): message from message port = [${data}]`);
28
+ });
29
+ }
30
+ else {
31
+ console.log(`Worker ${process.pid} started`);
32
+ const fileName = './dist/webworkertesting/worker.js';
33
+ const clusterWorker = new worker_threads_1.Worker(fileName);
34
+ clusterWorker.unref();
35
+ clusterWorker.postMessage({ cmd: 'text', message: 'Hello World' });
36
+ clusterWorker.on('message', (data) => {
37
+ console.log(`cluster.worker (${process.pid}): message from worker = [${JSON.stringify(data)}]`);
38
+ });
39
+ }
40
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/webworkertesting/app.ts"],"names":[],"mappings":";;;;;AAAA,wFAAwF,CAAE,UAAU;AACpG,sDAA8B;AAC9B,mDAAwD;AAExD,IAAI,iBAAO,CAAC,SAAS,EAAE;IACnB,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,GAAG,aAAa,CAAC,CAAC;IAEjD,gBAAgB;IAChB,iBAAO,CAAC,IAAI,EAAE,CAAC;IAEf,iBAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAE,mCAAmC,CAAC;IAEpD,MAAM,yBAAyB,GAAG,IAAI,uBAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,yBAAyB,CAAC,KAAK,EAAE,CAAC;IAElC,yBAAyB,CAAC,WAAW,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAC,CAAC,CAAC;IAE7E,yBAAyB,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;QAC7C,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,GAAG,6BAA6B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,+BAAc,EAAE,CAAC;IAE9C,yBAAyB,CAAC,WAAW,CAAC,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAC,EAAE,CAAE,KAAK,CAAE,CAAC,CAAC;IACpF,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,GAAG,mCAAmC,IAAI,GAAG,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;CAGN;KAAM;IACH,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAE,mCAAmC,CAAC;IAEpD,MAAM,aAAa,GAAG,IAAI,uBAAM,CAAC,QAAQ,CAAC,CAAC;IAC3C,aAAa,CAAC,KAAK,EAAE,CAAC;IAEtB,aAAa,CAAC,WAAW,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAC,CAAC,CAAC;IAEjE,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE;QACtC,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,GAAG,6BAA6B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;CAEN"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const worker_threads_1 = require("worker_threads");
4
+ let messagePort;
5
+ worker_threads_1.parentPort?.on('message', (data) => {
6
+ if (data.cmd.localeCompare('portmessage') === 0) {
7
+ messagePort = data.port;
8
+ messagePort.on('message', (data) => {
9
+ console.log(`webWorker (${process.pid}): message from passed message port = [${data}]`);
10
+ messagePort.postMessage(data);
11
+ });
12
+ }
13
+ else {
14
+ console.log(`webWorker (${process.pid}): message from parent = [${JSON.stringify(data)}]`);
15
+ worker_threads_1.parentPort?.postMessage(data);
16
+ }
17
+ });
18
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/webworkertesting/worker.ts"],"names":[],"mappings":";;AAEA,mDAKwB;AAExB,IAAI,WAAwB,CAAC;AAE7B,2BAAU,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE;IACpC,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;QAC7C,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,GAAG,0CAA0C,IAAI,GAAG,CAAC,CAAC;YACxF,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;KACN;SAAM;QACH,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,GAAG,6BAA6B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3F,2BAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;KACjC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nsshunt/stsappframework",
3
- "version": "2.19.265",
3
+ "version": "2.19.267",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./types/index.d.ts",
@@ -1,3 +1,4 @@
1
+ /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
1
2
  /*
2
3
 
3
4
  kafka example server #01 - Docker Compose File
@@ -54,12 +55,40 @@ import { STSOptionsBase } from '@nsshunt/stsutils'
54
55
 
55
56
  import { Kafka, Producer, RecordMetadata, Consumer, IHeaders, logLevel } from 'kafkajs'
56
57
 
58
+ import net from 'net'
59
+ import tls from 'tls'
60
+
61
+ const KEEP_ALIVE_DELAY = 60000 // in ms
62
+
57
63
  export interface IKafkaManagerConfig {
58
64
  clientId: string
59
65
  brokers: string[]
60
66
  timeout: number
61
67
  }
62
68
 
69
+ // https://kafka.js.org/docs/configuration
70
+ // https://github.com/tulios/kafkajs/blob/master/src/network/socketFactory.js
71
+ declare interface ICustomSocketFactory {
72
+ host: any,
73
+ port: any,
74
+ ssl: any,
75
+ onConnect: any
76
+ }
77
+
78
+ //const myCustomSocketFactory = ({ host, port, ssl, onConnect }) => {
79
+ const myCustomSocketFactory = (config: ICustomSocketFactory) => {
80
+ const socket = config.ssl
81
+ ? tls.connect(
82
+ Object.assign({ host: config.host, port: config.port }, !net.isIP(config.host) ? { servername: config.host } : {}, config.ssl),
83
+ config.onConnect
84
+ )
85
+ : net.connect({ host: config.host, port: config.port }, config.onConnect)
86
+
87
+ socket.setKeepAlive(true, KEEP_ALIVE_DELAY)
88
+
89
+ return socket
90
+ }
91
+
63
92
  export class KafkaManager extends STSOptionsBase {
64
93
  #kafka: Kafka
65
94
  #producer: Producer | undefined;
@@ -71,8 +100,9 @@ export class KafkaManager extends STSOptionsBase {
71
100
  this.#kafka = new Kafka({
72
101
  clientId: options.clientId,
73
102
  brokers: options.brokers,
74
- logLevel: logLevel.NOTHING
103
+ logLevel: logLevel.NOTHING,
75
104
  //brokers: ['localhost:9092', 'kafka2:9092'],
105
+ socketFactory: myCustomSocketFactory,
76
106
  })
77
107
  }
78
108
 
@@ -0,0 +1,49 @@
1
+ /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
2
+ import cluster from 'cluster';
3
+ import { Worker, MessageChannel } from 'worker_threads';
4
+
5
+ if (cluster.isPrimary) {
6
+ console.log(`Primary ${process.pid} is running`);
7
+
8
+ // Fork workers.
9
+ cluster.fork();
10
+
11
+ cluster.on('exit', (worker, code, signal) => {
12
+ console.log(`worker ${worker.process.pid} died`);
13
+ });
14
+
15
+ const fileName ='./dist/webworkertesting/worker.js';
16
+
17
+ const publishCollectorWebWorker = new Worker(fileName);
18
+ publishCollectorWebWorker.unref();
19
+
20
+ publishCollectorWebWorker.postMessage({cmd: 'text', message: 'Hello World'});
21
+
22
+ publishCollectorWebWorker.on('message', (data) => {
23
+ console.log(`cluster.primary (${process.pid}): message from worker = [${JSON.stringify(data)}]`);
24
+ });
25
+
26
+ const { port1, port2 } = new MessageChannel();
27
+
28
+ publishCollectorWebWorker.postMessage({cmd: 'portmessage', port: port2}, [ port2 ]);
29
+ port1.postMessage('sending to port1');
30
+ port1.on('message', (data) => {
31
+ console.log(`cluster.primary (${process.pid}): message from message port = [${data}]`);
32
+ });
33
+
34
+
35
+ } else {
36
+ console.log(`Worker ${process.pid} started`);
37
+
38
+ const fileName ='./dist/webworkertesting/worker.js';
39
+
40
+ const clusterWorker = new Worker(fileName);
41
+ clusterWorker.unref();
42
+
43
+ clusterWorker.postMessage({cmd: 'text', message: 'Hello World'});
44
+
45
+ clusterWorker.on('message', (data: any) => {
46
+ console.log(`cluster.worker (${process.pid}): message from worker = [${JSON.stringify(data)}]`);
47
+ });
48
+
49
+ }
@@ -0,0 +1,24 @@
1
+ /* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
2
+ import { matchesProperty } from 'lodash';
3
+ import {
4
+ Worker,
5
+ isMainThread,
6
+ parentPort,
7
+ MessagePort
8
+ } from 'worker_threads';
9
+
10
+ let messagePort: MessagePort;
11
+
12
+ parentPort?.on('message', (data: any) => {
13
+ if (data.cmd.localeCompare('portmessage') === 0) {
14
+ messagePort = data.port;
15
+ messagePort.on('message', (data) => {
16
+ console.log(`webWorker (${process.pid}): message from passed message port = [${data}]`);
17
+ messagePort.postMessage(data);
18
+ });
19
+ } else {
20
+ console.log(`webWorker (${process.pid}): message from parent = [${JSON.stringify(data)}]`);
21
+ parentPort?.postMessage(data);
22
+ }
23
+ });
24
+
@@ -1 +1 @@
1
- {"version":3,"file":"kafkamanager.d.ts","sourceRoot":"","sources":["../src/kafkamanager.ts"],"names":[],"mappings":"AAoDA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAE,KAAK,EAAY,cAAc,EAAY,QAAQ,EAAY,MAAM,SAAS,CAAA;AAEvF,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,YAAa,SAAQ,cAAc;;gBAKhC,OAAO,EAAE,mBAAmB;IAWxC,IAAI,KAAK,IAAI,KAAK,CAEjB;IAED,eAAe,QAAa,QAAQ,IAAI,CAAC,CAGxC;IAED,kBAAkB,sBAEjB;IAED,eAAe,YAAmB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAGvD;IAED,kBAAkB,QAAa,QAAQ,IAAI,CAAC,CAE3C;IAED,WAAW,UAAiB,MAAM,cAAc,MAAM,mBAkBrD;IAED,WAAW,UAAgB,MAAM,WAAW;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,KAAI,QAAQ,cAAc,EAAE,GAAG,IAAI,CAAC,CAS5G;IAED,YAAY,UAAgB,MAAM,YAAY;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,EAAE,KAAI,QAAQ,cAAc,EAAE,GAAG,IAAI,CAAC,CAShH;IAED,sBAAsB,aAAoB,MAAM,aAAa,MAAM,SAAS,MAAM,WAAW,QAAQ,GAAG,SAAS,KAAK,IAAI,mBAuBzH;IAED,SAAS,WAAiB,MAAM,EAAE,mBAEjC;IAED,IAAI,sBAEH;CACJ"}
1
+ {"version":3,"file":"kafkamanager.d.ts","sourceRoot":"","sources":["../src/kafkamanager.ts"],"names":[],"mappings":"AAqDA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAE,KAAK,EAAY,cAAc,EAAY,QAAQ,EAAY,MAAM,SAAS,CAAA;AAOvF,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAClB;AAyBD,qBAAa,YAAa,SAAQ,cAAc;;gBAKhC,OAAO,EAAE,mBAAmB;IAYxC,IAAI,KAAK,IAAI,KAAK,CAEjB;IAED,eAAe,QAAa,QAAQ,IAAI,CAAC,CAGxC;IAED,kBAAkB,sBAEjB;IAED,eAAe,YAAmB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAGvD;IAED,kBAAkB,QAAa,QAAQ,IAAI,CAAC,CAE3C;IAED,WAAW,UAAiB,MAAM,cAAc,MAAM,mBAkBrD;IAED,WAAW,UAAgB,MAAM,WAAW;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,KAAI,QAAQ,cAAc,EAAE,GAAG,IAAI,CAAC,CAS5G;IAED,YAAY,UAAgB,MAAM,YAAY;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,EAAE,KAAI,QAAQ,cAAc,EAAE,GAAG,IAAI,CAAC,CAShH;IAED,sBAAsB,aAAoB,MAAM,aAAa,MAAM,SAAS,MAAM,WAAW,QAAQ,GAAG,SAAS,KAAK,IAAI,mBAuBzH;IAED,SAAS,WAAiB,MAAM,EAAE,mBAEjC;IAED,IAAI,sBAEH;CACJ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/webworkertesting/app.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/webworkertesting/worker.ts"],"names":[],"mappings":""}