@nestjstools/messaging 4.1.1 → 4.2.0-beta.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.
Files changed (31) hide show
  1. package/lib/bus/in-memory-message-bus.factory.d.ts +3 -1
  2. package/lib/bus/in-memory-message-bus.factory.js +6 -3
  3. package/lib/bus/in-memory-message-bus.factory.js.map +1 -1
  4. package/lib/bus/in-memory-message.bus.d.ts +3 -1
  5. package/lib/bus/in-memory-message.bus.js +19 -10
  6. package/lib/bus/in-memory-message.bus.js.map +1 -1
  7. package/lib/consumer/distributed.consumer.js.map +1 -1
  8. package/lib/dependency-injection/decorator.d.ts +3 -0
  9. package/lib/dependency-injection/decorator.js +8 -1
  10. package/lib/dependency-injection/decorator.js.map +1 -1
  11. package/lib/dependency-injection/register.d.ts +1 -0
  12. package/lib/dependency-injection/register.js +13 -8
  13. package/lib/dependency-injection/register.js.map +1 -1
  14. package/lib/index.d.ts +1 -0
  15. package/lib/index.js +1 -0
  16. package/lib/index.js.map +1 -1
  17. package/lib/lifecycle-hook/messaging-lifecycle-hook-handler.d.ts +9 -0
  18. package/lib/lifecycle-hook/messaging-lifecycle-hook-handler.js +41 -0
  19. package/lib/lifecycle-hook/messaging-lifecycle-hook-handler.js.map +1 -0
  20. package/lib/lifecycle-hook/messaging-lifecycle-hook-listener.d.ts +10 -0
  21. package/lib/lifecycle-hook/messaging-lifecycle-hook-listener.js +10 -0
  22. package/lib/lifecycle-hook/messaging-lifecycle-hook-listener.js.map +1 -0
  23. package/lib/lifecycle-hook/messaging-lifecycle-hook.registry.d.ts +5 -0
  24. package/lib/lifecycle-hook/messaging-lifecycle-hook.registry.js +19 -0
  25. package/lib/lifecycle-hook/messaging-lifecycle-hook.registry.js.map +1 -0
  26. package/lib/messaging.module.js +8 -2
  27. package/lib/messaging.module.js.map +1 -1
  28. package/lib/shared/base-registry.d.ts +1 -1
  29. package/lib/shared/base-registry.js.map +1 -1
  30. package/lib/tsconfig.build.tsbuildinfo +1 -1
  31. package/package.json +1 -1
@@ -4,10 +4,12 @@ import { MiddlewareRegistry } from '../middleware/middleware.registry';
4
4
  import { InMemoryChannel } from '../channel/in-memory.channel';
5
5
  import { IMessageBusFactory } from './i-message-bus.factory';
6
6
  import { NormalizerRegistry } from '../normalizer/normalizer.registry';
7
+ import { MessagingLifecycleHookHandler } from '../lifecycle-hook/messaging-lifecycle-hook-handler';
7
8
  export declare class InMemoryMessageBusFactory implements IMessageBusFactory<InMemoryChannel> {
8
9
  private registry;
9
10
  private middlewareRegistry;
10
11
  private messageNormalizerRegistry;
11
- constructor(registry: MessageHandlerRegistry, middlewareRegistry: MiddlewareRegistry, messageNormalizerRegistry: NormalizerRegistry);
12
+ private messagingHookHandler;
13
+ constructor(registry: MessageHandlerRegistry, middlewareRegistry: MiddlewareRegistry, messageNormalizerRegistry: NormalizerRegistry, messagingHookHandler: MessagingLifecycleHookHandler);
12
14
  create(channel: InMemoryChannel): IMessageBus;
13
15
  }
@@ -21,14 +21,16 @@ const in_memory_channel_1 = require("../channel/in-memory.channel");
21
21
  const decorator_1 = require("../dependency-injection/decorator");
22
22
  const in_memory_message_bus_1 = require("./in-memory-message.bus");
23
23
  const normalizer_registry_1 = require("../normalizer/normalizer.registry");
24
+ const messaging_lifecycle_hook_handler_1 = require("../lifecycle-hook/messaging-lifecycle-hook-handler");
24
25
  let InMemoryMessageBusFactory = class InMemoryMessageBusFactory {
25
- constructor(registry, middlewareRegistry, messageNormalizerRegistry) {
26
+ constructor(registry, middlewareRegistry, messageNormalizerRegistry, messagingHookHandler) {
26
27
  this.registry = registry;
27
28
  this.middlewareRegistry = middlewareRegistry;
28
29
  this.messageNormalizerRegistry = messageNormalizerRegistry;
30
+ this.messagingHookHandler = messagingHookHandler;
29
31
  }
30
32
  create(channel) {
31
- return new in_memory_message_bus_1.InMemoryMessageBus(this.registry, this.middlewareRegistry, channel, this.messageNormalizerRegistry);
33
+ return new in_memory_message_bus_1.InMemoryMessageBus(this.registry, this.middlewareRegistry, channel, this.messageNormalizerRegistry, this.messagingHookHandler);
32
34
  }
33
35
  };
34
36
  exports.InMemoryMessageBusFactory = InMemoryMessageBusFactory;
@@ -40,6 +42,7 @@ exports.InMemoryMessageBusFactory = InMemoryMessageBusFactory = __decorate([
40
42
  __param(2, (0, common_1.Inject)(service_1.Service.MESSAGE_NORMALIZERS_REGISTRY)),
41
43
  __metadata("design:paramtypes", [message_handler_registry_1.MessageHandlerRegistry,
42
44
  middleware_registry_1.MiddlewareRegistry,
43
- normalizer_registry_1.NormalizerRegistry])
45
+ normalizer_registry_1.NormalizerRegistry,
46
+ messaging_lifecycle_hook_handler_1.MessagingLifecycleHookHandler])
44
47
  ], InMemoryMessageBusFactory);
