@makebelieve21213-packages/rabbitmq-client 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 (135) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +461 -0
  3. package/dist/__tests__/__mocks__/logger.d.ts +10 -0
  4. package/dist/__tests__/__mocks__/logger.d.ts.map +1 -0
  5. package/dist/__tests__/__mocks__/logger.js +11 -0
  6. package/dist/__tests__/__mocks__/logger.js.map +1 -0
  7. package/dist/__tests__/__mocks__/redis-client.d.ts +9 -0
  8. package/dist/__tests__/__mocks__/redis-client.d.ts.map +1 -0
  9. package/dist/__tests__/__mocks__/redis-client.js +10 -0
  10. package/dist/__tests__/__mocks__/redis-client.js.map +1 -0
  11. package/dist/__tests__/connect-rabbitmq-receiver.spec.d.ts +2 -0
  12. package/dist/__tests__/connect-rabbitmq-receiver.spec.d.ts.map +1 -0
  13. package/dist/__tests__/connect-rabbitmq-receiver.spec.js +206 -0
  14. package/dist/__tests__/connect-rabbitmq-receiver.spec.js.map +1 -0
  15. package/dist/__tests__/connect-rabbitmq-receivers.spec.d.ts +2 -0
  16. package/dist/__tests__/connect-rabbitmq-receivers.spec.d.ts.map +1 -0
  17. package/dist/__tests__/connect-rabbitmq-receivers.spec.js +139 -0
  18. package/dist/__tests__/connect-rabbitmq-receivers.spec.js.map +1 -0
  19. package/dist/__tests__/index.spec.d.ts +2 -0
  20. package/dist/__tests__/index.spec.d.ts.map +1 -0
  21. package/dist/__tests__/index.spec.js +206 -0
  22. package/dist/__tests__/index.spec.js.map +1 -0
  23. package/dist/__tests__/setup.d.ts +2 -0
  24. package/dist/__tests__/setup.d.ts.map +1 -0
  25. package/dist/__tests__/setup.js +15 -0
  26. package/dist/__tests__/setup.js.map +1 -0
  27. package/dist/__tests__/test-types.d.ts +52 -0
  28. package/dist/__tests__/test-types.d.ts.map +1 -0
  29. package/dist/__tests__/test-types.js +2 -0
  30. package/dist/__tests__/test-types.js.map +1 -0
  31. package/dist/config/__tests__/factories.spec.d.ts +2 -0
  32. package/dist/config/__tests__/factories.spec.d.ts.map +1 -0
  33. package/dist/config/__tests__/factories.spec.js +168 -0
  34. package/dist/config/__tests__/factories.spec.js.map +1 -0
  35. package/dist/config/factories.d.ts +23 -0
  36. package/dist/config/factories.d.ts.map +1 -0
  37. package/dist/config/factories.js +123 -0
  38. package/dist/config/factories.js.map +1 -0
  39. package/dist/connect-rabbitmq-receiver.d.ts +8 -0
  40. package/dist/connect-rabbitmq-receiver.d.ts.map +1 -0
  41. package/dist/connect-rabbitmq-receiver.js +49 -0
  42. package/dist/connect-rabbitmq-receiver.js.map +1 -0
  43. package/dist/connect-rabbitmq-receivers.d.ts +8 -0
  44. package/dist/connect-rabbitmq-receivers.d.ts.map +1 -0
  45. package/dist/connect-rabbitmq-receivers.js +18 -0
  46. package/dist/connect-rabbitmq-receivers.js.map +1 -0
  47. package/dist/index.d.ts +14 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +8 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/interceptors/__tests__/rabbitmq.interceptor.spec.d.ts +2 -0
  52. package/dist/interceptors/__tests__/rabbitmq.interceptor.spec.d.ts.map +1 -0
  53. package/dist/interceptors/__tests__/rabbitmq.interceptor.spec.js +647 -0
  54. package/dist/interceptors/__tests__/rabbitmq.interceptor.spec.js.map +1 -0
  55. package/dist/interceptors/rabbitmq.interceptor.d.ts +18 -0
  56. package/dist/interceptors/rabbitmq.interceptor.d.ts.map +1 -0
  57. package/dist/interceptors/rabbitmq.interceptor.js +107 -0
  58. package/dist/interceptors/rabbitmq.interceptor.js.map +1 -0
  59. package/dist/main/__tests__/rabbitmq.module.spec.d.ts +2 -0
  60. package/dist/main/__tests__/rabbitmq.module.spec.d.ts.map +1 -0
  61. package/dist/main/__tests__/rabbitmq.module.spec.js +266 -0
  62. package/dist/main/__tests__/rabbitmq.module.spec.js.map +1 -0
  63. package/dist/main/__tests__/rabbitmq.service.spec.d.ts +2 -0
  64. package/dist/main/__tests__/rabbitmq.service.spec.d.ts.map +1 -0
  65. package/dist/main/__tests__/rabbitmq.service.spec.js +349 -0
  66. package/dist/main/__tests__/rabbitmq.service.spec.js.map +1 -0
  67. package/dist/main/rabbitmq.module.d.ts +10 -0
  68. package/dist/main/rabbitmq.module.d.ts.map +1 -0
  69. package/dist/main/rabbitmq.module.js +51 -0
  70. package/dist/main/rabbitmq.module.js.map +1 -0
  71. package/dist/main/rabbitmq.service.d.ts +26 -0
  72. package/dist/main/rabbitmq.service.d.ts.map +1 -0
  73. package/dist/main/rabbitmq.service.js +100 -0
  74. package/dist/main/rabbitmq.service.js.map +1 -0
  75. package/dist/types/base.config.d.ts +15 -0
  76. package/dist/types/base.config.d.ts.map +1 -0
  77. package/dist/types/base.config.js +2 -0
  78. package/dist/types/base.config.js.map +1 -0
  79. package/dist/types/idempotent-message.d.ts +6 -0
  80. package/dist/types/idempotent-message.d.ts.map +1 -0
  81. package/dist/types/idempotent-message.js +2 -0
  82. package/dist/types/idempotent-message.js.map +1 -0
  83. package/dist/types/message-with-correlation-id.d.ts +10 -0
  84. package/dist/types/message-with-correlation-id.d.ts.map +1 -0
  85. package/dist/types/message-with-correlation-id.js +2 -0
  86. package/dist/types/message-with-correlation-id.js.map +1 -0
  87. package/dist/types/rabbitmq-config-dlx.d.ts +4 -0
  88. package/dist/types/rabbitmq-config-dlx.d.ts.map +1 -0
  89. package/dist/types/rabbitmq-config-dlx.js +2 -0
  90. package/dist/types/rabbitmq-config-dlx.js.map +1 -0
  91. package/dist/types/rabbitmq-config-receiver.d.ts +15 -0
  92. package/dist/types/rabbitmq-config-receiver.d.ts.map +1 -0
  93. package/dist/types/rabbitmq-config-receiver.js +2 -0
  94. package/dist/types/rabbitmq-config-receiver.js.map +1 -0
  95. package/dist/types/rabbitmq-config-retry.d.ts +13 -0
  96. package/dist/types/rabbitmq-config-retry.d.ts.map +1 -0
  97. package/dist/types/rabbitmq-config-retry.js +2 -0
  98. package/dist/types/rabbitmq-config-retry.js.map +1 -0
  99. package/dist/types/rabbitmq-config-sender.d.ts +14 -0
  100. package/dist/types/rabbitmq-config-sender.d.ts.map +1 -0
  101. package/dist/types/rabbitmq-config-sender.js +2 -0
  102. package/dist/types/rabbitmq-config-sender.js.map +1 -0
  103. package/dist/types/rabbitmq-module-options.d.ts +17 -0
  104. package/dist/types/rabbitmq-module-options.d.ts.map +1 -0
  105. package/dist/types/rabbitmq-module-options.js +2 -0
  106. package/dist/types/rabbitmq-module-options.js.map +1 -0
  107. package/dist/types/rabbitmq-receiver-options.d.ts +18 -0
  108. package/dist/types/rabbitmq-receiver-options.d.ts.map +1 -0
  109. package/dist/types/rabbitmq-receiver-options.js +2 -0
  110. package/dist/types/rabbitmq-receiver-options.js.map +1 -0
  111. package/dist/types/rabbitmq-receiver-subscription.d.ts +19 -0
  112. package/dist/types/rabbitmq-receiver-subscription.d.ts.map +1 -0
  113. package/dist/types/rabbitmq-receiver-subscription.js +2 -0
  114. package/dist/types/rabbitmq-receiver-subscription.js.map +1 -0
  115. package/dist/types/rabbitmq-receivers-config.d.ts +14 -0
  116. package/dist/types/rabbitmq-receivers-config.d.ts.map +1 -0
  117. package/dist/types/rabbitmq-receivers-config.js +2 -0
  118. package/dist/types/rabbitmq-receivers-config.js.map +1 -0
  119. package/dist/types/rabbitmq-sender-options.d.ts +10 -0
  120. package/dist/types/rabbitmq-sender-options.d.ts.map +1 -0
  121. package/dist/types/rabbitmq-sender-options.js +2 -0
  122. package/dist/types/rabbitmq-sender-options.js.map +1 -0
  123. package/dist/types/routing-keys.d.ts +24 -0
  124. package/dist/types/routing-keys.d.ts.map +1 -0
  125. package/dist/types/routing-keys.js +29 -0
  126. package/dist/types/routing-keys.js.map +1 -0
  127. package/dist/utils/__tests__/injections.spec.d.ts +2 -0
  128. package/dist/utils/__tests__/injections.spec.d.ts.map +1 -0
  129. package/dist/utils/__tests__/injections.spec.js +174 -0
  130. package/dist/utils/__tests__/injections.spec.js.map +1 -0
  131. package/dist/utils/injections.d.ts +2 -0
  132. package/dist/utils/injections.d.ts.map +1 -0
  133. package/dist/utils/injections.js +2 -0
  134. package/dist/utils/injections.js.map +1 -0
  135. package/package.json +91 -0
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Интерфейс для сообщения с correlationId для идемпотентности
3
+ * Используется для отслеживания дубликатов сообщений через RabbitMQ
4
+ */
5
+ export interface MessageWithCorrelationId {
6
+ correlationId: string;
7
+ correlationTimestamp: number;
8
+ [key: string]: unknown;
9
+ }
10
+ //# sourceMappingURL=message-with-correlation-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-with-correlation-id.d.ts","sourceRoot":"","sources":["../../src/types/message-with-correlation-id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=message-with-correlation-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-with-correlation-id.js","sourceRoot":"","sources":["../../src/types/message-with-correlation-id.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type RabbitMQConfigBase from "../types/base.config.js";
2
+ export default interface RabbitMQConfigDLX extends RabbitMQConfigBase {
3
+ }
4
+ //# sourceMappingURL=rabbitmq-config-dlx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-config-dlx.d.ts","sourceRoot":"","sources":["../../src/types/rabbitmq-config-dlx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,kBAAkB,MAAM,uBAAuB,CAAC;AAG5D,MAAM,CAAC,OAAO,WAAW,iBAAkB,SAAQ,kBAAkB;CAAG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rabbitmq-config-dlx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-config-dlx.js","sourceRoot":"","sources":["../../src/types/rabbitmq-config-dlx.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import type RabbitMQConfigBase from "../types/base.config.js";
2
+ export default interface RabbitMQConfigReciever extends RabbitMQConfigBase {
3
+ options: RabbitMQConfigBase["options"] & {
4
+ queueOptions: {
5
+ arguments: {
6
+ "x-dead-letter-exchange": string;
7
+ "x-dead-letter-routing-key": string;
8
+ };
9
+ } & RabbitMQConfigBase["options"]["queueOptions"];
10
+ pattern: string;
11
+ prefetchCount: number;
12
+ noAck: boolean;
13
+ };
14
+ }
15
+ //# sourceMappingURL=rabbitmq-config-receiver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-config-receiver.d.ts","sourceRoot":"","sources":["../../src/types/rabbitmq-config-receiver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,kBAAkB,MAAM,uBAAuB,CAAC;AAG5D,MAAM,CAAC,OAAO,WAAW,sBAAuB,SAAQ,kBAAkB;IACzE,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG;QACxC,YAAY,EAAE;YACb,SAAS,EAAE;gBACV,wBAAwB,EAAE,MAAM,CAAC;gBACjC,2BAA2B,EAAE,MAAM,CAAC;aACpC,CAAC;SACF,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;QAClD,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,OAAO,CAAC;KACf,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rabbitmq-config-receiver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-config-receiver.js","sourceRoot":"","sources":["../../src/types/rabbitmq-config-receiver.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import type RabbitMQConfigBase from "../types/base.config.js";
2
+ export default interface RabbitMQConfigRetry extends RabbitMQConfigBase {
3
+ options: RabbitMQConfigBase["options"] & {
4
+ queueOptions: {
5
+ arguments: {
6
+ "x-dead-letter-exchange": string;
7
+ "x-dead-letter-routing-key": string;
8
+ "x-message-ttl": number;
9
+ };
10
+ } & RabbitMQConfigBase["options"]["queueOptions"];
11
+ };
12
+ }
13
+ //# sourceMappingURL=rabbitmq-config-retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-config-retry.d.ts","sourceRoot":"","sources":["../../src/types/rabbitmq-config-retry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,kBAAkB,MAAM,uBAAuB,CAAC;AAG5D,MAAM,CAAC,OAAO,WAAW,mBAAoB,SAAQ,kBAAkB;IACtE,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG;QACxC,YAAY,EAAE;YACb,SAAS,EAAE;gBACV,wBAAwB,EAAE,MAAM,CAAC;gBACjC,2BAA2B,EAAE,MAAM,CAAC;gBACpC,eAAe,EAAE,MAAM,CAAC;aACxB,CAAC;SACF,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;KAClD,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rabbitmq-config-retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-config-retry.js","sourceRoot":"","sources":["../../src/types/rabbitmq-config-retry.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import type RabbitMQConfigBase from "../types/base.config.js";
2
+ import type { ROUTING_KEYS } from "../types/routing-keys.js";
3
+ export default interface RabbitMQConfigSender extends Omit<RabbitMQConfigBase, "options"> {
4
+ options: Omit<RabbitMQConfigBase["options"], "queue" | "queueOptions"> & {
5
+ durable: boolean;
6
+ replyQueue?: string;
7
+ replyQueueOptions?: {
8
+ durable: boolean;
9
+ autoDelete: boolean;
10
+ };
11
+ };
12
+ routingKeys: Record<ROUTING_KEYS, ROUTING_KEYS>;
13
+ }
14
+ //# sourceMappingURL=rabbitmq-config-sender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-config-sender.d.ts","sourceRoot":"","sources":["../../src/types/rabbitmq-config-sender.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,kBAAkB,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,MAAM,CAAC,OAAO,WAAW,oBAAqB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC;IACxF,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,GAAG;QACxE,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE;YACnB,OAAO,EAAE,OAAO,CAAC;YACjB,UAAU,EAAE,OAAO,CAAC;SACpB,CAAC;KACF,CAAC;IACF,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;CAChD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rabbitmq-config-sender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-config-sender.js","sourceRoot":"","sources":["../../src/types/rabbitmq-config-sender.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ export default interface RabbitMQModuleOptions {
2
+ url: string;
3
+ exchange: string;
4
+ exchangeType: string;
5
+ queue: string;
6
+ pattern: string;
7
+ prefetchCount?: number;
8
+ replyQueue?: string;
9
+ retryQueue?: string;
10
+ retryExchange?: string;
11
+ retryExchangeType?: string;
12
+ retryTtl?: number;
13
+ dlxQueue?: string;
14
+ dlxExchange?: string;
15
+ dlxExchangeType?: string;
16
+ }
17
+ //# sourceMappingURL=rabbitmq-module-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-module-options.d.ts","sourceRoot":"","sources":["../../src/types/rabbitmq-module-options.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,WAAW,qBAAqB;IAE7C,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAGhB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rabbitmq-module-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-module-options.js","sourceRoot":"","sources":["../../src/types/rabbitmq-module-options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ export default interface RabbitMQReceiverOptions {
2
+ url: string;
3
+ exchange: string;
4
+ exchangeType: string;
5
+ queue: string;
6
+ pattern: string;
7
+ prefetchCount?: number;
8
+ noAck?: boolean;
9
+ replyQueue?: string;
10
+ retryQueue?: string;
11
+ retryExchange?: string;
12
+ retryExchangeType?: string;
13
+ retryTtl?: number;
14
+ dlxQueue?: string;
15
+ dlxExchange?: string;
16
+ dlxExchangeType?: string;
17
+ }
18
+ //# sourceMappingURL=rabbitmq-receiver-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-receiver-options.d.ts","sourceRoot":"","sources":["../../src/types/rabbitmq-receiver-options.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,WAAW,uBAAuB;IAE/C,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAGhB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rabbitmq-receiver-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-receiver-options.js","sourceRoot":"","sources":["../../src/types/rabbitmq-receiver-options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Частичная конфигурация для подписки на очередь RabbitMQ
3
+ * Используется для множественных подписок с базовыми параметрами
4
+ */
5
+ export default interface RabbitMQReceiverSubscription {
6
+ name: string;
7
+ queue: string;
8
+ pattern: string;
9
+ prefetchCount?: number;
10
+ noAck?: boolean;
11
+ retryQueue?: string;
12
+ retryExchange?: string;
13
+ retryExchangeType?: string;
14
+ retryTtl?: number;
15
+ dlxQueue?: string;
16
+ dlxExchange?: string;
17
+ dlxExchangeType?: string;
18
+ }
19
+ //# sourceMappingURL=rabbitmq-receiver-subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-receiver-subscription.d.ts","sourceRoot":"","sources":["../../src/types/rabbitmq-receiver-subscription.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,OAAO,WAAW,4BAA4B;IAEpD,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,EAAE,MAAM,CAAC;IAEhB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rabbitmq-receiver-subscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-receiver-subscription.js","sourceRoot":"","sources":["../../src/types/rabbitmq-receiver-subscription.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import type RabbitMQReceiverSubscription from "../types/rabbitmq-receiver-subscription.js";
2
+ export default interface RabbitMQReceiversConfig {
3
+ url: string;
4
+ exchange: string;
5
+ exchangeType: string;
6
+ prefetchCount?: number;
7
+ noAck?: boolean;
8
+ retryTtl?: number;
9
+ dlxQueue?: string;
10
+ dlxExchange?: string;
11
+ dlxExchangeType?: string;
12
+ subscriptions: RabbitMQReceiverSubscription[];
13
+ }
14
+ //# sourceMappingURL=rabbitmq-receivers-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-receivers-config.d.ts","sourceRoot":"","sources":["../../src/types/rabbitmq-receivers-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,4BAA4B,MAAM,0CAA0C,CAAC;AAGzF,MAAM,CAAC,OAAO,WAAW,uBAAuB;IAE/C,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,aAAa,EAAE,4BAA4B,EAAE,CAAC;CAC9C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rabbitmq-receivers-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-receivers-config.js","sourceRoot":"","sources":["../../src/types/rabbitmq-receivers-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ export default interface RabbitMQSenderOptions {
2
+ url: string;
3
+ exchange: string;
4
+ exchangeType: string;
5
+ replyQueueOptions?: {
6
+ durable?: boolean;
7
+ autoDelete?: boolean;
8
+ };
9
+ }
10
+ //# sourceMappingURL=rabbitmq-sender-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-sender-options.d.ts","sourceRoot":"","sources":["../../src/types/rabbitmq-sender-options.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,WAAW,qBAAqB;IAE7C,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IAGrB,iBAAiB,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,UAAU,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rabbitmq-sender-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rabbitmq-sender-options.js","sourceRoot":"","sources":["../../src/types/rabbitmq-sender-options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ export declare enum ROUTING_KEYS {
2
+ TOKENS_FETCH_ALL = "tokens.fetch.all",
3
+ TOKENS_FETCH_DETAILS_ETHEREUM = "tokens.fetch.details.ethereum",
4
+ TOKENS_FETCH_DETAILS_NFT = "tokens.fetch.details.nft",
5
+ TOKENS_DEPLOY_ETHEREUM = "tokens.deploy.ethereum",
6
+ TOKENS_DEPLOY_NFT = "tokens.deploy.nft",
7
+ ANALYTICS_GLOBAL = "analytics.global",
8
+ ANALYTICS_TOTAL_MARKET_CHART = "analytics.total.market.chart",
9
+ ANALYTICS_MARKET_CHART = "analytics.market.chart",
10
+ ANALYTICS_DOMINANCE_CHART = "analytics.dominance.chart",
11
+ ANALYTICS_VOLUME_CHART = "analytics.volume.chart",
12
+ ANALYTICS_TOP_VOLUME_LEADERS = "analytics.top.volume.leaders",
13
+ ANALYTICS_TRENDING = "analytics.trending",
14
+ ANALYTICS_COINS_TABLE = "analytics.coins.table",
15
+ ANALYTICS_UPDATE_GLOBAL = "analytics.update.global",
16
+ ANALYTICS_UPDATE_TOTAL_MARKET_CHART = "analytics.update.total.market.chart",
17
+ ANALYTICS_UPDATE_MARKET_CHART = "analytics.update.market.chart",
18
+ ANALYTICS_UPDATE_DOMINANCE_CHART = "analytics.update.dominance.chart",
19
+ ANALYTICS_UPDATE_VOLUME_CHART = "analytics.update.volume.chart",
20
+ ANALYTICS_UPDATE_TOP_VOLUME_LEADERS = "analytics.update.top.volume.leaders",
21
+ ANALYTICS_UPDATE_TRENDING = "analytics.update.trending",
22
+ ANALYTICS_UPDATE_COINS_TABLE = "analytics.update.coins.table"
23
+ }
24
+ //# sourceMappingURL=routing-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-keys.d.ts","sourceRoot":"","sources":["../../src/types/routing-keys.ts"],"names":[],"mappings":"AACA,oBAAY,YAAY;IAEvB,gBAAgB,qBAAqB;IACrC,6BAA6B,kCAAkC;IAC/D,wBAAwB,6BAA6B;IACrD,sBAAsB,2BAA2B;IACjD,iBAAiB,sBAAsB;IAGvC,gBAAgB,qBAAqB;IACrC,4BAA4B,iCAAiC;IAC7D,sBAAsB,2BAA2B;IACjD,yBAAyB,8BAA8B;IACvD,sBAAsB,2BAA2B;IACjD,4BAA4B,iCAAiC;IAC7D,kBAAkB,uBAAuB;IACzC,qBAAqB,0BAA0B;IAG/C,uBAAuB,4BAA4B;IACnD,mCAAmC,wCAAwC;IAC3E,6BAA6B,kCAAkC;IAC/D,gCAAgC,qCAAqC;IACrE,6BAA6B,kCAAkC;IAC/D,mCAAmC,wCAAwC;IAC3E,yBAAyB,8BAA8B;IACvD,4BAA4B,iCAAiC;CAC7D"}
@@ -0,0 +1,29 @@
1
+ // Enum для всех поддерживаемых routing keys RabbitMQ
2
+ export var ROUTING_KEYS;
3
+ (function (ROUTING_KEYS) {
4
+ // Токены
5
+ ROUTING_KEYS["TOKENS_FETCH_ALL"] = "tokens.fetch.all";
6
+ ROUTING_KEYS["TOKENS_FETCH_DETAILS_ETHEREUM"] = "tokens.fetch.details.ethereum";
7
+ ROUTING_KEYS["TOKENS_FETCH_DETAILS_NFT"] = "tokens.fetch.details.nft";
8
+ ROUTING_KEYS["TOKENS_DEPLOY_ETHEREUM"] = "tokens.deploy.ethereum";
9
+ ROUTING_KEYS["TOKENS_DEPLOY_NFT"] = "tokens.deploy.nft";
10
+ // Аналитика (Request-Response)
11
+ ROUTING_KEYS["ANALYTICS_GLOBAL"] = "analytics.global";
12
+ ROUTING_KEYS["ANALYTICS_TOTAL_MARKET_CHART"] = "analytics.total.market.chart";
13
+ ROUTING_KEYS["ANALYTICS_MARKET_CHART"] = "analytics.market.chart";
14
+ ROUTING_KEYS["ANALYTICS_DOMINANCE_CHART"] = "analytics.dominance.chart";
15
+ ROUTING_KEYS["ANALYTICS_VOLUME_CHART"] = "analytics.volume.chart";
16
+ ROUTING_KEYS["ANALYTICS_TOP_VOLUME_LEADERS"] = "analytics.top.volume.leaders";
17
+ ROUTING_KEYS["ANALYTICS_TRENDING"] = "analytics.trending";
18
+ ROUTING_KEYS["ANALYTICS_COINS_TABLE"] = "analytics.coins.table";
19
+ // Аналитика (Fire-and-Forget обновления)
20
+ ROUTING_KEYS["ANALYTICS_UPDATE_GLOBAL"] = "analytics.update.global";
21
+ ROUTING_KEYS["ANALYTICS_UPDATE_TOTAL_MARKET_CHART"] = "analytics.update.total.market.chart";
22
+ ROUTING_KEYS["ANALYTICS_UPDATE_MARKET_CHART"] = "analytics.update.market.chart";
23
+ ROUTING_KEYS["ANALYTICS_UPDATE_DOMINANCE_CHART"] = "analytics.update.dominance.chart";
24
+ ROUTING_KEYS["ANALYTICS_UPDATE_VOLUME_CHART"] = "analytics.update.volume.chart";
25
+ ROUTING_KEYS["ANALYTICS_UPDATE_TOP_VOLUME_LEADERS"] = "analytics.update.top.volume.leaders";
26
+ ROUTING_KEYS["ANALYTICS_UPDATE_TRENDING"] = "analytics.update.trending";
27
+ ROUTING_KEYS["ANALYTICS_UPDATE_COINS_TABLE"] = "analytics.update.coins.table";
28
+ })(ROUTING_KEYS || (ROUTING_KEYS = {}));
29
+ //# sourceMappingURL=routing-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-keys.js","sourceRoot":"","sources":["../../src/types/routing-keys.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,MAAM,CAAN,IAAY,YA2BX;AA3BD,WAAY,YAAY;IACvB,SAAS;IACT,qDAAqC,CAAA;IACrC,+EAA+D,CAAA;IAC/D,qEAAqD,CAAA;IACrD,iEAAiD,CAAA;IACjD,uDAAuC,CAAA;IAEvC,+BAA+B;IAC/B,qDAAqC,CAAA;IACrC,6EAA6D,CAAA;IAC7D,iEAAiD,CAAA;IACjD,uEAAuD,CAAA;IACvD,iEAAiD,CAAA;IACjD,6EAA6D,CAAA;IAC7D,yDAAyC,CAAA;IACzC,+DAA+C,CAAA;IAE/C,yCAAyC;IACzC,mEAAmD,CAAA;IACnD,2FAA2E,CAAA;IAC3E,+EAA+D,CAAA;IAC/D,qFAAqE,CAAA;IACrE,+EAA+D,CAAA;IAC/D,2FAA2E,CAAA;IAC3E,uEAAuD,CAAA;IACvD,6EAA6D,CAAA;AAC9D,CAAC,EA3BW,YAAY,KAAZ,YAAY,QA2BvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=injections.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injections.spec.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/injections.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,174 @@
1
+ import { RABBITMQ_SENDER_SERVICE } from "../../utils/injections.js";
2
+ describe("Utils", () => {
3
+ describe("injections", () => {
4
+ describe("RABBITMQ_SENDER_SERVICE", () => {
5
+ it("должен быть определен", () => {
6
+ expect(RABBITMQ_SENDER_SERVICE).toBeDefined();
7
+ });
8
+ it("должен быть символом", () => {
9
+ expect(typeof RABBITMQ_SENDER_SERVICE).toBe("symbol");
10
+ });
11
+ it("должен иметь правильное описание", () => {
12
+ expect(RABBITMQ_SENDER_SERVICE.toString()).toBe("Symbol(RABBITMQ_SENDER_SERVICE)");
13
+ });
14
+ it("должен быть уникальным символом", () => {
15
+ const anotherSymbol = Symbol("RABBITMQ_SENDER_SERVICE");
16
+ // Символы с одинаковым описанием всё равно не равны
17
+ expect(RABBITMQ_SENDER_SERVICE).not.toBe(anotherSymbol);
18
+ });
19
+ it("должен быть постоянным при множественных импортах", () => {
20
+ // Повторный импорт должен возвращать тот же символ
21
+ const { RABBITMQ_SENDER_SERVICE: reimportedSymbol } = require("../../utils/injections.js");
22
+ expect(RABBITMQ_SENDER_SERVICE).toBe(reimportedSymbol);
23
+ });
24
+ it("должен быть использован как ключ DI", () => {
25
+ // Проверяем, что символ может быть использован как ключ в объекте
26
+ const diContainer = {
27
+ [RABBITMQ_SENDER_SERVICE]: "test-service",
28
+ };
29
+ expect(diContainer[RABBITMQ_SENDER_SERVICE]).toBe("test-service");
30
+ });
31
+ it("должен работать с Map как ключ", () => {
32
+ const serviceMap = new Map();
33
+ serviceMap.set(RABBITMQ_SENDER_SERVICE, "mapped-service");
34
+ expect(serviceMap.get(RABBITMQ_SENDER_SERVICE)).toBe("mapped-service");
35
+ expect(serviceMap.has(RABBITMQ_SENDER_SERVICE)).toBe(true);
36
+ });
37
+ it("должен работать с WeakMap как ключ", () => {
38
+ const weakServiceMap = new WeakMap();
39
+ const serviceObject = {};
40
+ weakServiceMap.set(serviceObject, RABBITMQ_SENDER_SERVICE);
41
+ expect(weakServiceMap.get(serviceObject)).toBe(RABBITMQ_SENDER_SERVICE);
42
+ expect(weakServiceMap.has(serviceObject)).toBe(true);
43
+ });
44
+ it("символ должен быть неизменяемым", () => {
45
+ // В JavaScript const предотвращает переназначение, но это не может быть проверено в runtime
46
+ // Вместо этого проверим, что символ остается тем же при множественных обращениях
47
+ const firstAccess = RABBITMQ_SENDER_SERVICE;
48
+ const secondAccess = RABBITMQ_SENDER_SERVICE;
49
+ expect(firstAccess).toBe(secondAccess);
50
+ expect(typeof RABBITMQ_SENDER_SERVICE).toBe("symbol");
51
+ });
52
+ it("должен быть сериализуемым в JSON как строка", () => {
53
+ // Создаем чистый символ для тестирования (не модифицированный другими тестами)
54
+ const testSymbol = Symbol("RABBITMQ_SENDER_SERVICE");
55
+ const obj = {
56
+ service: testSymbol.toString(),
57
+ };
58
+ const serialized = JSON.stringify(obj);
59
+ const deserialized = JSON.parse(serialized);
60
+ expect(deserialized.service).toBe("Symbol(RABBITMQ_SENDER_SERVICE)");
61
+ });
62
+ });
63
+ describe("интеграционные тесты для символов", () => {
64
+ it("символ должен быть совместим с NestJS DI", () => {
65
+ // Проверяем, что символ может быть использован в декораторах
66
+ const mockDecorator = (token) => {
67
+ return { token };
68
+ };
69
+ const result = mockDecorator(RABBITMQ_SENDER_SERVICE);
70
+ expect(result.token).toBe(RABBITMQ_SENDER_SERVICE);
71
+ });
72
+ it("символ должен быть различим от строковых ключей", () => {
73
+ const stringKey = "RABBITMQ_SENDER_SERVICE";
74
+ const symbolKey = RABBITMQ_SENDER_SERVICE;
75
+ expect(stringKey).not.toBe(symbolKey);
76
+ expect(typeof stringKey).toBe("string");
77
+ expect(typeof symbolKey).toBe("symbol");
78
+ // В контейнере DI они должны быть разными ключами
79
+ const container = {
80
+ [stringKey]: "string-service",
81
+ [symbolKey]: "symbol-service",
82
+ };
83
+ expect(container[stringKey]).toBe("string-service");
84
+ expect(container[symbolKey]).toBe("symbol-service");
85
+ expect(container[stringKey]).not.toBe(container[symbolKey]);
86
+ });
87
+ it("символ должен корректно работать в качестве metadata ключа", () => {
88
+ // Имитируем использование в Reflect.metadata
89
+ const mockValue = "test-metadata";
90
+ // Симулируем Reflect.defineMetadata
91
+ const metadata = new Map();
92
+ metadata.set(RABBITMQ_SENDER_SERVICE, mockValue);
93
+ expect(metadata.get(RABBITMQ_SENDER_SERVICE)).toBe(mockValue);
94
+ });
95
+ });
96
+ describe("производительность символов", () => {
97
+ it("операции с символом должны быть быстрыми", () => {
98
+ const iterations = 10000;
99
+ const map = new Map();
100
+ const start = performance.now();
101
+ for (let i = 0; i < iterations; i++) {
102
+ map.set(RABBITMQ_SENDER_SERVICE, i);
103
+ map.get(RABBITMQ_SENDER_SERVICE);
104
+ }
105
+ const end = performance.now();
106
+ const duration = end - start;
107
+ // Операции должны выполняться быстро (менее 100ms для 10k операций)
108
+ expect(duration).toBeLessThan(100);
109
+ });
110
+ it("сравнение символов должно быть O(1)", () => {
111
+ const anotherSymbol = Symbol("ANOTHER_SERVICE");
112
+ const iterations = 10000;
113
+ const start = performance.now();
114
+ for (let i = 0; i < iterations; i++) {
115
+ // Используем toString для сравнения, чтобы избежать ошибок типизации
116
+ void (RABBITMQ_SENDER_SERVICE.toString() === anotherSymbol.toString());
117
+ void (RABBITMQ_SENDER_SERVICE.toString() === RABBITMQ_SENDER_SERVICE.toString());
118
+ }
119
+ const end = performance.now();
120
+ const duration = end - start;
121
+ // Сравнения должны быть очень быстрыми
122
+ expect(duration).toBeLessThan(50);
123
+ });
124
+ });
125
+ describe("безопасность символов", () => {
126
+ it("символ не должен быть перечислимым в Object.keys", () => {
127
+ const obj = {
128
+ normalProperty: "value",
129
+ [RABBITMQ_SENDER_SERVICE]: "symbol-value",
130
+ };
131
+ const keys = Object.keys(obj);
132
+ expect(keys).toContain("normalProperty");
133
+ expect(keys).not.toContain(RABBITMQ_SENDER_SERVICE.toString());
134
+ });
135
+ it("символ должен быть доступен через Object.getOwnPropertySymbols", () => {
136
+ const obj = {
137
+ [RABBITMQ_SENDER_SERVICE]: "symbol-value",
138
+ };
139
+ const symbols = Object.getOwnPropertySymbols(obj);
140
+ expect(symbols).toContain(RABBITMQ_SENDER_SERVICE);
141
+ });
142
+ it("символ не должен быть итерируемым в for..in", () => {
143
+ const obj = {
144
+ normalProperty: "value",
145
+ [RABBITMQ_SENDER_SERVICE]: "symbol-value",
146
+ };
147
+ const keys = [];
148
+ for (const key in obj) {
149
+ keys.push(key);
150
+ }
151
+ expect(keys).toContain("normalProperty");
152
+ expect(keys).not.toContain(RABBITMQ_SENDER_SERVICE.toString());
153
+ });
154
+ });
155
+ describe("edge cases", () => {
156
+ it("должен корректно работать с null и undefined значениями", () => {
157
+ const container = new Map();
158
+ container.set(RABBITMQ_SENDER_SERVICE, null);
159
+ expect(container.get(RABBITMQ_SENDER_SERVICE)).toBe(null);
160
+ container.set(RABBITMQ_SENDER_SERVICE, undefined);
161
+ expect(container.get(RABBITMQ_SENDER_SERVICE)).toBe(undefined);
162
+ });
163
+ it("должен корректно работать с различными типами значений", () => {
164
+ const container = new Map();
165
+ const testValues = ["string", 123, true, false, [], {}, () => { }, Symbol("another")];
166
+ testValues.forEach((value) => {
167
+ container.set(RABBITMQ_SENDER_SERVICE, value);
168
+ expect(container.get(RABBITMQ_SENDER_SERVICE)).toBe(value);
169
+ });
170
+ });
171
+ });
172
+ });
173
+ });
174
+ //# sourceMappingURL=injections.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injections.spec.js","sourceRoot":"","sources":["../../../src/utils/__tests__/injections.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const RABBITMQ_SENDER_SERVICE: unique symbol;
2
+ //# sourceMappingURL=injections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injections.d.ts","sourceRoot":"","sources":["../../src/utils/injections.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,eAAoC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const RABBITMQ_SENDER_SERVICE = Symbol("RABBITMQ_SENDER_SERVICE");
2
+ //# sourceMappingURL=injections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injections.js","sourceRoot":"","sources":["../../src/utils/injections.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC"}