@geekmidas/events 0.0.1 → 0.0.2

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 (41) hide show
  1. package/dist/{BasicConnection-CzfMubv_.cjs → BasicConnection-C-Cg2FJT.cjs} +1 -1
  2. package/dist/{BasicConnection-CzfMubv_.cjs.map → BasicConnection-C-Cg2FJT.cjs.map} +1 -1
  3. package/dist/{BasicConnection-BNi6_olg.mjs → BasicConnection-CpwybcC9.mjs} +1 -1
  4. package/dist/{BasicConnection-BNi6_olg.mjs.map → BasicConnection-CpwybcC9.mjs.map} +1 -1
  5. package/dist/{BasicPublisher-BzfzHIfb.cjs → BasicPublisher-CXAVKxgq.cjs} +1 -1
  6. package/dist/{BasicPublisher-BzfzHIfb.cjs.map → BasicPublisher-CXAVKxgq.cjs.map} +1 -1
  7. package/dist/{BasicPublisher-Cg3SxIVR.mjs → BasicPublisher-DogbeHAH.mjs} +1 -1
  8. package/dist/{BasicPublisher-Cg3SxIVR.mjs.map → BasicPublisher-DogbeHAH.mjs.map} +1 -1
  9. package/dist/{BasicSubscriber-DyTKOixe.cjs → BasicSubscriber-BGqv3c8x.cjs} +1 -1
  10. package/dist/{BasicSubscriber-DyTKOixe.cjs.map → BasicSubscriber-BGqv3c8x.cjs.map} +1 -1
  11. package/dist/{BasicSubscriber-BEv5N21f.mjs → BasicSubscriber-CCKfbRMo.mjs} +1 -1
  12. package/dist/{BasicSubscriber-BEv5N21f.mjs.map → BasicSubscriber-CCKfbRMo.mjs.map} +1 -1
  13. package/dist/{RabbitMQConnection-eVOVS4Dl.mjs → RabbitMQConnection-kU3MvN5P.mjs} +1 -1
  14. package/dist/{RabbitMQConnection-eVOVS4Dl.mjs.map → RabbitMQConnection-kU3MvN5P.mjs.map} +1 -1
  15. package/dist/{RabbitMQConnection-BN_GybOv.cjs → RabbitMQConnection-ungB0Zl6.cjs} +1 -1
  16. package/dist/{RabbitMQConnection-BN_GybOv.cjs.map → RabbitMQConnection-ungB0Zl6.cjs.map} +1 -1
  17. package/dist/{RabbitMQPublisher-CSCn6gMA.cjs → RabbitMQPublisher--DL6GM6g.cjs} +1 -1
  18. package/dist/{RabbitMQPublisher-CSCn6gMA.cjs.map → RabbitMQPublisher--DL6GM6g.cjs.map} +1 -1
  19. package/dist/{RabbitMQPublisher-BZX0edgL.mjs → RabbitMQPublisher-o_oVI3wr.mjs} +1 -1
  20. package/dist/{RabbitMQPublisher-BZX0edgL.mjs.map → RabbitMQPublisher-o_oVI3wr.mjs.map} +1 -1
  21. package/dist/{RabbitMQSubscriber-B5I-hBaT.mjs → RabbitMQSubscriber-BaXqs5nO.mjs} +1 -1
  22. package/dist/{RabbitMQSubscriber-B5I-hBaT.mjs.map → RabbitMQSubscriber-BaXqs5nO.mjs.map} +1 -1
  23. package/dist/{RabbitMQSubscriber-Cj7qLIi6.cjs → RabbitMQSubscriber-BplEJEk8.cjs} +1 -1
  24. package/dist/{RabbitMQSubscriber-Cj7qLIi6.cjs.map → RabbitMQSubscriber-BplEJEk8.cjs.map} +1 -1
  25. package/dist/basic/BasicConnection.cjs +1 -1
  26. package/dist/basic/BasicConnection.mjs +1 -1
  27. package/dist/basic/BasicPublisher.cjs +1 -1
  28. package/dist/basic/BasicPublisher.mjs +1 -1
  29. package/dist/basic/BasicSubscriber.cjs +1 -1
  30. package/dist/basic/BasicSubscriber.mjs +1 -1
  31. package/dist/basic/index.cjs +3 -3
  32. package/dist/basic/index.mjs +3 -3
  33. package/dist/rabbitmq/RabbitMQConnection.cjs +1 -1
  34. package/dist/rabbitmq/RabbitMQConnection.mjs +1 -1
  35. package/dist/rabbitmq/RabbitMQPublisher.cjs +1 -1
  36. package/dist/rabbitmq/RabbitMQPublisher.mjs +1 -1
  37. package/dist/rabbitmq/RabbitMQSubscriber.cjs +1 -1
  38. package/dist/rabbitmq/RabbitMQSubscriber.mjs +1 -1
  39. package/dist/rabbitmq/index.cjs +3 -3
  40. package/dist/rabbitmq/index.mjs +3 -3
  41. package/package.json +2 -2
@@ -45,4 +45,4 @@ Object.defineProperty(exports, 'BasicConnection', {
45
45
  return BasicConnection;
46
46
  }
47
47
  });
48
- //# sourceMappingURL=BasicConnection-CzfMubv_.cjs.map
48
+ //# sourceMappingURL=BasicConnection-C-Cg2FJT.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasicConnection-CzfMubv_.cjs","names":["EventPublisherType","EventEmitter","_connectionString: string"],"sources":["../src/basic/BasicConnection.ts"],"sourcesContent":["import { EventEmitter } from 'node:events';\nimport type { EventConnection } from '../types';\nimport { EventPublisherType } from '../types';\n\nexport class BasicConnection implements EventConnection {\n readonly type = EventPublisherType.Basic;\n private emitter: EventEmitter;\n private connected = false;\n\n constructor() {\n this.emitter = new EventEmitter();\n }\n\n /**\n * Create a BasicConnection from a connection string\n * Format: basic://\n */\n static async fromConnectionString(\n _connectionString: string,\n ): Promise<BasicConnection> {\n // Basic connection doesn't need any configuration\n const connection = new BasicConnection();\n await connection.connect();\n return connection;\n }\n\n async connect(): Promise<void> {\n this.connected = true;\n }\n\n async close(): Promise<void> {\n this.emitter.removeAllListeners();\n this.connected = false;\n }\n\n isConnected(): boolean {\n return this.connected;\n }\n\n /**\n * Get the underlying EventEmitter\n * Used by BasicPublisher and BasicSubscriber\n */\n get eventEmitter(): EventEmitter {\n return this.emitter;\n }\n}\n"],"mappings":";;;;;AAIA,IAAa,kBAAb,MAAa,gBAA2C;CACtD,AAAS,OAAOA,iCAAmB;CACnC,AAAQ;CACR,AAAQ,YAAY;CAEpB,cAAc;AACZ,OAAK,UAAU,IAAIC;CACpB;;;;;CAMD,aAAa,qBACXC,mBAC0B;EAE1B,MAAM,aAAa,IAAI;AACvB,QAAM,WAAW,SAAS;AAC1B,SAAO;CACR;CAED,MAAM,UAAyB;AAC7B,OAAK,YAAY;CAClB;CAED,MAAM,QAAuB;AAC3B,OAAK,QAAQ,oBAAoB;AACjC,OAAK,YAAY;CAClB;CAED,cAAuB;AACrB,SAAO,KAAK;CACb;;;;;CAMD,IAAI,eAA6B;AAC/B,SAAO,KAAK;CACb;AACF"}
1
+ {"version":3,"file":"BasicConnection-C-Cg2FJT.cjs","names":["EventPublisherType","EventEmitter","_connectionString: string"],"sources":["../src/basic/BasicConnection.ts"],"sourcesContent":["import { EventEmitter } from 'node:events';\nimport type { EventConnection } from '../types';\nimport { EventPublisherType } from '../types';\n\nexport class BasicConnection implements EventConnection {\n readonly type = EventPublisherType.Basic;\n private emitter: EventEmitter;\n private connected = false;\n\n constructor() {\n this.emitter = new EventEmitter();\n }\n\n /**\n * Create a BasicConnection from a connection string\n * Format: basic://\n */\n static async fromConnectionString(\n _connectionString: string,\n ): Promise<BasicConnection> {\n // Basic connection doesn't need any configuration\n const connection = new BasicConnection();\n await connection.connect();\n return connection;\n }\n\n async connect(): Promise<void> {\n this.connected = true;\n }\n\n async close(): Promise<void> {\n this.emitter.removeAllListeners();\n this.connected = false;\n }\n\n isConnected(): boolean {\n return this.connected;\n }\n\n /**\n * Get the underlying EventEmitter\n * Used by BasicPublisher and BasicSubscriber\n */\n get eventEmitter(): EventEmitter {\n return this.emitter;\n }\n}\n"],"mappings":";;;;;AAIA,IAAa,kBAAb,MAAa,gBAA2C;CACtD,AAAS,OAAOA,iCAAmB;CACnC,AAAQ;CACR,AAAQ,YAAY;CAEpB,cAAc;AACZ,OAAK,UAAU,IAAIC;CACpB;;;;;CAMD,aAAa,qBACXC,mBAC0B;EAE1B,MAAM,aAAa,IAAI;AACvB,QAAM,WAAW,SAAS;AAC1B,SAAO;CACR;CAED,MAAM,UAAyB;AAC7B,OAAK,YAAY;CAClB;CAED,MAAM,QAAuB;AAC3B,OAAK,QAAQ,oBAAoB;AACjC,OAAK,YAAY;CAClB;CAED,cAAuB;AACrB,SAAO,KAAK;CACb;;;;;CAMD,IAAI,eAA6B;AAC/B,SAAO,KAAK;CACb;AACF"}
@@ -39,4 +39,4 @@ var BasicConnection = class BasicConnection {
39
39
 
40
40
  //#endregion
41
41
  export { BasicConnection };
42
- //# sourceMappingURL=BasicConnection-BNi6_olg.mjs.map
42
+ //# sourceMappingURL=BasicConnection-CpwybcC9.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasicConnection-BNi6_olg.mjs","names":["_connectionString: string"],"sources":["../src/basic/BasicConnection.ts"],"sourcesContent":["import { EventEmitter } from 'node:events';\nimport type { EventConnection } from '../types';\nimport { EventPublisherType } from '../types';\n\nexport class BasicConnection implements EventConnection {\n readonly type = EventPublisherType.Basic;\n private emitter: EventEmitter;\n private connected = false;\n\n constructor() {\n this.emitter = new EventEmitter();\n }\n\n /**\n * Create a BasicConnection from a connection string\n * Format: basic://\n */\n static async fromConnectionString(\n _connectionString: string,\n ): Promise<BasicConnection> {\n // Basic connection doesn't need any configuration\n const connection = new BasicConnection();\n await connection.connect();\n return connection;\n }\n\n async connect(): Promise<void> {\n this.connected = true;\n }\n\n async close(): Promise<void> {\n this.emitter.removeAllListeners();\n this.connected = false;\n }\n\n isConnected(): boolean {\n return this.connected;\n }\n\n /**\n * Get the underlying EventEmitter\n * Used by BasicPublisher and BasicSubscriber\n */\n get eventEmitter(): EventEmitter {\n return this.emitter;\n }\n}\n"],"mappings":";;;;AAIA,IAAa,kBAAb,MAAa,gBAA2C;CACtD,AAAS,OAAO,mBAAmB;CACnC,AAAQ;CACR,AAAQ,YAAY;CAEpB,cAAc;AACZ,OAAK,UAAU,IAAI;CACpB;;;;;CAMD,aAAa,qBACXA,mBAC0B;EAE1B,MAAM,aAAa,IAAI;AACvB,QAAM,WAAW,SAAS;AAC1B,SAAO;CACR;CAED,MAAM,UAAyB;AAC7B,OAAK,YAAY;CAClB;CAED,MAAM,QAAuB;AAC3B,OAAK,QAAQ,oBAAoB;AACjC,OAAK,YAAY;CAClB;CAED,cAAuB;AACrB,SAAO,KAAK;CACb;;;;;CAMD,IAAI,eAA6B;AAC/B,SAAO,KAAK;CACb;AACF"}
1
+ {"version":3,"file":"BasicConnection-CpwybcC9.mjs","names":["_connectionString: string"],"sources":["../src/basic/BasicConnection.ts"],"sourcesContent":["import { EventEmitter } from 'node:events';\nimport type { EventConnection } from '../types';\nimport { EventPublisherType } from '../types';\n\nexport class BasicConnection implements EventConnection {\n readonly type = EventPublisherType.Basic;\n private emitter: EventEmitter;\n private connected = false;\n\n constructor() {\n this.emitter = new EventEmitter();\n }\n\n /**\n * Create a BasicConnection from a connection string\n * Format: basic://\n */\n static async fromConnectionString(\n _connectionString: string,\n ): Promise<BasicConnection> {\n // Basic connection doesn't need any configuration\n const connection = new BasicConnection();\n await connection.connect();\n return connection;\n }\n\n async connect(): Promise<void> {\n this.connected = true;\n }\n\n async close(): Promise<void> {\n this.emitter.removeAllListeners();\n this.connected = false;\n }\n\n isConnected(): boolean {\n return this.connected;\n }\n\n /**\n * Get the underlying EventEmitter\n * Used by BasicPublisher and BasicSubscriber\n */\n get eventEmitter(): EventEmitter {\n return this.emitter;\n }\n}\n"],"mappings":";;;;AAIA,IAAa,kBAAb,MAAa,gBAA2C;CACtD,AAAS,OAAO,mBAAmB;CACnC,AAAQ;CACR,AAAQ,YAAY;CAEpB,cAAc;AACZ,OAAK,UAAU,IAAI;CACpB;;;;;CAMD,aAAa,qBACXA,mBAC0B;EAE1B,MAAM,aAAa,IAAI;AACvB,QAAM,WAAW,SAAS;AAC1B,SAAO;CACR;CAED,MAAM,UAAyB;AAC7B,OAAK,YAAY;CAClB;CAED,MAAM,QAAuB;AAC3B,OAAK,QAAQ,oBAAoB;AACjC,OAAK,YAAY;CAClB;CAED,cAAuB;AACrB,SAAO,KAAK;CACb;;;;;CAMD,IAAI,eAA6B;AAC/B,SAAO,KAAK;CACb;AACF"}
@@ -17,4 +17,4 @@ Object.defineProperty(exports, 'BasicPublisher', {
17
17
  return BasicPublisher;
18
18
  }
19
19
  });