45
48
  //# sourceMappingURL=in-memory-message-bus.factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-message-bus.factory.js","sourceRoot":"","sources":["../../src/bus/in-memory-message-bus.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,kFAA6E;AAC7E,6DAA0D;AAC1D,2EAAuE;AACvE,oEAA+D;AAC/D,iEAAsE;AACtE,mEAA6D;AAE7D,2EAAuE;AAIhE,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACpC,YAEU,QAAgC,EAEhC,kBAAsC,EAEtC,yBAA6C;QAJ7C,aAAQ,GAAR,QAAQ,CAAwB;QAEhC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAEtC,8BAAyB,GAAzB,yBAAyB,CAAoB;IACpD,CAAC;IAEJ,MAAM,CAAC,OAAwB;QAC7B,OAAO,IAAI,0CAAkB,CAC3B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,kBAAkB,EACvB,OAAO,EACP,IAAI,CAAC,yBAAyB,CAC/B,CAAC;IACJ,CAAC;CACF,CAAA;AAlBY,8DAAyB;oCAAzB,yBAAyB;IAFrC,IAAA,mBAAU,GAAE;IACZ,IAAA,6BAAiB,EAAC,mCAAe,CAAC;IAG9B,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,yBAAyB,CAAC,CAAA;IAEzC,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,mBAAmB,CAAC,CAAA;IAEnC,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,4BAA4B,CAAC,CAAA;qCAH3B,iDAAsB;QAEZ,wCAAkB;QAEX,wCAAkB;GAP5C,yBAAyB,CAkBrC"}
