@nestjstools/messaging 2.9.2 → 2.10.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 (32) hide show
  1. package/README.md +23 -1
  2. package/lib/consumer/distributed.consumer.d.ts +3 -1
  3. package/lib/consumer/distributed.consumer.js +10 -4
  4. package/lib/consumer/distributed.consumer.js.map +1 -1
  5. package/lib/dependency-injection/decorator.d.ts +2 -0
  6. package/lib/dependency-injection/decorator.js +8 -1
  7. package/lib/dependency-injection/decorator.js.map +1 -1
  8. package/lib/dependency-injection/register.d.ts +1 -0
  9. package/lib/dependency-injection/register.js +20 -1
  10. package/lib/dependency-injection/register.js.map +1 -1
  11. package/lib/dependency-injection/service.d.ts +2 -0
  12. package/lib/dependency-injection/service.js +2 -0
  13. package/lib/dependency-injection/service.js.map +1 -1
  14. package/lib/exception-listener/exception-context.d.ts +7 -0
  15. package/lib/exception-listener/exception-context.js +13 -0
  16. package/lib/exception-listener/exception-context.js.map +1 -0
  17. package/lib/exception-listener/exception-listener-handler.d.ts +7 -0
  18. package/lib/exception-listener/exception-listener-handler.js +33 -0
  19. package/lib/exception-listener/exception-listener-handler.js.map +1 -0
  20. package/lib/exception-listener/exception-listener.d.ts +4 -0
  21. package/lib/exception-listener/exception-listener.js +3 -0
  22. package/lib/exception-listener/exception-listener.js.map +1 -0
  23. package/lib/exception-listener/exception-listener.registry.d.ts +6 -0
  24. package/lib/exception-listener/exception-listener.registry.js +19 -0
  25. package/lib/exception-listener/exception-listener.registry.js.map +1 -0
  26. package/lib/index.d.ts +3 -0
  27. package/lib/index.js +3 -0
  28. package/lib/index.js.map +1 -1
  29. package/lib/messaging.module.js +11 -0
  30. package/lib/messaging.module.js.map +1 -1
  31. package/lib/tsconfig.build.tsbuildinfo +1 -1
  32. package/package.json +1 -1