20
- //# sourceMappingURL=BasicPublisher-BzfzHIfb.cjs.map
20
+ //# sourceMappingURL=BasicPublisher-CXAVKxgq.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasicPublisher-BzfzHIfb.cjs","names":["connection: BasicConnection","messages: TMessage[]"],"sources":["../src/basic/BasicPublisher.ts"],"sourcesContent":["import type { EventPublisher, PublishableMessage } from '../types';\nimport type { BasicConnection } from './BasicConnection';\n\nexport class BasicPublisher<TMessage extends PublishableMessage<string, any>>\n implements EventPublisher<TMessage>\n{\n constructor(private connection: BasicConnection) {}\n\n async publish(messages: TMessage[]) {\n const emitter = this.connection.eventEmitter;\n for (const message of messages) {\n emitter.emit(message.type, message);\n }\n }\n}\n"],"mappings":";;AAGA,IAAa,iBAAb,MAEA;CACE,YAAoBA,YAA6B;EAA7B;CAA+B;CAEnD,MAAM,QAAQC,UAAsB;EAClC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,MAAM,WAAW,SACpB,SAAQ,KAAK,QAAQ,MAAM,QAAQ;CAEtC;AACF"}
1
+ {"version":3,"file":"BasicPublisher-CXAVKxgq.cjs","names":["connection: BasicConnection","messages: TMessage[]"],"sources":["../src/basic/BasicPublisher.ts"],"sourcesContent":["import type { EventPublisher, PublishableMessage } from '../types';\nimport type { BasicConnection } from './BasicConnection';\n\nexport class BasicPublisher<TMessage extends PublishableMessage<string, any>>\n implements EventPublisher<TMessage>\n{\n constructor(private connection: BasicConnection) {}\n\n async publish(messages: TMessage[]) {\n const emitter = this.connection.eventEmitter;\n for (const message of messages) {\n emitter.emit(message.type, message);\n }\n }\n}\n"],"mappings":";;AAGA,IAAa,iBAAb,MAEA;CACE,YAAoBA,YAA6B;EAA7B;CAA+B;CAEnD,MAAM,QAAQC,UAAsB;EAClC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,MAAM,WAAW,SACpB,SAAQ,KAAK,QAAQ,MAAM,QAAQ;CAEtC;AACF"}
@@ -11,4 +11,4 @@ var BasicPublisher = class {
11
11
 
12
12
  //#endregion
13
13
  export { BasicPublisher };
14
- //# sourceMappingURL=BasicPublisher-Cg3SxIVR.mjs.map
14
+ //# sourceMappingURL=BasicPublisher-DogbeHAH.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasicPublisher-Cg3SxIVR.mjs","names":["connection: BasicConnection","messages: TMessage[]"],"sources":["../src/basic/BasicPublisher.ts"],"sourcesContent":["import type { EventPublisher, PublishableMessage } from '../types';\nimport type { BasicConnection } from './BasicConnection';\n\nexport class BasicPublisher<TMessage extends PublishableMessage<string, any>>\n implements EventPublisher<TMessage>\n{\n constructor(private connection: BasicConnection) {}\n\n async publish(messages: TMessage[]) {\n const emitter = this.connection.eventEmitter;\n for (const message of messages) {\n emitter.emit(message.type, message);\n }\n }\n}\n"],"mappings":";AAGA,IAAa,iBAAb,MAEA;CACE,YAAoBA,YAA6B;EAA7B;CAA+B;CAEnD,MAAM,QAAQC,UAAsB;EAClC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,MAAM,WAAW,SACpB,SAAQ,KAAK,QAAQ,MAAM,QAAQ;CAEtC;AACF"}
1
+ {"version":3,"file":"BasicPublisher-DogbeHAH.mjs","names":["connection: BasicConnection","messages: TMessage[]"],"sources":["../src/basic/BasicPublisher.ts"],"sourcesContent":["import type { EventPublisher, PublishableMessage } from '../types';\nimport type { BasicConnection } from './BasicConnection';\n\nexport class BasicPublisher<TMessage extends PublishableMessage<string, any>>\n implements EventPublisher<TMessage>\n{\n constructor(private connection: BasicConnection) {}\n\n async publish(messages: TMessage[]) {\n const emitter = this.connection.eventEmitter;\n for (const message of messages) {\n emitter.emit(message.type, message);\n }\n }\n}\n"],"mappings":";AAGA,IAAa,iBAAb,MAEA;CACE,YAAoBA,YAA6B;EAA7B;CAA+B;CAEnD,MAAM,QAAQC,UAAsB;EAClC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,MAAM,WAAW,SACpB,SAAQ,KAAK,QAAQ,MAAM,QAAQ;CAEtC;AACF"}
@@ -21,4 +21,4 @@ Object.defineProperty(exports, 'BasicSubscriber', {
21
21
  return BasicSubscriber;
22
22
  }
23
23
  });