1
+ {"version":3,"file":"in-memory-message-bus.factory.js","sourceRoot":"","sources":["../../src/bus/in-memory-message-bus.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,kFAA6E;AAC7E,6DAA0D;AAC1D,2EAAuE;AACvE,oEAA+D;AAC/D,iEAAsE;AACtE,mEAA6D;AAE7D,2EAAuE;AACvE,yGAAmG;AAI5F,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACpC,YAEU,QAAgC,EAEhC,kBAAsC,EAEtC,yBAA6C,EAC7C,oBAAmD;QALnD,aAAQ,GAAR,QAAQ,CAAwB;QAEhC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAEtC,8BAAyB,GAAzB,yBAAyB,CAAoB;QAC7C,yBAAoB,GAApB,oBAAoB,CAA+B;IAE7D,CAAC;IAED,MAAM,CAAC,OAAwB;QAC7B,OAAO,IAAI,0CAAkB,CAC3B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,kBAAkB,EACvB,OAAO,EACP,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,oBAAoB,CAC1B,CAAC;IACJ,CAAC;CACF,CAAA;AArBY,8DAAyB;oCAAzB,yBAAyB;IAFrC,IAAA,mBAAU,GAAE;IACZ,IAAA,6BAAiB,EAAC,mCAAe,CAAC;IAG9B,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,yBAAyB,CAAC,CAAA;IAEzC,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,mBAAmB,CAAC,CAAA;IAEnC,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,4BAA4B,CAAC,CAAA;qCAH3B,iDAAsB;QAEZ,wCAAkB;QAEX,wCAAkB;QACvB,gEAA6B;GARlD,yBAAyB,CAqBrC"}
@@ -4,11 +4,13 @@ import { MiddlewareRegistry } from '../middleware/middleware.registry';
4
4
  import { InMemoryChannel } from '../channel/in-memory.channel';
5
5
  import { Message } from '../message/message';
6
6
  import { NormalizerRegistry } from '../normalizer/normalizer.registry';
7
+ import { MessagingLifecycleHookHandler } from '../lifecycle-hook/messaging-lifecycle-hook-handler';
7
8
  export declare class InMemoryMessageBus implements IMessageBus {
8
9
  private registry;
9
10
  private middlewareRegistry;
10
11
  private channel;
11
12
  private normalizerRegistry;
12
- constructor(registry: MessageHandlerRegistry, middlewareRegistry: MiddlewareRegistry, channel: InMemoryChannel, normalizerRegistry: NormalizerRegistry);
13
+ private messagingHookHandler;
14
+ constructor(registry: MessageHandlerRegistry, middlewareRegistry: MiddlewareRegistry, channel: InMemoryChannel, normalizerRegistry: NormalizerRegistry, messagingHookHandler: MessagingLifecycleHookHandler);
13
15
  dispatch(message: Message): Promise<object | void>;
14
16
  }
@@ -11,15 +11,29 @@ const message_factory_1 = require("../message/message.factory");
11
11
  const routing_message_1 = require("../message/routing-message");
12
12
  const default_message_options_1 = require("../message/default-message-options");
13
13
  class InMemoryMessageBus {
14
- constructor(registry, middlewareRegistry, channel, normalizerRegistry) {
14
+ constructor(registry, middlewareRegistry, channel, normalizerRegistry, messagingHookHandler) {
15
15
  this.registry = registry;
16
16
  this.middlewareRegistry = middlewareRegistry;
17
17
  this.channel = channel;
18
18
  this.normalizerRegistry = normalizerRegistry;
19
+ this.messagingHookHandler = messagingHookHandler;
19
20
  }
20
21
  async dispatch(message) {
21
22
  const middlewares = [];
23
+ // Execution order: channel middlewares -> message middlewares -> handler middleware.
22
24
  middlewares.push(...(this.channel.config?.middlewares ?? []), ...(message.messageOptions?.middlewares ?? []), handler_middleware_1.HandlerMiddleware);
25
+ let messageToDispatch = message instanceof routing_message_1.RoutingMessage ? message.message : {};
26
+ if (message instanceof sealed_routing_message_1.SealedRoutingMessage) {
27
+ // Sealed messages carry raw payload and must be denormalized before dispatch.
28
+ const normalizerDefinition = message.messageOptions instanceof default_message_options_1.DefaultMessageOptions
29
+ ? message.messageOptions.normalizer
30
+ : object_forward_message_normalizer_1.ObjectForwardMessageNormalizer;
31
+ messageToDispatch = await this.normalizerRegistry
32
+ .getByName(normalizerDefinition['name'])
33
+ .denormalize(message.message, message.messageRoutingKey);
34
+ }
35
+ // Hook fired once the payload shape is ready for handler pipeline.
36
+ await this.messagingHookHandler.handleAfterMessageDenormalized(message_factory_1.MessageFactory.creteRoutingFromMessage(messageToDispatch, message));
23
37
  try {
24
38
  this.registry.getByRoutingKey(message.messageRoutingKey);
25
39
  }
@@ -36,6 +50,7 @@ class InMemoryMessageBus {
36
50
  message.messageOptions?.avoidErrorsWhenNotExistedHandler ??
37
51
  avoidErrorsForNonExistedHandlers;
38
52
  }
53
+ // Missing handler can be configured as no-op for fire-and-forget scenarios.
39
54
  if (avoidErrorsForNonExistedHandlers) {
40
55
  return Promise.resolve();
41
56
  }
@@ -43,16 +58,10 @@ class InMemoryMessageBus {
43
58
  }
44
59
  const middlewareInstances = middlewares.map((middleware) => this.middlewareRegistry.getByName(decorator_extractor_1.DecoratorExtractor.extractMessageMiddleware(middleware)));
45
60
  const context = middleware_context_1.MiddlewareContext.createFresh(middlewareInstances);
46
- let messageToDispatch = message instanceof routing_message_1.RoutingMessage ? message.message : {};
47
- if (message instanceof sealed_routing_message_1.SealedRoutingMessage) {
48
- const normalizerDefinition = message.messageOptions instanceof default_message_options_1.DefaultMessageOptions
49
- ? message.messageOptions.normalizer
50
- : object_forward_message_normalizer_1.ObjectForwardMessageNormalizer;
51
- messageToDispatch = await this.normalizerRegistry
52
- .getByName(normalizerDefinition['name'])
53
- .denormalize(message.message, message.messageRoutingKey);
54
- }
61
+ // Hook around handler execution.
62
+ await this.messagingHookHandler.handleBeforeMessageHandler(message_factory_1.MessageFactory.creteRoutingFromMessage(messageToDispatch, message));
55
63
  const response = await middlewareInstances[0].process(message_factory_1.MessageFactory.creteRoutingFromMessage(messageToDispatch, message), context);
64
+ await this.messagingHookHandler.handleAfterMessageHandlerExecuted(message_factory_1.MessageFactory.creteRoutingFromMessage(messageToDispatch, message));
56
65
  return Promise.resolve(response);
57
66
  }
58
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-message.bus.js","sourceRoot":"","sources":["../../src/bus/in-memory-message.bus.ts"],"names":[],"mappings":";;;AAGA,oEAA+D;AAC/D,yEAAqE;AACrE,yEAAqE;AACrE,uEAAmE;AAEnE,8EAAyE;AACzE,uGAAiG;AACjG,gEAA4D;AAE5D,gEAA4D;AAE5D,gFAA2E;AAE3E,MAAa,kBAAkB;IAC7B,YACU,QAAgC,EAChC,kBAAsC,EACtC,OAAwB,EACxB,kBAAsC;QAHtC,aAAQ,GAAR,QAAQ,CAAwB;QAChC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,YAAO,GAAP,OAAO,CAAiB;QACxB,uBAAkB,GAAlB,kBAAkB,CAAoB;IAC7C,CAAC;IAEJ,KAAK,CAAC,QAAQ,CAAC,OAAgB;QAC7B,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,WAAW,CAAC,IAAI,CACd,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,CAAC,EAC3C,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,IAAI,EAAE,CAAC,EAC9C,sCAAiB,CAClB,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,gCAAgC,GAAG,IAAI,CAAC;YAE5C,IACE,IAAI,CAAC,OAAO,YAAY,mCAAe;gBACvC,aAAa,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAC1C,CAAC;gBACD,gCAAgC;oBAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gCAAgC;wBACpD,gCAAgC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,gCAAgC;oBAC9B,OAAO,CAAC,cAAc,EAAE,gCAAgC;wBACxD,gCAAgC,CAAC;YACrC,CAAC;YAED,IAAI,gCAAgC,EAAE,CAAC;gBACrC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;YAED,MAAM,CAAC,CAAC;QACV,CAAC;QAED,MAAM,mBAAmB,GAAiB,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CACvE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAC/B,wCAAkB,CAAC,wBAAwB,CAAC,UAAU,CAAC,CACxD,CACF,CAAC;QACF,MAAM,OAAO,GAAG,sCAAiB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QAEnE,IAAI,iBAAiB,GACnB,OAAO,YAAY,gCAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3D,IAAI,OAAO,YAAY,6CAAoB,EAAE,CAAC;YAC5C,MAAM,oBAAoB,GACxB,OAAO,CAAC,cAAc,YAAY,+CAAqB;gBACrD,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU;gBACnC,CAAC,CAAC,kEAA8B,CAAC;YAErC,iBAAiB,GAAG,MAAM,IAAI,CAAC,kBAAkB;iBAC9C,SAAS,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;iBACvC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CACnD,gCAAc,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAClE,OAAO,CACR,CAAC;QAEF,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;CACF;AArED,gDAqEC"}
1
+ {"version":3,"file":"in-memory-message.bus.js","sourceRoot":"","sources":["../../src/bus/in-memory-message.bus.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"distributed.consumer.js","sourceRoot":"","sources":["../../src/consumer/distributed.consumer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwC;AACxC,uCAAgD;AAChD,6DAA0D;AAE1D,kEAA8D;AAE9D,oEAA+D;AAC/D,iEAA8E;AAE9E,iGAA4F;AAC5F,sEAAiE;AAEjE,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAC9B,YAEmB,UAAuB,EAEvB,eAAgC,EAEhC,wBAAkD,EAC1B,MAAuB,EAC/C,gBAAkC;QANlC,eAAU,GAAV,UAAU,CAAa;QAEvB,oBAAe,GAAf,eAAe,CAAiB;QAEhC,6BAAwB,GAAxB,wBAAwB,CAA0B;QAC1B,WAAM,GAAN,MAAM,CAAiB;QAC/C,qBAAgB,GAAhB,gBAAgB,CAAkB;IAClD,CAAC;IAEJ,KAAK,CAAC,GAAG;QACP,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,IACE,OAAO,YAAY,mCAAe;gBAClC,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,cAAc,EACvC,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB;iBAC1C,YAAY,EAAE;iBACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACvB,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,OAAO,OAAO,CAAC,WAAW,CACxB,qCAAyB,EACzB,QAAQ,CAAC,QAAQ,CAClB,CAAC;YACJ,CAAC,CAAC;iBACD,MAAM,CACL,CAAC,QAAQ,EAAE,EAAE,CACX,OAAO,CAAC,WAAW,CAAC,qCAAyB,EAAE,QAAQ,CAAC,QAAQ,CAAC;iBAC9D,IAAI,KAAK,OAAO,CAAC,WAAW,CAAC,IAAI,CACvC,CAAC;YAEJ,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,CAAC,WAAW,CAAC,IAAI,iBAAiB,CAClE,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAA4B,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAEtE,MAAM,UAAU,GAAG,IAAI,yCAAkB,CACvC,IAAI,CAAC,UAAU,EACf,OAAO,EACP,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,IAAI,CAAC,wBAAwB,CAC9B,CAAC;YAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAE5C,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,yBAAyB,OAAO,CAAC,MAAM,CAAC,IAAI,+BAA+B,CAC5E,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AA9DY,kDAAmB;8BAAnB,mBAAmB;IAE3B,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,mBAAmB,CAAC,CAAA;IAEnC,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,gBAAgB,CAAC,CAAA;IAEhC,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,0BAA0B,CAAC,CAAA;IAE1C,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,MAAM,CAAC,CAAA;6CAHW,kCAAe;QAEN,qDAAwB,UAEhC,uBAAgB;GAT1C,mBAAmB,CA8D/B"}
1
+ {"version":3,"file":"distributed.consumer.js","sourceRoot":"","sources":["../../src/consumer/distributed.consumer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwC;AACxC,uCAAgD;AAChD,6DAA0D;AAE1D,kEAA8D;AAE9D,oEAA+D;AAC/D,iEAA8E;AAE9E,iGAA4F;AAC5F,sEAAiE;AAEjE,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAC9B,YAEmB,UAAuB,EAEvB,eAAgC,EAEhC,wBAAkD,EAC1B,MAAuB,EAC/C,gBAAkC;QANlC,eAAU,GAAV,UAAU,CAAa;QAEvB,oBAAe,GAAf,eAAe,CAAiB;QAEhC,6BAAwB,GAAxB,wBAAwB,CAA0B;QAC1B,WAAM,GAAN,MAAM,CAAiB;QAC/C,qBAAgB,GAAhB,gBAAgB,CAAkB;IAErD,CAAC;IAED,KAAK,CAAC,GAAG;QACP,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,IACE,OAAO,YAAY,mCAAe;gBAClC,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,cAAc,EACvC,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB;iBAC1C,YAAY,EAAE;iBACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACvB,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,OAAO,OAAO,CAAC,WAAW,CACxB,qCAAyB,EACzB,QAAQ,CAAC,QAAQ,CAClB,CAAC;YACJ,CAAC,CAAC;iBACD,MAAM,CACL,CAAC,QAAQ,EAAE,EAAE,CACX,OAAO,CAAC,WAAW,CAAC,qCAAyB,EAAE,QAAQ,CAAC,QAAQ,CAAC;iBAC9D,IAAI,KAAK,OAAO,CAAC,WAAW,CAAC,IAAI,CACvC,CAAC;YAEJ,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,CAAC,WAAW,CAAC,IAAI,iBAAiB,CAClE,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAA4B,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAEtE,MAAM,UAAU,GAAG,IAAI,yCAAkB,CACvC,IAAI,CAAC,UAAU,EACf,OAAO,EACP,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,IAAI,CAAC,wBAAwB,CAC9B,CAAC;YAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAE5C,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,yBAAyB,OAAO,CAAC,MAAM,CAAC,IAAI,+BAA+B,CAC5E,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AA/DY,kDAAmB;8BAAnB,mBAAmB;IAE3B,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,mBAAmB,CAAC,CAAA;IAEnC,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,gBAAgB,CAAC,CAAA;IAEhC,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,0BAA0B,CAAC,CAAA;IAE1C,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,MAAM,CAAC,CAAA;6CAHW,kCAAe;QAEN,qDAAwB,UAEhC,uBAAgB;GAT1C,mBAAmB,CA+D/B"}
@@ -1,4 +1,5 @@
1
1
  import { ChannelConfig } from '../config';
2
+ import { LifecycleHook } from '../lifecycle-hook/messaging-lifecycle-hook-listener';
2
3
  export declare const MESSAGE_HANDLER_METADATA = "MESSAGE_HANDLER_METADATA";
3
4
  export declare const CHANNEL_FACTORY_METADATA = "CHANNEL_FACTORY_METADATA";
4
5
  export declare const MESSAGE_BUS_FACTORY_METADATA = "MESSAGE_BUS_FACTORY_METADATA";
@@ -7,6 +8,7 @@ export declare const MESSAGING_MIDDLEWARE_METADATA = "MESSAGING_MIDDLEWARE_METAD
7
8
  export declare const MESSAGING_NORMALIZER_METADATA = "MESSAGING_NORMALIZER_METADATA";
8
9
  export declare const MESSAGING_EXCEPTION_LISTENER_METADATA = "MESSAGING_EXCEPTION_LISTENER_METADATA";
9
10
  export declare const MESSAGING_MESSAGE_METADATA = "MESSAGING_MESSAGE_METADATA";
11
+ export declare const MESSAGING_LIFECYCLE_HOOK_METADATA = "MESSAGING_LIFECYCLE_HOOK_METADATA";
10
12
  export declare const MessageHandler: (...routingKey: string[]) => ClassDecorator;
11
13
  export declare const ChannelFactory: (channelConfig: ChannelConfig) => ClassDecorator;
12
14
  export declare const MessageBusFactory: (channel: any) => ClassDecorator;
@@ -14,4 +16,5 @@ export declare const MessageConsumer: (channel: any) => ClassDecorator;
14
16
  export declare const MessagingMiddleware: (name?: string) => ClassDecorator;
15
17
  export declare const MessagingNormalizer: (name?: string) => ClassDecorator;
16
18
  export declare const MessagingExceptionListener: () => ClassDecorator;
19
+ export declare const MessagingLifecycleHook: (lifecycleHook: LifecycleHook) => ClassDecorator;
17
20
  export declare function DenormalizeMessage(): ParameterDecorator;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MessagingExceptionListener = exports.MessagingNormalizer = exports.MessagingMiddleware = exports.MessageConsumer = exports.MessageBusFactory = exports.ChannelFactory = exports.MessageHandler = exports.MESSAGING_MESSAGE_METADATA = exports.MESSAGING_EXCEPTION_LISTENER_METADATA = exports.MESSAGING_NORMALIZER_METADATA = exports.MESSAGING_MIDDLEWARE_METADATA = exports.MESSAGE_CONSUMER_METADATA = exports.MESSAGE_BUS_FACTORY_METADATA = exports.CHANNEL_FACTORY_METADATA = exports.MESSAGE_HANDLER_METADATA = void 0;
3
+ exports.MessagingLifecycleHook = exports.MessagingExceptionListener = exports.MessagingNormalizer = exports.MessagingMiddleware = exports.MessageConsumer = exports.MessageBusFactory = exports.ChannelFactory = exports.MessageHandler = exports.MESSAGING_LIFECYCLE_HOOK_METADATA = exports.MESSAGING_MESSAGE_METADATA = exports.MESSAGING_EXCEPTION_LISTENER_METADATA = exports.MESSAGING_NORMALIZER_METADATA = exports.MESSAGING_MIDDLEWARE_METADATA = exports.MESSAGE_CONSUMER_METADATA = exports.MESSAGE_BUS_FACTORY_METADATA = exports.CHANNEL_FACTORY_METADATA = exports.MESSAGE_HANDLER_METADATA = void 0;
4
4
  exports.DenormalizeMessage = DenormalizeMessage;
5
5
  exports.MESSAGE_HANDLER_METADATA = 'MESSAGE_HANDLER_METADATA';
6
6
  exports.CHANNEL_FACTORY_METADATA = 'CHANNEL_FACTORY_METADATA';
@@ -10,6 +10,7 @@ exports.MESSAGING_MIDDLEWARE_METADATA = 'MESSAGING_MIDDLEWARE_METADATA';
10
10
  exports.MESSAGING_NORMALIZER_METADATA = 'MESSAGING_NORMALIZER_METADATA';
11
11
  exports.MESSAGING_EXCEPTION_LISTENER_METADATA = 'MESSAGING_EXCEPTION_LISTENER_METADATA';
12
12
  exports.MESSAGING_MESSAGE_METADATA = 'MESSAGING_MESSAGE_METADATA';
13
+ exports.MESSAGING_LIFECYCLE_HOOK_METADATA = 'MESSAGING_LIFECYCLE_HOOK_METADATA';
13
14
  const MessageHandler = (...routingKey) => {
14
15
  return (target) => {
15
16
  Reflect.defineMetadata(exports.MESSAGE_HANDLER_METADATA, routingKey, target);
@@ -54,6 +55,12 @@ const MessagingExceptionListener = () => {
54
55
  };
55
56
  };
56
57
  exports.MessagingExceptionListener = MessagingExceptionListener;
58
+ const MessagingLifecycleHook = (lifecycleHook) => {
59
+ return (target) => {
60
+ Reflect.defineMetadata(exports.MESSAGING_LIFECYCLE_HOOK_METADATA, `${lifecycleHook}:${target.name}`, target);
61
+ };
62
+ };
63
+ exports.MessagingLifecycleHook = MessagingLifecycleHook;
57
64
  function DenormalizeMessage() {
58
65
  return (target, propertyKey, parameterIndex) => {
59
66
  const paramTypes = Reflect.getMetadata('design:paramtypes', target, propertyKey);
@@ -1 +1 @@
1
- {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../src/dependency-injection/decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../src/dependency-injection/decorator.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,4 @@ export declare const registerHandlers: (moduleRef: ModuleRef, discoveryService:
3
3
  export declare const registerMiddlewares: (moduleRef: ModuleRef, discoveryService: DiscoveryService) => void;
4
4
  export declare const registerMessageNormalizers: (moduleRef: ModuleRef, discoveryService: DiscoveryService) => void;
5
5
  export declare const registerExceptionListener: (moduleRef: ModuleRef, discoveryService: DiscoveryService) => void;
6
+ export declare const registerMessagingHooks: (moduleRef: ModuleRef, discoveryService: DiscoveryService) => void;
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerExceptionListener = exports.registerMessageNormalizers = exports.registerMiddlewares = exports.registerHandlers = void 0;
3
+ exports.registerMessagingHooks = exports.registerExceptionListener = exports.registerMessageNormalizers = exports.registerMiddlewares = exports.registerHandlers = void 0;
4
4
  const service_1 = require("./service");
5
5
  const decorator_1 = require("./decorator");
6
6
  const const_1 = require("../const");
7
+ const messaging_lifecycle_hook_registry_1 = require("../lifecycle-hook/messaging-lifecycle-hook.registry");
7
8
  const registerHandlers = (moduleRef, discoveryService) => {
8
9
  const registry = moduleRef.get(service_1.Service.MESSAGE_HANDLERS_REGISTRY);
9
10
  const logger = moduleRef.get(service_1.Service.LOGGER);
@@ -31,22 +32,26 @@ const registerExceptionListener = (moduleRef, discoveryService) => {
31
32
  register(moduleRef, discoveryService, service_1.Service.EXCEPTION_LISTENER_REGISTRY, decorator_1.MESSAGING_EXCEPTION_LISTENER_METADATA, 'ExceptionListener');
32
33
  };
33
34
  exports.registerExceptionListener = registerExceptionListener;
35
+ const registerMessagingHooks = (moduleRef, discoveryService) => {
36
+ register(moduleRef, discoveryService, messaging_lifecycle_hook_registry_1.MessagingLifecycleHookRegistry, decorator_1.MESSAGING_LIFECYCLE_HOOK_METADATA, 'MessagingLifecycleHook');
37
+ };
38
+ exports.registerMessagingHooks = registerMessagingHooks;
34
39
  const register = (moduleRef, discoveryService, registryProvider, decoratorMetadata, name) => {
35
40
  const exceptions = [const_1.DEFAULT_NORMALIZER, const_1.DEFAULT_MIDDLEWARE];
36
41
  const registry = moduleRef.get(registryProvider);
37
42
  const logger = moduleRef.get(service_1.Service.LOGGER);
38
43
  const instances = discoveryService
39
44
  .getProviders()
40
- .filter((messageExceptionListener) => {
41
- if (!messageExceptionListener.metatype) {
45
+ .filter((provider) => {
46
+ if (!provider.metatype) {
42
47
  return false;
43
48
  }
44
- return Reflect.hasMetadata(decoratorMetadata, messageExceptionListener.metatype);
49
+ return Reflect.hasMetadata(decoratorMetadata, provider.metatype);
45
50
  });
46
- instances.forEach((messageExceptionListener) => {
47
- registry.register(Reflect.getMetadata(decoratorMetadata, messageExceptionListener.metatype), messageExceptionListener.instance);
48
- if (!exceptions.includes(messageExceptionListener.name)) {
49
- logger.log(`${name} [${messageExceptionListener.name}] was registered`);
51
+ instances.forEach((provider) => {
52
+ registry.register(Reflect.getMetadata(decoratorMetadata, provider.metatype), provider.instance);
53
+ if (!exceptions.includes(provider.name)) {
54
+ logger.log(`${name} [${provider.name}] was registered`);
50
55
  }
51
56
  });
52
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/dependency-injection/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/dependency-injection/register.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -31,3 +31,4 @@ export * from './exception/handlers.exception';
31
31
  export * from './logger/log';
32
32
  export * from './logger/messaging-logger';
33
33
  export * from './logger/nest-logger';
34
+ export * from './lifecycle-hook/messaging-lifecycle-hook-listener';
package/lib/index.js CHANGED
@@ -47,4 +47,5 @@ __exportStar(require("./exception/handlers.exception"), exports);
47
47
  __exportStar(require("./logger/log"), exports);
48
48
  __exportStar(require("./logger/messaging-logger"), exports);
49
49
  __exportStar(require("./logger/nest-logger"), exports);
50
+ __exportStar(require("./lifecycle-hook/messaging-lifecycle-hook-listener"), exports);
50
51
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,2CAAyB;AACzB,kEAAgD;AAChD,8DAA4C;AAC5C,+EAA6D;AAC7D,mEAAiD;AACjD,oEAAkD;AAClD,8DAA4C;AAC5C,8DAA4C;AAC5C,6DAA2C;AAC3C,sDAAoC;AACpC,8DAA4C;AAC5C,oEAAkD;AAClD,4DAA0C;AAC1C,4DAA0C;AAC1C,oDAAkC;AAClC,6DAA2C;AAC3C,8EAA4D;AAC5D,8EAA4D;AAC5D,8DAA4C;AAC5C,oDAAkC;AAClC,0DAAwC;AACxC,wEAAsD;AACtD,+EAA6D;AAC7D,kEAAgD;AAChD,kEAAgD;AAChD,kEAAgD;AAChD,0EAAwD;AACxD,yEAAuD;AACvD,iEAA+C;AAC/C,+CAA6B;AAC7B,4DAA0C;AAC1C,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,2CAAyB;AACzB,kEAAgD;AAChD,8DAA4C;AAC5C,+EAA6D;AAC7D,mEAAiD;AACjD,oEAAkD;AAClD,8DAA4C;AAC5C,8DAA4C;AAC5C,6DAA2C;AAC3C,sDAAoC;AACpC,8DAA4C;AAC5C,oEAAkD;AAClD,4DAA0C;AAC1C,4DAA0C;AAC1C,oDAAkC;AAClC,6DAA2C;AAC3C,8EAA4D;AAC5D,8EAA4D;AAC5D,8DAA4C;AAC5C,oDAAkC;AAClC,0DAAwC;AACxC,wEAAsD;AACtD,+EAA6D;AAC7D,kEAAgD;AAChD,kEAAgD;AAChD,kEAAgD;AAChD,0EAAwD;AACxD,yEAAuD;AACvD,iEAA+C;AAC/C,+CAA6B;AAC7B,4DAA0C;AAC1C,uDAAqC;AACrC,qFAAkE"}
@@ -0,0 +1,9 @@
1
+ import { MessagingLifecycleHookRegistry } from './messaging-lifecycle-hook.registry';
2
+ import { RoutingMessage } from '../message/routing-message';
3
+ export declare class MessagingLifecycleHookHandler {
4
+ private readonly messagingHookRegistry;
5
+ constructor(messagingHookRegistry: MessagingLifecycleHookRegistry);
6
+ handleAfterMessageDenormalized(message: RoutingMessage): Promise<void>;
7
+ handleBeforeMessageHandler(message: RoutingMessage): Promise<void>;
8
+ handleAfterMessageHandlerExecuted(message: RoutingMessage): Promise<void>;
9
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MessagingLifecycleHookHandler = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const messaging_lifecycle_hook_registry_1 = require("./messaging-lifecycle-hook.registry");
15
+ const messaging_lifecycle_hook_listener_1 = require("./messaging-lifecycle-hook-listener");
16
+ let MessagingLifecycleHookHandler = class MessagingLifecycleHookHandler {
17
+ constructor(messagingHookRegistry) {
18
+ this.messagingHookRegistry = messagingHookRegistry;
19
+ }
20
+ async handleAfterMessageDenormalized(message) {
21
+ await this.messagingHookRegistry
22
+ .getAllByHook(messaging_lifecycle_hook_listener_1.LifecycleHook.AFTER_MESSAGE_DENORMALIZED)
23
+ .forEach((listener) => listener.on(message));
24
+ }
25
+ async handleBeforeMessageHandler(message) {
26
+ await this.messagingHookRegistry
27
+ .getAllByHook(messaging_lifecycle_hook_listener_1.LifecycleHook.BEFORE_MESSAGE_HANDLER)
28
+ .forEach((listener) => listener.on(message));
29
+ }
30
+ async handleAfterMessageHandlerExecuted(message) {
31
+ await this.messagingHookRegistry
32
+ .getAllByHook(messaging_lifecycle_hook_listener_1.LifecycleHook.AFTER_MESSAGE_HANDLER_EXECUTED)
33
+ .forEach((listener) => listener.on(message));
34
+ }
35
+ };
36
+ exports.MessagingLifecycleHookHandler = MessagingLifecycleHookHandler;
37
+ exports.MessagingLifecycleHookHandler = MessagingLifecycleHookHandler = __decorate([
38
+ (0, common_1.Injectable)(),
39
+ __metadata("design:paramtypes", [messaging_lifecycle_hook_registry_1.MessagingLifecycleHookRegistry])
40
+ ], MessagingLifecycleHookHandler);
41
+ //# sourceMappingURL=messaging-lifecycle-hook-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging-lifecycle-hook-handler.js","sourceRoot":"","sources":["../../src/lifecycle-hook/messaging-lifecycle-hook-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2FAAqF;AACrF,2FAAoE;AAI7D,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IACxC,YACmB,qBAAqD;QAArD,0BAAqB,GAArB,qBAAqB,CAAgC;IAExE,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,OAAuB;QAC1D,MAAM,IAAI,CAAC,qBAAqB;aAC7B,YAAY,CAAC,iDAAa,CAAC,0BAA0B,CAAC;aACtD,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,OAAuB;QACtD,MAAM,IAAI,CAAC,qBAAqB;aAC7B,YAAY,CAAC,iDAAa,CAAC,sBAAsB,CAAC;aAClD,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,iCAAiC,CAAC,OAAuB;QAC7D,MAAM,IAAI,CAAC,qBAAqB;aAC7B,YAAY,CAAC,iDAAa,CAAC,8BAA8B,CAAC;aAC1D,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAvBY,sEAA6B;wCAA7B,6BAA6B;IADzC,IAAA,mBAAU,GAAE;qCAG+B,kEAA8B;GAF7D,6BAA6B,CAuBzC"}
@@ -0,0 +1,10 @@
1
+ import { RoutingMessage } from '../message/routing-message';
2
+ export type MessagingData = RoutingMessage;
3
+ export declare enum LifecycleHook {
4
+ AFTER_MESSAGE_DENORMALIZED = "AFTER_MESSAGE_DENORMALIZED",
5
+ BEFORE_MESSAGE_HANDLER = "BEFORE_MESSAGE_HANDLER",
6
+ AFTER_MESSAGE_HANDLER_EXECUTED = "AFTER_MESSAGE_HANDLER_EXECUTED"
7
+ }
8
+ export interface MessagingLifecycleHookListener {
9
+ on(data: MessagingData): Promise<void>;
10
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LifecycleHook = void 0;
4
+ var LifecycleHook;
5
+ (function (LifecycleHook) {
6
+ LifecycleHook["AFTER_MESSAGE_DENORMALIZED"] = "AFTER_MESSAGE_DENORMALIZED";
7
+ LifecycleHook["BEFORE_MESSAGE_HANDLER"] = "BEFORE_MESSAGE_HANDLER";
8
+ LifecycleHook["AFTER_MESSAGE_HANDLER_EXECUTED"] = "AFTER_MESSAGE_HANDLER_EXECUTED";
9
+ })(LifecycleHook || (exports.LifecycleHook = LifecycleHook = {}));
10
+ //# sourceMappingURL=messaging-lifecycle-hook-listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging-lifecycle-hook-listener.js","sourceRoot":"","sources":["../../src/lifecycle-hook/messaging-lifecycle-hook-listener.ts"],"names":[],"mappings":";;;AAIA,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,0EAAyD,CAAA;IACzD,kEAAiD,CAAA;IACjD,kFAAiE,CAAA;AACnE,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
@@ -0,0 +1,5 @@
1
+ import { BaseRegistry } from '../shared/base-registry';
2
+ import { MessagingLifecycleHookListener, LifecycleHook } from './messaging-lifecycle-hook-listener';
3
+ export declare class MessagingLifecycleHookRegistry extends BaseRegistry<MessagingLifecycleHookListener> {
4
+ getAllByHook(hook: LifecycleHook): MessagingLifecycleHookListener[];
5
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessagingLifecycleHookRegistry = void 0;
4
+ const base_registry_1 = require("../shared/base-registry");
5
+ class MessagingLifecycleHookRegistry extends base_registry_1.BaseRegistry {
6
+ getAllByHook(hook) {
7
+ const result = [];
8
+ for (const [key, listener] of this.registry.entries()) {
9
+ //Because pattern is `${hook}:${target.name}`,
10
+ const name = key.split(':')[0];
11
+ if (name.includes(hook)) {
12
+ result.push(listener);
13
+ }
14
+ }
15
+ return result;
16
+ }
17
+ }
18
+ exports.MessagingLifecycleHookRegistry = MessagingLifecycleHookRegistry;
19
+ //# sourceMappingURL=messaging-lifecycle-hook.registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging-lifecycle-hook.registry.js","sourceRoot":"","sources":["../../src/lifecycle-hook/messaging-lifecycle-hook.registry.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AAGvD,MAAa,8BAA+B,SAAQ,4BAA4C;IAC9F,YAAY,CAAC,IAAmB;QAC9B,MAAM,MAAM,GAAqC,EAAE,CAAC;QAEpD,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,8CAA8C;YAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAdD,wEAcC"}
@@ -37,6 +37,8 @@ const normalizer_registry_1 = require("./normalizer/normalizer.registry");
37
37
  const object_forward_message_normalizer_1 = require("./normalizer/object-forward-message.normalizer");
38
38
  const exception_listener_registry_1 = require("./exception-listener/exception-listener.registry");
39
39
  const exception_listener_handler_1 = require("./exception-listener/exception-listener-handler");
40
+ const messaging_lifecycle_hook_handler_1 = require("./lifecycle-hook/messaging-lifecycle-hook-handler");
41
+ const messaging_lifecycle_hook_registry_1 = require("./lifecycle-hook/messaging-lifecycle-hook.registry");
40
42
  let MessagingModule = MessagingModule_1 = class MessagingModule {
41
43
  static forRoot(options) {
42
44
  const channels = options.channels ?? [];
@@ -96,17 +98,18 @@ let MessagingModule = MessagingModule_1 = class MessagingModule {
96
98
  const defaultMessageBus = () => {
97
99
  return {
98
100
  provide: service_1.Service.DEFAULT_MESSAGE_BUS,
99
- useFactory: (messageHandlerRegistry, middlewareRegistry, normalizerRegistry) => {
101
+ useFactory: (messageHandlerRegistry, middlewareRegistry, normalizerRegistry, messagingHookHandler) => {
100
102
  return new in_memory_message_bus_1.InMemoryMessageBus(messageHandlerRegistry, middlewareRegistry, new in_memory_channel_1.InMemoryChannel(new config_1.InMemoryChannelConfig({
101
103
  name: 'default.bus',
102
104
  middlewares: [],
103
105
  avoidErrorsForNotExistedHandlers: true,
104
- })), normalizerRegistry);
106
+ })), normalizerRegistry, messagingHookHandler);
105
107
  },
106
108
  inject: [
107
109
  service_1.Service.MESSAGE_HANDLERS_REGISTRY,
108
110
  service_1.Service.MIDDLEWARE_REGISTRY,
109
111
  service_1.Service.MESSAGE_NORMALIZERS_REGISTRY,
112
+ messaging_lifecycle_hook_handler_1.MessagingLifecycleHookHandler,
110
113
  ],
111
114
  };
112
115
  };
@@ -164,6 +167,8 @@ let MessagingModule = MessagingModule_1 = class MessagingModule {
164
167
  in_memory_channel_factory_1.InMemoryChannelFactory,
165
168
  distributed_consumer_1.DistributedConsumer,
166
169
  object_forward_message_normalizer_1.ObjectForwardMessageNormalizer,
170
+ messaging_lifecycle_hook_registry_1.MessagingLifecycleHookRegistry,
171
+ messaging_lifecycle_hook_handler_1.MessagingLifecycleHookHandler,
167
172
  ],
168
173
  exports: [
169
174
  service_1.Service.DEFAULT_MESSAGE_BUS,
@@ -184,6 +189,7 @@ let MessagingModule = MessagingModule_1 = class MessagingModule {
184
189
  (0, register_1.registerMiddlewares)(this.moduleRef, this.discoveryService);
185
190
  (0, register_1.registerMessageNormalizers)(this.moduleRef, this.discoveryService);
186
191
  (0, register_1.registerExceptionListener)(this.moduleRef, this.discoveryService);
192
+ (0, register_1.registerMessagingHooks)(this.moduleRef, this.discoveryService);
187
193
  if (this.configuration.forceDisableAllConsumers ?? false) {
188
194
  this.logger.log(`All consumers are disabled by configuration. Only [InMemoryChannel] is available for message dispatching`);
189
195
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"messaging.module.js","sourceRoot":"","sources":["../src/messaging.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messaging.module.js","sourceRoot":"","sources":["../src/messaging.module.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Registry } from './registry';
2
2
  export declare abstract class BaseRegistry<T extends object> implements Registry<T> {
3
- private registry;
3
+ protected registry: Map<string, T>;
4
4
  register(name: string, middleware: T): void;
5
5
  getByName(name: string): T;
6
6
  getAll(): T[];
@@ -1 +1 @@
1
- {"version":3,"file":"base-registry.js","sourceRoot":"","sources":["../../src/shared/base-registry.ts"],"names":[],"mappings":";;;AACA,0EAAsE;AAEtE,MAAsB,YAAY;IAAlC;QACU,aAAQ,GAAmB,IAAI,GAAG,EAAE,CAAC;IAuB/C,CAAC;IArBC,QAAQ,CAAC,IAAY,EAAE,UAAa;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,wCAAkB,CAC1B,8CAA8C,IAAI,EAAE,CACrD,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF;AAxBD,oCAwBC"}
1
+ {"version":3,"file":"base-registry.js","sourceRoot":"","sources":["../../src/shared/base-registry.ts"],"names":[],"mappings":";;;AACA,0EAAsE;AAEtE,MAAsB,YAAY;IAAlC;QACY,aAAQ,GAAmB,IAAI,GAAG,EAAE,CAAC;IAuBjD,CAAC;IArBC,QAAQ,CAAC,IAAY,EAAE,UAAa;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,wCAAkB,CAC1B,8CAA8C,IAAI,EAAE,CACrD,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF;AAxBD,oCAwBC"}