@open-rlb/nestjs-amqp 1.0.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 (136) hide show
  1. package/README.md +300 -0
  2. package/amqp-lib/amqp/connection.d.ts +51 -0
  3. package/amqp-lib/amqp/connection.js +503 -0
  4. package/amqp-lib/amqp/connection.js.map +1 -0
  5. package/amqp-lib/amqp/errorBehaviors.d.ts +9 -0
  6. package/amqp-lib/amqp/errorBehaviors.js +47 -0
  7. package/amqp-lib/amqp/errorBehaviors.js.map +1 -0
  8. package/amqp-lib/amqp/utils.d.ts +7 -0
  9. package/amqp-lib/amqp/utils.js +110 -0
  10. package/amqp-lib/amqp/utils.js.map +1 -0
  11. package/amqp-lib/config/rabbitmq-exchange.config.d.ts +13 -0
  12. package/amqp-lib/config/rabbitmq-exchange.config.js +3 -0
  13. package/amqp-lib/config/rabbitmq-exchange.config.js.map +1 -0
  14. package/amqp-lib/config/rabbitmq-queue.config.d.ts +25 -0
  15. package/amqp-lib/config/rabbitmq-queue.config.js +3 -0
  16. package/amqp-lib/config/rabbitmq-queue.config.js.map +1 -0
  17. package/amqp-lib/config/rabbitmq.config.d.ts +49 -0
  18. package/amqp-lib/config/rabbitmq.config.js +3 -0
  19. package/amqp-lib/config/rabbitmq.config.js.map +1 -0
  20. package/amqp-lib/index.d.ts +4 -0
  21. package/amqp-lib/index.js +21 -0
  22. package/amqp-lib/index.js.map +1 -0
  23. package/amqp-lib/models/correlation-message.model.d.ts +5 -0
  24. package/amqp-lib/models/correlation-message.model.js +3 -0
  25. package/amqp-lib/models/correlation-message.model.js.map +1 -0
  26. package/amqp-lib/models/errors.model.d.ts +15 -0
  27. package/amqp-lib/models/errors.model.js +35 -0
  28. package/amqp-lib/models/errors.model.js.map +1 -0
  29. package/amqp-lib/models/nack.model.d.ts +5 -0
  30. package/amqp-lib/models/nack.model.js +13 -0
  31. package/amqp-lib/models/nack.model.js.map +1 -0
  32. package/amqp-lib/models/rabbitmq-handler.model.d.ts +38 -0
  33. package/amqp-lib/models/rabbitmq-handler.model.js +3 -0
  34. package/amqp-lib/models/rabbitmq-handler.model.js.map +1 -0
  35. package/amqp-lib/models/subscription-result.model.d.ts +4 -0
  36. package/amqp-lib/models/subscription-result.model.js +3 -0
  37. package/amqp-lib/models/subscription-result.model.js.map +1 -0
  38. package/amqp-lib/types.d.ts +45 -0
  39. package/amqp-lib/types.js +11 -0
  40. package/amqp-lib/types.js.map +1 -0
  41. package/amqp.module.d.ts +2 -0
  42. package/amqp.module.js +29 -0
  43. package/amqp.module.js.map +1 -0
  44. package/index.d.ts +4 -0
  45. package/index.js +21 -0
  46. package/index.js.map +1 -0
  47. package/modules/broker/broker.module.d.ts +27 -0
  48. package/modules/broker/broker.module.js +132 -0
  49. package/modules/broker/broker.module.js.map +1 -0
  50. package/modules/broker/config/broker.config.d.ts +3 -0
  51. package/modules/broker/config/broker.config.js +3 -0
  52. package/modules/broker/config/broker.config.js.map +1 -0
  53. package/modules/broker/config/handler-auth.config.d.ts +22 -0
  54. package/modules/broker/config/handler-auth.config.js +3 -0
  55. package/modules/broker/config/handler-auth.config.js.map +1 -0
  56. package/modules/broker/config/topics.config.d.ts +8 -0
  57. package/modules/broker/config/topics.config.js +3 -0
  58. package/modules/broker/config/topics.config.js.map +1 -0
  59. package/modules/broker/const.d.ts +9 -0
  60. package/modules/broker/const.js +13 -0
  61. package/modules/broker/const.js.map +1 -0
  62. package/modules/broker/data/events/messages.d.ts +29 -0
  63. package/modules/broker/data/events/messages.js +3 -0
  64. package/modules/broker/data/events/messages.js.map +1 -0
  65. package/modules/broker/decorators/broker-action.decorator.d.ts +8 -0
  66. package/modules/broker/decorators/broker-action.decorator.js +66 -0
  67. package/modules/broker/decorators/broker-action.decorator.js.map +1 -0
  68. package/modules/broker/decorators/index.d.ts +1 -0
  69. package/modules/broker/decorators/index.js +18 -0
  70. package/modules/broker/decorators/index.js.map +1 -0
  71. package/modules/broker/index.d.ts +9 -0
  72. package/modules/broker/index.js +26 -0
  73. package/modules/broker/index.js.map +1 -0
  74. package/modules/broker/pipes/boolean.pipe.d.ts +4 -0
  75. package/modules/broker/pipes/boolean.pipe.js +23 -0
  76. package/modules/broker/pipes/boolean.pipe.js.map +1 -0
  77. package/modules/broker/pipes/index.d.ts +2 -0
  78. package/modules/broker/pipes/index.js +19 -0
  79. package/modules/broker/pipes/index.js.map +1 -0
  80. package/modules/broker/pipes/number.pipe.d.ts +4 -0
  81. package/modules/broker/pipes/number.pipe.js +10 -0
  82. package/modules/broker/pipes/number.pipe.js.map +1 -0
  83. package/modules/broker/services/auto-discovery.service.d.ts +6 -0
  84. package/modules/broker/services/auto-discovery.service.js +28 -0
  85. package/modules/broker/services/auto-discovery.service.js.map +1 -0
  86. package/modules/broker/services/broker.service.d.ts +31 -0
  87. package/modules/broker/services/broker.service.js +323 -0
  88. package/modules/broker/services/broker.service.js.map +1 -0
  89. package/modules/broker/services/handler-registry.service.d.ts +12 -0
  90. package/modules/broker/services/handler-registry.service.js +58 -0
  91. package/modules/broker/services/handler-registry.service.js.map +1 -0
  92. package/modules/broker/services/metadata-scanner.service.d.ts +23 -0
  93. package/modules/broker/services/metadata-scanner.service.js +238 -0
  94. package/modules/broker/services/metadata-scanner.service.js.map +1 -0
  95. package/modules/broker/services/reflect.service.d.ts +22 -0
  96. package/modules/broker/services/reflect.service.js +195 -0
  97. package/modules/broker/services/reflect.service.js.map +1 -0
  98. package/modules/broker/services/utils.service.d.ts +8 -0
  99. package/modules/broker/services/utils.service.js +28 -0
  100. package/modules/broker/services/utils.service.js.map +1 -0
  101. package/modules/proxy/config/path-definition.config.d.ts +51 -0
  102. package/modules/proxy/config/path-definition.config.js +3 -0
  103. package/modules/proxy/config/path-definition.config.js.map +1 -0
  104. package/modules/proxy/index.d.ts +7 -0
  105. package/modules/proxy/index.js +20 -0
  106. package/modules/proxy/index.js.map +1 -0
  107. package/modules/proxy/proxy.module.d.ts +4 -0
  108. package/modules/proxy/proxy.module.js +38 -0
  109. package/modules/proxy/proxy.module.js.map +1 -0
  110. package/modules/proxy/services/acl.service.d.ts +4 -0
  111. package/modules/proxy/services/acl.service.js +5 -0
  112. package/modules/proxy/services/acl.service.js.map +1 -0
  113. package/modules/proxy/services/http-auth-handler.service.d.ts +19 -0
  114. package/modules/proxy/services/http-auth-handler.service.js +146 -0
  115. package/modules/proxy/services/http-auth-handler.service.js.map +1 -0
  116. package/modules/proxy/services/http-handler.service.d.ts +21 -0
  117. package/modules/proxy/services/http-handler.service.js +210 -0
  118. package/modules/proxy/services/http-handler.service.js.map +1 -0
  119. package/modules/proxy/services/jwt.service.d.ts +12 -0
  120. package/modules/proxy/services/jwt.service.js +107 -0
  121. package/modules/proxy/services/jwt.service.js.map +1 -0
  122. package/modules/proxy/services/websocket.service.d.ts +21 -0
  123. package/modules/proxy/services/websocket.service.js +180 -0
  124. package/modules/proxy/services/websocket.service.js.map +1 -0
  125. package/modules/remote-config/index.d.ts +2 -0
  126. package/modules/remote-config/index.js +19 -0
  127. package/modules/remote-config/index.js.map +1 -0
  128. package/modules/remote-config/remote-config.module.d.ts +2 -0
  129. package/modules/remote-config/remote-config.module.js +22 -0
  130. package/modules/remote-config/remote-config.module.js.map +1 -0
  131. package/modules/remote-config/remote-config.service.d.ts +12 -0
  132. package/modules/remote-config/remote-config.service.js +68 -0
  133. package/modules/remote-config/remote-config.service.js.map +1 -0
  134. package/open-rlb-amqp.schema.json +1297 -0
  135. package/package.json +88 -0
  136. package/tsconfig.build.tsbuildinfo +1 -0
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.matchesRoutingKey = matchesRoutingKey;
4
+ exports.validateRabbitMqUris = validateRabbitMqUris;
5
+ exports.converUriConfigObjectsToUris = converUriConfigObjectsToUris;
6
+ exports.isObject = isObject;
7
+ exports.isPlainObject = isPlainObject;
8
+ exports.merge = merge;
9
+ function matchesRoutingKey(routingKey, pattern) {
10
+ if (pattern === undefined || (Array.isArray(pattern) && pattern.length === 0))
11
+ return false;
12
+ const patterns = Array.isArray(pattern) ? pattern : [pattern];
13
+ for (const p of patterns) {
14
+ if (routingKey === p)
15
+ return true;
16
+ const splitKey = routingKey.split('.');
17
+ const splitPattern = p.split('.');
18
+ let starFailed = false;
19
+ for (let i = 0; i < splitPattern.length; i++) {
20
+ if (splitPattern[i] === '#')
21
+ return true;
22
+ if (splitPattern[i] !== '*' && splitPattern[i] !== splitKey[i]) {
23
+ starFailed = true;
24
+ break;
25
+ }
26
+ }
27
+ if (!starFailed && splitKey.length === splitPattern.length)
28
+ return true;
29
+ }
30
+ return false;
31
+ }
32
+ function validateRabbitMqUris(uri) {
33
+ const rmqUri = new URL(uri);
34
+ if (!rmqUri.protocol.startsWith('amqp')) {
35
+ throw new Error('RabbitMQ URI protocol must start with amqp or amqps');
36
+ }
37
+ }
38
+ ;
39
+ function converUriConfigObjectsToUris(uri) {
40
+ if (typeof uri == 'string')
41
+ return uri;
42
+ return amqplibUriConfigToUrl(uri);
43
+ }
44
+ ;
45
+ function isObject(value) {
46
+ return value !== null && typeof value === 'object';
47
+ }
48
+ function isPlainObject(value) {
49
+ if (!isObject(value))
50
+ return false;
51
+ const proto = Object.getPrototypeOf(value);
52
+ return proto === Object.prototype || proto === null;
53
+ }
54
+ function merge(target, ...sources) {
55
+ if (!isObject(target)) {
56
+ throw new TypeError('Target must be an object');
57
+ }
58
+ for (const source of sources) {
59
+ if (!isObject(source))
60
+ continue;
61
+ for (const key of Object.keys(source)) {
62
+ const sourceValue = source[key];
63
+ const targetValue = target[key];
64
+ if (sourceValue === undefined)
65
+ continue;
66
+ if (Array.isArray(sourceValue)) {
67
+ if (Array.isArray(targetValue)) {
68
+ for (let i = 0; i < sourceValue.length; i++) {
69
+ if (isPlainObject(sourceValue[i]) || Array.isArray(sourceValue[i])) {
70
+ targetValue[i] = merge(Array.isArray(sourceValue[i]) ? [] : {}, targetValue[i], sourceValue[i]);
71
+ }
72
+ else {
73
+ targetValue[i] = sourceValue[i];
74
+ }
75
+ }
76
+ }
77
+ else {
78
+ target[key] = merge([], sourceValue);
79
+ }
80
+ continue;
81
+ }
82
+ if (isPlainObject(sourceValue)) {
83
+ if (isPlainObject(targetValue)) {
84
+ merge(targetValue, sourceValue);
85
+ }
86
+ else {
87
+ target[key] = merge({}, sourceValue);
88
+ }
89
+ continue;
90
+ }
91
+ target[key] = sourceValue;
92
+ }
93
+ }
94
+ return target;
95
+ }
96
+ const amqplibUriConfigToUrl = ({ hostname, username, password, frameMax, heartbeat, vhost, protocol = 'amqp', port = 5672, }) => {
97
+ if (!hostname) {
98
+ throw new Error("Configuration object must contain a 'hostname' key.");
99
+ }
100
+ const auth = username && password
101
+ ? `${encodeURIComponent(username)}:${encodeURIComponent(password)}@`
102
+ : '';
103
+ const params = new URLSearchParams();
104
+ if (frameMax)
105
+ params.set('frameMax', frameMax.toString());
106
+ if (heartbeat)
107
+ params.set('heartbeat', heartbeat.toString());
108
+ return `${protocol}://${auth}${hostname}:${port}${vhost ?? ''}${params.size == 0 ? '' : `?${params.toString()}`}`;
109
+ };
110
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/amqp/utils.ts"],"names":[],"mappings":";;AAGA,8CAyBC;AAED,oDAKC;AAED,oEAGC;AAED,4BAEC;AAED,sCAIC;AAED,sBAmDC;AApGD,SAAgB,iBAAiB,CAAC,UAAkB,EAAE,OAAsC;IAG1F,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;QAC3E,OAAO,KAAK,CAAC;IAEf,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YAEzC,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,UAAU,GAAG,IAAI,CAAC;gBAClB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;IAC1E,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAAA,CAAC;AAEF,SAAgB,4BAA4B,CAAC,GAAsB;IACjE,IAAI,OAAO,GAAG,IAAI,QAAQ;QAAE,OAAO,GAAG,CAAC;IACvC,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAAA,CAAC;AAEF,SAAgB,QAAQ,CAAC,KAAU;IACjC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrD,CAAC;AAED,SAAgB,aAAa,CAAC,KAAU;IACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACtD,CAAC;AAED,SAAgB,KAAK,CAAU,MAAS,EAAE,GAAG,OAAqB;IAChE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QAEhC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAGhC,IAAI,WAAW,KAAK,SAAS;gBAAE,SAAS;YAGxC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC5C,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACnE,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CACpB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACvC,WAAW,CAAC,CAAC,CAAC,EACd,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBACvC,CAAC;gBACD,SAAS;YACX,CAAC;YAGD,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBACvC,CAAC;gBACD,SAAS;YACX,CAAC;YAGD,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,qBAAqB,GAAG,CAAC,EAC7B,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,QAAQ,GAAG,MAAM,EACjB,IAAI,GAAG,IAAI,GACK,EAAU,EAAE;IAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,IAAI,GACR,QAAQ,IAAI,QAAQ;QAClB,CAAC,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG;QACpE,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,QAAQ;QAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,IAAI,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE7D,OAAO,GAAG,QAAQ,MAAM,IAAI,GAAG,QAAQ,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;AACpH,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Options } from "amqplib";
2
+ export interface RabbitMQExchangeConfig {
3
+ name: string;
4
+ type?: string;
5
+ createExchangeIfNotExists?: boolean;
6
+ options?: Options.AssertExchange;
7
+ }
8
+ export interface RabbitMQExchangeBindingConfig {
9
+ destination: string;
10
+ source: string;
11
+ pattern: string;
12
+ args?: any;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=rabbitmq-exchange.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-exchange.config.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/config/rabbitmq-exchange.config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { Options } from "amqplib";
2
+ export interface RabbitMQQueueConfig {
3
+ name: string;
4
+ createQueueIfNotExists?: boolean;
5
+ options?: Options.AssertQueue;
6
+ exchange?: string;
7
+ routingKey?: string | string[];
8
+ bindQueueArguments?: any;
9
+ consumerTag?: string | undefined;
10
+ }
11
+ export interface QueueOptions {
12
+ durable?: boolean;
13
+ exclusive?: boolean;
14
+ autoDelete?: boolean;
15
+ arguments?: any;
16
+ messageTtl?: number;
17
+ expires?: number;
18
+ deadLetterExchange?: string;
19
+ deadLetterRoutingKey?: string;
20
+ maxLength?: number;
21
+ maxPriority?: number;
22
+ bindQueueArguments?: any;
23
+ channel?: string;
24
+ consumerOptions?: Options.Consume;
25
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=rabbitmq-queue.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-queue.config.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/config/rabbitmq-queue.config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ import { ModuleMetadata, Type } from "@nestjs/common";
2
+ import { AmqpConnectionManagerOptions } from "amqp-connection-manager";
3
+ import { MessageDeserializer, MessageErrorHandler, MessageHandlerErrorBehavior, MessageSerializer, RabbitMQChannels, RabbitMQHandlers, RabbitMQUriConfig } from "../types";
4
+ import { RabbitMQExchangeBindingConfig, RabbitMQExchangeConfig } from "./rabbitmq-exchange.config";
5
+ import { RabbitMQQueueConfig } from "./rabbitmq-queue.config";
6
+ export interface RabbitMQConfig {
7
+ uri: RabbitMQUriConfig;
8
+ prefetchCount?: number;
9
+ exchanges?: RabbitMQExchangeConfig[];
10
+ exchangeBindings?: RabbitMQExchangeBindingConfig[];
11
+ queues?: RabbitMQQueueConfig[];
12
+ defaultRpcTimeout?: number;
13
+ defaultExchangeType?: string;
14
+ defaultRpcErrorHandler?: MessageErrorHandler;
15
+ defaultSubscribeErrorBehavior?: MessageHandlerErrorBehavior;
16
+ connectionInitOptions?: ConnectionInitOptions;
17
+ connectionManagerOptions?: AmqpConnectionManagerOptions;
18
+ registerHandlers?: boolean;
19
+ enableDirectReplyTo?: boolean;
20
+ enableControllerDiscovery?: boolean;
21
+ channels?: RabbitMQChannels;
22
+ handlers?: RabbitMQHandlers;
23
+ defaultHandler?: string;
24
+ deserializer?: MessageDeserializer;
25
+ serializer?: MessageSerializer;
26
+ replyQueues?: {
27
+ [key: string]: string;
28
+ };
29
+ }
30
+ export interface ConnectionInitOptions {
31
+ wait?: boolean;
32
+ timeout?: number;
33
+ reject?: boolean;
34
+ skipConnectionFailedLogging?: boolean;
35
+ skipDisconnectFailedLogging?: boolean;
36
+ }
37
+ export interface RabbitMQChannelConfig {
38
+ prefetchCount?: number;
39
+ default?: boolean;
40
+ }
41
+ export interface RabbitMQModuleOptionsFactory {
42
+ createRabbitMQModuleOptions(): Promise<RabbitMQConfig> | RabbitMQConfig;
43
+ }
44
+ export interface RabbitMQModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
45
+ inject?: any[];
46
+ useClass?: Type<RabbitMQModuleOptionsFactory>;
47
+ useExisting?: Type<RabbitMQModuleOptionsFactory>;
48
+ useFactory?: (...args: any[]) => Promise<RabbitMQConfig> | RabbitMQConfig;
49
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=rabbitmq.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq.config.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/config/rabbitmq.config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './amqp/connection';
2
+ export * from './amqp/errorBehaviors';
3
+ export * from './models/errors.model';
4
+ export * from './models/nack.model';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./amqp/connection"), exports);
18
+ __exportStar(require("./amqp/errorBehaviors"), exports);
19
+ __exportStar(require("./models/errors.model"), exports);
20
+ __exportStar(require("./models/nack.model"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../libs/rlb-nestjs-amqp/src/amqp-lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,wDAAsC;AACtC,wDAAsC;AACtC,sDAAoC"}
@@ -0,0 +1,5 @@
1
+ export interface CorrelationMessage {
2
+ correlationId: string;
3
+ requestId?: string;
4
+ message: Record<string, unknown>;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=correlation-message.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correlation-message.model.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/models/correlation-message.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ export declare class RpcTimeoutError extends Error {
2
+ readonly timeout: number;
3
+ readonly exchange: string;
4
+ readonly routingKey: string;
5
+ constructor(timeout: number, exchange: string, routingKey: string);
6
+ }
7
+ export declare class NullMessageError extends Error {
8
+ constructor();
9
+ }
10
+ export declare class ChannelNotAvailableError extends Error {
11
+ constructor();
12
+ }
13
+ export declare class ConnectionNotAvailableError extends Error {
14
+ constructor();
15
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConnectionNotAvailableError = exports.ChannelNotAvailableError = exports.NullMessageError = exports.RpcTimeoutError = void 0;
4
+ class RpcTimeoutError extends Error {
5
+ constructor(timeout, exchange, routingKey) {
6
+ super(`Failed to receive response within timeout of ${timeout}ms for exchange "${exchange}" and routing key "${routingKey}"`);
7
+ this.timeout = timeout;
8
+ this.exchange = exchange;
9
+ this.routingKey = routingKey;
10
+ this.name = 'RpcTimeoutError';
11
+ }
12
+ }
13
+ exports.RpcTimeoutError = RpcTimeoutError;
14
+ class NullMessageError extends Error {
15
+ constructor() {
16
+ super('Received null message');
17
+ this.name = 'NullMessageError';
18
+ }
19
+ }
20
+ exports.NullMessageError = NullMessageError;
21
+ class ChannelNotAvailableError extends Error {
22
+ constructor() {
23
+ super('channel is not available');
24
+ this.name = 'ChannelNotAvailableError';
25
+ }
26
+ }
27
+ exports.ChannelNotAvailableError = ChannelNotAvailableError;
28
+ class ConnectionNotAvailableError extends Error {
29
+ constructor() {
30
+ super('connection is not available');
31
+ this.name = 'ConnectionNotAvailableError';
32
+ }
33
+ }
34
+ exports.ConnectionNotAvailableError = ConnectionNotAvailableError;
35
+ //# sourceMappingURL=errors.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.model.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/models/errors.model.ts"],"names":[],"mappings":";;;AAGA,MAAa,eAAgB,SAAQ,KAAK;IACxC,YACkB,OAAe,EACf,QAAgB,EAChB,UAAkB;QAElC,KAAK,CACH,gDAAgD,OAAO,oBAAoB,QAAQ,sBAAsB,UAAU,GAAG,CACvH,CAAC;QANc,YAAO,GAAP,OAAO,CAAQ;QACf,aAAQ,GAAR,QAAQ,CAAQ;QAChB,eAAU,GAAV,UAAU,CAAQ;QAKlC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAXD,0CAWC;AAKD,MAAa,gBAAiB,SAAQ,KAAK;IACzC;QACE,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AALD,4CAKC;AAKD,MAAa,wBAAyB,SAAQ,KAAK;IACjD;QACE,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AALD,4DAKC;AAKD,MAAa,2BAA4B,SAAQ,KAAK;IACpD;QACE,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AALD,kEAKC"}
@@ -0,0 +1,5 @@
1
+ export declare class Nack {
2
+ private readonly _requeue;
3
+ constructor(_requeue?: boolean);
4
+ get requeue(): boolean;
5
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Nack = void 0;
4
+ class Nack {
5
+ constructor(_requeue = false) {
6
+ this._requeue = _requeue;
7
+ }
8
+ get requeue() {
9
+ return this._requeue;
10
+ }
11
+ }
12
+ exports.Nack = Nack;
13
+ //# sourceMappingURL=nack.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nack.model.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/models/nack.model.ts"],"names":[],"mappings":";;;AAAA,MAAa,IAAI;IACf,YAA6B,WAAoB,KAAK;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAI,CAAC;IAE3D,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAND,oBAMC"}
@@ -0,0 +1,38 @@
1
+ import { Options } from "amqplib";
2
+ import { QueueOptions } from "../config/rabbitmq-queue.config";
3
+ import { AssertQueueErrorHandler, BatchMessageErrorHandler, MessageDeserializer, MessageErrorHandler, MessageHandlerErrorBehavior } from "../types";
4
+ export interface RequestOptions {
5
+ exchange: string;
6
+ routingKey: string;
7
+ correlationId?: string;
8
+ timeout?: number;
9
+ payload?: any;
10
+ headers?: any;
11
+ expiration?: string | number;
12
+ replyTo?: string;
13
+ publishOptions?: Omit<Options.Publish, 'replyTo' | 'correlationId' | 'headers' | 'expiration'>;
14
+ }
15
+ export interface MessageHandlerOptions {
16
+ name?: string;
17
+ connection?: string;
18
+ exchange?: string;
19
+ routingKey?: string | string[];
20
+ queue?: string;
21
+ queueOptions?: QueueOptions;
22
+ errorBehavior?: MessageHandlerErrorBehavior;
23
+ errorHandler?: MessageErrorHandler;
24
+ assertQueueErrorHandler?: AssertQueueErrorHandler;
25
+ allowNonJsonMessages?: boolean;
26
+ createQueueIfNotExists?: boolean;
27
+ usePersistentReplyTo?: boolean;
28
+ deserializer?: MessageDeserializer;
29
+ batchOptions?: {
30
+ size: number;
31
+ timeout?: number;
32
+ errorHandler?: BatchMessageErrorHandler;
33
+ };
34
+ }
35
+ export interface MessageOptions {
36
+ exchange: string;
37
+ routingKey: string;
38
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=rabbitmq-handler.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-handler.model.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/models/rabbitmq-handler.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { ConsumerTag } from "../types";
2
+ export interface SubscriptionResult {
3
+ consumerTag: ConsumerTag;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=subscription-result.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-result.model.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/amqp-lib/models/subscription-result.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ import { Channel, ConfirmChannel, ConsumeMessage, Options } from "amqplib";
2
+ import { QueueOptions } from "./config/rabbitmq-queue.config";
3
+ import { RabbitMQChannelConfig } from "./config/rabbitmq.config";
4
+ import { Nack } from "./models/nack.model";
5
+ import { MessageHandlerOptions } from "./models/rabbitmq-handler.model";
6
+ export type ConsumeOptions = Options.Consume;
7
+ export type MessageDeserializer = (message: Buffer, msg: ConsumeMessage) => any;
8
+ export type MessageSerializer = (value: any) => Buffer;
9
+ export type RabbitMQChannels = Record<string, RabbitMQChannelConfig>;
10
+ export type RabbitMQHandlers = Record<string, MessageHandlerOptions | MessageHandlerOptions[]>;
11
+ export type RabbitMQUriConfig = Options.Connect | string;
12
+ export declare enum MessageHandlerErrorBehavior {
13
+ ACK = "ACK",
14
+ NACK = "NACK",
15
+ REQUEUE = "REQUEUE"
16
+ }
17
+ type BaseMessageErrorHandler<T extends ConsumeMessage | ConsumeMessage[]> = (channel: Channel, msg: T, error: any) => Promise<void> | void;
18
+ export type MessageErrorHandler = BaseMessageErrorHandler<ConsumeMessage>;
19
+ export type BatchMessageErrorHandler = BaseMessageErrorHandler<ConsumeMessage[]>;
20
+ export type LegacyMessageErrorHandler = BaseMessageErrorHandler<ConsumeMessage | ConsumeMessage[]>;
21
+ export type RpcResponse<T> = T | Nack;
22
+ export type SubscribeResponse = Nack | undefined | void;
23
+ export declare const DIRECT_REPLY_QUEUE = "amq.rabbitmq.reply-to";
24
+ export type ConsumerTag = string;
25
+ export type SubscriberHandler<T = unknown> = (msg: T | undefined, rawMessage?: ConsumeMessage, headers?: any) => Promise<SubscribeResponse>;
26
+ export type BatchSubscriberHandler<T = unknown> = (msg: (T | undefined)[], rawMessage?: ConsumeMessage[], headers?: any[]) => Promise<SubscribeResponse>;
27
+ export type RpcSubscriberHandler<T = unknown, U = unknown> = (msg: T | undefined, rawMessage?: ConsumeMessage, headers?: any) => Promise<RpcResponse<U>>;
28
+ export type BaseConsumerHandler = {
29
+ consumerTag: string;
30
+ channel: ConfirmChannel;
31
+ msgOptions: MessageHandlerOptions;
32
+ };
33
+ export type ConsumerHandler<T, U> = (BaseConsumerHandler & {
34
+ type: 'subscribe';
35
+ handler: SubscriberHandler<T>;
36
+ }) | (BaseConsumerHandler & {
37
+ type: 'subscribe-batch';
38
+ handler: BatchSubscriberHandler<T>;
39
+ }) | (BaseConsumerHandler & {
40
+ type: 'rpc';
41
+ handler: RpcSubscriberHandler<T, U>;
42
+ });
43
+ export type Consumer = (msg: ConsumeMessage | null) => void | Promise<void>;
44
+ export type AssertQueueErrorHandler = (channel: Channel, queueName: string, queueOptions: QueueOptions | undefined, error: any) => Promise<string> | string;
45
+ export {};
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DIRECT_REPLY_QUEUE = exports.MessageHandlerErrorBehavior = void 0;
4
+ var MessageHandlerErrorBehavior;
5
+ (function (MessageHandlerErrorBehavior) {
6
+ MessageHandlerErrorBehavior["ACK"] = "ACK";
7
+ MessageHandlerErrorBehavior["NACK"] = "NACK";
8
+ MessageHandlerErrorBehavior["REQUEUE"] = "REQUEUE";
9
+ })(MessageHandlerErrorBehavior || (exports.MessageHandlerErrorBehavior = MessageHandlerErrorBehavior = {}));
10
+ exports.DIRECT_REPLY_QUEUE = 'amq.rabbitmq.reply-to';
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../libs/rlb-nestjs-amqp/src/amqp-lib/types.ts"],"names":[],"mappings":";;;AAYA,IAAY,2BAAgF;AAA5F,WAAY,2BAA2B;IAAG,0CAAW,CAAA;IAAE,4CAAa,CAAA;IAAE,kDAAmB,CAAA;AAAE,CAAC,EAAhF,2BAA2B,2CAA3B,2BAA2B,QAAqD;AAoB/E,QAAA,kBAAkB,GAAG,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare class AmqpModule {
2
+ }
package/amqp.module.js ADDED
@@ -0,0 +1,29 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AmqpModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const config_1 = require("@nestjs/config");
12
+ const broker_1 = require("./modules/broker");
13
+ const remote_config_module_1 = require("./modules/remote-config/remote-config.module");
14
+ let AmqpModule = class AmqpModule {
15
+ };
16
+ exports.AmqpModule = AmqpModule;
17
+ exports.AmqpModule = AmqpModule = __decorate([
18
+ (0, common_1.Module)({
19
+ imports: [
20
+ config_1.ConfigModule,
21
+ broker_1.BrokerModule,
22
+ remote_config_module_1.RemoteConfigModule,
23
+ ],
24
+ exports: [
25
+ broker_1.BrokerModule,
26
+ ]
27
+ })
28
+ ], AmqpModule);
29
+ //# sourceMappingURL=amqp.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amqp.module.js","sourceRoot":"","sources":["../libs/rlb-nestjs-amqp/src/amqp.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,2CAA8C;AAC9C,6CAAgD;AAChD,uFAAkF;AAa3E,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAI,CAAA;AAAd,gCAAU;qBAAV,UAAU;IAVtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,qBAAY;YACZ,qBAAY;YACZ,yCAAkB;SACnB;QACD,OAAO,EAAE;YACP,qBAAY;SACb;KACF,CAAC;GACW,UAAU,CAAI"}
package/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from './modules/broker/index';
2
+ export * from './modules/broker/services/utils.service';
3
+ export * from './modules/proxy/index';
4
+ export * from './modules/remote-config/index';
package/index.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./modules/broker/index"), exports);
18
+ __exportStar(require("./modules/broker/services/utils.service"), exports);
19
+ __exportStar(require("./modules/proxy/index"), exports);
20
+ __exportStar(require("./modules/remote-config/index"), exports);
21
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../libs/rlb-nestjs-amqp/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,0EAAwD;AACxD,wDAAsC;AACtC,gEAA8C"}
@@ -0,0 +1,27 @@
1
+ import { DynamicModule, Type } from '@nestjs/common';
2
+ import { RabbitMQConfig } from '../../amqp-lib/config/rabbitmq.config';
3
+ import { GatewayConfig } from '../proxy';
4
+ import { HandlerAuthConfig } from './config/handler-auth.config';
5
+ import { BrokerTopic } from './config/topics.config';
6
+ import { AppConfig } from './services/utils.service';
7
+ export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<RabbitMQConfig, "forRoot", "create", {}>, MODULE_OPTIONS_TOKEN: string | symbol;
8
+ export declare class BrokerModule {
9
+ static forRoot(options: RabbitMQConfig, topics: BrokerTopic[], appOptions?: AppConfig, authOptions?: HandlerAuthConfig[], gatewayOptions?: GatewayConfig): DynamicModule;
10
+ static forRootAsync(asyncOptions: {
11
+ useFactory: (...args: any[]) => Promise<{
12
+ options: RabbitMQConfig;
13
+ topics: BrokerTopic[];
14
+ appOptions?: AppConfig;
15
+ authOptions?: HandlerAuthConfig[];
16
+ gatewayOptions?: GatewayConfig;
17
+ }> | {
18
+ options: RabbitMQConfig;
19
+ topics: BrokerTopic[];
20
+ appOptions?: AppConfig;
21
+ authOptions?: HandlerAuthConfig[];
22
+ gatewayOptions?: GatewayConfig;
23
+ };
24
+ inject?: Type<any>[];
25
+ imports?: Type<any>[];
26
+ }): DynamicModule;
27
+ }