24
- //# sourceMappingURL=BasicSubscriber-DyTKOixe.cjs.map
24
+ //# sourceMappingURL=BasicSubscriber-BGqv3c8x.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasicSubscriber-DyTKOixe.cjs","names":["connection: BasicConnection","messages: TMessage['type'][]","listener: (payload: TMessage) => Promise<void>","message: TMessage"],"sources":["../src/basic/BasicSubscriber.ts"],"sourcesContent":["import type { EventSubscriber, PublishableMessage } from '../types';\nimport type { BasicConnection } from './BasicConnection';\n\nexport class BasicSubscriber<TMessage extends PublishableMessage<string, any>>\n implements EventSubscriber<TMessage>\n{\n constructor(private connection: BasicConnection) {}\n\n async subscribe(\n messages: TMessage['type'][],\n listener: (payload: TMessage) => Promise<void>,\n ): Promise<void> {\n const emitter = this.connection.eventEmitter;\n\n for (const messageType of messages) {\n emitter.on(messageType, (message: TMessage) => {\n listener(message).catch((error) => {\n // Log error but don't throw to prevent unhandled promise rejections\n console.error(`Error processing message ${messageType}:`, error);\n });\n });\n }\n }\n}\n"],"mappings":";;AAGA,IAAa,kBAAb,MAEA;CACE,YAAoBA,YAA6B;EAA7B;CAA+B;CAEnD,MAAM,UACJC,UACAC,UACe;EACf,MAAM,UAAU,KAAK,WAAW;AAEhC,OAAK,MAAM,eAAe,SACxB,SAAQ,GAAG,aAAa,CAACC,YAAsB;AAC7C,YAAS,QAAQ,CAAC,MAAM,CAAC,UAAU;AAEjC,YAAQ,OAAO,2BAA2B,YAAY,IAAI,MAAM;GACjE,EAAC;EACH,EAAC;CAEL;AACF"}
1
+ {"version":3,"file":"BasicSubscriber-BGqv3c8x.cjs","names":["connection: BasicConnection","messages: TMessage['type'][]","listener: (payload: TMessage) => Promise<void>","message: TMessage"],"sources":["../src/basic/BasicSubscriber.ts"],"sourcesContent":["import type { EventSubscriber, PublishableMessage } from '../types';\nimport type { BasicConnection } from './BasicConnection';\n\nexport class BasicSubscriber<TMessage extends PublishableMessage<string, any>>\n implements EventSubscriber<TMessage>\n{\n constructor(private connection: BasicConnection) {}\n\n async subscribe(\n messages: TMessage['type'][],\n listener: (payload: TMessage) => Promise<void>,\n ): Promise<void> {\n const emitter = this.connection.eventEmitter;\n\n for (const messageType of messages) {\n emitter.on(messageType, (message: TMessage) => {\n listener(message).catch((error) => {\n // Log error but don't throw to prevent unhandled promise rejections\n console.error(`Error processing message ${messageType}:`, error);\n });\n });\n }\n }\n}\n"],"mappings":";;AAGA,IAAa,kBAAb,MAEA;CACE,YAAoBA,YAA6B;EAA7B;CAA+B;CAEnD,MAAM,UACJC,UACAC,UACe;EACf,MAAM,UAAU,KAAK,WAAW;AAEhC,OAAK,MAAM,eAAe,SACxB,SAAQ,GAAG,aAAa,CAACC,YAAsB;AAC7C,YAAS,QAAQ,CAAC,MAAM,CAAC,UAAU;AAEjC,YAAQ,OAAO,2BAA2B,YAAY,IAAI,MAAM;GACjE,EAAC;EACH,EAAC;CAEL;AACF"}
@@ -15,4 +15,4 @@ var BasicSubscriber = class {
15
15
 
16
16
  //#endregion
17
17
  export { BasicSubscriber };
18
- //# sourceMappingURL=BasicSubscriber-BEv5N21f.mjs.map
18
+ //# sourceMappingURL=BasicSubscriber-CCKfbRMo.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasicSubscriber-BEv5N21f.mjs","names":["connection: BasicConnection","messages: TMessage['type'][]","listener: (payload: TMessage) => Promise<void>","message: TMessage"],"sources":["../src/basic/BasicSubscriber.ts"],"sourcesContent":["import type { EventSubscriber, PublishableMessage } from '../types';\nimport type { BasicConnection } from './BasicConnection';\n\nexport class BasicSubscriber<TMessage extends PublishableMessage<string, any>>\n implements EventSubscriber<TMessage>\n{\n constructor(private connection: BasicConnection) {}\n\n async subscribe(\n messages: TMessage['type'][],\n listener: (payload: TMessage) => Promise<void>,\n ): Promise<void> {\n const emitter = this.connection.eventEmitter;\n\n for (const messageType of messages) {\n emitter.on(messageType, (message: TMessage) => {\n listener(message).catch((error) => {\n // Log error but don't throw to prevent unhandled promise rejections\n console.error(`Error processing message ${messageType}:`, error);\n });\n });\n }\n }\n}\n"],"mappings":";AAGA,IAAa,kBAAb,MAEA;CACE,YAAoBA,YAA6B;EAA7B;CAA+B;CAEnD,MAAM,UACJC,UACAC,UACe;EACf,MAAM,UAAU,KAAK,WAAW;AAEhC,OAAK,MAAM,eAAe,SACxB,SAAQ,GAAG,aAAa,CAACC,YAAsB;AAC7C,YAAS,QAAQ,CAAC,MAAM,CAAC,UAAU;AAEjC,YAAQ,OAAO,2BAA2B,YAAY,IAAI,MAAM;GACjE,EAAC;EACH,EAAC;CAEL;AACF"}
1
+ {"version":3,"file":"BasicSubscriber-CCKfbRMo.mjs","names":["connection: BasicConnection","messages: TMessage['type'][]","listener: (payload: TMessage) => Promise<void>","message: TMessage"],"sources":["../src/basic/BasicSubscriber.ts"],"sourcesContent":["import type { EventSubscriber, PublishableMessage } from '../types';\nimport type { BasicConnection } from './BasicConnection';\n\nexport class BasicSubscriber<TMessage extends PublishableMessage<string, any>>\n implements EventSubscriber<TMessage>\n{\n constructor(private connection: BasicConnection) {}\n\n async subscribe(\n messages: TMessage['type'][],\n listener: (payload: TMessage) => Promise<void>,\n ): Promise<void> {\n const emitter = this.connection.eventEmitter;\n\n for (const messageType of messages) {\n emitter.on(messageType, (message: TMessage) => {\n listener(message).catch((error) => {\n // Log error but don't throw to prevent unhandled promise rejections\n console.error(`Error processing message ${messageType}:`, error);\n });\n });\n }\n }\n}\n"],"mappings":";AAGA,IAAa,kBAAb,MAEA;CACE,YAAoBA,YAA6B;EAA7B;CAA+B;CAEnD,MAAM,UACJC,UACAC,UACe;EACf,MAAM,UAAU,KAAK,WAAW;AAEhC,OAAK,MAAM,eAAe,SACxB,SAAQ,GAAG,aAAa,CAACC,YAAsB;AAC7C,YAAS,QAAQ,CAAC,MAAM,CAAC,UAAU;AAEjC,YAAQ,OAAO,2BAA2B,YAAY,IAAI,MAAM;GACjE,EAAC;EACH,EAAC;CAEL;AACF"}
@@ -104,4 +104,4 @@ var RabbitMQConnection = class RabbitMQConnection {
104
104
 
105
105
  //#endregion
106
106
  export { RabbitMQConnection };
107
- //# sourceMappingURL=RabbitMQConnection-eVOVS4Dl.mjs.map
107
+ //# sourceMappingURL=RabbitMQConnection-kU3MvN5P.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RabbitMQConnection-eVOVS4Dl.mjs","names":["config: RabbitMQConnectionConfig","connectionString: string","_err: Error"],"sources":["../src/rabbitmq/RabbitMQConnection.ts"],"sourcesContent":["import amqplib from 'amqplib';\nimport type { EventConnection } from '../types';\nimport { EventPublisherType } from '../types';\n\nexport interface RabbitMQConnectionConfig {\n url: string;\n exchange?: string;\n exchangeType?: 'topic' | 'direct' | 'fanout' | 'headers';\n exchangeOptions?: amqplib.Options.AssertExchange;\n timeout?: number; // Connection timeout in milliseconds (default: 5000)\n}\n\nexport class RabbitMQConnection implements EventConnection {\n readonly type = EventPublisherType.RabbitMQ;\n private connection?: amqplib.ChannelModel;\n private channel?: amqplib.Channel;\n private connecting?: Promise<void>;\n private config: Required<\n Pick<RabbitMQConnectionConfig, 'exchange' | 'exchangeType' | 'timeout'>\n > &\n RabbitMQConnectionConfig;\n\n constructor(config: RabbitMQConnectionConfig) {\n this.config = {\n ...config,\n exchange: config.exchange || 'geekmidas.events',\n exchangeType: config.exchangeType || 'topic',\n timeout: config.timeout ?? 5000,\n exchangeOptions: {\n durable: true,\n ...config.exchangeOptions,\n },\n };\n }\n\n /**\n * Create a RabbitMQConnection from a connection string\n * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000\n */\n static async fromConnectionString(\n connectionString: string,\n ): Promise<RabbitMQConnection> {\n const url = new URL(connectionString);\n const params = url.searchParams;\n\n // Extract connection URL without query params\n const baseUrl = `amqp://${url.username ? `${url.username}:${url.password}@` : ''}${url.host}${url.pathname}`;\n\n const timeoutParam = params.get('timeout');\n const config: RabbitMQConnectionConfig = {\n url: baseUrl,\n exchange: params.get('exchange') || 'geekmidas.events',\n exchangeType: (params.get('type') as any) || 'topic',\n timeout: timeoutParam ? Number.parseInt(timeoutParam, 10) : undefined,\n };\n\n const connection = new RabbitMQConnection(config);\n await connection.connect();\n return connection;\n }\n\n async connect(): Promise<void> {\n if (this.channel) return;\n\n // Prevent multiple simultaneous connection attempts\n if (this.connecting) {\n await this.connecting;\n return;\n }\n\n this.connecting = (async () => {\n try {\n const connection = await amqplib.connect(this.config.url, {\n timeout: this.config.timeout,\n });\n const channel = await connection.createChannel();\n\n // Assert the exchange exists\n await channel.assertExchange(\n this.config.exchange!,\n this.config.exchangeType!,\n this.config.exchangeOptions,\n );\n\n // Handle connection errors\n connection.on('error', (_err: Error) => {\n this.cleanup();\n });\n\n connection.on('close', () => {\n this.cleanup();\n });\n\n // Only set after successful setup\n this.connection = connection;\n this.channel = channel;\n } catch (error) {\n this.cleanup();\n throw error;\n }\n })();\n\n await this.connecting;\n this.connecting = undefined;\n }\n\n async close(): Promise<void> {\n try {\n await this.channel?.close();\n await this.connection?.close();\n } catch (error) {\n // Ignore errors during close\n } finally {\n this.cleanup();\n }\n }\n\n isConnected(): boolean {\n return !!this.channel;\n }\n\n private cleanup(): void {\n this.channel = undefined;\n this.connection = undefined;\n this.connecting = undefined;\n }\n\n /**\n * Get the underlying channel for publishing/subscribing\n */\n get amqpChannel(): amqplib.Channel | undefined {\n return this.channel;\n }\n\n /**\n * Get the exchange name for this connection\n */\n get exchangeName(): string {\n return this.config.exchange;\n }\n\n /**\n * Get the exchange type for this connection\n */\n get exchangeType(): string {\n return this.config.exchangeType;\n }\n}\n"],"mappings":";;;;AAYA,IAAa,qBAAb,MAAa,mBAA8C;CACzD,AAAS,OAAO,mBAAmB;CACnC,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CAKR,YAAYA,QAAkC;AAC5C,OAAK,SAAS;GACZ,GAAG;GACH,UAAU,OAAO,YAAY;GAC7B,cAAc,OAAO,gBAAgB;GACrC,SAAS,OAAO,WAAW;GAC3B,iBAAiB;IACf,SAAS;IACT,GAAG,OAAO;GACX;EACF;CACF;;;;;CAMD,aAAa,qBACXC,kBAC6B;EAC7B,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAGnB,MAAM,WAAW,SAAS,IAAI,YAAY,EAAE,IAAI,SAAS,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,IAAI,KAAK,EAAE,IAAI,SAAS;EAE3G,MAAM,eAAe,OAAO,IAAI,UAAU;EAC1C,MAAMD,SAAmC;GACvC,KAAK;GACL,UAAU,OAAO,IAAI,WAAW,IAAI;GACpC,cAAe,OAAO,IAAI,OAAO,IAAY;GAC7C,SAAS,eAAe,OAAO,SAAS,cAAc,GAAG;EAC1D;EAED,MAAM,aAAa,IAAI,mBAAmB;AAC1C,QAAM,WAAW,SAAS;AAC1B,SAAO;CACR;CAED,MAAM,UAAyB;AAC7B,MAAI,KAAK,QAAS;AAGlB,MAAI,KAAK,YAAY;AACnB,SAAM,KAAK;AACX;EACD;AAED,OAAK,aAAa,CAAC,YAAY;AAC7B,OAAI;IACF,MAAM,aAAa,MAAM,QAAQ,QAAQ,KAAK,OAAO,KAAK,EACxD,SAAS,KAAK,OAAO,QACtB,EAAC;IACF,MAAM,UAAU,MAAM,WAAW,eAAe;AAGhD,UAAM,QAAQ,eACZ,KAAK,OAAO,UACZ,KAAK,OAAO,cACZ,KAAK,OAAO,gBACb;AAGD,eAAW,GAAG,SAAS,CAACE,SAAgB;AACtC,UAAK,SAAS;IACf,EAAC;AAEF,eAAW,GAAG,SAAS,MAAM;AAC3B,UAAK,SAAS;IACf,EAAC;AAGF,SAAK,aAAa;AAClB,SAAK,UAAU;GAChB,SAAQ,OAAO;AACd,SAAK,SAAS;AACd,UAAM;GACP;EACF,IAAG;AAEJ,QAAM,KAAK;AACX,OAAK;CACN;CAED,MAAM,QAAuB;AAC3B,MAAI;AACF,SAAM,KAAK,SAAS,OAAO;AAC3B,SAAM,KAAK,YAAY,OAAO;EAC/B,SAAQ,OAAO,CAEf,UAAS;AACR,QAAK,SAAS;EACf;CACF;CAED,cAAuB;AACrB,WAAS,KAAK;CACf;CAED,AAAQ,UAAgB;AACtB,OAAK;AACL,OAAK;AACL,OAAK;CACN;;;;CAKD,IAAI,cAA2C;AAC7C,SAAO,KAAK;CACb;;;;CAKD,IAAI,eAAuB;AACzB,SAAO,KAAK,OAAO;CACpB;;;;CAKD,IAAI,eAAuB;AACzB,SAAO,KAAK,OAAO;CACpB;AACF"}
1
+ {"version":3,"file":"RabbitMQConnection-kU3MvN5P.mjs","names":["config: RabbitMQConnectionConfig","connectionString: string","_err: Error"],"sources":["../src/rabbitmq/RabbitMQConnection.ts"],"sourcesContent":["import amqplib from 'amqplib';\nimport type { EventConnection } from '../types';\nimport { EventPublisherType } from '../types';\n\nexport interface RabbitMQConnectionConfig {\n url: string;\n exchange?: string;\n exchangeType?: 'topic' | 'direct' | 'fanout' | 'headers';\n exchangeOptions?: amqplib.Options.AssertExchange;\n timeout?: number; // Connection timeout in milliseconds (default: 5000)\n}\n\nexport class RabbitMQConnection implements EventConnection {\n readonly type = EventPublisherType.RabbitMQ;\n private connection?: amqplib.ChannelModel;\n private channel?: amqplib.Channel;\n private connecting?: Promise<void>;\n private config: Required<\n Pick<RabbitMQConnectionConfig, 'exchange' | 'exchangeType' | 'timeout'>\n > &\n RabbitMQConnectionConfig;\n\n constructor(config: RabbitMQConnectionConfig) {\n this.config = {\n ...config,\n exchange: config.exchange || 'geekmidas.events',\n exchangeType: config.exchangeType || 'topic',\n timeout: config.timeout ?? 5000,\n exchangeOptions: {\n durable: true,\n ...config.exchangeOptions,\n },\n };\n }\n\n /**\n * Create a RabbitMQConnection from a connection string\n * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000\n */\n static async fromConnectionString(\n connectionString: string,\n ): Promise<RabbitMQConnection> {\n const url = new URL(connectionString);\n const params = url.searchParams;\n\n // Extract connection URL without query params\n const baseUrl = `amqp://${url.username ? `${url.username}:${url.password}@` : ''}${url.host}${url.pathname}`;\n\n const timeoutParam = params.get('timeout');\n const config: RabbitMQConnectionConfig = {\n url: baseUrl,\n exchange: params.get('exchange') || 'geekmidas.events',\n exchangeType: (params.get('type') as any) || 'topic',\n timeout: timeoutParam ? Number.parseInt(timeoutParam, 10) : undefined,\n };\n\n const connection = new RabbitMQConnection(config);\n await connection.connect();\n return connection;\n }\n\n async connect(): Promise<void> {\n if (this.channel) return;\n\n // Prevent multiple simultaneous connection attempts\n if (this.connecting) {\n await this.connecting;\n return;\n }\n\n this.connecting = (async () => {\n try {\n const connection = await amqplib.connect(this.config.url, {\n timeout: this.config.timeout,\n });\n const channel = await connection.createChannel();\n\n // Assert the exchange exists\n await channel.assertExchange(\n this.config.exchange!,\n this.config.exchangeType!,\n this.config.exchangeOptions,\n );\n\n // Handle connection errors\n connection.on('error', (_err: Error) => {\n this.cleanup();\n });\n\n connection.on('close', () => {\n this.cleanup();\n });\n\n // Only set after successful setup\n this.connection = connection;\n this.channel = channel;\n } catch (error) {\n this.cleanup();\n throw error;\n }\n })();\n\n await this.connecting;\n this.connecting = undefined;\n }\n\n async close(): Promise<void> {\n try {\n await this.channel?.close();\n await this.connection?.close();\n } catch (error) {\n // Ignore errors during close\n } finally {\n this.cleanup();\n }\n }\n\n isConnected(): boolean {\n return !!this.channel;\n }\n\n private cleanup(): void {\n this.channel = undefined;\n this.connection = undefined;\n this.connecting = undefined;\n }\n\n /**\n * Get the underlying channel for publishing/subscribing\n */\n get amqpChannel(): amqplib.Channel | undefined {\n return this.channel;\n }\n\n /**\n * Get the exchange name for this connection\n */\n get exchangeName(): string {\n return this.config.exchange;\n }\n\n /**\n * Get the exchange type for this connection\n */\n get exchangeType(): string {\n return this.config.exchangeType;\n }\n}\n"],"mappings":";;;;AAYA,IAAa,qBAAb,MAAa,mBAA8C;CACzD,AAAS,OAAO,mBAAmB;CACnC,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CAKR,YAAYA,QAAkC;AAC5C,OAAK,SAAS;GACZ,GAAG;GACH,UAAU,OAAO,YAAY;GAC7B,cAAc,OAAO,gBAAgB;GACrC,SAAS,OAAO,WAAW;GAC3B,iBAAiB;IACf,SAAS;IACT,GAAG,OAAO;GACX;EACF;CACF;;;;;CAMD,aAAa,qBACXC,kBAC6B;EAC7B,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAGnB,MAAM,WAAW,SAAS,IAAI,YAAY,EAAE,IAAI,SAAS,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,IAAI,KAAK,EAAE,IAAI,SAAS;EAE3G,MAAM,eAAe,OAAO,IAAI,UAAU;EAC1C,MAAMD,SAAmC;GACvC,KAAK;GACL,UAAU,OAAO,IAAI,WAAW,IAAI;GACpC,cAAe,OAAO,IAAI,OAAO,IAAY;GAC7C,SAAS,eAAe,OAAO,SAAS,cAAc,GAAG;EAC1D;EAED,MAAM,aAAa,IAAI,mBAAmB;AAC1C,QAAM,WAAW,SAAS;AAC1B,SAAO;CACR;CAED,MAAM,UAAyB;AAC7B,MAAI,KAAK,QAAS;AAGlB,MAAI,KAAK,YAAY;AACnB,SAAM,KAAK;AACX;EACD;AAED,OAAK,aAAa,CAAC,YAAY;AAC7B,OAAI;IACF,MAAM,aAAa,MAAM,QAAQ,QAAQ,KAAK,OAAO,KAAK,EACxD,SAAS,KAAK,OAAO,QACtB,EAAC;IACF,MAAM,UAAU,MAAM,WAAW,eAAe;AAGhD,UAAM,QAAQ,eACZ,KAAK,OAAO,UACZ,KAAK,OAAO,cACZ,KAAK,OAAO,gBACb;AAGD,eAAW,GAAG,SAAS,CAACE,SAAgB;AACtC,UAAK,SAAS;IACf,EAAC;AAEF,eAAW,GAAG,SAAS,MAAM;AAC3B,UAAK,SAAS;IACf,EAAC;AAGF,SAAK,aAAa;AAClB,SAAK,UAAU;GAChB,SAAQ,OAAO;AACd,SAAK,SAAS;AACd,UAAM;GACP;EACF,IAAG;AAEJ,QAAM,KAAK;AACX,OAAK;CACN;CAED,MAAM,QAAuB;AAC3B,MAAI;AACF,SAAM,KAAK,SAAS,OAAO;AAC3B,SAAM,KAAK,YAAY,OAAO;EAC/B,SAAQ,OAAO,CAEf,UAAS;AACR,QAAK,SAAS;EACf;CACF;CAED,cAAuB;AACrB,WAAS,KAAK;CACf;CAED,AAAQ,UAAgB;AACtB,OAAK;AACL,OAAK;AACL,OAAK;CACN;;;;CAKD,IAAI,cAA2C;AAC7C,SAAO,KAAK;CACb;;;;CAKD,IAAI,eAAuB;AACzB,SAAO,KAAK,OAAO;CACpB;;;;CAKD,IAAI,eAAuB;AACzB,SAAO,KAAK,OAAO;CACpB;AACF"}
@@ -110,4 +110,4 @@ Object.defineProperty(exports, 'RabbitMQConnection', {
110
110
  return RabbitMQConnection;
111
111
  }
112
112
  });
113
- //# sourceMappingURL=RabbitMQConnection-BN_GybOv.cjs.map
113
+ //# sourceMappingURL=RabbitMQConnection-ungB0Zl6.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RabbitMQConnection-BN_GybOv.cjs","names":["EventPublisherType","config: RabbitMQConnectionConfig","connectionString: string","_err: Error"],"sources":["../src/rabbitmq/RabbitMQConnection.ts"],"sourcesContent":["import amqplib from 'amqplib';\nimport type { EventConnection } from '../types';\nimport { EventPublisherType } from '../types';\n\nexport interface RabbitMQConnectionConfig {\n url: string;\n exchange?: string;\n exchangeType?: 'topic' | 'direct' | 'fanout' | 'headers';\n exchangeOptions?: amqplib.Options.AssertExchange;\n timeout?: number; // Connection timeout in milliseconds (default: 5000)\n}\n\nexport class RabbitMQConnection implements EventConnection {\n readonly type = EventPublisherType.RabbitMQ;\n private connection?: amqplib.ChannelModel;\n private channel?: amqplib.Channel;\n private connecting?: Promise<void>;\n private config: Required<\n Pick<RabbitMQConnectionConfig, 'exchange' | 'exchangeType' | 'timeout'>\n > &\n RabbitMQConnectionConfig;\n\n constructor(config: RabbitMQConnectionConfig) {\n this.config = {\n ...config,\n exchange: config.exchange || 'geekmidas.events',\n exchangeType: config.exchangeType || 'topic',\n timeout: config.timeout ?? 5000,\n exchangeOptions: {\n durable: true,\n ...config.exchangeOptions,\n },\n };\n }\n\n /**\n * Create a RabbitMQConnection from a connection string\n * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000\n */\n static async fromConnectionString(\n connectionString: string,\n ): Promise<RabbitMQConnection> {\n const url = new URL(connectionString);\n const params = url.searchParams;\n\n // Extract connection URL without query params\n const baseUrl = `amqp://${url.username ? `${url.username}:${url.password}@` : ''}${url.host}${url.pathname}`;\n\n const timeoutParam = params.get('timeout');\n const config: RabbitMQConnectionConfig = {\n url: baseUrl,\n exchange: params.get('exchange') || 'geekmidas.events',\n exchangeType: (params.get('type') as any) || 'topic',\n timeout: timeoutParam ? Number.parseInt(timeoutParam, 10) : undefined,\n };\n\n const connection = new RabbitMQConnection(config);\n await connection.connect();\n return connection;\n }\n\n async connect(): Promise<void> {\n if (this.channel) return;\n\n // Prevent multiple simultaneous connection attempts\n if (this.connecting) {\n await this.connecting;\n return;\n }\n\n this.connecting = (async () => {\n try {\n const connection = await amqplib.connect(this.config.url, {\n timeout: this.config.timeout,\n });\n const channel = await connection.createChannel();\n\n // Assert the exchange exists\n await channel.assertExchange(\n this.config.exchange!,\n this.config.exchangeType!,\n this.config.exchangeOptions,\n );\n\n // Handle connection errors\n connection.on('error', (_err: Error) => {\n this.cleanup();\n });\n\n connection.on('close', () => {\n this.cleanup();\n });\n\n // Only set after successful setup\n this.connection = connection;\n this.channel = channel;\n } catch (error) {\n this.cleanup();\n throw error;\n }\n })();\n\n await this.connecting;\n this.connecting = undefined;\n }\n\n async close(): Promise<void> {\n try {\n await this.channel?.close();\n await this.connection?.close();\n } catch (error) {\n // Ignore errors during close\n } finally {\n this.cleanup();\n }\n }\n\n isConnected(): boolean {\n return !!this.channel;\n }\n\n private cleanup(): void {\n this.channel = undefined;\n this.connection = undefined;\n this.connecting = undefined;\n }\n\n /**\n * Get the underlying channel for publishing/subscribing\n */\n get amqpChannel(): amqplib.Channel | undefined {\n return this.channel;\n }\n\n /**\n * Get the exchange name for this connection\n */\n get exchangeName(): string {\n return this.config.exchange;\n }\n\n /**\n * Get the exchange type for this connection\n */\n get exchangeType(): string {\n return this.config.exchangeType;\n }\n}\n"],"mappings":";;;;;AAYA,IAAa,qBAAb,MAAa,mBAA8C;CACzD,AAAS,OAAOA,iCAAmB;CACnC,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CAKR,YAAYC,QAAkC;AAC5C,OAAK,SAAS;GACZ,GAAG;GACH,UAAU,OAAO,YAAY;GAC7B,cAAc,OAAO,gBAAgB;GACrC,SAAS,OAAO,WAAW;GAC3B,iBAAiB;IACf,SAAS;IACT,GAAG,OAAO;GACX;EACF;CACF;;;;;CAMD,aAAa,qBACXC,kBAC6B;EAC7B,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAGnB,MAAM,WAAW,SAAS,IAAI,YAAY,EAAE,IAAI,SAAS,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,IAAI,KAAK,EAAE,IAAI,SAAS;EAE3G,MAAM,eAAe,OAAO,IAAI,UAAU;EAC1C,MAAMD,SAAmC;GACvC,KAAK;GACL,UAAU,OAAO,IAAI,WAAW,IAAI;GACpC,cAAe,OAAO,IAAI,OAAO,IAAY;GAC7C,SAAS,eAAe,OAAO,SAAS,cAAc,GAAG;EAC1D;EAED,MAAM,aAAa,IAAI,mBAAmB;AAC1C,QAAM,WAAW,SAAS;AAC1B,SAAO;CACR;CAED,MAAM,UAAyB;AAC7B,MAAI,KAAK,QAAS;AAGlB,MAAI,KAAK,YAAY;AACnB,SAAM,KAAK;AACX;EACD;AAED,OAAK,aAAa,CAAC,YAAY;AAC7B,OAAI;IACF,MAAM,aAAa,MAAM,gBAAQ,QAAQ,KAAK,OAAO,KAAK,EACxD,SAAS,KAAK,OAAO,QACtB,EAAC;IACF,MAAM,UAAU,MAAM,WAAW,eAAe;AAGhD,UAAM,QAAQ,eACZ,KAAK,OAAO,UACZ,KAAK,OAAO,cACZ,KAAK,OAAO,gBACb;AAGD,eAAW,GAAG,SAAS,CAACE,SAAgB;AACtC,UAAK,SAAS;IACf,EAAC;AAEF,eAAW,GAAG,SAAS,MAAM;AAC3B,UAAK,SAAS;IACf,EAAC;AAGF,SAAK,aAAa;AAClB,SAAK,UAAU;GAChB,SAAQ,OAAO;AACd,SAAK,SAAS;AACd,UAAM;GACP;EACF,IAAG;AAEJ,QAAM,KAAK;AACX,OAAK;CACN;CAED,MAAM,QAAuB;AAC3B,MAAI;AACF,SAAM,KAAK,SAAS,OAAO;AAC3B,SAAM,KAAK,YAAY,OAAO;EAC/B,SAAQ,OAAO,CAEf,UAAS;AACR,QAAK,SAAS;EACf;CACF;CAED,cAAuB;AACrB,WAAS,KAAK;CACf;CAED,AAAQ,UAAgB;AACtB,OAAK;AACL,OAAK;AACL,OAAK;CACN;;;;CAKD,IAAI,cAA2C;AAC7C,SAAO,KAAK;CACb;;;;CAKD,IAAI,eAAuB;AACzB,SAAO,KAAK,OAAO;CACpB;;;;CAKD,IAAI,eAAuB;AACzB,SAAO,KAAK,OAAO;CACpB;AACF"}
1
+ {"version":3,"file":"RabbitMQConnection-ungB0Zl6.cjs","names":["EventPublisherType","config: RabbitMQConnectionConfig","connectionString: string","_err: Error"],"sources":["../src/rabbitmq/RabbitMQConnection.ts"],"sourcesContent":["import amqplib from 'amqplib';\nimport type { EventConnection } from '../types';\nimport { EventPublisherType } from '../types';\n\nexport interface RabbitMQConnectionConfig {\n url: string;\n exchange?: string;\n exchangeType?: 'topic' | 'direct' | 'fanout' | 'headers';\n exchangeOptions?: amqplib.Options.AssertExchange;\n timeout?: number; // Connection timeout in milliseconds (default: 5000)\n}\n\nexport class RabbitMQConnection implements EventConnection {\n readonly type = EventPublisherType.RabbitMQ;\n private connection?: amqplib.ChannelModel;\n private channel?: amqplib.Channel;\n private connecting?: Promise<void>;\n private config: Required<\n Pick<RabbitMQConnectionConfig, 'exchange' | 'exchangeType' | 'timeout'>\n > &\n RabbitMQConnectionConfig;\n\n constructor(config: RabbitMQConnectionConfig) {\n this.config = {\n ...config,\n exchange: config.exchange || 'geekmidas.events',\n exchangeType: config.exchangeType || 'topic',\n timeout: config.timeout ?? 5000,\n exchangeOptions: {\n durable: true,\n ...config.exchangeOptions,\n },\n };\n }\n\n /**\n * Create a RabbitMQConnection from a connection string\n * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000\n */\n static async fromConnectionString(\n connectionString: string,\n ): Promise<RabbitMQConnection> {\n const url = new URL(connectionString);\n const params = url.searchParams;\n\n // Extract connection URL without query params\n const baseUrl = `amqp://${url.username ? `${url.username}:${url.password}@` : ''}${url.host}${url.pathname}`;\n\n const timeoutParam = params.get('timeout');\n const config: RabbitMQConnectionConfig = {\n url: baseUrl,\n exchange: params.get('exchange') || 'geekmidas.events',\n exchangeType: (params.get('type') as any) || 'topic',\n timeout: timeoutParam ? Number.parseInt(timeoutParam, 10) : undefined,\n };\n\n const connection = new RabbitMQConnection(config);\n await connection.connect();\n return connection;\n }\n\n async connect(): Promise<void> {\n if (this.channel) return;\n\n // Prevent multiple simultaneous connection attempts\n if (this.connecting) {\n await this.connecting;\n return;\n }\n\n this.connecting = (async () => {\n try {\n const connection = await amqplib.connect(this.config.url, {\n timeout: this.config.timeout,\n });\n const channel = await connection.createChannel();\n\n // Assert the exchange exists\n await channel.assertExchange(\n this.config.exchange!,\n this.config.exchangeType!,\n this.config.exchangeOptions,\n );\n\n // Handle connection errors\n connection.on('error', (_err: Error) => {\n this.cleanup();\n });\n\n connection.on('close', () => {\n this.cleanup();\n });\n\n // Only set after successful setup\n this.connection = connection;\n this.channel = channel;\n } catch (error) {\n this.cleanup();\n throw error;\n }\n })();\n\n await this.connecting;\n this.connecting = undefined;\n }\n\n async close(): Promise<void> {\n try {\n await this.channel?.close();\n await this.connection?.close();\n } catch (error) {\n // Ignore errors during close\n } finally {\n this.cleanup();\n }\n }\n\n isConnected(): boolean {\n return !!this.channel;\n }\n\n private cleanup(): void {\n this.channel = undefined;\n this.connection = undefined;\n this.connecting = undefined;\n }\n\n /**\n * Get the underlying channel for publishing/subscribing\n */\n get amqpChannel(): amqplib.Channel | undefined {\n return this.channel;\n }\n\n /**\n * Get the exchange name for this connection\n */\n get exchangeName(): string {\n return this.config.exchange;\n }\n\n /**\n * Get the exchange type for this connection\n */\n get exchangeType(): string {\n return this.config.exchangeType;\n }\n}\n"],"mappings":";;;;;AAYA,IAAa,qBAAb,MAAa,mBAA8C;CACzD,AAAS,OAAOA,iCAAmB;CACnC,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CAKR,YAAYC,QAAkC;AAC5C,OAAK,SAAS;GACZ,GAAG;GACH,UAAU,OAAO,YAAY;GAC7B,cAAc,OAAO,gBAAgB;GACrC,SAAS,OAAO,WAAW;GAC3B,iBAAiB;IACf,SAAS;IACT,GAAG,OAAO;GACX;EACF;CACF;;;;;CAMD,aAAa,qBACXC,kBAC6B;EAC7B,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAGnB,MAAM,WAAW,SAAS,IAAI,YAAY,EAAE,IAAI,SAAS,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,IAAI,KAAK,EAAE,IAAI,SAAS;EAE3G,MAAM,eAAe,OAAO,IAAI,UAAU;EAC1C,MAAMD,SAAmC;GACvC,KAAK;GACL,UAAU,OAAO,IAAI,WAAW,IAAI;GACpC,cAAe,OAAO,IAAI,OAAO,IAAY;GAC7C,SAAS,eAAe,OAAO,SAAS,cAAc,GAAG;EAC1D;EAED,MAAM,aAAa,IAAI,mBAAmB;AAC1C,QAAM,WAAW,SAAS;AAC1B,SAAO;CACR;CAED,MAAM,UAAyB;AAC7B,MAAI,KAAK,QAAS;AAGlB,MAAI,KAAK,YAAY;AACnB,SAAM,KAAK;AACX;EACD;AAED,OAAK,aAAa,CAAC,YAAY;AAC7B,OAAI;IACF,MAAM,aAAa,MAAM,gBAAQ,QAAQ,KAAK,OAAO,KAAK,EACxD,SAAS,KAAK,OAAO,QACtB,EAAC;IACF,MAAM,UAAU,MAAM,WAAW,eAAe;AAGhD,UAAM,QAAQ,eACZ,KAAK,OAAO,UACZ,KAAK,OAAO,cACZ,KAAK,OAAO,gBACb;AAGD,eAAW,GAAG,SAAS,CAACE,SAAgB;AACtC,UAAK,SAAS;IACf,EAAC;AAEF,eAAW,GAAG,SAAS,MAAM;AAC3B,UAAK,SAAS;IACf,EAAC;AAGF,SAAK,aAAa;AAClB,SAAK,UAAU;GAChB,SAAQ,OAAO;AACd,SAAK,SAAS;AACd,UAAM;GACP;EACF,IAAG;AAEJ,QAAM,KAAK;AACX,OAAK;CACN;CAED,MAAM,QAAuB;AAC3B,MAAI;AACF,SAAM,KAAK,SAAS,OAAO;AAC3B,SAAM,KAAK,YAAY,OAAO;EAC/B,SAAQ,OAAO,CAEf,UAAS;AACR,QAAK,SAAS;EACf;CACF;CAED,cAAuB;AACrB,WAAS,KAAK;CACf;CAED,AAAQ,UAAgB;AACtB,OAAK;AACL,OAAK;AACL,OAAK;CACN;;;;CAKD,IAAI,cAA2C;AAC7C,SAAO,KAAK;CACb;;;;CAKD,IAAI,eAAuB;AACzB,SAAO,KAAK,OAAO;CACpB;;;;CAKD,IAAI,eAAuB;AACzB,SAAO,KAAK,OAAO;CACpB;AACF"}
@@ -42,4 +42,4 @@ Object.defineProperty(exports, 'RabbitMQPublisher', {
42
42
  return RabbitMQPublisher;
43
43
  }
44
44
  });