package/README.md CHANGED
@@ -313,7 +313,7 @@ export class Base64Normalizer implements MessageNormalizer {
313
313
  You can define a **Normalizer** per Channel
314
314
  ___
315
315
 
316
- ## <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e8eaed"><path d="M160-40v-240h100v-80H160v-240h100v-80H160v-240h280v240H340v80h100v80h120v-80h280v240H560v-80H440v80H340v80h100v240H160Zm80-80h120v-80H240v80Zm0-320h120v-80H240v80Zm400 0h120v-80H640v80ZM240-760h120v-80H240v80Zm60-40Zm0 320Zm400 0ZM300-160Z"/></svg> Middlewares
316
+ ## ⤵️ Middlewares
317
317
 
318
318
  A **middleware** in the context of the `MessagingModule` is a function that processes messages as they pass through the message pipeline. The middleware can intercept, modify, or log messages before they are handled by the respective **message handler**. This is particularly useful for logging, authentication, validation, or any other pre-processing step before the actual business logic is applied.
319
319
 
@@ -407,6 +407,28 @@ export class AppModule {}
407
407
 
408
408
  ---
409
409
 
410
+ ## 🔰 ExceptionListener
411
+
412
+ The **ExceptionListener** provides a centralized way to handle exceptions thrown during asynchronous message processing from any **channel** in your **messaging system**.
413
+
414
+ By decorating a class with `@MessagingExceptionListener()` and implementing the `ExceptionListener` interface, you can intercept and respond to any unhandled exception occurring during message handling — whether it's logging, reporting, retries, or custom recovery logic.
415
+
416
+ Example Use Case:
417
+ You can log the error, send a notification, or trigger fallback logic whenever a message handler throws an exception.
418
+
419
+ ### Example ExceptionListener Code:
420
+ ```typescript
421
+ import { Injectable } from '@nestjs/common';
422
+ import { ExceptionListener, MessagingExceptionListener, ExceptionContext } from '@nestjstools/messaging';
423
+
424
+ @MessagingExceptionListener()
425
+ export class CustomExceptionListener implements ExceptionListener {
426
+ onException(context: ExceptionContext): Promise<void> {
427
+ console.log(`Here I can handle exception If I want and do some action`);
428
+ }
429
+ }
430
+ ```
431
+
410
432
  ## Configuration options
411
433
  Here’s a table with the documentation for the `MessagingModule.forRoot` configuration you requested, breaking it into **buses**, **channels** (with descriptions of both channels), and their respective properties, descriptions, and default values:
412
434
 
@@ -2,11 +2,13 @@ import { DiscoveryService } from '@nestjs/core';
2
2
  import { IMessageBus } from '../bus/i-message-bus';
3
3
  import { ChannelRegistry } from '../channel/channel.registry';
4
4
  import { MessagingLogger } from '../logger/messaging-logger';
5
+ import { ExceptionListenerHandler } from '../exception-listener/exception-listener-handler';
5
6
  export declare class DistributedConsumer {
6
7
  private readonly messageBus;
7
8
  private readonly channelRegistry;
9
+ private readonly exceptionListenerHandler;
8
10
  private readonly logger;
9
11
  private readonly discoveryService;
10
- constructor(messageBus: IMessageBus, channelRegistry: ChannelRegistry, logger: MessagingLogger, discoveryService: DiscoveryService);
12
+ constructor(messageBus: IMessageBus, channelRegistry: ChannelRegistry, exceptionListenerHandler: ExceptionListenerHandler, logger: MessagingLogger, discoveryService: DiscoveryService);
11
13
  run(): Promise<void>;
12
14
  }
@@ -25,10 +25,13 @@ const consumer_dispatched_message_error_1 = require("./consumer-dispatched-messa
25
25
  const sealed_routing_message_1 = require("../message/sealed-routing-message");
26
26
  const log_1 = require("../logger/log");
27
27
  const handlers_exception_1 = require("../exception/handlers.exception");
28
+ const exception_listener_handler_1 = require("../exception-listener/exception-listener-handler");
29
+ const exception_context_1 = require("../exception-listener/exception-context");
28
30
  let DistributedConsumer = class DistributedConsumer {
29
- constructor(messageBus, channelRegistry, logger, discoveryService) {
31
+ constructor(messageBus, channelRegistry, exceptionListenerHandler, logger, discoveryService) {
30
32
  this.messageBus = messageBus;
31
33
  this.channelRegistry = channelRegistry;
34
+ this.exceptionListenerHandler = exceptionListenerHandler;
32
35
  this.logger = logger;
33
36
  this.discoveryService = discoveryService;
34
37
  }
@@ -70,9 +73,10 @@ let DistributedConsumer = class DistributedConsumer {
70
73
  this.logger.error(log_1.Log.create(`Some error occurred in channel [${channel.config.name}]`, {
71
74
  error: e,
72
75
  message: JSON.stringify(consumerMessage.message),
73
- routingKey: consumerMessage.routingKey
76
+ routingKey: consumerMessage.routingKey,
74
77
  }));
75
78
  }
79
+ await this.exceptionListenerHandler.handleError(new exception_context_1.ExceptionContext(e, channel.config.name, consumerMessage.message, consumerMessage.routingKey));
76
80
  }
77
81
  });
78
82
  this.logger.log(`Consumer for channel [${channel.config.name}] is ready to handle messages`);
@@ -83,7 +87,9 @@ exports.DistributedConsumer = DistributedConsumer;
83
87
  exports.DistributedConsumer = DistributedConsumer = __decorate([
84
88
  __param(0, (0, common_1.Inject)(service_1.Service.DEFAULT_MESSAGE_BUS)),
85
89
  __param(1, (0, common_1.Inject)(service_1.Service.CHANNEL_REGISTRY)),
86
- __param(2, (0, common_1.Inject)(service_1.Service.LOGGER)),
87
- __metadata("design:paramtypes", [Object, channel_registry_1.ChannelRegistry, Object, core_1.DiscoveryService])
90
+ __param(2, (0, common_1.Inject)(service_1.Service.EXCEPTION_LISTENER_HANDLER)),
91
+ __param(3, (0, common_1.Inject)(service_1.Service.LOGGER)),
92
+ __metadata("design:paramtypes", [Object, channel_registry_1.ChannelRegistry,
93
+ exception_listener_handler_1.ExceptionListenerHandler, Object, core_1.DiscoveryService])
88
94
  ], DistributedConsumer);
89
95
  //# sourceMappingURL=distributed.consumer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"distributed.consumer.js","sourceRoot":"","sources":["../../src/consumer/distributed.consumer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distributed.consumer.js","sourceRoot":"","sources":["../../src/consumer/distributed.consumer.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,11 @@ export declare const MESSAGE_BUS_FACTORY_METADATA = "MESSAGE_BUS_FACTORY_METADAT
5
5
  export declare const MESSAGE_CONSUMER_METADATA = "MESSAGE_CONSUMER_METADATA";
6
6
  export declare const MESSAGING_MIDDLEWARE_METADATA = "MESSAGING_MIDDLEWARE_METADATA";
7
7
  export declare const MESSAGING_NORMALIZER_METADATA = "MESSAGING_NORMALIZER_METADATA";
8
+ export declare const MESSAGING_EXCEPTION_LISTENER_METADATA = "MESSAGING_EXCEPTION_LISTENER_METADATA";
8
9
  export declare const MessageHandler: (routingKey: string) => ClassDecorator;
9
10
  export declare const ChannelFactory: (channelConfig: ChannelConfig) => ClassDecorator;
10
11
  export declare const MessageBusFactory: (channel: any) => ClassDecorator;
11
12
  export declare const MessageConsumer: (channel: any) => ClassDecorator;
12
13
  export declare const MessagingMiddleware: (name?: string) => ClassDecorator;
13
14
  export declare const MessagingNormalizer: (name?: string) => ClassDecorator;
15
+ export declare const MessagingExceptionListener: () => ClassDecorator;
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MessagingNormalizer = exports.MessagingMiddleware = exports.MessageConsumer = exports.MessageBusFactory = exports.ChannelFactory = exports.MessageHandler = 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.MessagingExceptionListener = exports.MessagingNormalizer = exports.MessagingMiddleware = exports.MessageConsumer = exports.MessageBusFactory = exports.ChannelFactory = exports.MessageHandler = 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.MESSAGE_HANDLER_METADATA = 'MESSAGE_HANDLER_METADATA';
5
5
  exports.CHANNEL_FACTORY_METADATA = 'CHANNEL_FACTORY_METADATA';
6
6
  exports.MESSAGE_BUS_FACTORY_METADATA = 'MESSAGE_BUS_FACTORY_METADATA';
7
7
  exports.MESSAGE_CONSUMER_METADATA = 'MESSAGE_CONSUMER_METADATA';
8
8
  exports.MESSAGING_MIDDLEWARE_METADATA = 'MESSAGING_MIDDLEWARE_METADATA';
9
9
  exports.MESSAGING_NORMALIZER_METADATA = 'MESSAGING_NORMALIZER_METADATA';
10
+ exports.MESSAGING_EXCEPTION_LISTENER_METADATA = 'MESSAGING_EXCEPTION_LISTENER_METADATA';
10
11
  const MessageHandler = (routingKey) => {
11
12
  return (target) => {
12
13
  Reflect.defineMetadata(exports.MESSAGE_HANDLER_METADATA, routingKey, target);
@@ -45,6 +46,12 @@ const MessagingNormalizer = (name) => {
45
46
  };
46
47
  };
47
48
  exports.MessagingNormalizer = MessagingNormalizer;
49
+ const MessagingExceptionListener = () => {
50
+ return (target) => {
51
+ Reflect.defineMetadata(exports.MESSAGING_EXCEPTION_LISTENER_METADATA, target.name, target);
52
+ };
53
+ };
54
+ exports.MessagingExceptionListener = MessagingExceptionListener;
48
55
  const classValidator = (value, type) => {
49
56
  if (Object.getPrototypeOf(value).name !== type) {
50
57
  throw new Error(`Given value must be instance of [${type}]`);
@@ -1 +1 @@
1
- {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../src/dependency-injection/decorator.ts"],"names":[],"mappings":";;;AAEa,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AACtD,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AACtD,QAAA,4BAA4B,GAAG,8BAA8B,CAAC;AAC9D,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AACxD,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAChE,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAEtE,MAAM,cAAc,GAAG,CAAC,UAAkB,EAAkB,EAAE;IACnE,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,gCAAwB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEK,MAAM,cAAc,GAAG,CAC5B,aAA4B,EACZ,EAAE;IAClB,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,gCAAwB,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,MAAM,iBAAiB,GAAG,CAAC,OAAY,EAAkB,EAAE;IAChE,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAEnC,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,oCAA4B,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,iBAAiB,qBAM5B;AAEK,MAAM,eAAe,GAAG,CAAC,OAAY,EAAkB,EAAE;IAC9D,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAEnC,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,iCAAyB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,eAAe,mBAM1B;AAEK,MAAM,mBAAmB,GAAG,CAAC,IAAa,EAAkB,EAAE;IACnE,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,qCAA6B,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,MAAM,mBAAmB,GAAG,CAAC,IAAa,EAAkB,EAAE;IACnE,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,qCAA6B,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEF,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,IAAY,EAAQ,EAAE;IAC3D,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,GAAG,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../src/dependency-injection/decorator.ts"],"names":[],"mappings":";;;AAEa,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AACtD,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AACtD,QAAA,4BAA4B,GAAG,8BAA8B,CAAC;AAC9D,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AACxD,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAChE,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAChE,QAAA,qCAAqC,GAAG,uCAAuC,CAAC;AAEtF,MAAM,cAAc,GAAG,CAAC,UAAkB,EAAkB,EAAE;IACnE,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,gCAAwB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEK,MAAM,cAAc,GAAG,CAC5B,aAA4B,EACZ,EAAE;IAClB,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,gCAAwB,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,MAAM,iBAAiB,GAAG,CAAC,OAAY,EAAkB,EAAE;IAChE,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAEnC,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,oCAA4B,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,iBAAiB,qBAM5B;AAEK,MAAM,eAAe,GAAG,CAAC,OAAY,EAAkB,EAAE;IAC9D,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAEnC,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,iCAAyB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,eAAe,mBAM1B;AAEK,MAAM,mBAAmB,GAAG,CAAC,IAAa,EAAkB,EAAE;IACnE,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,qCAA6B,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,MAAM,mBAAmB,GAAG,CAAC,IAAa,EAAkB,EAAE;IACnE,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,qCAA6B,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,MAAM,0BAA0B,GAAG,GAAmB,EAAE;IAC7D,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,6CAAqC,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,0BAA0B,8BAIrC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,IAAY,EAAQ,EAAE;IAC3D,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,GAAG,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC,CAAA"}
@@ -2,3 +2,4 @@ import { DiscoveryService, ModuleRef } from '@nestjs/core';
2
2
  export declare const registerHandlers: (moduleRef: ModuleRef, discoveryService: DiscoveryService) => void;
3
3
  export declare const registerMiddlewares: (moduleRef: ModuleRef, discoveryService: DiscoveryService) => void;
4
4
  export declare const registerMessageNormalizers: (moduleRef: ModuleRef, discoveryService: DiscoveryService) => void;
5
+ export declare const registerExceptionListener: (moduleRef: ModuleRef, discoveryService: DiscoveryService) => void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerMessageNormalizers = exports.registerMiddlewares = exports.registerHandlers = void 0;
3
+ 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");
@@ -57,4 +57,23 @@ const registerMessageNormalizers = (moduleRef, discoveryService) => {
57
57
  });
58
58
  };
59
59
  exports.registerMessageNormalizers = registerMessageNormalizers;
60
+ const registerExceptionListener = (moduleRef, discoveryService) => {
61
+ const registry = moduleRef.get(service_1.Service.EXCEPTION_LISTENER_REGISTRY);
62
+ const logger = moduleRef.get(service_1.Service.LOGGER);
63
+ const messageExceptionListenerInstances = discoveryService
64
+ .getProviders()
65
+ .filter((messageExceptionListener) => {
66
+ if (!messageExceptionListener.metatype) {
67
+ return false;
68
+ }
69
+ return Reflect.hasMetadata(decorator_1.MESSAGING_EXCEPTION_LISTENER_METADATA, messageExceptionListener.metatype);
70
+ });
71
+ messageExceptionListenerInstances.forEach((messageExceptionListener) => {
72
+ registry.register(Reflect.getMetadata(decorator_1.MESSAGING_EXCEPTION_LISTENER_METADATA, messageExceptionListener.metatype), messageExceptionListener.instance);
73
+ if (messageExceptionListener.name !== const_1.DEFAULT_NORMALIZER) {
74
+ logger.log(`ExceptionListener [${messageExceptionListener.name}] was registered`);
75
+ }
76
+ });
77
+ };
78
+ exports.registerExceptionListener = registerExceptionListener;
60
79
  //# sourceMappingURL=register.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/dependency-injection/register.ts"],"names":[],"mappings":";;;AAGA,uCAAoC;AACpC,2CAGqB;AAGrB,oCAAkE;AAE3D,MAAM,gBAAgB,GAAG,CAC9B,SAAoB,EACpB,gBAAkC,EAClC,EAAE;IACF,MAAM,QAAQ,GAA2B,SAAS,CAAC,GAAG,CACpD,iBAAO,CAAC,yBAAyB,CAClC,CAAC;IACF,MAAM,MAAM,GAAoB,SAAS,CAAC,GAAG,CAAC,iBAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAC1E,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,OAAO,CAAC,WAAW,CAAC,oCAAwB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,QAAQ,CAAC,QAAQ,CACf,OAAO,CAAC,WAAW,CAAC,oCAAwB,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC/D,OAAO,CAAC,QAAQ,CACjB,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,IAAI,kBAAkB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAvBW,QAAA,gBAAgB,oBAuB3B;AAEK,MAAM,mBAAmB,GAAG,CACjC,SAAoB,EACpB,gBAAkC,EAClC,EAAE;IACF,MAAM,QAAQ,GAAuB,SAAS,CAAC,GAAG,CAChD,iBAAO,CAAC,mBAAmB,CAC5B,CAAC;IACF,MAAM,MAAM,GAAoB,SAAS,CAAC,GAAG,CAAC,iBAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,mBAAmB,GAAG,gBAAgB;SACzC,YAAY,EAAE;SACd,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;QACrB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,OAAO,CAAC,WAAW,CACxB,yCAA6B,EAC7B,UAAU,CAAC,QAAQ,CACpB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,mBAAmB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACzC,QAAQ,CAAC,QAAQ,CACf,OAAO,CAAC,WAAW,CAAC,yCAA6B,EAAE,UAAU,CAAC,QAAQ,CAAC,EACvE,UAAU,CAAC,QAAQ,CACpB,CAAC;QACF,IAAI,UAAU,CAAC,IAAI,KAAK,0BAAkB,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,CAAC,eAAe,UAAU,CAAC,IAAI,kBAAkB,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA9BW,QAAA,mBAAmB,uBA8B9B;AAEK,MAAM,0BAA0B,GAAG,CACxC,SAAoB,EACpB,gBAAkC,EAClC,EAAE;IACF,MAAM,QAAQ,GAAuB,SAAS,CAAC,GAAG,CAChD,iBAAO,CAAC,4BAA4B,CACrC,CAAC;IACF,MAAM,MAAM,GAAoB,SAAS,CAAC,GAAG,CAAC,iBAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,0BAA0B,GAAG,gBAAgB;SAChD,YAAY,EAAE;SACd,MAAM,CAAC,CAAC,iBAAiB,EAAE,EAAE;QAC5B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,OAAO,CAAC,WAAW,CACxB,yCAA6B,EAC7B,iBAAiB,CAAC,QAAQ,CAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,0BAA0B,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAE;QACvD,QAAQ,CAAC,QAAQ,CACf,OAAO,CAAC,WAAW,CAAC,yCAA6B,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAC9E,iBAAiB,CAAC,QAAQ,CAC3B,CAAC;QACF,IAAI,iBAAiB,CAAC,IAAI,KAAK,0BAAkB,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,sBAAsB,iBAAiB,CAAC,IAAI,kBAAkB,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA9BW,QAAA,0BAA0B,8BA8BrC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/dependency-injection/register.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ export declare enum Service {
5
5
  MESSAGE_HANDLERS_REGISTRY = "messenger_MESSAGE_HANDLERS_REGISTRY",
6
6
  MESSAGE_NORMALIZERS_REGISTRY = "messenger_MESSAGE_NORMALIZERS_REGISTRY",
7
7
  CHANNEL_REGISTRY = "messenger_CHANNEL_REGISTRY",
8
+ EXCEPTION_LISTENER_REGISTRY = "messenger_EXCEPTION_LISTENER_REGISTRY",
9
+ EXCEPTION_LISTENER_HANDLER = "messenger_EXCEPTION_LISTENER_HANDLER",
8
10
  CHANNELS = "messenger_CHANNELS",
9
11
  LOGGER = "messenger_LOGGER"
10
12
  }
@@ -9,6 +9,8 @@ var Service;
9
9
  Service["MESSAGE_HANDLERS_REGISTRY"] = "messenger_MESSAGE_HANDLERS_REGISTRY";
10
10
  Service["MESSAGE_NORMALIZERS_REGISTRY"] = "messenger_MESSAGE_NORMALIZERS_REGISTRY";
11
11
  Service["CHANNEL_REGISTRY"] = "messenger_CHANNEL_REGISTRY";
12
+ Service["EXCEPTION_LISTENER_REGISTRY"] = "messenger_EXCEPTION_LISTENER_REGISTRY";
13
+ Service["EXCEPTION_LISTENER_HANDLER"] = "messenger_EXCEPTION_LISTENER_HANDLER";
12
14
  Service["CHANNELS"] = "messenger_CHANNELS";
13
15
  Service["LOGGER"] = "messenger_LOGGER";
14
16
  })(Service || (exports.Service = Service = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/dependency-injection/service.ts"],"names":[],"mappings":";;;AAAA,IAAY,OASX;AATD,WAAY,OAAO;IACjB,gEAAqD,CAAA;IACrD,gEAAqD,CAAA;IACrD,0DAA+C,CAAA;IAC/C,4EAAiE,CAAA;IACjE,kFAAuE,CAAA;IACvE,0DAA+C,CAAA;IAC/C,0CAA+B,CAAA;IAC/B,sCAA2B,CAAA;AAC7B,CAAC,EATW,OAAO,uBAAP,OAAO,QASlB"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/dependency-injection/service.ts"],"names":[],"mappings":";;;AAAA,IAAY,OAWX;AAXD,WAAY,OAAO;IACjB,gEAAqD,CAAA;IACrD,gEAAqD,CAAA;IACrD,0DAA+C,CAAA;IAC/C,4EAAiE,CAAA;IACjE,kFAAuE,CAAA;IACvE,0DAA+C,CAAA;IAC/C,gFAAqE,CAAA;IACrE,8EAAmE,CAAA;IACnE,0CAA+B,CAAA;IAC/B,sCAA2B,CAAA;AAC7B,CAAC,EAXW,OAAO,uBAAP,OAAO,QAWlB"}
