@nsshunt/stsappframework 2.19.254 → 2.19.255
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/kafkamanager.js +7 -2
- package/dist/kafkamanager.js.map +1 -1
- package/dist/kafkatesting/consume.js +26 -1
- package/dist/kafkatesting/consume.js.map +1 -1
- package/dist/kafkatesting/produce.js +10 -1
- package/dist/kafkatesting/produce.js.map +1 -1
- package/package.json +1 -1
- package/src/kafkamanager.ts +9 -3
- package/src/kafkatesting/consume.ts +34 -1
- package/src/kafkatesting/produce.ts +16 -2
- package/types/kafkamanager.d.ts +3 -1
- package/types/kafkamanager.d.ts.map +1 -1
- package/types/kafkatesting/produce.d.ts +1 -1
- package/types/kafkatesting/produce.d.ts.map +1 -1
package/dist/kafkamanager.js
CHANGED
|
@@ -122,8 +122,7 @@ class KafkaManager extends stsutils_1.STSOptionsBase {
|
|
|
122
122
|
return null;
|
|
123
123
|
}
|
|
124
124
|
};
|
|
125
|
-
|
|
126
|
-
await this.#consumer?.subscribe({ topics, fromBeginning: true });
|
|
125
|
+
StartConsumingMessages = async (cb) => {
|
|
127
126
|
await this.#consumer?.run({
|
|
128
127
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
129
128
|
eachMessage: async ({ topic, partition, message, heartbeat, pause }) => {
|
|
@@ -151,6 +150,12 @@ class KafkaManager extends stsutils_1.STSOptionsBase {
|
|
|
151
150
|
}
|
|
152
151
|
});
|
|
153
152
|
};
|
|
153
|
+
Subscribe = async (topics) => {
|
|
154
|
+
await this.#consumer?.subscribe({ topics, fromBeginning: true });
|
|
155
|
+
};
|
|
156
|
+
Stop = async () => {
|
|
157
|
+
await this.#consumer?.stop();
|
|
158
|
+
};
|
|
154
159
|
}
|
|
155
160
|
exports.KafkaManager = KafkaManager;
|
|
156
161
|
//# sourceMappingURL=kafkamanager.js.map
|
package/dist/kafkamanager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kafkamanager.js","sourceRoot":"","sources":["../src/kafkamanager.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDE;AACF,gDAAkD;AAElD,qCAA6E;AAQ7E,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,6CAA6C;SAChD,CAAC,CAAA;IACN,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,
|
|
1
|
+
{"version":3,"file":"kafkamanager.js","sourceRoot":"","sources":["../src/kafkamanager.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,8 @@ const km = new kafkamanager_1.KafkaManager({
|
|
|
13
13
|
});
|
|
14
14
|
const runme = async () => {
|
|
15
15
|
await km.ConsumerConnect(config_1.GROUP_ID + process.env.GROUP_ID);
|
|
16
|
-
await km.Subscribe([config_1.TOPIC]
|
|
16
|
+
await km.Subscribe([config_1.TOPIC]);
|
|
17
|
+
await km.StartConsumingMessages((key, partition, value, headers) => {
|
|
17
18
|
console.log({
|
|
18
19
|
key,
|
|
19
20
|
partition,
|
|
@@ -21,6 +22,30 @@ const runme = async () => {
|
|
|
21
22
|
headers
|
|
22
23
|
});
|
|
23
24
|
});
|
|
25
|
+
await km.Stop();
|
|
26
|
+
await km.Subscribe(['zzz']);
|
|
27
|
+
await km.StartConsumingMessages((key, partition, value, headers) => {
|
|
28
|
+
console.log({
|
|
29
|
+
key,
|
|
30
|
+
partition,
|
|
31
|
+
value,
|
|
32
|
+
headers
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
await km.Stop();
|
|
36
|
+
await km.Subscribe(['yyy']);
|
|
37
|
+
await km.StartConsumingMessages((key, partition, value, headers) => {
|
|
38
|
+
/*
|
|
39
|
+
console.log({
|
|
40
|
+
key,
|
|
41
|
+
partition,
|
|
42
|
+
value,
|
|
43
|
+
headers
|
|
44
|
+
});
|
|
45
|
+
*/
|
|
46
|
+
console.log(`key: [${key}] value: [${value}] partition: [${partition}] headers: [${headers}]`);
|
|
47
|
+
});
|
|
48
|
+
//await km.Subscribe(['zzz'], cb);
|
|
24
49
|
process.on("SIGINT", async () => {
|
|
25
50
|
console.log('=========SIGTERM START =======================');
|
|
26
51
|
await km.ConsumerDisconnect();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consume.js","sourceRoot":"","sources":["../../src/kafkatesting/consume.ts"],"names":[],"mappings":";;AAAA,iDAAiD,CAAE,UAAU;AAC7D,qCAAuE;AAEvE,oDAAgD;AAGhD,KAAK,UAAU,KAAK,CAAC,YAAY,GAAG,IAAI;IACpC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,EAAE,GAAG,IAAI,2BAAY,CAAC;IACxB,QAAQ,EAAE,kBAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS;IAC3C,OAAO,EAAE,gBAAO;IAChB,OAAO,EAAE,gBAAO;CACnB,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;IAErB,MAAM,EAAE,CAAC,eAAe,CAAC,iBAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE1D,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,cAAK,CAAC,EAAE,CAAC,GAAW,EAAE,SAAiB,EAAE,KAAa,EAAE,OAA+B,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"consume.js","sourceRoot":"","sources":["../../src/kafkatesting/consume.ts"],"names":[],"mappings":";;AAAA,iDAAiD,CAAE,UAAU;AAC7D,qCAAuE;AAEvE,oDAAgD;AAGhD,KAAK,UAAU,KAAK,CAAC,YAAY,GAAG,IAAI;IACpC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,EAAE,GAAG,IAAI,2BAAY,CAAC;IACxB,QAAQ,EAAE,kBAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS;IAC3C,OAAO,EAAE,gBAAO;IAChB,OAAO,EAAE,gBAAO;CACnB,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;IAErB,MAAM,EAAE,CAAC,eAAe,CAAC,iBAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE1D,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,cAAK,CAAC,CAAC,CAAC;IAE5B,MAAM,EAAE,CAAC,sBAAsB,CAAC,CAAC,GAAW,EAAE,SAAiB,EAAE,KAAa,EAAE,OAA+B,EAAE,EAAE;QAC/G,OAAO,CAAC,GAAG,CAAC;YACR,GAAG;YACH,SAAS;YACT,KAAK;YACL,OAAO;SACV,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAEhB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAE5B,MAAM,EAAE,CAAC,sBAAsB,CAAC,CAAC,GAAW,EAAE,SAAiB,EAAE,KAAa,EAAE,OAA+B,EAAE,EAAE;QAC/G,OAAO,CAAC,GAAG,CAAC;YACR,GAAG;YACH,SAAS;YACT,KAAK;YACL,OAAO;SACV,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAEhB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAE5B,MAAM,EAAE,CAAC,sBAAsB,CAAC,CAAC,GAAW,EAAE,SAAiB,EAAE,KAAa,EAAE,OAA+B,EAAE,EAAE;QAC/G;;;;;;;UAOE;QACF,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,eAAe,KAAK,mBAAmB,SAAS,gBAAgB,OAAO,GAAG,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IAEH,kCAAkC;IAElC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;QAC7D,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;QAC3D,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,SAAS;QACL,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC,CAAC;QACrC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;KACrB;AACL,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BE;AAEF,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -54,6 +54,7 @@ services:
|
|
|
54
54
|
*/
|
|
55
55
|
const config_1 = require("./config");
|
|
56
56
|
const kafkamanager_1 = require("./../kafkamanager");
|
|
57
|
+
require("colors");
|
|
57
58
|
async function Sleep(milliseconds = 1000) {
|
|
58
59
|
return new Promise(resolve => setTimeout(resolve, milliseconds));
|
|
59
60
|
}
|
|
@@ -64,6 +65,8 @@ const km = new kafkamanager_1.KafkaManager({
|
|
|
64
65
|
});
|
|
65
66
|
const runme = async () => {
|
|
66
67
|
await km.CreateTopic(config_1.TOPIC, config_1.PARTITIONS);
|
|
68
|
+
await km.CreateTopic('zzz', 1);
|
|
69
|
+
await km.CreateTopic('yyy', 1);
|
|
67
70
|
await km.ProducerConnect();
|
|
68
71
|
const count = 100000;
|
|
69
72
|
const sleepTime = 1000;
|
|
@@ -77,12 +80,18 @@ const runme = async () => {
|
|
|
77
80
|
if (i % 100 === 0)
|
|
78
81
|
console.log(i);
|
|
79
82
|
const retVal = await km.SendMessages(config_1.TOPIC, [
|
|
80
|
-
{ key: 'key1', value: `hello world - ${i}
|
|
83
|
+
{ key: 'key1', value: `hello world - ${i}`.green },
|
|
81
84
|
{ key: 'key2', value: 'hey hey! -2' },
|
|
82
85
|
{ key: 'key3', value: 'hey hey! -3' },
|
|
83
86
|
{ key: 'key4', value: 'hey hey! -4' },
|
|
84
87
|
{ key: 'key5', value: 'hey hey! -5' }
|
|
85
88
|
]);
|
|
89
|
+
await km.SendMessages('zzz', [
|
|
90
|
+
{ key: 'key-zzz', value: `hello world - ${i}`.yellow }
|
|
91
|
+
]);
|
|
92
|
+
await km.SendMessages('yyy', [
|
|
93
|
+
{ key: 'key-yyy', value: `hello world - ${i}`.cyan }
|
|
94
|
+
]);
|
|
86
95
|
if (i % 100 === 0) {
|
|
87
96
|
console.log(retVal);
|
|
88
97
|
console.log(` ------------=================> ${i}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"produce.js","sourceRoot":"","sources":["../../src/kafkatesting/produce.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDE;AACF,qCAAyE;AAEzE,oDAAgD;AAEhD,KAAK,UAAU,KAAK,CAAC,YAAY,GAAG,IAAI;IACpC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,EAAE,GAAG,IAAI,2BAAY,CAAC;IACxB,QAAQ,EAAE,kBAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS;IAC3C,OAAO,EAAE,gBAAO;IAChB,OAAO,EAAE,gBAAO;CACnB,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;IACrB,MAAM,EAAE,CAAC,WAAW,CAAC,cAAK,EAAE,mBAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"produce.js","sourceRoot":"","sources":["../../src/kafkatesting/produce.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/kafkamanager.ts
CHANGED
|
@@ -135,9 +135,7 @@ export class KafkaManager extends STSOptionsBase {
|
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
|
|
139
|
-
await this.#consumer?.subscribe({ topics, fromBeginning: true })
|
|
140
|
-
|
|
138
|
+
StartConsumingMessages = async (cb: (key: string, partition: number, value: string, headers: IHeaders | undefined) => void) => {
|
|
141
139
|
await this.#consumer?.run({
|
|
142
140
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
143
141
|
eachMessage: async ({ topic, partition, message, heartbeat, pause }) => {
|
|
@@ -161,4 +159,12 @@ export class KafkaManager extends STSOptionsBase {
|
|
|
161
159
|
}
|
|
162
160
|
})
|
|
163
161
|
}
|
|
162
|
+
|
|
163
|
+
Subscribe = async(topics: string[]) => {
|
|
164
|
+
await this.#consumer?.subscribe({ topics, fromBeginning: true })
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
Stop = async() => {
|
|
168
|
+
await this.#consumer?.stop();
|
|
169
|
+
}
|
|
164
170
|
}
|
|
@@ -18,7 +18,22 @@ const runme = async () => {
|
|
|
18
18
|
|
|
19
19
|
await km.ConsumerConnect(GROUP_ID + process.env.GROUP_ID);
|
|
20
20
|
|
|
21
|
-
await km.Subscribe([TOPIC]
|
|
21
|
+
await km.Subscribe([TOPIC]);
|
|
22
|
+
|
|
23
|
+
await km.StartConsumingMessages((key: string, partition: number, value: string, headers: JSONObject | undefined) => {
|
|
24
|
+
console.log({
|
|
25
|
+
key,
|
|
26
|
+
partition,
|
|
27
|
+
value,
|
|
28
|
+
headers
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
await km.Stop();
|
|
33
|
+
|
|
34
|
+
await km.Subscribe(['zzz']);
|
|
35
|
+
|
|
36
|
+
await km.StartConsumingMessages((key: string, partition: number, value: string, headers: JSONObject | undefined) => {
|
|
22
37
|
console.log({
|
|
23
38
|
key,
|
|
24
39
|
partition,
|
|
@@ -27,6 +42,24 @@ const runme = async () => {
|
|
|
27
42
|
});
|
|
28
43
|
});
|
|
29
44
|
|
|
45
|
+
await km.Stop();
|
|
46
|
+
|
|
47
|
+
await km.Subscribe(['yyy']);
|
|
48
|
+
|
|
49
|
+
await km.StartConsumingMessages((key: string, partition: number, value: string, headers: JSONObject | undefined) => {
|
|
50
|
+
/*
|
|
51
|
+
console.log({
|
|
52
|
+
key,
|
|
53
|
+
partition,
|
|
54
|
+
value,
|
|
55
|
+
headers
|
|
56
|
+
});
|
|
57
|
+
*/
|
|
58
|
+
console.log(`key: [${key}] value: [${value}] partition: [${partition}] headers: [${headers}]`);
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
//await km.Subscribe(['zzz'], cb);
|
|
62
|
+
|
|
30
63
|
process.on("SIGINT", async () => {
|
|
31
64
|
console.log('=========SIGTERM START =======================')
|
|
32
65
|
await km.ConsumerDisconnect();
|
|
@@ -54,6 +54,8 @@ import { TOPIC, CLIENT_ID, BROKERS, PARTITIONS, TIMEOUT } from './config'
|
|
|
54
54
|
|
|
55
55
|
import { KafkaManager } from './../kafkamanager'
|
|
56
56
|
|
|
57
|
+
import 'colors'
|
|
58
|
+
|
|
57
59
|
async function Sleep(milliseconds = 1000) {
|
|
58
60
|
return new Promise(resolve => setTimeout(resolve, milliseconds))
|
|
59
61
|
}
|
|
@@ -66,6 +68,8 @@ const km = new KafkaManager({
|
|
|
66
68
|
|
|
67
69
|
const runme = async () => {
|
|
68
70
|
await km.CreateTopic(TOPIC, PARTITIONS);
|
|
71
|
+
await km.CreateTopic('zzz', 1);
|
|
72
|
+
await km.CreateTopic('yyy', 1);
|
|
69
73
|
|
|
70
74
|
await km.ProducerConnect();
|
|
71
75
|
|
|
@@ -82,14 +86,24 @@ const runme = async () => {
|
|
|
82
86
|
for (let i=0; i < count; i++) {
|
|
83
87
|
if (i % 100 === 0) console.log(i);
|
|
84
88
|
const retVal = await km.SendMessages(TOPIC, [
|
|
85
|
-
{ key: 'key1', value: `hello world - ${i}
|
|
89
|
+
{ key: 'key1', value: `hello world - ${i}`.green },
|
|
86
90
|
{ key: 'key2', value: 'hey hey! -2' },
|
|
87
91
|
{ key: 'key3', value: 'hey hey! -3' },
|
|
88
92
|
{ key: 'key4', value: 'hey hey! -4' },
|
|
89
93
|
{ key: 'key5', value: 'hey hey! -5' }
|
|
90
94
|
]
|
|
91
95
|
);
|
|
92
|
-
|
|
96
|
+
|
|
97
|
+
await km.SendMessages('zzz', [
|
|
98
|
+
{ key: 'key-zzz', value: `hello world - ${i}`.yellow }
|
|
99
|
+
]
|
|
100
|
+
);
|
|
101
|
+
|
|
102
|
+
await km.SendMessages('yyy', [
|
|
103
|
+
{ key: 'key-yyy', value: `hello world - ${i}`.cyan }
|
|
104
|
+
]
|
|
105
|
+
);
|
|
106
|
+
|
|
93
107
|
if (i % 100 === 0) {
|
|
94
108
|
console.log(retVal);
|
|
95
109
|
console.log(` ------------=================> ${i}`);
|
package/types/kafkamanager.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export declare class KafkaManager extends STSOptionsBase {
|
|
|
21
21
|
key: string;
|
|
22
22
|
value: string;
|
|
23
23
|
}[]) => Promise<RecordMetadata[] | null>;
|
|
24
|
-
|
|
24
|
+
StartConsumingMessages: (cb: (key: string, partition: number, value: string, headers: IHeaders | undefined) => void) => Promise<void>;
|
|
25
|
+
Subscribe: (topics: string[]) => Promise<void>;
|
|
26
|
+
Stop: () => Promise<void>;
|
|
25
27
|
}
|
|
26
28
|
//# sourceMappingURL=kafkamanager.d.ts.map
|
|
@@ -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,EAAmB,cAAc,EAAY,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE7E,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;IAUxC,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,
|
|
1
|
+
{"version":3,"file":"kafkamanager.d.ts","sourceRoot":"","sources":["../src/kafkamanager.ts"],"names":[],"mappings":"AAoDA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAmB,cAAc,EAAY,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE7E,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;IAUxC,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,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import 'colors';
|
|
2
2
|
//# sourceMappingURL=produce.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"produce.d.ts","sourceRoot":"","sources":["../../src/kafkatesting/produce.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"produce.d.ts","sourceRoot":"","sources":["../../src/kafkatesting/produce.ts"],"names":[],"mappings":"AAwDA,OAAO,QAAQ,CAAA"}
|