45
- //# sourceMappingURL=RabbitMQPublisher-CSCn6gMA.cjs.map
45
+ //# sourceMappingURL=RabbitMQPublisher--DL6GM6g.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RabbitMQPublisher-CSCn6gMA.cjs","names":["connection: RabbitMQConnection","options: RabbitMQPublisherOptions","connectionString: string","messages: TMessage[]"],"sources":["../src/rabbitmq/RabbitMQPublisher.ts"],"sourcesContent":["import type amqplib from 'amqplib';\nimport type { EventPublisher, PublishableMessage } from '../types';\nimport type { RabbitMQConnection } from './RabbitMQConnection';\n\nexport interface RabbitMQPublisherOptions {\n publishOptions?: amqplib.Options.Publish;\n}\n\nexport class RabbitMQPublisher<TMessage extends PublishableMessage<string, any>>\n implements EventPublisher<TMessage>\n{\n constructor(\n private connection: RabbitMQConnection,\n private options: RabbitMQPublisherOptions = {},\n ) {}\n\n /**\n * Create a RabbitMQPublisher from a connection string\n * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000\n */\n static async fromConnectionString<\n TMessage extends PublishableMessage<string, any>,\n >(connectionString: string): Promise<RabbitMQPublisher<TMessage>> {\n const { RabbitMQConnection } = await import('./RabbitMQConnection');\n const connection =\n await RabbitMQConnection.fromConnectionString(connectionString);\n return new RabbitMQPublisher<TMessage>(connection);\n }\n\n async publish(messages: TMessage[]): Promise<void> {\n if (!this.connection.isConnected()) {\n await this.connection.connect();\n }\n\n const channel = this.connection.amqpChannel;\n if (!channel) {\n throw new Error('Channel not initialized');\n }\n\n const exchange = this.connection.exchangeName;\n\n for (const message of messages) {\n const content = Buffer.from(JSON.stringify(message.payload));\n\n // Use message type as routing key for topic exchanges\n const routingKey = message.type;\n\n const published = channel.publish(exchange, routingKey, content, {\n contentType: 'application/json',\n timestamp: Date.now(),\n type: message.type,\n persistent: true,\n ...this.options.publishOptions,\n });\n\n // Handle backpressure\n if (!published) {\n await new Promise((resolve) => channel.once('drain', resolve));\n }\n }\n }\n\n async close(): Promise<void> {\n // Publisher doesn't own the connection\n // Connection should be closed by whoever created it\n }\n}\n"],"mappings":";;AAQA,IAAa,oBAAb,MAAa,kBAEb;CACE,YACUA,YACAC,UAAoC,CAAE,GAC9C;EAFQ;EACA;CACN;;;;;CAMJ,aAAa,qBAEXC,kBAAgE;EAChE,MAAM,EAAE,oBAAoB,GAAG,2CAAM;EACrC,MAAM,aACJ,MAAM,mBAAmB,qBAAqB,iBAAiB;AACjE,SAAO,IAAI,kBAA4B;CACxC;CAED,MAAM,QAAQC,UAAqC;AACjD,OAAK,KAAK,WAAW,aAAa,CAChC,OAAM,KAAK,WAAW,SAAS;EAGjC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,QACH,OAAM,IAAI,MAAM;EAGlB,MAAM,WAAW,KAAK,WAAW;AAEjC,OAAK,MAAM,WAAW,UAAU;GAC9B,MAAM,UAAU,OAAO,KAAK,KAAK,UAAU,QAAQ,QAAQ,CAAC;GAG5D,MAAM,aAAa,QAAQ;GAE3B,MAAM,YAAY,QAAQ,QAAQ,UAAU,YAAY,SAAS;IAC/D,aAAa;IACb,WAAW,KAAK,KAAK;IACrB,MAAM,QAAQ;IACd,YAAY;IACZ,GAAG,KAAK,QAAQ;GACjB,EAAC;AAGF,QAAK,UACH,OAAM,IAAI,QAAQ,CAAC,YAAY,QAAQ,KAAK,SAAS,QAAQ;EAEhE;CACF;CAED,MAAM,QAAuB,CAG5B;AACF"}
1
+ {"version":3,"file":"RabbitMQPublisher--DL6GM6g.cjs","names":["connection: RabbitMQConnection","options: RabbitMQPublisherOptions","connectionString: string","messages: TMessage[]"],"sources":["../src/rabbitmq/RabbitMQPublisher.ts"],"sourcesContent":["import type amqplib from 'amqplib';\nimport type { EventPublisher, PublishableMessage } from '../types';\nimport type { RabbitMQConnection } from './RabbitMQConnection';\n\nexport interface RabbitMQPublisherOptions {\n publishOptions?: amqplib.Options.Publish;\n}\n\nexport class RabbitMQPublisher<TMessage extends PublishableMessage<string, any>>\n implements EventPublisher<TMessage>\n{\n constructor(\n private connection: RabbitMQConnection,\n private options: RabbitMQPublisherOptions = {},\n ) {}\n\n /**\n * Create a RabbitMQPublisher from a connection string\n * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000\n */\n static async fromConnectionString<\n TMessage extends PublishableMessage<string, any>,\n >(connectionString: string): Promise<RabbitMQPublisher<TMessage>> {\n const { RabbitMQConnection } = await import('./RabbitMQConnection');\n const connection =\n await RabbitMQConnection.fromConnectionString(connectionString);\n return new RabbitMQPublisher<TMessage>(connection);\n }\n\n async publish(messages: TMessage[]): Promise<void> {\n if (!this.connection.isConnected()) {\n await this.connection.connect();\n }\n\n const channel = this.connection.amqpChannel;\n if (!channel) {\n throw new Error('Channel not initialized');\n }\n\n const exchange = this.connection.exchangeName;\n\n for (const message of messages) {\n const content = Buffer.from(JSON.stringify(message.payload));\n\n // Use message type as routing key for topic exchanges\n const routingKey = message.type;\n\n const published = channel.publish(exchange, routingKey, content, {\n contentType: 'application/json',\n timestamp: Date.now(),\n type: message.type,\n persistent: true,\n ...this.options.publishOptions,\n });\n\n // Handle backpressure\n if (!published) {\n await new Promise((resolve) => channel.once('drain', resolve));\n }\n }\n }\n\n async close(): Promise<void> {\n // Publisher doesn't own the connection\n // Connection should be closed by whoever created it\n }\n}\n"],"mappings":";;AAQA,IAAa,oBAAb,MAAa,kBAEb;CACE,YACUA,YACAC,UAAoC,CAAE,GAC9C;EAFQ;EACA;CACN;;;;;CAMJ,aAAa,qBAEXC,kBAAgE;EAChE,MAAM,EAAE,oBAAoB,GAAG,2CAAM;EACrC,MAAM,aACJ,MAAM,mBAAmB,qBAAqB,iBAAiB;AACjE,SAAO,IAAI,kBAA4B;CACxC;CAED,MAAM,QAAQC,UAAqC;AACjD,OAAK,KAAK,WAAW,aAAa,CAChC,OAAM,KAAK,WAAW,SAAS;EAGjC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,QACH,OAAM,IAAI,MAAM;EAGlB,MAAM,WAAW,KAAK,WAAW;AAEjC,OAAK,MAAM,WAAW,UAAU;GAC9B,MAAM,UAAU,OAAO,KAAK,KAAK,UAAU,QAAQ,QAAQ,CAAC;GAG5D,MAAM,aAAa,QAAQ;GAE3B,MAAM,YAAY,QAAQ,QAAQ,UAAU,YAAY,SAAS;IAC/D,aAAa;IACb,WAAW,KAAK,KAAK;IACrB,MAAM,QAAQ;IACd,YAAY;IACZ,GAAG,KAAK,QAAQ;GACjB,EAAC;AAGF,QAAK,UACH,OAAM,IAAI,QAAQ,CAAC,YAAY,QAAQ,KAAK,SAAS,QAAQ;EAEhE;CACF;CAED,MAAM,QAAuB,CAG5B;AACF"}
@@ -36,4 +36,4 @@ var RabbitMQPublisher = class RabbitMQPublisher {
36
36
 
37
37
  //#endregion
38
38
  export { RabbitMQPublisher };
39
- //# sourceMappingURL=RabbitMQPublisher-BZX0edgL.mjs.map
39
+ //# sourceMappingURL=RabbitMQPublisher-o_oVI3wr.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RabbitMQPublisher-BZX0edgL.mjs","names":["connection: RabbitMQConnection","options: RabbitMQPublisherOptions","connectionString: string","messages: TMessage[]"],"sources":["../src/rabbitmq/RabbitMQPublisher.ts"],"sourcesContent":["import type amqplib from 'amqplib';\nimport type { EventPublisher, PublishableMessage } from '../types';\nimport type { RabbitMQConnection } from './RabbitMQConnection';\n\nexport interface RabbitMQPublisherOptions {\n publishOptions?: amqplib.Options.Publish;\n}\n\nexport class RabbitMQPublisher<TMessage extends PublishableMessage<string, any>>\n implements EventPublisher<TMessage>\n{\n constructor(\n private connection: RabbitMQConnection,\n private options: RabbitMQPublisherOptions = {},\n ) {}\n\n /**\n * Create a RabbitMQPublisher from a connection string\n * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000\n */\n static async fromConnectionString<\n TMessage extends PublishableMessage<string, any>,\n >(connectionString: string): Promise<RabbitMQPublisher<TMessage>> {\n const { RabbitMQConnection } = await import('./RabbitMQConnection');\n const connection =\n await RabbitMQConnection.fromConnectionString(connectionString);\n return new RabbitMQPublisher<TMessage>(connection);\n }\n\n async publish(messages: TMessage[]): Promise<void> {\n if (!this.connection.isConnected()) {\n await this.connection.connect();\n }\n\n const channel = this.connection.amqpChannel;\n if (!channel) {\n throw new Error('Channel not initialized');\n }\n\n const exchange = this.connection.exchangeName;\n\n for (const message of messages) {\n const content = Buffer.from(JSON.stringify(message.payload));\n\n // Use message type as routing key for topic exchanges\n const routingKey = message.type;\n\n const published = channel.publish(exchange, routingKey, content, {\n contentType: 'application/json',\n timestamp: Date.now(),\n type: message.type,\n persistent: true,\n ...this.options.publishOptions,\n });\n\n // Handle backpressure\n if (!published) {\n await new Promise((resolve) => channel.once('drain', resolve));\n }\n }\n }\n\n async close(): Promise<void> {\n // Publisher doesn't own the connection\n // Connection should be closed by whoever created it\n }\n}\n"],"mappings":";AAQA,IAAa,oBAAb,MAAa,kBAEb;CACE,YACUA,YACAC,UAAoC,CAAE,GAC9C;EAFQ;EACA;CACN;;;;;CAMJ,aAAa,qBAEXC,kBAAgE;EAChE,MAAM,EAAE,oBAAoB,GAAG,MAAM,OAAO;EAC5C,MAAM,aACJ,MAAM,mBAAmB,qBAAqB,iBAAiB;AACjE,SAAO,IAAI,kBAA4B;CACxC;CAED,MAAM,QAAQC,UAAqC;AACjD,OAAK,KAAK,WAAW,aAAa,CAChC,OAAM,KAAK,WAAW,SAAS;EAGjC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,QACH,OAAM,IAAI,MAAM;EAGlB,MAAM,WAAW,KAAK,WAAW;AAEjC,OAAK,MAAM,WAAW,UAAU;GAC9B,MAAM,UAAU,OAAO,KAAK,KAAK,UAAU,QAAQ,QAAQ,CAAC;GAG5D,MAAM,aAAa,QAAQ;GAE3B,MAAM,YAAY,QAAQ,QAAQ,UAAU,YAAY,SAAS;IAC/D,aAAa;IACb,WAAW,KAAK,KAAK;IACrB,MAAM,QAAQ;IACd,YAAY;IACZ,GAAG,KAAK,QAAQ;GACjB,EAAC;AAGF,QAAK,UACH,OAAM,IAAI,QAAQ,CAAC,YAAY,QAAQ,KAAK,SAAS,QAAQ;EAEhE;CACF;CAED,MAAM,QAAuB,CAG5B;AACF"}
1
+ {"version":3,"file":"RabbitMQPublisher-o_oVI3wr.mjs","names":["connection: RabbitMQConnection","options: RabbitMQPublisherOptions","connectionString: string","messages: TMessage[]"],"sources":["../src/rabbitmq/RabbitMQPublisher.ts"],"sourcesContent":["import type amqplib from 'amqplib';\nimport type { EventPublisher, PublishableMessage } from '../types';\nimport type { RabbitMQConnection } from './RabbitMQConnection';\n\nexport interface RabbitMQPublisherOptions {\n publishOptions?: amqplib.Options.Publish;\n}\n\nexport class RabbitMQPublisher<TMessage extends PublishableMessage<string, any>>\n implements EventPublisher<TMessage>\n{\n constructor(\n private connection: RabbitMQConnection,\n private options: RabbitMQPublisherOptions = {},\n ) {}\n\n /**\n * Create a RabbitMQPublisher from a connection string\n * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000\n */\n static async fromConnectionString<\n TMessage extends PublishableMessage<string, any>,\n >(connectionString: string): Promise<RabbitMQPublisher<TMessage>> {\n const { RabbitMQConnection } = await import('./RabbitMQConnection');\n const connection =\n await RabbitMQConnection.fromConnectionString(connectionString);\n return new RabbitMQPublisher<TMessage>(connection);\n }\n\n async publish(messages: TMessage[]): Promise<void> {\n if (!this.connection.isConnected()) {\n await this.connection.connect();\n }\n\n const channel = this.connection.amqpChannel;\n if (!channel) {\n throw new Error('Channel not initialized');\n }\n\n const exchange = this.connection.exchangeName;\n\n for (const message of messages) {\n const content = Buffer.from(JSON.stringify(message.payload));\n\n // Use message type as routing key for topic exchanges\n const routingKey = message.type;\n\n const published = channel.publish(exchange, routingKey, content, {\n contentType: 'application/json',\n timestamp: Date.now(),\n type: message.type,\n persistent: true,\n ...this.options.publishOptions,\n });\n\n // Handle backpressure\n if (!published) {\n await new Promise((resolve) => channel.once('drain', resolve));\n }\n }\n }\n\n async close(): Promise<void> {\n // Publisher doesn't own the connection\n // Connection should be closed by whoever created it\n }\n}\n"],"mappings":";AAQA,IAAa,oBAAb,MAAa,kBAEb;CACE,YACUA,YACAC,UAAoC,CAAE,GAC9C;EAFQ;EACA;CACN;;;;;CAMJ,aAAa,qBAEXC,kBAAgE;EAChE,MAAM,EAAE,oBAAoB,GAAG,MAAM,OAAO;EAC5C,MAAM,aACJ,MAAM,mBAAmB,qBAAqB,iBAAiB;AACjE,SAAO,IAAI,kBAA4B;CACxC;CAED,MAAM,QAAQC,UAAqC;AACjD,OAAK,KAAK,WAAW,aAAa,CAChC,OAAM,KAAK,WAAW,SAAS;EAGjC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,QACH,OAAM,IAAI,MAAM;EAGlB,MAAM,WAAW,KAAK,WAAW;AAEjC,OAAK,MAAM,WAAW,UAAU;GAC9B,MAAM,UAAU,OAAO,KAAK,KAAK,UAAU,QAAQ,QAAQ,CAAC;GAG5D,MAAM,aAAa,QAAQ;GAE3B,MAAM,YAAY,QAAQ,QAAQ,UAAU,YAAY,SAAS;IAC/D,aAAa;IACb,WAAW,KAAK,KAAK;IACrB,MAAM,QAAQ;IACd,YAAY;IACZ,GAAG,KAAK,QAAQ;GACjB,EAAC;AAGF,QAAK,UACH,OAAM,IAAI,QAAQ,CAAC,YAAY,QAAQ,KAAK,SAAS,QAAQ;EAEhE;CACF;CAED,MAAM,QAAuB,CAG5B;AACF"}
@@ -54,4 +54,4 @@ var RabbitMQSubscriber = class RabbitMQSubscriber {
54
54
 
55
55
  //#endregion
56
56
  export { RabbitMQSubscriber };
57
- //# sourceMappingURL=RabbitMQSubscriber-B5I-hBaT.mjs.map
57
+ //# sourceMappingURL=RabbitMQSubscriber-BaXqs5nO.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RabbitMQSubscriber-B5I-hBaT.mjs","names":["connection: RabbitMQConnection","options: RabbitMQSubscriberOptions","connectionString: string","messages: TMessage['type'][]","listener: (payload: TMessage) => Promise<void>","queueOptions: amqplib.Options.AssertQueue","fullMessage: TMessage"],"sources":["../src/rabbitmq/RabbitMQSubscriber.ts"],"sourcesContent":["import type amqplib from 'amqplib';\nimport type { EventSubscriber, PublishableMessage } from '../types';\nimport type { RabbitMQConnection } from './RabbitMQConnection';\n\nexport interface RabbitMQSubscriberOptions {\n queueName?: string; // If not provided, a unique queue will be generated\n queueOptions?: amqplib.Options.AssertQueue;\n consumeOptions?: amqplib.Options.Consume;\n prefetch?: number; // Number of messages to prefetch (default: 1)\n}\n\nexport class RabbitMQSubscriber<\n TMessage extends PublishableMessage<string, any>,\n> implements EventSubscriber<TMessage>\n{\n constructor(\n private connection: RabbitMQConnection,\n private options: RabbitMQSubscriberOptions = {},\n ) {}\n\n /**\n * Create a RabbitMQSubscriber from a connection string\n * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&queueName=myqueue&prefetch=10\n */\n static async fromConnectionString<\n TMessage extends PublishableMessage<string, any>,\n >(connectionString: string): Promise<RabbitMQSubscriber<TMessage>> {\n const url = new URL(connectionString);\n const params = url.searchParams;\n\n const { RabbitMQConnection } = await import('./RabbitMQConnection');\n const connection =\n await RabbitMQConnection.fromConnectionString(connectionString);\n\n const options: RabbitMQSubscriberOptions = {\n queueName: params.get('queueName') || undefined,\n prefetch: params.get('prefetch')\n ? Number.parseInt(params.get('prefetch')!, 10)\n : undefined,\n };\n\n return new RabbitMQSubscriber<TMessage>(connection, options);\n }\n\n async subscribe(\n messages: TMessage['type'][],\n listener: (payload: TMessage) => Promise<void>,\n ): Promise<void> {\n if (!this.connection.isConnected()) {\n await this.connection.connect();\n }\n\n const channel = this.connection.amqpChannel;\n if (!channel) {\n throw new Error('Channel not initialized');\n }\n\n const exchange = this.connection.exchangeName;\n\n // Set prefetch if specified\n if (this.options.prefetch) {\n await channel.prefetch(this.options.prefetch);\n }\n\n // Assert queue\n const queueName = this.options.queueName || '';\n const queueOptions: amqplib.Options.AssertQueue = {\n durable: true,\n ...this.options.queueOptions,\n };\n\n const { queue } = await channel.assertQueue(queueName, queueOptions);\n\n // Bind queue to exchange for each message type\n for (const messageType of messages) {\n await channel.bindQueue(queue, exchange, messageType);\n }\n\n // Consume messages\n await channel.consume(\n queue,\n async (msg) => {\n if (!msg) return;\n\n try {\n // Parse message payload\n const content = msg.content.toString();\n const payload = JSON.parse(content);\n\n // Get message type from properties\n const messageType = msg.properties.type;\n\n // Reconstruct full message\n const fullMessage: TMessage = {\n type: messageType,\n payload,\n } as TMessage;\n\n // Call listener\n await listener(fullMessage);\n\n // Ack message\n channel.ack(msg);\n } catch (error) {\n // Log error and nack message (requeue)\n console.error('Error processing message:', error);\n channel.nack(msg, false, true);\n }\n },\n this.options.consumeOptions,\n );\n }\n}\n"],"mappings":";AAWA,IAAa,qBAAb,MAAa,mBAGb;CACE,YACUA,YACAC,UAAqC,CAAE,GAC/C;EAFQ;EACA;CACN;;;;;CAMJ,aAAa,qBAEXC,kBAAiE;EACjE,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAEnB,MAAM,EAAE,oBAAoB,GAAG,MAAM,OAAO;EAC5C,MAAM,aACJ,MAAM,mBAAmB,qBAAqB,iBAAiB;EAEjE,MAAMD,UAAqC;GACzC,WAAW,OAAO,IAAI,YAAY;GAClC,UAAU,OAAO,IAAI,WAAW,GAC5B,OAAO,SAAS,OAAO,IAAI,WAAW,EAAG,GAAG;EAEjD;AAED,SAAO,IAAI,mBAA6B,YAAY;CACrD;CAED,MAAM,UACJE,UACAC,UACe;AACf,OAAK,KAAK,WAAW,aAAa,CAChC,OAAM,KAAK,WAAW,SAAS;EAGjC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,QACH,OAAM,IAAI,MAAM;EAGlB,MAAM,WAAW,KAAK,WAAW;AAGjC,MAAI,KAAK,QAAQ,SACf,OAAM,QAAQ,SAAS,KAAK,QAAQ,SAAS;EAI/C,MAAM,YAAY,KAAK,QAAQ,aAAa;EAC5C,MAAMC,eAA4C;GAChD,SAAS;GACT,GAAG,KAAK,QAAQ;EACjB;EAED,MAAM,EAAE,OAAO,GAAG,MAAM,QAAQ,YAAY,WAAW,aAAa;AAGpE,OAAK,MAAM,eAAe,SACxB,OAAM,QAAQ,UAAU,OAAO,UAAU,YAAY;AAIvD,QAAM,QAAQ,QACZ,OACA,OAAO,QAAQ;AACb,QAAK,IAAK;AAEV,OAAI;IAEF,MAAM,UAAU,IAAI,QAAQ,UAAU;IACtC,MAAM,UAAU,KAAK,MAAM,QAAQ;IAGnC,MAAM,cAAc,IAAI,WAAW;IAGnC,MAAMC,cAAwB;KAC5B,MAAM;KACN;IACD;AAGD,UAAM,SAAS,YAAY;AAG3B,YAAQ,IAAI,IAAI;GACjB,SAAQ,OAAO;AAEd,YAAQ,MAAM,6BAA6B,MAAM;AACjD,YAAQ,KAAK,KAAK,OAAO,KAAK;GAC/B;EACF,GACD,KAAK,QAAQ,eACd;CACF;AACF"}
1
+ {"version":3,"file":"RabbitMQSubscriber-BaXqs5nO.mjs","names":["connection: RabbitMQConnection","options: RabbitMQSubscriberOptions","connectionString: string","messages: TMessage['type'][]","listener: (payload: TMessage) => Promise<void>","queueOptions: amqplib.Options.AssertQueue","fullMessage: TMessage"],"sources":["../src/rabbitmq/RabbitMQSubscriber.ts"],"sourcesContent":["import type amqplib from 'amqplib';\nimport type { EventSubscriber, PublishableMessage } from '../types';\nimport type { RabbitMQConnection } from './RabbitMQConnection';\n\nexport interface RabbitMQSubscriberOptions {\n queueName?: string; // If not provided, a unique queue will be generated\n queueOptions?: amqplib.Options.AssertQueue;\n consumeOptions?: amqplib.Options.Consume;\n prefetch?: number; // Number of messages to prefetch (default: 1)\n}\n\nexport class RabbitMQSubscriber<\n TMessage extends PublishableMessage<string, any>,\n> implements EventSubscriber<TMessage>\n{\n constructor(\n private connection: RabbitMQConnection,\n private options: RabbitMQSubscriberOptions = {},\n ) {}\n\n /**\n * Create a RabbitMQSubscriber from a connection string\n * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&queueName=myqueue&prefetch=10\n */\n static async fromConnectionString<\n TMessage extends PublishableMessage<string, any>,\n >(connectionString: string): Promise<RabbitMQSubscriber<TMessage>> {\n const url = new URL(connectionString);\n const params = url.searchParams;\n\n const { RabbitMQConnection } = await import('./RabbitMQConnection');\n const connection =\n await RabbitMQConnection.fromConnectionString(connectionString);\n\n const options: RabbitMQSubscriberOptions = {\n queueName: params.get('queueName') || undefined,\n prefetch: params.get('prefetch')\n ? Number.parseInt(params.get('prefetch')!, 10)\n : undefined,\n };\n\n return new RabbitMQSubscriber<TMessage>(connection, options);\n }\n\n async subscribe(\n messages: TMessage['type'][],\n listener: (payload: TMessage) => Promise<void>,\n ): Promise<void> {\n if (!this.connection.isConnected()) {\n await this.connection.connect();\n }\n\n const channel = this.connection.amqpChannel;\n if (!channel) {\n throw new Error('Channel not initialized');\n }\n\n const exchange = this.connection.exchangeName;\n\n // Set prefetch if specified\n if (this.options.prefetch) {\n await channel.prefetch(this.options.prefetch);\n }\n\n // Assert queue\n const queueName = this.options.queueName || '';\n const queueOptions: amqplib.Options.AssertQueue = {\n durable: true,\n ...this.options.queueOptions,\n };\n\n const { queue } = await channel.assertQueue(queueName, queueOptions);\n\n // Bind queue to exchange for each message type\n for (const messageType of messages) {\n await channel.bindQueue(queue, exchange, messageType);\n }\n\n // Consume messages\n await channel.consume(\n queue,\n async (msg) => {\n if (!msg) return;\n\n try {\n // Parse message payload\n const content = msg.content.toString();\n const payload = JSON.parse(content);\n\n // Get message type from properties\n const messageType = msg.properties.type;\n\n // Reconstruct full message\n const fullMessage: TMessage = {\n type: messageType,\n payload,\n } as TMessage;\n\n // Call listener\n await listener(fullMessage);\n\n // Ack message\n channel.ack(msg);\n } catch (error) {\n // Log error and nack message (requeue)\n console.error('Error processing message:', error);\n channel.nack(msg, false, true);\n }\n },\n this.options.consumeOptions,\n );\n }\n}\n"],"mappings":";AAWA,IAAa,qBAAb,MAAa,mBAGb;CACE,YACUA,YACAC,UAAqC,CAAE,GAC/C;EAFQ;EACA;CACN;;;;;CAMJ,aAAa,qBAEXC,kBAAiE;EACjE,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAEnB,MAAM,EAAE,oBAAoB,GAAG,MAAM,OAAO;EAC5C,MAAM,aACJ,MAAM,mBAAmB,qBAAqB,iBAAiB;EAEjE,MAAMD,UAAqC;GACzC,WAAW,OAAO,IAAI,YAAY;GAClC,UAAU,OAAO,IAAI,WAAW,GAC5B,OAAO,SAAS,OAAO,IAAI,WAAW,EAAG,GAAG;EAEjD;AAED,SAAO,IAAI,mBAA6B,YAAY;CACrD;CAED,MAAM,UACJE,UACAC,UACe;AACf,OAAK,KAAK,WAAW,aAAa,CAChC,OAAM,KAAK,WAAW,SAAS;EAGjC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,QACH,OAAM,IAAI,MAAM;EAGlB,MAAM,WAAW,KAAK,WAAW;AAGjC,MAAI,KAAK,QAAQ,SACf,OAAM,QAAQ,SAAS,KAAK,QAAQ,SAAS;EAI/C,MAAM,YAAY,KAAK,QAAQ,aAAa;EAC5C,MAAMC,eAA4C;GAChD,SAAS;GACT,GAAG,KAAK,QAAQ;EACjB;EAED,MAAM,EAAE,OAAO,GAAG,MAAM,QAAQ,YAAY,WAAW,aAAa;AAGpE,OAAK,MAAM,eAAe,SACxB,OAAM,QAAQ,UAAU,OAAO,UAAU,YAAY;AAIvD,QAAM,QAAQ,QACZ,OACA,OAAO,QAAQ;AACb,QAAK,IAAK;AAEV,OAAI;IAEF,MAAM,UAAU,IAAI,QAAQ,UAAU;IACtC,MAAM,UAAU,KAAK,MAAM,QAAQ;IAGnC,MAAM,cAAc,IAAI,WAAW;IAGnC,MAAMC,cAAwB;KAC5B,MAAM;KACN;IACD;AAGD,UAAM,SAAS,YAAY;AAG3B,YAAQ,IAAI,IAAI;GACjB,SAAQ,OAAO;AAEd,YAAQ,MAAM,6BAA6B,MAAM;AACjD,YAAQ,KAAK,KAAK,OAAO,KAAK;GAC/B;EACF,GACD,KAAK,QAAQ,eACd;CACF;AACF"}
@@ -60,4 +60,4 @@ Object.defineProperty(exports, 'RabbitMQSubscriber', {
60
60
  return RabbitMQSubscriber;
61
61
  }
62
62
  });
63
- //# sourceMappingURL=RabbitMQSubscriber-Cj7qLIi6.cjs.map
63
+ //# sourceMappingURL=RabbitMQSubscriber-BplEJEk8.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RabbitMQSubscriber-Cj7qLIi6.cjs","names":["connection: RabbitMQConnection","options: RabbitMQSubscriberOptions","connectionString: string","messages: TMessage['type'][]","listener: (payload: TMessage) => Promise<void>","queueOptions: amqplib.Options.AssertQueue","fullMessage: TMessage"],"sources":["../src/rabbitmq/RabbitMQSubscriber.ts"],"sourcesContent":["import type amqplib from 'amqplib';\nimport type { EventSubscriber, PublishableMessage } from '../types';\nimport type { RabbitMQConnection } from './RabbitMQConnection';\n\nexport interface RabbitMQSubscriberOptions {\n queueName?: string; // If not provided, a unique queue will be generated\n queueOptions?: amqplib.Options.AssertQueue;\n consumeOptions?: amqplib.Options.Consume;\n prefetch?: number; // Number of messages to prefetch (default: 1)\n}\n\nexport class RabbitMQSubscriber<\n TMessage extends PublishableMessage<string, any>,\n> implements EventSubscriber<TMessage>\n{\n constructor(\n private connection: RabbitMQConnection,\n private options: RabbitMQSubscriberOptions = {},\n ) {}\n\n /**\n * Create a RabbitMQSubscriber from a connection string\n * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&queueName=myqueue&prefetch=10\n */\n static async fromConnectionString<\n TMessage extends PublishableMessage<string, any>,\n >(connectionString: string): Promise<RabbitMQSubscriber<TMessage>> {\n const url = new URL(connectionString);\n const params = url.searchParams;\n\n const { RabbitMQConnection } = await import('./RabbitMQConnection');\n const connection =\n await RabbitMQConnection.fromConnectionString(connectionString);\n\n const options: RabbitMQSubscriberOptions = {\n queueName: params.get('queueName') || undefined,\n prefetch: params.get('prefetch')\n ? Number.parseInt(params.get('prefetch')!, 10)\n : undefined,\n };\n\n return new RabbitMQSubscriber<TMessage>(connection, options);\n }\n\n async subscribe(\n messages: TMessage['type'][],\n listener: (payload: TMessage) => Promise<void>,\n ): Promise<void> {\n if (!this.connection.isConnected()) {\n await this.connection.connect();\n }\n\n const channel = this.connection.amqpChannel;\n if (!channel) {\n throw new Error('Channel not initialized');\n }\n\n const exchange = this.connection.exchangeName;\n\n // Set prefetch if specified\n if (this.options.prefetch) {\n await channel.prefetch(this.options.prefetch);\n }\n\n // Assert queue\n const queueName = this.options.queueName || '';\n const queueOptions: amqplib.Options.AssertQueue = {\n durable: true,\n ...this.options.queueOptions,\n };\n\n const { queue } = await channel.assertQueue(queueName, queueOptions);\n\n // Bind queue to exchange for each message type\n for (const messageType of messages) {\n await channel.bindQueue(queue, exchange, messageType);\n }\n\n // Consume messages\n await channel.consume(\n queue,\n async (msg) => {\n if (!msg) return;\n\n try {\n // Parse message payload\n const content = msg.content.toString();\n const payload = JSON.parse(content);\n\n // Get message type from properties\n const messageType = msg.properties.type;\n\n // Reconstruct full message\n const fullMessage: TMessage = {\n type: messageType,\n payload,\n } as TMessage;\n\n // Call listener\n await listener(fullMessage);\n\n // Ack message\n channel.ack(msg);\n } catch (error) {\n // Log error and nack message (requeue)\n console.error('Error processing message:', error);\n channel.nack(msg, false, true);\n }\n },\n this.options.consumeOptions,\n );\n }\n}\n"],"mappings":";;AAWA,IAAa,qBAAb,MAAa,mBAGb;CACE,YACUA,YACAC,UAAqC,CAAE,GAC/C;EAFQ;EACA;CACN;;;;;CAMJ,aAAa,qBAEXC,kBAAiE;EACjE,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAEnB,MAAM,EAAE,oBAAoB,GAAG,2CAAM;EACrC,MAAM,aACJ,MAAM,mBAAmB,qBAAqB,iBAAiB;EAEjE,MAAMD,UAAqC;GACzC,WAAW,OAAO,IAAI,YAAY;GAClC,UAAU,OAAO,IAAI,WAAW,GAC5B,OAAO,SAAS,OAAO,IAAI,WAAW,EAAG,GAAG;EAEjD;AAED,SAAO,IAAI,mBAA6B,YAAY;CACrD;CAED,MAAM,UACJE,UACAC,UACe;AACf,OAAK,KAAK,WAAW,aAAa,CAChC,OAAM,KAAK,WAAW,SAAS;EAGjC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,QACH,OAAM,IAAI,MAAM;EAGlB,MAAM,WAAW,KAAK,WAAW;AAGjC,MAAI,KAAK,QAAQ,SACf,OAAM,QAAQ,SAAS,KAAK,QAAQ,SAAS;EAI/C,MAAM,YAAY,KAAK,QAAQ,aAAa;EAC5C,MAAMC,eAA4C;GAChD,SAAS;GACT,GAAG,KAAK,QAAQ;EACjB;EAED,MAAM,EAAE,OAAO,GAAG,MAAM,QAAQ,YAAY,WAAW,aAAa;AAGpE,OAAK,MAAM,eAAe,SACxB,OAAM,QAAQ,UAAU,OAAO,UAAU,YAAY;AAIvD,QAAM,QAAQ,QACZ,OACA,OAAO,QAAQ;AACb,QAAK,IAAK;AAEV,OAAI;IAEF,MAAM,UAAU,IAAI,QAAQ,UAAU;IACtC,MAAM,UAAU,KAAK,MAAM,QAAQ;IAGnC,MAAM,cAAc,IAAI,WAAW;IAGnC,MAAMC,cAAwB;KAC5B,MAAM;KACN;IACD;AAGD,UAAM,SAAS,YAAY;AAG3B,YAAQ,IAAI,IAAI;GACjB,SAAQ,OAAO;AAEd,YAAQ,MAAM,6BAA6B,MAAM;AACjD,YAAQ,KAAK,KAAK,OAAO,KAAK;GAC/B;EACF,GACD,KAAK,QAAQ,eACd;CACF;AACF"}
1
+ {"version":3,"file":"RabbitMQSubscriber-BplEJEk8.cjs","names":["connection: RabbitMQConnection","options: RabbitMQSubscriberOptions","connectionString: string","messages: TMessage['type'][]","listener: (payload: TMessage) => Promise<void>","queueOptions: amqplib.Options.AssertQueue","fullMessage: TMessage"],"sources":["../src/rabbitmq/RabbitMQSubscriber.ts"],"sourcesContent":["import type amqplib from 'amqplib';\nimport type { EventSubscriber, PublishableMessage } from '../types';\nimport type { RabbitMQConnection } from './RabbitMQConnection';\n\nexport interface RabbitMQSubscriberOptions {\n queueName?: string; // If not provided, a unique queue will be generated\n queueOptions?: amqplib.Options.AssertQueue;\n consumeOptions?: amqplib.Options.Consume;\n prefetch?: number; // Number of messages to prefetch (default: 1)\n}\n\nexport class RabbitMQSubscriber<\n TMessage extends PublishableMessage<string, any>,\n> implements EventSubscriber<TMessage>\n{\n constructor(\n private connection: RabbitMQConnection,\n private options: RabbitMQSubscriberOptions = {},\n ) {}\n\n /**\n * Create a RabbitMQSubscriber from a connection string\n * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&queueName=myqueue&prefetch=10\n */\n static async fromConnectionString<\n TMessage extends PublishableMessage<string, any>,\n >(connectionString: string): Promise<RabbitMQSubscriber<TMessage>> {\n const url = new URL(connectionString);\n const params = url.searchParams;\n\n const { RabbitMQConnection } = await import('./RabbitMQConnection');\n const connection =\n await RabbitMQConnection.fromConnectionString(connectionString);\n\n const options: RabbitMQSubscriberOptions = {\n queueName: params.get('queueName') || undefined,\n prefetch: params.get('prefetch')\n ? Number.parseInt(params.get('prefetch')!, 10)\n : undefined,\n };\n\n return new RabbitMQSubscriber<TMessage>(connection, options);\n }\n\n async subscribe(\n messages: TMessage['type'][],\n listener: (payload: TMessage) => Promise<void>,\n ): Promise<void> {\n if (!this.connection.isConnected()) {\n await this.connection.connect();\n }\n\n const channel = this.connection.amqpChannel;\n if (!channel) {\n throw new Error('Channel not initialized');\n }\n\n const exchange = this.connection.exchangeName;\n\n // Set prefetch if specified\n if (this.options.prefetch) {\n await channel.prefetch(this.options.prefetch);\n }\n\n // Assert queue\n const queueName = this.options.queueName || '';\n const queueOptions: amqplib.Options.AssertQueue = {\n durable: true,\n ...this.options.queueOptions,\n };\n\n const { queue } = await channel.assertQueue(queueName, queueOptions);\n\n // Bind queue to exchange for each message type\n for (const messageType of messages) {\n await channel.bindQueue(queue, exchange, messageType);\n }\n\n // Consume messages\n await channel.consume(\n queue,\n async (msg) => {\n if (!msg) return;\n\n try {\n // Parse message payload\n const content = msg.content.toString();\n const payload = JSON.parse(content);\n\n // Get message type from properties\n const messageType = msg.properties.type;\n\n // Reconstruct full message\n const fullMessage: TMessage = {\n type: messageType,\n payload,\n } as TMessage;\n\n // Call listener\n await listener(fullMessage);\n\n // Ack message\n channel.ack(msg);\n } catch (error) {\n // Log error and nack message (requeue)\n console.error('Error processing message:', error);\n channel.nack(msg, false, true);\n }\n },\n this.options.consumeOptions,\n );\n }\n}\n"],"mappings":";;AAWA,IAAa,qBAAb,MAAa,mBAGb;CACE,YACUA,YACAC,UAAqC,CAAE,GAC/C;EAFQ;EACA;CACN;;;;;CAMJ,aAAa,qBAEXC,kBAAiE;EACjE,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAEnB,MAAM,EAAE,oBAAoB,GAAG,2CAAM;EACrC,MAAM,aACJ,MAAM,mBAAmB,qBAAqB,iBAAiB;EAEjE,MAAMD,UAAqC;GACzC,WAAW,OAAO,IAAI,YAAY;GAClC,UAAU,OAAO,IAAI,WAAW,GAC5B,OAAO,SAAS,OAAO,IAAI,WAAW,EAAG,GAAG;EAEjD;AAED,SAAO,IAAI,mBAA6B,YAAY;CACrD;CAED,MAAM,UACJE,UACAC,UACe;AACf,OAAK,KAAK,WAAW,aAAa,CAChC,OAAM,KAAK,WAAW,SAAS;EAGjC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,QACH,OAAM,IAAI,MAAM;EAGlB,MAAM,WAAW,KAAK,WAAW;AAGjC,MAAI,KAAK,QAAQ,SACf,OAAM,QAAQ,SAAS,KAAK,QAAQ,SAAS;EAI/C,MAAM,YAAY,KAAK,QAAQ,aAAa;EAC5C,MAAMC,eAA4C;GAChD,SAAS;GACT,GAAG,KAAK,QAAQ;EACjB;EAED,MAAM,EAAE,OAAO,GAAG,MAAM,QAAQ,YAAY,WAAW,aAAa;AAGpE,OAAK,MAAM,eAAe,SACxB,OAAM,QAAQ,UAAU,OAAO,UAAU,YAAY;AAIvD,QAAM,QAAQ,QACZ,OACA,OAAO,QAAQ;AACb,QAAK,IAAK;AAEV,OAAI;IAEF,MAAM,UAAU,IAAI,QAAQ,UAAU;IACtC,MAAM,UAAU,KAAK,MAAM,QAAQ;IAGnC,MAAM,cAAc,IAAI,WAAW;IAGnC,MAAMC,cAAwB;KAC5B,MAAM;KACN;IACD;AAGD,UAAM,SAAS,YAAY;AAG3B,YAAQ,IAAI,IAAI;GACjB,SAAQ,OAAO;AAEd,YAAQ,MAAM,6BAA6B,MAAM;AACjD,YAAQ,KAAK,KAAK,OAAO,KAAK;GAC/B;EACF,GACD,KAAK,QAAQ,eACd;CACF;AACF"}
@@ -1,4 +1,4 @@
1
1
  require('../types-CvSMEO5z.cjs');
2
- const require_BasicConnection = require('../BasicConnection-CzfMubv_.cjs');
2
+ const require_BasicConnection = require('../BasicConnection-C-Cg2FJT.cjs');
3
3
 
4
4
  exports.BasicConnection = require_BasicConnection.BasicConnection;
@@ -1,4 +1,4 @@
1
1
  import "../types-B63qHVOG.mjs";
2
- import { BasicConnection } from "../BasicConnection-BNi6_olg.mjs";
2
+ import { BasicConnection } from "../BasicConnection-CpwybcC9.mjs";
3
3
 
4
4
  export { BasicConnection };
@@ -1,3 +1,3 @@
1
- const require_BasicPublisher = require('../BasicPublisher-BzfzHIfb.cjs');
1
+ const require_BasicPublisher = require('../BasicPublisher-CXAVKxgq.cjs');
2
2
 
3
3
  exports.BasicPublisher = require_BasicPublisher.BasicPublisher;
@@ -1,3 +1,3 @@
1
- import { BasicPublisher } from "../BasicPublisher-Cg3SxIVR.mjs";
1
+ import { BasicPublisher } from "../BasicPublisher-DogbeHAH.mjs";
2
2
 
3
3
  export { BasicPublisher };
@@ -1,3 +1,3 @@
1
- const require_BasicSubscriber = require('../BasicSubscriber-DyTKOixe.cjs');
1
+ const require_BasicSubscriber = require('../BasicSubscriber-BGqv3c8x.cjs');
2
2
 
3
3
  exports.BasicSubscriber = require_BasicSubscriber.BasicSubscriber;
@@ -1,3 +1,3 @@
1
- import { BasicSubscriber } from "../BasicSubscriber-BEv5N21f.mjs";
1
+ import { BasicSubscriber } from "../BasicSubscriber-CCKfbRMo.mjs";
2
2
 
3
3
  export { BasicSubscriber };
@@ -1,7 +1,7 @@
1
1
  require('../types-CvSMEO5z.cjs');
2
- const require_BasicConnection = require('../BasicConnection-CzfMubv_.cjs');
3
- const require_BasicPublisher = require('../BasicPublisher-BzfzHIfb.cjs');
4
- const require_BasicSubscriber = require('../BasicSubscriber-DyTKOixe.cjs');
2
+ const require_BasicConnection = require('../BasicConnection-C-Cg2FJT.cjs');
3
+ const require_BasicPublisher = require('../BasicPublisher-CXAVKxgq.cjs');
4
+ const require_BasicSubscriber = require('../BasicSubscriber-BGqv3c8x.cjs');
5
5
 
6
6
  exports.BasicConnection = require_BasicConnection.BasicConnection;
7
7
  exports.BasicPublisher = require_BasicPublisher.BasicPublisher;
@@ -1,6 +1,6 @@
1
1
  import "../types-B63qHVOG.mjs";
2
- import { BasicConnection } from "../BasicConnection-BNi6_olg.mjs";
3
- import { BasicPublisher } from "../BasicPublisher-Cg3SxIVR.mjs";
4
- import { BasicSubscriber } from "../BasicSubscriber-BEv5N21f.mjs";
2
+ import { BasicConnection } from "../BasicConnection-CpwybcC9.mjs";
3
+ import { BasicPublisher } from "../BasicPublisher-DogbeHAH.mjs";
4
+ import { BasicSubscriber } from "../BasicSubscriber-CCKfbRMo.mjs";
5
5
 
6
6
  export { BasicConnection, BasicPublisher, BasicSubscriber };
@@ -1,4 +1,4 @@
1
1
  require('../types-CvSMEO5z.cjs');
2
- const require_RabbitMQConnection = require('../RabbitMQConnection-BN_GybOv.cjs');
2
+ const require_RabbitMQConnection = require('../RabbitMQConnection-ungB0Zl6.cjs');
3
3
 
4
4
  exports.RabbitMQConnection = require_RabbitMQConnection.RabbitMQConnection;
@@ -1,4 +1,4 @@
1
1
  import "../types-B63qHVOG.mjs";
2
- import { RabbitMQConnection } from "../RabbitMQConnection-eVOVS4Dl.mjs";
2
+ import { RabbitMQConnection } from "../RabbitMQConnection-kU3MvN5P.mjs";
3
3
 
4
4
  export { RabbitMQConnection };
@@ -1,3 +1,3 @@
1
- const require_RabbitMQPublisher = require('../RabbitMQPublisher-CSCn6gMA.cjs');
1
+ const require_RabbitMQPublisher = require('../RabbitMQPublisher--DL6GM6g.cjs');
2
2
 
3
3
  exports.RabbitMQPublisher = require_RabbitMQPublisher.RabbitMQPublisher;
@@ -1,3 +1,3 @@
1
- import { RabbitMQPublisher } from "../RabbitMQPublisher-BZX0edgL.mjs";
1
+ import { RabbitMQPublisher } from "../RabbitMQPublisher-o_oVI3wr.mjs";
2
2
 
3
3
  export { RabbitMQPublisher };
@@ -1,3 +1,3 @@
1
- const require_RabbitMQSubscriber = require('../RabbitMQSubscriber-Cj7qLIi6.cjs');
1
+ const require_RabbitMQSubscriber = require('../RabbitMQSubscriber-BplEJEk8.cjs');
2
2
 
3
3
  exports.RabbitMQSubscriber = require_RabbitMQSubscriber.RabbitMQSubscriber;
@@ -1,3 +1,3 @@
1
- import { RabbitMQSubscriber } from "../RabbitMQSubscriber-B5I-hBaT.mjs";
1
+ import { RabbitMQSubscriber } from "../RabbitMQSubscriber-BaXqs5nO.mjs";
2
2
 
3
3
  export { RabbitMQSubscriber };
@@ -1,7 +1,7 @@
1
1
  require('../types-CvSMEO5z.cjs');
2
- const require_RabbitMQConnection = require('../RabbitMQConnection-BN_GybOv.cjs');
3
- const require_RabbitMQPublisher = require('../RabbitMQPublisher-CSCn6gMA.cjs');
4
- const require_RabbitMQSubscriber = require('../RabbitMQSubscriber-Cj7qLIi6.cjs');
2
+ const require_RabbitMQConnection = require('../RabbitMQConnection-ungB0Zl6.cjs');
3
+ const require_RabbitMQPublisher = require('../RabbitMQPublisher--DL6GM6g.cjs');
4
+ const require_RabbitMQSubscriber = require('../RabbitMQSubscriber-BplEJEk8.cjs');
5
5
 
6
6
  exports.RabbitMQConnection = require_RabbitMQConnection.RabbitMQConnection;
7
7
  exports.RabbitMQPublisher = require_RabbitMQPublisher.RabbitMQPublisher;
@@ -1,6 +1,6 @@
1
1
  import "../types-B63qHVOG.mjs";
2
- import { RabbitMQConnection } from "../RabbitMQConnection-eVOVS4Dl.mjs";
3
- import { RabbitMQPublisher } from "../RabbitMQPublisher-BZX0edgL.mjs";
4
- import { RabbitMQSubscriber } from "../RabbitMQSubscriber-B5I-hBaT.mjs";
2
+ import { RabbitMQConnection } from "../RabbitMQConnection-kU3MvN5P.mjs";
3
+ import { RabbitMQPublisher } from "../RabbitMQPublisher-o_oVI3wr.mjs";
4
+ import { RabbitMQSubscriber } from "../RabbitMQSubscriber-BaXqs5nO.mjs";
5
5
 
6
6
  export { RabbitMQConnection, RabbitMQPublisher, RabbitMQSubscriber };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geekmidas/events",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "lodash.chunk": "~4.2.0",
38
- "@geekmidas/schema": "0.0.1"
38
+ "@geekmidas/schema": "0.0.2"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "amqplib": "^0.10.3",