@@ -0,0 +1,7 @@
1
+ export declare class ExceptionContext {
2
+ readonly exception: Error;
3
+ readonly channelName: string;
4
+ readonly rawMessage: object | string;
5
+ readonly routingKey: string;
6
+ constructor(exception: Error, channelName: string, rawMessage: object | string, routingKey: string);
7
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExceptionContext = void 0;
4
+ class ExceptionContext {
5
+ constructor(exception, channelName, rawMessage, routingKey) {
6
+ this.exception = exception;
7
+ this.channelName = channelName;
8
+ this.rawMessage = rawMessage;
9
+ this.routingKey = routingKey;
10
+ }
11
+ }
12
+ exports.ExceptionContext = ExceptionContext;
13
+ //# sourceMappingURL=exception-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exception-context.js","sourceRoot":"","sources":["../../src/exception-listener/exception-context.ts"],"names":[],"mappings":";;;AAAA,MAAa,gBAAgB;IAC3B,YACkB,SAAgB,EAChB,WAAmB,EACnB,UAAyB,EACzB,UAAkB;QAHlB,cAAS,GAAT,SAAS,CAAO;QAChB,gBAAW,GAAX,WAAW,CAAQ;QACnB,eAAU,GAAV,UAAU,CAAe;QACzB,eAAU,GAAV,UAAU,CAAQ;IAEpC,CAAC;CACF;AARD,4CAQC"}
@@ -0,0 +1,7 @@
1
+ import { ExceptionListenerRegistry } from './exception-listener.registry';
2
+ import { ExceptionContext } from './exception-context';
3
+ export declare class ExceptionListenerHandler {
4
+ private readonly exceptionListenerRegistry;
5
+ constructor(exceptionListenerRegistry: ExceptionListenerRegistry);
6
+ handleError(context: ExceptionContext): Promise<void>;
7
+ }
@@ -0,0 +1,33 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ExceptionListenerHandler = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const exception_listener_registry_1 = require("./exception-listener.registry");
18
+ const service_1 = require("../dependency-injection/service");
19
+ let ExceptionListenerHandler = class ExceptionListenerHandler {
20
+ constructor(exceptionListenerRegistry) {
21
+ this.exceptionListenerRegistry = exceptionListenerRegistry;
22
+ }
23
+ async handleError(context) {
24
+ await this.exceptionListenerRegistry.getAll().forEach(exceptionListener => exceptionListener.onException(context));
25
+ }
26
+ };
27
+ exports.ExceptionListenerHandler = ExceptionListenerHandler;
28
+ exports.ExceptionListenerHandler = ExceptionListenerHandler = __decorate([
29
+ (0, common_1.Injectable)(),
30
+ __param(0, (0, common_1.Inject)(service_1.Service.EXCEPTION_LISTENER_REGISTRY)),
31
+ __metadata("design:paramtypes", [exception_listener_registry_1.ExceptionListenerRegistry])
32
+ ], ExceptionListenerHandler);
33
+ //# sourceMappingURL=exception-listener-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exception-listener-handler.js","sourceRoot":"","sources":["../../src/exception-listener/exception-listener-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,+EAA0E;AAC1E,6DAA0D;AAInD,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,YAEmB,yBAAoD;QAApD,8BAAyB,GAAzB,yBAAyB,CAA2B;IAEvE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IACrH,CAAC;CACF,CAAA;AAVY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,iBAAO,CAAC,2BAA2B,CAAC,CAAA;qCACA,uDAAyB;GAH5D,wBAAwB,CAUpC"}
@@ -0,0 +1,4 @@
1
+ import { ExceptionContext } from './exception-context';
2
+ export interface ExceptionListener {
3
+ onException(context: ExceptionContext): Promise<void>;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=exception-listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exception-listener.js","sourceRoot":"","sources":["../../src/exception-listener/exception-listener.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { ExceptionListener } from './exception-listener';
2
+ export declare class ExceptionListenerRegistry {
3
+ private registry;
4
+ register(name: string, middleware: ExceptionListener): void;
5
+ getAll(): ExceptionListener[];
6
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExceptionListenerRegistry = void 0;
4
+ class ExceptionListenerRegistry {
5
+ constructor() {
6
+ this.registry = new Map();
7
+ }
8
+ register(name, middleware) {
9
+ if (this.registry.has(name)) {
10
+ return;
11
+ }
12
+ this.registry.set(name, middleware);
13
+ }
14
+ getAll() {
15
+ return Array.from(this.registry.values());
16
+ }
17
+ }
18
+ exports.ExceptionListenerRegistry = ExceptionListenerRegistry;
19
+ //# sourceMappingURL=exception-listener.registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exception-listener.registry.js","sourceRoot":"","sources":["../../src/exception-listener/exception-listener.registry.ts"],"names":[],"mappings":";;;AAEA,MAAa,yBAAyB;IAAtC;QACU,aAAQ,GAAmC,IAAI,GAAG,EAAE,CAAC;IAa/D,CAAC;IAXC,QAAQ,CAAC,IAAY,EAAE,UAA6B;QAClD,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,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF;AAdD,8DAcC"}
package/lib/index.d.ts CHANGED
@@ -25,3 +25,6 @@ export * from './exception/invalid-channel.exception';
25
25
  export * from './exception/invalid-channel-config.exception';
26
26
  export * from './middleware/middleware.context';
27
27
  export * from './normalizer/message-normalizer';
28
+ export * from './exception-listener/exception-listener';
29
+ export * from './exception-listener/exception-context';
30
+ export * from './exception/handlers.exception';
package/lib/index.js CHANGED
@@ -41,4 +41,7 @@ __exportStar(require("./exception/invalid-channel.exception"), exports);
41
41
  __exportStar(require("./exception/invalid-channel-config.exception"), exports);
42
42
  __exportStar(require("./middleware/middleware.context"), exports);
43
43
  __exportStar(require("./normalizer/message-normalizer"), exports);
44
+ __exportStar(require("./exception-listener/exception-listener"), exports);
45
+ __exportStar(require("./exception-listener/exception-context"), exports);
46
+ __exportStar(require("./exception/handlers.exception"), exports);
44
47
  //# 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,yEAAuD;AACvD,+EAA6D;AAC7D,uEAAqD;AACrD,mEAAiD;AACjD,oEAAkD;AAClD,8DAA4C;AAC5C,8DAA4C;AAC5C,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,2CAAyB;AACzB,kEAAgD;AAChD,8DAA4C;AAC5C,yEAAuD;AACvD,+EAA6D;AAC7D,uEAAqD;AACrD,mEAAiD;AACjD,oEAAkD;AAClD,8DAA4C;AAC5C,8DAA4C;AAC5C,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,0EAAwD;AACxD,yEAAuD;AACvD,iEAA+C"}
@@ -32,6 +32,8 @@ const handler_middleware_1 = require("./middleware/handler-middleware");
32
32
  const message_bus_collection_1 = require("./bus/message-bus.collection");
33
33
  const normalizer_registry_1 = require("./normalizer/normalizer.registry");
34
34
  const object_forward_message_normalizer_1 = require("./normalizer/object-forward-message.normalizer");
35
+ const exception_listener_registry_1 = require("./exception-listener/exception-listener.registry");
36
+ const exception_listener_handler_1 = require("./exception-listener/exception-listener-handler");
35
37
  let MessagingModule = MessagingModule_1 = class MessagingModule {
36
38
  static forRoot(options) {
37
39
  const registerChannels = () => {
@@ -90,6 +92,10 @@ let MessagingModule = MessagingModule_1 = class MessagingModule {
90
92
  provide: service_1.Service.MESSAGE_HANDLERS_REGISTRY,
91
93
  useClass: message_handler_registry_1.MessageHandlerRegistry,
92
94
  },
95
+ {
96
+ provide: service_1.Service.EXCEPTION_LISTENER_REGISTRY,
97
+ useClass: exception_listener_registry_1.ExceptionListenerRegistry,
98
+ },
93
99
  {
94
100
  provide: service_1.Service.MESSAGE_NORMALIZERS_REGISTRY,
95
101
  useClass: normalizer_registry_1.NormalizerRegistry,
@@ -98,6 +104,10 @@ let MessagingModule = MessagingModule_1 = class MessagingModule {
98
104
  provide: service_1.Service.MIDDLEWARE_REGISTRY,
99
105
  useClass: middleware_registry_1.MiddlewareRegistry,
100
106
  },
107
+ {
108
+ provide: service_1.Service.EXCEPTION_LISTENER_HANDLER,
109
+ useClass: exception_listener_handler_1.ExceptionListenerHandler,
110
+ },
101
111
  {
102
112
  provide: service_1.Service.CHANNEL_REGISTRY,
103
113
  useFactory: (channels, logger) => {
@@ -133,6 +143,7 @@ let MessagingModule = MessagingModule_1 = class MessagingModule {
133
143
  (0, register_1.registerHandlers)(this.moduleRef, this.discoveryService);
134
144
  (0, register_1.registerMiddlewares)(this.moduleRef, this.discoveryService);
135
145
  (0, register_1.registerMessageNormalizers)(this.moduleRef, this.discoveryService);
146
+ (0, register_1.registerExceptionListener)(this.moduleRef, this.discoveryService);
136
147
  const consumer = this.moduleRef.get(distributed_consumer_1.DistributedConsumer);
137
148
  consumer.run();
138
149
  }
@@ -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":";;;;;;;;;;;;;AAAA,2CAA2G;AAC3G,qCAAwF;AACxF,4DAAyD;AACzD,2FAAsF;AACtF,iEAA6D;AAC7D,uFAAiF;AAEjF,2EAAsE;AACtE,uCAA4E;AAC5E,uEAAiE;AACjE,iFAA4E;AAE5E,sDAAkD;AAClD,2FAAqF;AACrF,0EAAsE;AACtE,8DAKyC;AACzC,0EAAsE;AACtE,uFAAgF;AAChF,mEAA8D;AAC9D,wEAAoE;AACpE,yEAAoE;AACpE,0EAAsE;AACtE,sGAAgG;AAChG,kGAA6F;AAC7F,gGAA2F;AAGpF,IAAM,eAAe,uBAArB,MAAM,eAAe;IAC1B,MAAM,CAAC,OAAO,CAAC,OAA+B;QAC5C,MAAM,gBAAgB,GAAG,GAAQ,EAAE;YACjC,OAAO;gBACL,OAAO,EAAE,iBAAO,CAAC,QAAQ;gBACzB,UAAU,EAAE,CAAC,uBAAgD,EAAE,EAAE;oBAC/D,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aAA4B,EAAE,EAAE,CAC3D,uBAAuB,CAAC,MAAM,CAAC,aAAa,CAAC,CAC9C,CAAC;gBACJ,CAAC;gBACD,MAAM,EAAE,CAAC,mDAAuB,CAAC;aAClC,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,GAAU,EAAE;YAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACjC,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE;gBACtB,UAAU,EAAE,CACV,eAAgC,EAChC,UAAsC,EACtC,MAAuB,EACvB,kBAAsC,EACtC,EAAE;oBACF,MAAM,oBAAoB,GAAG,IAAI,6CAAoB,EAAE,CAAC;oBAExD,KAAK,MAAM,WAAW,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACvC,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;wBACvD,oBAAoB,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;oBACzF,CAAC;oBAED,MAAM,UAAU,GAAG,IAAI,+CAAqB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;oBAEvF,MAAM,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,IAAI,4BAA4B,CAAC,CAAC;oBAEhE,OAAO,UAAU,CAAC;gBACpB,CAAC;gBACD,MAAM,EAAE;oBACN,iBAAO,CAAC,gBAAgB;oBACxB,0DAA0B;oBAC1B,iBAAO,CAAC,MAAM;oBACd,iBAAO,CAAC,4BAA4B;iBACrC;aACF,CAAC,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;YAC9B,MAAM,EAAE,iBAAe;YACvB,OAAO,EAAE,CAAC,sBAAe,CAAC;YAC1B,SAAS,EAAE;gBACT,GAAG,WAAW,EAAE;gBAChB,gBAAgB,EAAE;gBAClB;oBACE,OAAO,EAAE,iBAAO,CAAC,mBAAmB;oBACpC,UAAU,EAAE,CACV,sBAA8C,EAC9C,kBAAsC,EACtC,kBAAsC,EACtC,EAAE;wBACF,OAAO,IAAI,0CAAkB,CAC3B,sBAAsB,EACtB,kBAAkB,EAClB,IAAI,mCAAe,CACjB,IAAI,8BAAqB,CAAC;4BACxB,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,EAAE;4BACf,gCAAgC,EAAE,IAAI;yBACvC,CAAC,CACH,EACD,kBAAkB,CACnB,CAAC;oBACJ,CAAC;oBACD,MAAM,EAAE;wBACN,iBAAO,CAAC,yBAAyB;wBACjC,iBAAO,CAAC,mBAAmB;wBAC3B,iBAAO,CAAC,4BAA4B;qBACrC;iBACF;gBACD;oBACE,OAAO,EAAE,iBAAO,CAAC,yBAAyB;oBAC1C,QAAQ,EAAE,iDAAsB;iBACjC;gBACD;oBACE,OAAO,EAAE,iBAAO,CAAC,2BAA2B;oBAC5C,QAAQ,EAAE,uDAAyB;iBACpC;gBACD;oBACE,OAAO,EAAE,iBAAO,CAAC,4BAA4B;oBAC7C,QAAQ,EAAE,wCAAkB;iBAC7B;gBACD;oBACE,OAAO,EAAE,iBAAO,CAAC,mBAAmB;oBACpC,QAAQ,EAAE,wCAAkB;iBAC7B;gBACD;oBACE,OAAO,EAAE,iBAAO,CAAC,0BAA0B;oBAC3C,QAAQ,EAAE,qDAAwB;iBACnC;gBACD;oBACE,OAAO,EAAE,iBAAO,CAAC,gBAAgB;oBACjC,UAAU,EAAE,CAAC,QAAwB,EAAE,MAAuB,EAAE,EAAE;wBAChE,OAAO,IAAI,kCAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC/C,CAAC;oBACD,MAAM,EAAE,CAAC,iBAAO,CAAC,QAAQ,EAAE,iBAAO,CAAC,MAAM,CAAC;iBAC3C;gBACD;oBACE,OAAO,EAAE,iBAAO,CAAC,MAAM;oBACvB,QAAQ,EAAE,IAAI,wBAAU,CACtB,IAAI,eAAgB,EAAE,EACtB,OAAO,CAAC,KAAK,IAAI,KAAK,EACtB,OAAO,CAAC,OAAO,IAAI,IAAI,CACxB;iBACF;gBACD,sCAAiB;gBACjB,mDAAuB;gBACvB,0DAA0B;gBAC1B,yDAAyB;gBACzB,kDAAsB;gBACtB,0CAAmB;gBACnB,kEAA8B;aAC/B;YACD,OAAO,EAAE;gBACP,iBAAO,CAAC,mBAAmB;gBAC3B,GAAG,WAAW,EAAE;gBAChB,0CAAmB;gBACnB,kEAA8B;aAC/B;SACF,CAAC;IACJ,CAAC;IAED,YACmB,SAAoB,EACpB,gBAAkC;QADlC,cAAS,GAAT,SAAS,CAAW;QACpB,qBAAgB,GAAhB,gBAAgB,CAAkB;IAClD,CAAC;IAEJ,sBAAsB;QACpB,IAAA,2BAAgB,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxD,IAAA,8BAAmB,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAA,qCAA0B,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClE,IAAA,oCAAyB,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0CAAmB,CAAC,CAAC;QACzD,QAAQ,CAAC,GAAG,EAAE,CAAC;IACjB,CAAC;CACF,CAAA;AAhJY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,eAAM,EAAC,EAAE,CAAC;qCAoIqB,gBAAS;QACF,uBAAgB;GApI1C,eAAe,CAgJ3B"}