@message-queue-toolkit/core 16.0.1 → 17.1.0

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,18 +1,26 @@
1
+ import { type ErrorReporter, type TransactionObservabilityManager } from '@lokalise/node-core';
1
2
  import type { MetadataFiller } from '../messages/MetadataFiller';
2
3
  import type { HandlerSpy, HandlerSpyParams, PublicHandlerSpy } from '../queues/HandlerSpy';
3
4
  import type { ConsumerMessageMetadataType } from '@message-queue-toolkit/schemas';
5
+ import type { Logger } from '../types/MessageQueueTypes';
4
6
  import type { EventRegistry } from './EventRegistry';
5
7
  import type { AnyEventHandler, CommonEventDefinition, CommonEventDefinitionConsumerSchemaType, CommonEventDefinitionPublisherSchemaType, EventTypeNames, SingleEventHandler } from './eventTypes';
8
+ export type DomainEventEmitterDependencies<SupportedEvents extends CommonEventDefinition[]> = {
9
+ eventRegistry: EventRegistry<SupportedEvents>;
10
+ metadataFiller: MetadataFiller;
11
+ logger: Logger;
12
+ errorReporter?: ErrorReporter;
13
+ transactionObservabilityManager?: TransactionObservabilityManager;
14
+ };
6
15
  export declare class DomainEventEmitter<SupportedEvents extends CommonEventDefinition[]> {
7
16
  private readonly eventRegistry;
8
- private readonly eventHandlerMap;
9
- private readonly anyHandlers;
10
17
  private readonly metadataFiller;
11
- private _handlerSpy;
12
- constructor({ eventRegistry, metadataFiller, }: {
13
- eventRegistry: EventRegistry<SupportedEvents>;
14
- metadataFiller: MetadataFiller;
15
- }, options?: {
18
+ private readonly logger;
19
+ private readonly errorReporter?;
20
+ private readonly transactionObservabilityManager?;
21
+ private readonly _handlerSpy?;
22
+ private readonly eventHandlerMap;
23
+ constructor(deps: DomainEventEmitterDependencies<SupportedEvents>, options?: {
16
24
  handlerSpy?: HandlerSpy<object> | HandlerSpyParams | boolean;
17
25
  });
18
26
  get handlerSpy(): PublicHandlerSpy<CommonEventDefinitionPublisherSchemaType<SupportedEvents[number]>>;
@@ -20,14 +28,16 @@ export declare class DomainEventEmitter<SupportedEvents extends CommonEventDefin
20
28
  /**
21
29
  * Register handler for a specific event
22
30
  */
23
- on<EventTypeName extends EventTypeNames<SupportedEvents[number]>>(eventTypeName: EventTypeName, handler: SingleEventHandler<SupportedEvents, EventTypeName>): void;
31
+ on<EventTypeName extends EventTypeNames<SupportedEvents[number]>>(eventTypeName: EventTypeName, handler: SingleEventHandler<SupportedEvents, EventTypeName>, isBackgroundHandler?: boolean): void;
24
32
  /**
25
33
  * Register handler for multiple events
26
34
  */
27
- onMany<EventTypeName extends EventTypeNames<SupportedEvents[number]>>(eventTypeNames: EventTypeName[], handler: SingleEventHandler<SupportedEvents, EventTypeName>): void;
35
+ onMany<EventTypeName extends EventTypeNames<SupportedEvents[number]>>(eventTypeNames: EventTypeName[], handler: SingleEventHandler<SupportedEvents, EventTypeName>, isBackgroundHandler?: boolean): void;
28
36
  /**
29
37
  * Register handler for all events supported by the emitter
30
38
  */
31
- onAny(handler: AnyEventHandler<SupportedEvents>): void;
32
- private addOnHandler;
39
+ onAny(handler: AnyEventHandler<SupportedEvents>, isBackgroundHandler?: boolean): void;
40
+ private handleEvent;
41
+ private executeEventHandler;
42
+ private buildTransactionKey;
33
43
  }
@@ -3,17 +3,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DomainEventEmitter = void 0;
4
4
  const node_core_1 = require("@lokalise/node-core");
5
5
  const HandlerSpy_1 = require("../queues/HandlerSpy");
6
+ const node_crypto_1 = require("node:crypto");
6
7
  class DomainEventEmitter {
7
8
  eventRegistry;
8
- eventHandlerMap = {};
9
- anyHandlers = [];
10
9
  metadataFiller;
10
+ logger;
11
+ errorReporter;
12
+ transactionObservabilityManager;
11
13
  _handlerSpy;
12
- constructor({ eventRegistry, metadataFiller, }, options = {}) {
13
- this.eventRegistry = eventRegistry;
14
- this.metadataFiller = metadataFiller;
14
+ eventHandlerMap;
15
+ constructor(deps, options = {}) {
16
+ this.eventRegistry = deps.eventRegistry;
17
+ this.metadataFiller = deps.metadataFiller;
18
+ this.logger = deps.logger;
19
+ this.errorReporter = deps.errorReporter;
20
+ this.transactionObservabilityManager = deps.transactionObservabilityManager;
15
21
  this._handlerSpy =
16
22
  (0, HandlerSpy_1.resolveHandlerSpy)(options);
23
+ this.eventHandlerMap = {};
17
24
  }
18
25
  get handlerSpy() {
19
26
  if (!this._handlerSpy) {
@@ -22,20 +29,6 @@ class DomainEventEmitter {
22
29
  return this._handlerSpy;
23
30
  }
24
31
  async emit(supportedEvent, data, precedingMessageMetadata) {
25
- if (!data.timestamp) {
26
- data.timestamp = this.metadataFiller.produceTimestamp();
27
- }
28
- if (!data.id) {
29
- data.id = this.metadataFiller.produceId();
30
- }
31
- if (!data.metadata) {
32
- data.metadata = this.metadataFiller.produceMetadata(
33
- // @ts-ignore
34
- data, supportedEvent, precedingMessageMetadata ?? {});
35
- }
36
- if (!data.metadata.correlationId) {
37
- data.metadata.correlationId = this.metadataFiller.produceId();
38
- }
39
32
  const eventTypeName = supportedEvent.publisherSchema.shape.type.value;
40
33
  if (!this.eventRegistry.isSupportedEvent(eventTypeName)) {
41
34
  throw new node_core_1.InternalError({
@@ -43,63 +36,98 @@ class DomainEventEmitter {
43
36
  message: `Unknown event ${eventTypeName}`,
44
37
  });
45
38
  }
46
- const eventHandlers = this.eventHandlerMap[eventTypeName];
47
- // No relevant handlers are registered, we can stop processing
48
- if (!eventHandlers && this.anyHandlers.length === 0) {
39
+ if (!data.timestamp)
40
+ data.timestamp = this.metadataFiller.produceTimestamp();
41
+ if (!data.id)
42
+ data.id = this.metadataFiller.produceId();
43
+ if (!data.metadata) {
44
+ data.metadata = this.metadataFiller.produceMetadata(
49
45
  // @ts-ignore
50
- return data;
46
+ data, supportedEvent, precedingMessageMetadata ?? {});
51
47
  }
48
+ if (!data.metadata.correlationId)
49
+ data.metadata.correlationId = this.metadataFiller.produceId();
52
50
  const validatedEvent = this.eventRegistry
53
51
  .getEventDefinitionByTypeName(eventTypeName)
54
- .publisherSchema.parse({
55
- type: eventTypeName,
56
- ...data,
57
- });
58
- if (eventHandlers) {
59
- for (const handler of eventHandlers) {
60
- await handler.handleEvent(validatedEvent);
61
- }
62
- }
63
- for (const handler of this.anyHandlers) {
64
- await handler.handleEvent(validatedEvent);
65
- }
66
- if (this._handlerSpy) {
67
- this._handlerSpy.addProcessedMessage({
68
- // @ts-ignore
69
- message: {
70
- ...validatedEvent,
71
- },
72
- processingResult: 'consumed',
73
- }, validatedEvent.id);
74
- }
52
+ .publisherSchema.parse({ type: eventTypeName, ...data });
53
+ await this.handleEvent(validatedEvent);
75
54
  // @ts-ignore
76
55
  return validatedEvent;
77
56
  }
78
57
  /**
79
58
  * Register handler for a specific event
80
59
  */
81
- on(eventTypeName, handler) {
82
- this.addOnHandler(eventTypeName, handler);
60
+ on(eventTypeName, handler, isBackgroundHandler = false) {
61
+ if (!this.eventHandlerMap[eventTypeName]) {
62
+ this.eventHandlerMap[eventTypeName] = { foreground: [], background: [] };
63
+ }
64
+ if (isBackgroundHandler)
65
+ this.eventHandlerMap[eventTypeName].background.push(handler);
66
+ else
67
+ this.eventHandlerMap[eventTypeName].foreground.push(handler);
83
68
  }
84
69
  /**
85
70
  * Register handler for multiple events
86
71
  */
87
- onMany(eventTypeNames, handler) {
72
+ onMany(eventTypeNames, handler, isBackgroundHandler = false) {
88
73
  for (const eventTypeName of eventTypeNames) {
89
- this.on(eventTypeName, handler);
74
+ this.on(eventTypeName, handler, isBackgroundHandler);
90
75
  }
91
76
  }
92
77
  /**
93
78
  * Register handler for all events supported by the emitter
94
79
  */
95
- onAny(handler) {
96
- this.anyHandlers.push(handler);
80
+ onAny(handler, isBackgroundHandler = false) {
81
+ this.onMany(Array.from(this.eventRegistry.supportedEventTypes), handler, isBackgroundHandler);
97
82
  }
98
- addOnHandler(eventTypeName, handler) {
99
- if (!this.eventHandlerMap[eventTypeName]) {
100
- this.eventHandlerMap[eventTypeName] = [];
83
+ async handleEvent(event) {
84
+ const eventHandlers = this.eventHandlerMap[event.type] ?? {
85
+ foreground: [],
86
+ background: [],
87
+ };
88
+ for (const handler of eventHandlers.foreground) {
89
+ await this.executeEventHandler(event, handler, false);
90
+ }
91
+ const bgPromises = eventHandlers.background.map((handler) => this.executeEventHandler(event, handler, true));
92
+ Promise.all(bgPromises).then(() => {
93
+ if (!this._handlerSpy)
94
+ return;
95
+ this._handlerSpy.addProcessedMessage({
96
+ // @ts-ignore
97
+ message: event,
98
+ processingResult: 'consumed',
99
+ }, event.id);
100
+ });
101
+ }
102
+ async executeEventHandler(event, handler, isBackgroundHandler) {
103
+ const transactionId = (0, node_crypto_1.randomUUID)();
104
+ let isSuccessful = false;
105
+ try {
106
+ this.transactionObservabilityManager?.startWithGroup(this.buildTransactionKey(event, handler, isBackgroundHandler), transactionId, event.type);
107
+ await handler.handleEvent(event);
108
+ isSuccessful = true;
101
109
  }
102
- this.eventHandlerMap[eventTypeName].push(handler);
110
+ catch (error) {
111
+ if (!isBackgroundHandler)
112
+ throw error;
113
+ const context = {
114
+ event: JSON.stringify(event),
115
+ eventHandlerId: handler.eventHandlerId,
116
+ 'x-request-id': event.metadata?.correlationId,
117
+ };
118
+ this.logger.error({
119
+ ...(0, node_core_1.resolveGlobalErrorLogObject)(error),
120
+ ...context,
121
+ });
122
+ // biome-ignore lint/suspicious/noExplicitAny: TODO: improve error type
123
+ this.errorReporter?.report({ error: error, context });
124
+ }
125
+ finally {
126
+ this.transactionObservabilityManager?.stop(transactionId, isSuccessful);
127
+ }
128
+ }
129
+ buildTransactionKey(event, handler, isBackgroundHandler) {
130
+ return `${isBackgroundHandler ? 'bg' : 'fg'}_event_listener:${event.type}:${handler.eventHandlerId}`;
103
131
  }
104
132
  }
105
133
  exports.DomainEventEmitter = DomainEventEmitter;
@@ -1 +1 @@
1
- {"version":3,"file":"DomainEventEmitter.js","sourceRoot":"","sources":["../../../lib/events/DomainEventEmitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DomainEventEmitter.js","sourceRoot":"","sources":["../../../lib/events/DomainEventEmitter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { CommonEventDefinition, EventTypeNames } from './eventTypes';
2
2
  export declare class EventRegistry<SupportedEvents extends CommonEventDefinition[]> {
3
3
  readonly supportedEvents: SupportedEvents;
4
- private readonly supportedEventsSet;
4
+ readonly supportedEventTypes: Set<string>;
5
5
  private readonly supportedEventMap;
6
6
  constructor(supportedEvents: SupportedEvents);
7
7
  getEventDefinitionByTypeName: <EventTypeName extends EventTypeNames<SupportedEvents[number]>>(eventTypeName: EventTypeName) => CommonEventDefinition;
@@ -3,21 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EventRegistry = void 0;
4
4
  class EventRegistry {
5
5
  supportedEvents;
6
- supportedEventsSet;
6
+ supportedEventTypes;
7
7
  supportedEventMap = {};
8
8
  constructor(supportedEvents) {
9
9
  this.supportedEvents = supportedEvents;
10
- this.supportedEventsSet = new Set();
10
+ this.supportedEventTypes = new Set();
11
11
  for (const supportedEvent of supportedEvents) {
12
12
  this.supportedEventMap[supportedEvent.consumerSchema.shape.type.value] = supportedEvent;
13
- this.supportedEventsSet.add(supportedEvent.consumerSchema.shape.type.value);
13
+ this.supportedEventTypes.add(supportedEvent.consumerSchema.shape.type.value);
14
14
  }
15
15
  }
16
16
  getEventDefinitionByTypeName = (eventTypeName) => {
17
17
  return this.supportedEventMap[eventTypeName];
18
18
  };
19
19
  isSupportedEvent(eventTypeName) {
20
- return this.supportedEventsSet.has(eventTypeName);
20
+ return this.supportedEventTypes.has(eventTypeName);
21
21
  }
22
22
  }
23
23
  exports.EventRegistry = EventRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"EventRegistry.js","sourceRoot":"","sources":["../../../lib/events/EventRegistry.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IACR,eAAe,CAAiB;IAC/B,kBAAkB,CAAa;IAC/B,iBAAiB,GAA0C,EAAE,CAAA;IAE9E,YAAY,eAAgC;QAC1C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAA;QAE3C,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;YAC7C,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,cAAc,CAAA;YACvF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;IAEM,4BAA4B,GAAG,CAGpC,aAA4B,EACL,EAAE;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC9C,CAAC,CAAA;IAEM,gBAAgB,CAAC,aAAqB;QAC3C,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACnD,CAAC;CACF;AA1BD,sCA0BC"}
1
+ {"version":3,"file":"EventRegistry.js","sourceRoot":"","sources":["../../../lib/events/EventRegistry.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IACR,eAAe,CAAiB;IAChC,mBAAmB,CAAa;IAC/B,iBAAiB,GAA0C,EAAE,CAAA;IAE9E,YAAY,eAAgC;QAC1C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAA;QAE5C,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;YAC7C,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,cAAc,CAAA;YACvF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC9E,CAAC;IACH,CAAC;IAEM,4BAA4B,GAAG,CAGpC,aAA4B,EACL,EAAE;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC9C,CAAC,CAAA;IAEM,gBAAgB,CAAC,aAAqB;QAC3C,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACpD,CAAC;CACF;AA1BD,sCA0BC"}
@@ -1,6 +1,8 @@
1
1
  import type { AnyEventHandler, CommonEventDefinition } from '../eventTypes';
2
2
  export declare class FakeListener<SupportedEvents extends CommonEventDefinition[]> implements AnyEventHandler<SupportedEvents> {
3
+ readonly eventHandlerId: string;
3
4
  receivedEvents: SupportedEvents[number]['publisherSchema']['_output'][];
4
- constructor(_supportedEvents: SupportedEvents);
5
- handleEvent(event: SupportedEvents[number]['publisherSchema']['_output']): void | Promise<void>;
5
+ private readonly delay;
6
+ constructor(delayMs?: number);
7
+ handleEvent(event: SupportedEvents[number]['publisherSchema']['_output']): Promise<void>;
6
8
  }
@@ -1,12 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FakeListener = void 0;
4
+ const promises_1 = require("node:timers/promises");
4
5
  class FakeListener {
6
+ eventHandlerId = this.constructor.name;
5
7
  receivedEvents = [];
6
- constructor(_supportedEvents) {
8
+ delay;
9
+ constructor(delayMs) {
7
10
  this.receivedEvents = [];
11
+ this.delay = delayMs ?? 0;
8
12
  }
9
- handleEvent(event) {
13
+ async handleEvent(event) {
14
+ if (this.delay > 0)
15
+ await (0, promises_1.setTimeout)(this.delay);
10
16
  this.receivedEvents.push(event);
11
17
  }
12
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FakeListener.js","sourceRoot":"","sources":["../../../../lib/events/fakes/FakeListener.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IAGhB,cAAc,GAA4D,EAAE,CAAA;IAEnF,YAAY,gBAAiC;QAC3C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAA;IAC1B,CAAC;IAED,WAAW,CAAC,KAA4D;QACtE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;CACF;AAZD,oCAYC"}
1
+ {"version":3,"file":"FakeListener.js","sourceRoot":"","sources":["../../../../lib/events/fakes/FakeListener.ts"],"names":[],"mappings":";;;AAAA,mDAAiD;AAGjD,MAAa,YAAY;IAGd,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAExC,cAAc,GAA4D,EAAE,CAAA;IAClE,KAAK,CAAQ;IAE9B,YAAY,OAAgB;QAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAA;QACxB,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA4D;QAC5E,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;YAAE,MAAM,IAAA,qBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;CACF;AAjBD,oCAiBC"}
@@ -70,7 +70,7 @@ class AbstractPublisherManager {
70
70
  async publish(eventTarget, message, precedingEventMetadata, messageOptions) {
71
71
  const publisher = this.targetToPublisherMap[eventTarget];
72
72
  if (!publisher) {
73
- throw new Error(`No publisher for target ${eventTarget}`);
73
+ throw new Error(`No publisher for target ${eventTarget} - did you perhaps forget to update supportedEvents passed to EventRegistry?`);
74
74
  }
75
75
  const messageDefinition = this.resolveMessageDefinition(eventTarget, message);
76
76
  if (!messageDefinition) {
@@ -122,7 +122,7 @@ class AbstractPublisherManager {
122
122
  handlerSpy(eventTarget) {
123
123
  const publisher = this.targetToPublisherMap[eventTarget];
124
124
  if (!publisher) {
125
- throw new Error(`No publisher for target ${eventTarget}`);
125
+ throw new Error(`No publisher for target ${eventTarget} - did you perhaps forget to update supportedEvents passed to EventRegistry?`);
126
126
  }
127
127
  return publisher.handlerSpy;
128
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractPublisherManager.js","sourceRoot":"","sources":["../../../lib/queues/AbstractPublisherManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractPublisherManager.js","sourceRoot":"","sources":["../../../lib/queues/AbstractPublisherManager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@message-queue-toolkit/core",
3
- "version": "16.0.1",
3
+ "version": "17.1.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "description": "Useful utilities, interfaces and base classes for message queue handling. Supports AMQP and SQS with a common abstraction on top currently",
@@ -25,8 +25,8 @@
25
25
  "prepublishOnly": "npm run build:release"
26
26
  },
27
27
  "dependencies": {
28
- "@lokalise/node-core": "^11.2.0",
29
- "@message-queue-toolkit/schemas": "^3.0.0",
28
+ "@lokalise/node-core": "^12.0.0",
29
+ "@message-queue-toolkit/schemas": "^4.0.0",
30
30
  "fast-equals": "^5.0.1",
31
31
  "json-stream-stringify": "^3.1.4",
32
32
  "tmp": "^0.2.3",
@@ -36,10 +36,10 @@
36
36
  "devDependencies": {
37
37
  "@biomejs/biome": "1.8.3",
38
38
  "@kibertoad/biome-config": "^1.2.1",
39
- "@types/node": "^20.12.8",
39
+ "@types/node": "^22.0.0",
40
40
  "@types/tmp": "^0.2.6",
41
41
  "@vitest/coverage-v8": "^2.0.4",
42
- "awilix": "^10.0.2",
42
+ "awilix": "^11.0.0",
43
43
  "awilix-manager": "^5.4.0",
44
44
  "del-cli": "^5.1.0",
45
45
  "typescript": "^5.5.4",