@venizia/ignis-helpers 0.0.8-9 → 0.0.8

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 (57) hide show
  1. package/README.md +2 -2
  2. package/dist/modules/index.d.ts +1 -0
  3. package/dist/modules/index.d.ts.map +1 -1
  4. package/dist/modules/index.js +1 -0
  5. package/dist/modules/index.js.map +1 -1
  6. package/dist/modules/pool/helper.d.ts +100 -0
  7. package/dist/modules/pool/helper.d.ts.map +1 -0
  8. package/dist/modules/pool/helper.js +326 -0
  9. package/dist/modules/pool/helper.js.map +1 -0
  10. package/dist/modules/pool/index.d.ts +3 -0
  11. package/dist/modules/pool/index.d.ts.map +1 -0
  12. package/dist/modules/pool/index.js +19 -0
  13. package/dist/modules/pool/index.js.map +1 -0
  14. package/dist/modules/pool/types.d.ts +62 -0
  15. package/dist/modules/pool/types.d.ts.map +1 -0
  16. package/dist/modules/pool/types.js +3 -0
  17. package/dist/modules/pool/types.js.map +1 -0
  18. package/dist/modules/queue/internal/hf/helper.d.ts +37 -0
  19. package/dist/modules/queue/internal/hf/helper.d.ts.map +1 -0
  20. package/dist/modules/queue/internal/hf/helper.js +82 -0
  21. package/dist/modules/queue/internal/hf/helper.js.map +1 -0
  22. package/dist/modules/queue/internal/hf/index.d.ts +3 -0
  23. package/dist/modules/queue/internal/hf/index.d.ts.map +1 -0
  24. package/dist/modules/queue/internal/hf/index.js +19 -0
  25. package/dist/modules/queue/internal/hf/index.js.map +1 -0
  26. package/dist/modules/queue/internal/hf/types.d.ts +9 -0
  27. package/dist/modules/queue/internal/hf/types.d.ts.map +1 -0
  28. package/dist/modules/queue/internal/hf/types.js +3 -0
  29. package/dist/modules/queue/internal/hf/types.js.map +1 -0
  30. package/dist/modules/queue/internal/index.d.ts +2 -1
  31. package/dist/modules/queue/internal/index.d.ts.map +1 -1
  32. package/dist/modules/queue/internal/index.js +2 -1
  33. package/dist/modules/queue/internal/index.js.map +1 -1
  34. package/dist/modules/queue/internal/sequential/helper.d.ts +40 -0
  35. package/dist/modules/queue/internal/sequential/helper.d.ts.map +1 -0
  36. package/dist/modules/queue/internal/{helper.js → sequential/helper.js} +26 -32
  37. package/dist/modules/queue/internal/sequential/helper.js.map +1 -0
  38. package/dist/modules/queue/internal/sequential/index.d.ts +3 -0
  39. package/dist/modules/queue/internal/sequential/index.d.ts.map +1 -0
  40. package/dist/modules/queue/internal/sequential/index.js +19 -0
  41. package/dist/modules/queue/internal/sequential/index.js.map +1 -0
  42. package/dist/modules/queue/internal/sequential/types.d.ts +35 -0
  43. package/dist/modules/queue/internal/sequential/types.d.ts.map +1 -0
  44. package/dist/modules/queue/internal/sequential/types.js +15 -0
  45. package/dist/modules/queue/internal/sequential/types.js.map +1 -0
  46. package/dist/modules/queue/kafka/base.d.ts +3 -1
  47. package/dist/modules/queue/kafka/base.d.ts.map +1 -1
  48. package/dist/modules/queue/kafka/base.js +11 -0
  49. package/dist/modules/queue/kafka/base.js.map +1 -1
  50. package/dist/modules/queue/kafka/consumer.d.ts +8 -0
  51. package/dist/modules/queue/kafka/consumer.d.ts.map +1 -1
  52. package/dist/modules/queue/kafka/consumer.js +126 -35
  53. package/dist/modules/queue/kafka/consumer.js.map +1 -1
  54. package/package.json +7 -6
  55. package/dist/modules/queue/internal/helper.d.ts +0 -69
  56. package/dist/modules/queue/internal/helper.d.ts.map +0 -1
  57. package/dist/modules/queue/internal/helper.js.map +0 -1
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HfQueueHelper = void 0;
4
+ const base_1 = require("../../../../modules/base");
5
+ /**
6
+ * High-frequency, single-consumer FIFO queue with O(1) enqueue / dequeue / cancel.
7
+ *
8
+ * Backed by an array plus a moving head index (no `Array.shift()`, which is O(n)); cancellation flags
9
+ * the node so {@link dequeue} skips it instead of splicing. The consumed prefix is compacted only
10
+ * occasionally to reclaim memory, keeping every operation amortized O(1).
11
+ *
12
+ * Not thread-safe — intended for single-threaded (event-loop) use, e.g. a pool's waiter queue.
13
+ */
14
+ class HfQueueHelper extends base_1.BaseHelper {
15
+ // Reclaim the consumed prefix once it dominates the backing array.
16
+ static { this.COMPACT_THRESHOLD = 256; }
17
+ constructor(opts) {
18
+ super({ scope: opts?.scope ?? HfQueueHelper.name });
19
+ this.nodes = [];
20
+ this.head = 0; // index of the next node to consider
21
+ this.liveCount = 0; // enqueued − (dequeued + cancelled)
22
+ }
23
+ /** Number of live entries (enqueued, not yet dequeued or cancelled). */
24
+ get size() {
25
+ return this.liveCount;
26
+ }
27
+ /** Append a value and return a node handle usable to cancel it later. O(1). */
28
+ enqueue(opts) {
29
+ const node = { value: opts.value, isCancelled: false };
30
+ this.nodes.push(node);
31
+ this.liveCount += 1;
32
+ return node;
33
+ }
34
+ /** Remove + return the next live value in FIFO order, skipping cancelled nodes. Null when empty. */
35
+ dequeue() {
36
+ // Continuously skip cancelled nodes until touch required to process
37
+ while (this.head < this.nodes.length && this.nodes[this.head].isCancelled) {
38
+ this.head += 1;
39
+ }
40
+ if (this.head >= this.nodes.length) {
41
+ // fully drained → cheap reset
42
+ this.reset();
43
+ return null;
44
+ }
45
+ const node = this.nodes[this.head];
46
+ this.head += 1;
47
+ this.liveCount -= 1;
48
+ node.isCancelled = true; // mark consumed so a late cancel() of this node is a no-op
49
+ if (this.head > HfQueueHelper.COMPACT_THRESHOLD && this.head * 2 >= this.nodes.length) {
50
+ this.nodes.splice(0, this.head);
51
+ this.head = 0;
52
+ }
53
+ return node.value;
54
+ }
55
+ /** Mark a still-queued node cancelled so {@link dequeue} and {@link size} skip it. Idempotent. O(1). */
56
+ cancel(opts) {
57
+ if (opts.node.isCancelled) {
58
+ return;
59
+ }
60
+ opts.node.isCancelled = true;
61
+ this.liveCount -= 1;
62
+ }
63
+ /** Remove and return every remaining LIVE value in FIFO order (e.g. on shutdown), emptying the queue. */
64
+ drain() {
65
+ const values = [];
66
+ for (let index = this.head; index < this.nodes.length; index += 1) {
67
+ const node = this.nodes[index];
68
+ if (!node.isCancelled) {
69
+ values.push(node.value);
70
+ }
71
+ }
72
+ this.reset();
73
+ return values;
74
+ }
75
+ reset() {
76
+ this.nodes.length = 0;
77
+ this.head = 0;
78
+ this.liveCount = 0;
79
+ }
80
+ }
81
+ exports.HfQueueHelper = HfQueueHelper;
82
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../../src/modules/queue/internal/hf/helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './helper';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/queue/internal/hf/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./helper"), exports);
18
+ __exportStar(require("./types"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/queue/internal/hf/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * A handle returned by {@link HfQueueHelper.enqueue}. Pass it back to {@link HfQueueHelper.cancel} to
3
+ * remove that entry in O(1) without scanning the queue.
4
+ */
5
+ export interface IHfQueueNode<T> {
6
+ readonly value: T;
7
+ isCancelled: boolean;
8
+ }
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/modules/queue/internal/hf/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/modules/queue/internal/hf/types.ts"],"names":[],"mappings":""}
@@ -1,2 +1,3 @@
1
- export * from './helper';
1
+ export * from './hf';
2
+ export * from './sequential';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/queue/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/queue/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,cAAc,cAAc,CAAC"}
@@ -14,5 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./helper"), exports);
17
+ __exportStar(require("./hf"), exports);
18
+ __exportStar(require("./sequential"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/queue/internal/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/queue/internal/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAqB;AACrB,+CAA6B"}
@@ -0,0 +1,40 @@
1
+ import { BaseHelper } from '../../../../modules/base';
2
+ import { IQueueCallback, TQueueElement, TQueueStatus } from './types';
3
+ export declare class SequentialQueueHelper<TElementPayload> extends BaseHelper {
4
+ storage: Array<TQueueElement<TElementPayload>>;
5
+ protected processingEvents: Set<TQueueElement<TElementPayload>>;
6
+ protected generator: Generator;
7
+ protected totalEvent: number;
8
+ protected autoDispatch: boolean;
9
+ protected state: TQueueStatus;
10
+ protected isSettleRequested: boolean;
11
+ private onMessage?;
12
+ private onDataEnqueue?;
13
+ private onDataDequeue?;
14
+ private onStateChange?;
15
+ constructor(opts: IQueueCallback<TElementPayload> & {
16
+ identifier: string;
17
+ });
18
+ protected handleMessage(): Promise<void>;
19
+ private _messageListener;
20
+ nextMessage(): void;
21
+ enqueue(payload: TElementPayload): Promise<void>;
22
+ dequeue(): TQueueElement<TElementPayload> | undefined;
23
+ lock(): void;
24
+ unlock(opts: {
25
+ shouldProcessNextElement?: boolean;
26
+ }): void;
27
+ settle(): void;
28
+ isSettled(): boolean;
29
+ close(): void;
30
+ getElementAt(position: number): TQueueElement<TElementPayload>;
31
+ getState(): TQueueStatus;
32
+ getTotalEvent(): number;
33
+ getProcessingEvents(): Set<TQueueElement<TElementPayload>>;
34
+ }
35
+ /**
36
+ * @deprecated Renamed to {@link SequentialQueueHelper}. This alias is kept for backward compatibility
37
+ * and may be removed in a future major version — prefer `SequentialQueueHelper`.
38
+ */
39
+ export { SequentialQueueHelper as QueueHelper };
40
+ //# sourceMappingURL=helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../../src/modules/queue/internal/sequential/helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAiB,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAErF,qBAAa,qBAAqB,CAAC,eAAe,CAAE,SAAQ,UAAU;IAC7D,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;IACtD,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;IAChE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAE/B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,YAAY,EAAE,OAAO,CAAQ;IACvC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAyB;IACtD,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAErC,OAAO,CAAC,SAAS,CAAC,CAGS;IAE3B,OAAO,CAAC,aAAa,CAAC,CAGK;IAE3B,OAAO,CAAC,aAAa,CAAC,CAGK;IAE3B,OAAO,CAAC,aAAa,CAAC,CAIK;gBAEf,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;cAsB1D,aAAa;IAkD7B,OAAO,CAAE,gBAAgB;IAazB,WAAW;IAcL,OAAO,CAAC,OAAO,EAAE,eAAe;IA8BtC,OAAO;IAUP,IAAI;IAiBJ,MAAM,CAAC,IAAI,EAAE;QAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;KAAE;IAyBnD,MAAM;IAUN,SAAS;IAIT,KAAK;IAQL,YAAY,CAAC,QAAQ,EAAE,MAAM;IAI7B,QAAQ;IAIR,aAAa;IAIb,mBAAmB;CAGpB;AAED;;;GAGG;AACH,OAAO,EAAE,qBAAqB,IAAI,WAAW,EAAE,CAAC"}
@@ -3,32 +3,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.QueueHelper = exports.QueueStatuses = void 0;
7
- const base_1 = require("../../../modules/base");
6
+ exports.QueueHelper = exports.SequentialQueueHelper = void 0;
7
+ const base_1 = require("../../../../modules/base");
8
8
  const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
9
- class QueueStatuses {
10
- static { this.WAITING = '000_WAITING'; }
11
- static { this.PROCESSING = '100_PROCESSING'; }
12
- static { this.LOCKED = '200_LOCKED'; }
13
- static { this.SETTLED = '300_SETTLED'; }
14
- static { this.SCHEME_SET = new Set([this.WAITING, this.PROCESSING, this.LOCKED, this.SETTLED]); }
15
- static isValid(scheme) {
16
- return this.SCHEME_SET.has(scheme);
17
- }
18
- }
19
- exports.QueueStatuses = QueueStatuses;
20
- class QueueHelper extends base_1.BaseHelper {
9
+ const types_1 = require("./types");
10
+ class SequentialQueueHelper extends base_1.BaseHelper {
21
11
  constructor(opts) {
22
- super({ scope: `${QueueHelper.name}_${opts.identifier}`, identifier: opts.identifier });
12
+ super({
13
+ scope: `${SequentialQueueHelper.name}_${opts.identifier}`,
14
+ identifier: opts.identifier,
15
+ });
23
16
  this.autoDispatch = true;
24
- this.state = QueueStatuses.WAITING;
17
+ this.state = types_1.QueueStatuses.WAITING;
25
18
  this.identifier = opts.identifier;
26
19
  this.storage = [];
27
20
  this.processingEvents = new Set([]);
28
21
  this.generator = this._messageListener();
29
22
  this.totalEvent = 0;
30
23
  this.autoDispatch = opts.autoDispatch ?? true;
31
- this.state = QueueStatuses.WAITING;
24
+ this.state = types_1.QueueStatuses.WAITING;
32
25
  this.isSettleRequested = false;
33
26
  this.onMessage = opts.onMessage;
34
27
  this.onDataEnqueue = opts.onDataEnqueue;
@@ -48,9 +41,9 @@ class QueueHelper extends base_1.BaseHelper {
48
41
  this.logger.for('handle').info('Skip LOCKED message | Payload: %j', payload);
49
42
  return;
50
43
  }
51
- if (this.state !== QueueStatuses.LOCKED && this.state !== QueueStatuses.SETTLED) {
44
+ if (this.state !== types_1.QueueStatuses.LOCKED && this.state !== types_1.QueueStatuses.SETTLED) {
52
45
  const snap = this.state;
53
- this.state = QueueStatuses.PROCESSING;
46
+ this.state = types_1.QueueStatuses.PROCESSING;
54
47
  await this.onStateChange?.({ identifier: this.identifier, from: snap, to: this.state });
55
48
  }
56
49
  this.getElementAt(0).isLocked = true;
@@ -60,15 +53,15 @@ class QueueHelper extends base_1.BaseHelper {
60
53
  if (doneElement) {
61
54
  this.processingEvents.delete(doneElement);
62
55
  }
63
- if (this.state !== QueueStatuses.LOCKED && this.state !== QueueStatuses.SETTLED) {
56
+ if (this.state !== types_1.QueueStatuses.LOCKED && this.state !== types_1.QueueStatuses.SETTLED) {
64
57
  const snap = this.state;
65
- this.state = QueueStatuses.WAITING;
58
+ this.state = types_1.QueueStatuses.WAITING;
66
59
  await this.onStateChange?.({ identifier: this.identifier, from: snap, to: this.state });
67
60
  }
68
61
  if (!this.storage.length) {
69
62
  if (this.isSettleRequested) {
70
63
  const snap = this.state;
71
- this.state = QueueStatuses.SETTLED;
64
+ this.state = types_1.QueueStatuses.SETTLED;
72
65
  await this.onStateChange?.({ identifier: this.identifier, from: snap, to: this.state });
73
66
  }
74
67
  return;
@@ -87,7 +80,7 @@ class QueueHelper extends base_1.BaseHelper {
87
80
  }
88
81
  }
89
82
  nextMessage() {
90
- if (this.state !== QueueStatuses.WAITING) {
83
+ if (this.state !== types_1.QueueStatuses.WAITING) {
91
84
  this.logger
92
85
  .for(this.nextMessage.name)
93
86
  .warn('SKIP request next message | Invalid queue state to request next message | currentState: %s', this.state);
@@ -96,7 +89,7 @@ class QueueHelper extends base_1.BaseHelper {
96
89
  this.generator.next();
97
90
  }
98
91
  async enqueue(payload) {
99
- if (this.isSettleRequested || this.state === QueueStatuses.SETTLED) {
92
+ if (this.isSettleRequested || this.state === types_1.QueueStatuses.SETTLED) {
100
93
  this.logger
101
94
  .for(this.enqueue.name)
102
95
  .error('isSettled: %s | currentState: %s | Queue was SETTLED | No more element acceptable', this.isSettleRequested, this.state);
@@ -124,18 +117,18 @@ class QueueHelper extends base_1.BaseHelper {
124
117
  return value;
125
118
  }
126
119
  lock() {
127
- if (this.state >= QueueStatuses.LOCKED) {
120
+ if (this.state >= types_1.QueueStatuses.LOCKED) {
128
121
  this.logger
129
122
  .for(this.lock.name)
130
123
  .error('isSettled | currentState: %s | Invalid queue state to request lock queue!', this.isSettleRequested, this.state);
131
124
  return;
132
125
  }
133
126
  const snap = this.state;
134
- this.state = QueueStatuses.LOCKED;
127
+ this.state = types_1.QueueStatuses.LOCKED;
135
128
  this.onStateChange?.({ identifier: this.identifier, from: snap, to: this.state });
136
129
  }
137
130
  unlock(opts) {
138
- if (this.state > QueueStatuses.LOCKED) {
131
+ if (this.state > types_1.QueueStatuses.LOCKED) {
139
132
  this.logger
140
133
  .for(this.unlock.name)
141
134
  .error('isSettled | currentState: %s | Invalid queue state to request unlock queue!', this.isSettleRequested, this.state);
@@ -143,7 +136,7 @@ class QueueHelper extends base_1.BaseHelper {
143
136
  }
144
137
  const { shouldProcessNextElement = true } = opts;
145
138
  const snap = this.state;
146
- this.state = QueueStatuses.WAITING;
139
+ this.state = types_1.QueueStatuses.WAITING;
147
140
  this.onStateChange?.({ identifier: this.identifier, from: snap, to: this.state });
148
141
  if (!shouldProcessNextElement) {
149
142
  return;
@@ -152,14 +145,14 @@ class QueueHelper extends base_1.BaseHelper {
152
145
  }
153
146
  settle() {
154
147
  this.isSettleRequested = true;
155
- if (this.state !== QueueStatuses.PROCESSING) {
148
+ if (this.state !== types_1.QueueStatuses.PROCESSING) {
156
149
  const snap = this.state;
157
- this.state = QueueStatuses.SETTLED;
150
+ this.state = types_1.QueueStatuses.SETTLED;
158
151
  this.onStateChange?.({ identifier: this.identifier, from: snap, to: this.state });
159
152
  }
160
153
  }
161
154
  isSettled() {
162
- return this.state === QueueStatuses.SETTLED && !this.storage.length;
155
+ return this.state === types_1.QueueStatuses.SETTLED && !this.storage.length;
163
156
  }
164
157
  close() {
165
158
  this.settle();
@@ -181,5 +174,6 @@ class QueueHelper extends base_1.BaseHelper {
181
174
  return this.processingEvents;
182
175
  }
183
176
  }
184
- exports.QueueHelper = QueueHelper;
177
+ exports.SequentialQueueHelper = SequentialQueueHelper;
178
+ exports.QueueHelper = SequentialQueueHelper;
185
179
  //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../../src/modules/queue/internal/sequential/helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './helper';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/queue/internal/sequential/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./helper"), exports);
18
+ __exportStar(require("./types"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/queue/internal/sequential/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB"}
@@ -0,0 +1,35 @@
1
+ import { ValueOf, ValueOrPromise } from '../../../../common/types';
2
+ export declare class QueueStatuses {
3
+ static readonly WAITING = "000_WAITING";
4
+ static readonly PROCESSING = "100_PROCESSING";
5
+ static readonly LOCKED = "200_LOCKED";
6
+ static readonly SETTLED = "300_SETTLED";
7
+ static readonly SCHEME_SET: Set<string>;
8
+ static isValid(scheme: string): boolean;
9
+ }
10
+ export type TQueueStatus = ValueOf<Omit<typeof QueueStatuses, 'isValid' | 'SCHEME_SET'>>;
11
+ export type TQueueElement<T> = {
12
+ isLocked: boolean;
13
+ payload: T;
14
+ };
15
+ export interface IQueueCallback<TElementPayload> {
16
+ autoDispatch?: boolean;
17
+ onMessage?: (opts: {
18
+ identifier: string;
19
+ queueElement: TQueueElement<TElementPayload>;
20
+ }) => ValueOrPromise<void>;
21
+ onDataEnqueue?: (opts: {
22
+ identifier: string;
23
+ queueElement: TQueueElement<TElementPayload>;
24
+ }) => ValueOrPromise<void>;
25
+ onDataDequeue?: (opts: {
26
+ identifier: string;
27
+ queueElement: TQueueElement<TElementPayload>;
28
+ }) => ValueOrPromise<void>;
29
+ onStateChange?: (opts: {
30
+ identifier: string;
31
+ from: TQueueStatus;
32
+ to: TQueueStatus;
33
+ }) => ValueOrPromise<void>;
34
+ }
35
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/modules/queue/internal/sequential/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEzD,qBAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,OAAO,iBAAiB;IACxC,MAAM,CAAC,QAAQ,CAAC,UAAU,oBAAoB;IAC9C,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;IACtC,MAAM,CAAC,QAAQ,CAAC,OAAO,iBAAiB;IAExC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAAuE;IAEjG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAGxC;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,aAAa,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC;AACzF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE,CAAC;AAEjE,MAAM,WAAW,cAAc,CAAC,eAAe;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;KAC9C,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC;IAC3B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;KAC9C,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC;IAC3B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;KAC9C,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC;IAC3B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,YAAY,CAAC;QACnB,EAAE,EAAE,YAAY,CAAC;KAClB,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC;CAC5B"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueueStatuses = void 0;
4
+ class QueueStatuses {
5
+ static { this.WAITING = '000_WAITING'; }
6
+ static { this.PROCESSING = '100_PROCESSING'; }
7
+ static { this.LOCKED = '200_LOCKED'; }
8
+ static { this.SETTLED = '300_SETTLED'; }
9
+ static { this.SCHEME_SET = new Set([this.WAITING, this.PROCESSING, this.LOCKED, this.SETTLED]); }
10
+ static isValid(scheme) {
11
+ return this.SCHEME_SET.has(scheme);
12
+ }
13
+ }
14
+ exports.QueueStatuses = QueueStatuses;
15
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/modules/queue/internal/sequential/types.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;aACR,YAAO,GAAG,aAAa,CAAC;aACxB,eAAU,GAAG,gBAAgB,CAAC;aAC9B,WAAM,GAAG,YAAY,CAAC;aACtB,YAAO,GAAG,aAAa,CAAC;aAExB,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjG,MAAM,CAAC,OAAO,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;;AAVH,sCAWC"}
@@ -19,7 +19,7 @@ export interface IKafkaBaseOptions<TClient extends Base<BaseOptions>> {
19
19
  * through `this.client`. Broker events are wired automatically in the constructor.
20
20
  */
21
21
  export declare abstract class BaseKafkaHelper<TClient extends Base<BaseOptions>> extends BaseHelper {
22
- protected readonly client: TClient;
22
+ protected client: TClient;
23
23
  protected readonly shutdownTimeout: number;
24
24
  protected healthStatus: TKafkaHealthStatus;
25
25
  /** Per-broker connection state. Key = "host:port" */
@@ -35,6 +35,8 @@ export declare abstract class BaseKafkaHelper<TClient extends Base<BaseOptions>>
35
35
  protected configureBrokerDisconnect(): void;
36
36
  protected configureBrokerFailed(): void;
37
37
  protected configureBrokerEvents(): void;
38
+ protected unconfigureBrokerEvents(): void;
39
+ protected swapClient(newClient: TClient): void;
38
40
  protected resetHealthState(): void;
39
41
  protected closeClient(): Promise<void>;
40
42
  protected gracefulCloseClient(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/modules/queue/kafka/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAA8B,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,WAAW,iBAAiB,CAAC,OAAO,SAAS,IAAI,CAAC,WAAW,CAAC;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;;;;GAOG;AACH,8BAAsB,eAAe,CAAC,OAAO,SAAS,IAAI,CAAC,WAAW,CAAC,CAAE,SAAQ,UAAU;IACzF,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAE3C,SAAS,CAAC,YAAY,EAAE,kBAAkB,CAA+B;IAEzE,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IAEtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAA4B;IAC7D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAA4B;gBAEpD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAQ5C,SAAS,IAAI,OAAO;IAIpB,OAAO,IAAI,OAAO;IAIlB,eAAe,IAAI,kBAAkB;IAIrC,uBAAuB,IAAI,MAAM;IAIjC,SAAS,CAAC,sBAAsB;IAehC,SAAS,CAAC,yBAAyB;IAmBnC,SAAS,CAAC,qBAAqB;IAkB/B,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAMvC,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAKlC,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,SAAS,CAAC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ/C"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/modules/queue/kafka/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAA8B,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,WAAW,iBAAiB,CAAC,OAAO,SAAS,IAAI,CAAC,WAAW,CAAC;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;;;;GAOG;AACH,8BAAsB,eAAe,CAAC,OAAO,SAAS,IAAI,CAAC,WAAW,CAAC,CAAE,SAAQ,UAAU;IACzF,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAE3C,SAAS,CAAC,YAAY,EAAE,kBAAkB,CAA+B;IAEzE,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IAEtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAA4B;IAC7D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAA4B;gBAEpD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAQ5C,SAAS,IAAI,OAAO;IAIpB,OAAO,IAAI,OAAO;IAIlB,eAAe,IAAI,kBAAkB;IAIrC,uBAAuB,IAAI,MAAM;IAIjC,SAAS,CAAC,sBAAsB;IAehC,SAAS,CAAC,yBAAyB;IAmBnC,SAAS,CAAC,qBAAqB;IAkB/B,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAMvC,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAMzC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAO9C,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAKlC,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,SAAS,CAAC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ/C"}
@@ -69,6 +69,17 @@ class BaseKafkaHelper extends ignis_helpers_1.BaseHelper {
69
69
  this.configureBrokerDisconnect();
70
70
  this.configureBrokerFailed();
71
71
  }
72
+ unconfigureBrokerEvents() {
73
+ this.client.removeAllListeners(constants_1.KafkaClientEvents.BROKER_CONNECT);
74
+ this.client.removeAllListeners(constants_1.KafkaClientEvents.BROKER_DISCONNECT);
75
+ this.client.removeAllListeners(constants_1.KafkaClientEvents.BROKER_FAILED);
76
+ }
77
+ swapClient(newClient) {
78
+ this.unconfigureBrokerEvents();
79
+ this.client = newClient;
80
+ this.resetHealthState();
81
+ this.configureBrokerEvents();
82
+ }
72
83
  resetHealthState() {
73
84
  this.connectedBrokers.clear();
74
85
  this.healthStatus = constants_1.KafkaHealthStatuses.DISCONNECTED;
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/modules/queue/kafka/base.ts"],"names":[],"mappings":";;;AACA,0DAAoD;AACpD,kDAK4B;AAY5B;;;;;;;GAOG;AACH,MAAsB,eAAmD,SAAQ,0BAAU;IAYzF,YAAY,IAAgC;QAC1C,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QATlD,iBAAY,GAAuB,+BAAmB,CAAC,OAAO,CAAC;QAEzE,qDAAqD;QACpC,qBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAOpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,yBAAa,CAAC,gBAAgB,CAAC;QAC9E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACpD,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,YAAY,KAAK,+BAAmB,CAAC,SAAS,CAAC;IAC7D,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;IACpC,CAAC;IAES,sBAAsB;QAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,6BAAiB,CAAC,cAAc,EAAE,CAAC,OAAmC,EAAE,EAAE;YACvF,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,YAAY,GAAG,+BAAmB,CAAC,SAAS,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,iFAAiF,EACjF,OAAO,CAAC,MAAM,CAAC,IAAI,EACnB,OAAO,CAAC,MAAM,CAAC,IAAI,EACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC3B,CAAC;YACF,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAES,yBAAyB;QACjC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,6BAAiB,CAAC,iBAAiB,EAAE,CAAC,OAAmC,EAAE,EAAE;YAC1F,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAExC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,YAAY,GAAG,+BAAmB,CAAC,YAAY,CAAC;YACvD,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,uFAAuF,EACvF,OAAO,CAAC,MAAM,CAAC,IAAI,EACnB,OAAO,CAAC,MAAM,CAAC,IAAI,EACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC3B,CAAC;YACF,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;IAES,qBAAqB;QAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,6BAAiB,CAAC,aAAa,EAAE,CAAC,OAAmC,EAAE,EAAE;YACtF,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAExC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,YAAY,GAAG,+BAAmB,CAAC,YAAY,CAAC;YACvD,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wFAAwF,EACxF,OAAO,CAAC,MAAM,CAAC,IAAI,EACnB,OAAO,CAAC,MAAM,CAAC,IAAI,EACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC3B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAES,qBAAqB;QAC7B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAES,gBAAgB;QACxB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,+BAAmB,CAAC,YAAY,CAAC;IACvD,CAAC;IAES,WAAW;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAES,mBAAmB;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC;YAClB,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC9B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAClF,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF;AA/GD,0CA+GC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/modules/queue/kafka/base.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,8 @@ export declare class KafkaConsumerHelper<KeyType = string, ValueType = string, H
36
36
  private consumeLoop;
37
37
  private consumeStartOptions;
38
38
  private lagMonitoringActive;
39
+ private lagMonitoringOptions;
40
+ private sessionLikelyStale;
39
41
  private readonly onMessage?;
40
42
  private readonly onMessageDone?;
41
43
  private readonly onMessageError?;
@@ -45,8 +47,10 @@ export declare class KafkaConsumerHelper<KeyType = string, ValueType = string, H
45
47
  private readonly onHeartbeatError?;
46
48
  private readonly onLag?;
47
49
  private readonly onLagError?;
50
+ private readonly initialOptions;
48
51
  constructor(opts: IKafkaConsumerOptions<KeyType, ValueType, HeaderKeyType, HeaderValueType>);
49
52
  static newInstance<KeyType = string, ValueType = string, HeaderKeyType = string, HeaderValueType = string>(opts: IKafkaConsumerOptions<KeyType, ValueType, HeaderKeyType, HeaderValueType>): KafkaConsumerHelper<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
53
+ private static buildConsumerClient;
50
54
  getConsumer(): Consumer<KeyType, ValueType, HeaderKeyType, HeaderValueType>;
51
55
  getStream(): MessagesStream<KeyType, ValueType, HeaderKeyType, HeaderValueType> | null;
52
56
  isReady(): boolean;
@@ -64,8 +68,12 @@ export declare class KafkaConsumerHelper<KeyType = string, ValueType = string, H
64
68
  private consumeMessages;
65
69
  private drainStream;
66
70
  private attemptReconnect;
71
+ private rebuildClient;
72
+ private closeOldClient;
73
+ private handleAllBrokersDown;
67
74
  private destroyDeadStream;
68
75
  private closeStream;
76
+ protected unconfigureBrokerEvents(): void;
69
77
  protected configureBrokerEvents(): void;
70
78
  }
71
79
  //# sourceMappingURL=consumer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../../../../src/modules/queue/kafka/consumer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAKV,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EAUtB,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,mBAAmB,CAC9B,OAAO,GAAG,MAAM,EAChB,SAAS,GAAG,MAAM,EAClB,aAAa,GAAG,MAAM,EACtB,eAAe,GAAG,MAAM,CACxB,SAAQ,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;IACrF,OAAO,CAAC,MAAM,CAAmF;IACjG,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,mBAAmB,CAA0C;IACrE,OAAO,CAAC,mBAAmB,CAAS;IAGpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAKzB;IACF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAK7B;IACF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAK9B;IAGF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAA2B;IACzD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAA+B;IACjE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAA+B;IAGjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAyB;gBAEzC,IAAI,EAAE,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC;IAuD3F,MAAM,CAAC,WAAW,CAChB,OAAO,GAAG,MAAM,EAChB,SAAS,GAAG,MAAM,EAClB,aAAa,GAAG,MAAM,EACtB,eAAe,GAAG,MAAM,EACxB,IAAI,EAAE,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC;IAIjF,WAAW,IAAI,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC;IAI3E,SAAS,IAAI,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC,GAAG,IAAI;IAI7E,OAAO,IAAI,OAAO;IAIrB,KAAK,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC3D,kBAAkB,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAmBvE,iBAAiB,IAAI,IAAI;cAWN,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAYzC,KAAK,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAqB1C,gBAAgB;YA0Bf,eAAe;YAgDf,WAAW;YAwBZ,gBAAgB;IAsD9B,OAAO,CAAC,iBAAiB;YAMX,WAAW;cAeN,qBAAqB,IAAI,IAAI;CA8EjD"}
1
+ {"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../../../../src/modules/queue/kafka/consumer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAKV,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EAUtB,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,mBAAmB,CAC9B,OAAO,GAAG,MAAM,EAChB,SAAS,GAAG,MAAM,EAClB,aAAa,GAAG,MAAM,EACtB,eAAe,GAAG,MAAM,CACxB,SAAQ,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;IACrF,OAAO,CAAC,MAAM,CAAmF;IACjG,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,mBAAmB,CAA0C;IACrE,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,oBAAoB,CAAwD;IACpF,OAAO,CAAC,kBAAkB,CAAS;IAGnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAKzB;IACF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAK7B;IACF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAK9B;IAGF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAA2B;IACzD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAA+B;IACjE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAA+B;IAGjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAyB;IAErD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;gBAEU,IAAI,EAAE,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC;IA+B3F,MAAM,CAAC,WAAW,CAChB,OAAO,GAAG,MAAM,EAChB,SAAS,GAAG,MAAM,EAClB,aAAa,GAAG,MAAM,EACtB,eAAe,GAAG,MAAM,EACxB,IAAI,EAAE,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC;IAIjF,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAoClC,WAAW,IAAI,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC;IAI3E,SAAS,IAAI,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,CAAC,GAAG,IAAI;IAI7E,OAAO,IAAI,OAAO;IAIrB,KAAK,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC3D,kBAAkB,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAoBvE,iBAAiB,IAAI,IAAI;cAYN,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAYzC,KAAK,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAqB1C,gBAAgB;YA0Bf,eAAe;YAgDf,WAAW;YAwBZ,gBAAgB;YAoFhB,aAAa;YAoCb,cAAc;IA0B5B,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,iBAAiB;YAKX,WAAW;cAeN,uBAAuB,IAAI,IAAI;cAU/B,qBAAqB,IAAI,IAAI;CAyEjD"}