@geekmidas/events 9.0.2 → 10.0.0-alpha.1

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 (353) hide show
  1. package/dist/{PgBossConnection-B71ssr72.cjs → PgBossConnection-23soZ_aM.cjs} +2 -2
  2. package/dist/{PgBossConnection-B71ssr72.cjs.map → PgBossConnection-23soZ_aM.cjs.map} +1 -1
  3. package/dist/PgBossConnection-CCXhoNzb.cjs +4 -0
  4. package/dist/{PgBossConnection-Bj_Wo1lQ.mjs → PgBossConnection-DvNbd4Zk.mjs} +2 -2
  5. package/dist/{PgBossConnection-Bj_Wo1lQ.mjs.map → PgBossConnection-DvNbd4Zk.mjs.map} +1 -1
  6. package/dist/PgBossConnection-_gdM40JB.mjs +4 -0
  7. package/dist/{RabbitMQConnection-DmMMosT4.cjs → RabbitMQConnection-BKEdCUro.cjs} +2 -2
  8. package/dist/{RabbitMQConnection-DmMMosT4.cjs.map → RabbitMQConnection-BKEdCUro.cjs.map} +1 -1
  9. package/dist/RabbitMQConnection-CCOqDDnb.cjs +4 -0
  10. package/dist/RabbitMQConnection-DJEyM-Bu.mjs +4 -0
  11. package/dist/{RabbitMQConnection-BtKZjtZY.mjs → RabbitMQConnection-DJgUPc19.mjs} +2 -2
  12. package/dist/{RabbitMQConnection-BtKZjtZY.mjs.map → RabbitMQConnection-DJgUPc19.mjs.map} +1 -1
  13. package/dist/{SNSConnection-CAcbLQOy.cjs → SNSConnection-B2K86hpz.cjs} +7 -8
  14. package/dist/SNSConnection-B2K86hpz.cjs.map +1 -0
  15. package/dist/SNSConnection-BVo84FeW.mjs +5 -0
  16. package/dist/SNSConnection-DIHRjrQF.cjs +5 -0
  17. package/dist/{SNSConnection-CVjH93lb.mjs → SNSConnection-v9jjF99w.mjs} +7 -8
  18. package/dist/SNSConnection-v9jjF99w.mjs.map +1 -0
  19. package/dist/{SQSConnection-CT3S7_zP.mjs → SQSConnection-4tBMkVZE.mjs} +7 -8
  20. package/dist/SQSConnection-4tBMkVZE.mjs.map +1 -0
  21. package/dist/SQSConnection-BBLAvF-1.cjs +5 -0
  22. package/dist/{SQSConnection-Y0mdVTcB.cjs → SQSConnection-BaC7rGhI.cjs} +7 -8
  23. package/dist/SQSConnection-BaC7rGhI.cjs.map +1 -0
  24. package/dist/SQSConnection-DbavOq8_.mjs +5 -0
  25. package/dist/{SQSSubscriber-CQdSFzpe.mjs → SQSSubscriber-BMWZ3s5q.mjs} +1 -1
  26. package/dist/{SQSSubscriber-CQdSFzpe.mjs.map → SQSSubscriber-BMWZ3s5q.mjs.map} +1 -1
  27. package/dist/{SQSSubscriber-C4UA2hKq.cjs → SQSSubscriber-YXPlg2rm.cjs} +2 -2
  28. package/dist/{SQSSubscriber-C4UA2hKq.cjs.map → SQSSubscriber-YXPlg2rm.cjs.map} +1 -1
  29. package/dist/basic/index.cjs +71 -8
  30. package/dist/basic/index.cjs.map +1 -0
  31. package/dist/basic/index.d.cts +44 -5
  32. package/dist/basic/index.d.cts.map +1 -0
  33. package/dist/basic/index.d.mts +44 -5
  34. package/dist/basic/index.d.mts.map +1 -0
  35. package/dist/basic/index.mjs +67 -5
  36. package/dist/basic/index.mjs.map +1 -0
  37. package/dist/chunk-B9dir_RE.mjs +11 -0
  38. package/dist/{chunk-CUT6urMc.cjs → chunk-CsX-DzYB.cjs} +12 -0
  39. package/dist/index.cjs +189 -6
  40. package/dist/index.cjs.map +1 -0
  41. package/dist/index.d.cts +46 -5
  42. package/dist/index.d.cts.map +1 -0
  43. package/dist/index.d.mts +46 -5
  44. package/dist/index.d.mts.map +1 -0
  45. package/dist/index.mjs +188 -5
  46. package/dist/index.mjs.map +1 -0
  47. package/dist/pgboss/index.cjs +81 -5
  48. package/dist/pgboss/index.cjs.map +1 -0
  49. package/dist/pgboss/index.d.cts +65 -5
  50. package/dist/pgboss/index.d.cts.map +1 -0
  51. package/dist/pgboss/index.d.mts +65 -5
  52. package/dist/pgboss/index.d.mts.map +1 -0
  53. package/dist/pgboss/index.mjs +81 -5
  54. package/dist/pgboss/index.mjs.map +1 -0
  55. package/dist/rabbitmq/index.cjs +95 -5
  56. package/dist/rabbitmq/index.cjs.map +1 -0
  57. package/dist/rabbitmq/index.d.cts +83 -5
  58. package/dist/rabbitmq/index.d.cts.map +1 -0
  59. package/dist/rabbitmq/index.d.mts +83 -5
  60. package/dist/rabbitmq/index.d.mts.map +1 -0
  61. package/dist/rabbitmq/index.mjs +95 -5
  62. package/dist/rabbitmq/index.mjs.map +1 -0
  63. package/dist/sns/index.cjs +186 -7
  64. package/dist/sns/index.cjs.map +1 -0
  65. package/dist/sns/index.d.cts +109 -5
  66. package/dist/sns/index.d.cts.map +1 -0
  67. package/dist/sns/index.d.mts +109 -5
  68. package/dist/sns/index.d.mts.map +1 -0
  69. package/dist/sns/index.mjs +179 -7
  70. package/dist/sns/index.mjs.map +1 -0
  71. package/dist/sns/snsUrl.cjs +7 -0
  72. package/dist/sns/snsUrl.d.cts +2 -0
  73. package/dist/sns/snsUrl.d.mts +2 -0
  74. package/dist/sns/snsUrl.mjs +3 -0
  75. package/dist/snsUrl-ASdc0D1v.d.cts +61 -0
  76. package/dist/snsUrl-ASdc0D1v.d.cts.map +1 -0
  77. package/dist/snsUrl-CifYhPAa.mjs +79 -0
  78. package/dist/snsUrl-CifYhPAa.mjs.map +1 -0
  79. package/dist/snsUrl-FRbRcwF0.d.mts +61 -0
  80. package/dist/snsUrl-FRbRcwF0.d.mts.map +1 -0
  81. package/dist/snsUrl-f2gU3CzK.cjs +114 -0
  82. package/dist/snsUrl-f2gU3CzK.cjs.map +1 -0
  83. package/dist/sqs/index.cjs +67 -5
  84. package/dist/sqs/index.cjs.map +1 -0
  85. package/dist/sqs/index.d.cts +101 -5
  86. package/dist/sqs/index.d.cts.map +1 -0
  87. package/dist/sqs/index.d.mts +101 -5
  88. package/dist/sqs/index.d.mts.map +1 -0
  89. package/dist/sqs/index.mjs +60 -5
  90. package/dist/sqs/index.mjs.map +1 -0
  91. package/dist/sqs/sqsUrl.cjs +7 -0
  92. package/dist/sqs/sqsUrl.d.cts +2 -0
  93. package/dist/sqs/sqsUrl.d.mts +2 -0
  94. package/dist/sqs/sqsUrl.mjs +3 -0
  95. package/dist/sqsUrl-BV6zS-mi.d.mts +60 -0
  96. package/dist/sqsUrl-BV6zS-mi.d.mts.map +1 -0
  97. package/dist/sqsUrl-CbAsBFHI.mjs +80 -0
  98. package/dist/sqsUrl-CbAsBFHI.mjs.map +1 -0
  99. package/dist/sqsUrl-CdisN3GU.cjs +115 -0
  100. package/dist/sqsUrl-CdisN3GU.cjs.map +1 -0
  101. package/dist/sqsUrl-DZDPHxIk.d.cts +60 -0
  102. package/dist/sqsUrl-DZDPHxIk.d.cts.map +1 -0
  103. package/dist/{types-Dh9Jyinx.d.mts → types-BmixGrOD.d.cts} +1 -1
  104. package/dist/{types-Dh9Jyinx.d.mts.map → types-BmixGrOD.d.cts.map} +1 -1
  105. package/dist/{types-BrdcSEnd.mjs → types-CYDt-2RQ.mjs} +1 -1
  106. package/dist/{types-BrdcSEnd.mjs.map → types-CYDt-2RQ.mjs.map} +1 -1
  107. package/dist/{types-Dj23od3e.d.cts → types-DycjsYms.d.mts} +1 -1
  108. package/dist/{types-Dj23od3e.d.cts.map → types-DycjsYms.d.mts.map} +1 -1
  109. package/package.json +26 -3
  110. package/CHANGELOG.md +0 -109
  111. package/dist/BasicConnection-CQsJpx2J.d.cts +0 -27
  112. package/dist/BasicConnection-CQsJpx2J.d.cts.map +0 -1
  113. package/dist/BasicConnection-CxfNEvlb.cjs +0 -48
  114. package/dist/BasicConnection-CxfNEvlb.cjs.map +0 -1
  115. package/dist/BasicConnection-DcRelT64.d.mts +0 -27
  116. package/dist/BasicConnection-DcRelT64.d.mts.map +0 -1
  117. package/dist/BasicConnection-hl-Ogz3a.mjs +0 -42
  118. package/dist/BasicConnection-hl-Ogz3a.mjs.map +0 -1
  119. package/dist/BasicPublisher-C-hMX2Hy.d.mts +0 -14
  120. package/dist/BasicPublisher-C-hMX2Hy.d.mts.map +0 -1
  121. package/dist/BasicPublisher-CGMXg2I2.d.cts +0 -14
  122. package/dist/BasicPublisher-CGMXg2I2.d.cts.map +0 -1
  123. package/dist/BasicPublisher-CXAVKxgq.cjs +0 -20
  124. package/dist/BasicPublisher-CXAVKxgq.cjs.map +0 -1
  125. package/dist/BasicPublisher-DogbeHAH.mjs +0 -14
  126. package/dist/BasicPublisher-DogbeHAH.mjs.map +0 -1
  127. package/dist/BasicSubscriber-BJSZN22M.mjs +0 -16
  128. package/dist/BasicSubscriber-BJSZN22M.mjs.map +0 -1
  129. package/dist/BasicSubscriber-HzSJ_MbB.d.mts +0 -14
  130. package/dist/BasicSubscriber-HzSJ_MbB.d.mts.map +0 -1
  131. package/dist/BasicSubscriber-mVJRMXhZ.cjs +0 -22
  132. package/dist/BasicSubscriber-mVJRMXhZ.cjs.map +0 -1
  133. package/dist/BasicSubscriber-uW3IOyBj.d.cts +0 -14
  134. package/dist/BasicSubscriber-uW3IOyBj.d.cts.map +0 -1
  135. package/dist/EventConnection-4niMI6D8.d.mts +0 -13
  136. package/dist/EventConnection-4niMI6D8.d.mts.map +0 -1
  137. package/dist/EventConnection-BkA9FSVL.cjs +0 -45
  138. package/dist/EventConnection-BkA9FSVL.cjs.map +0 -1
  139. package/dist/EventConnection-Kr32GAzq.mjs +0 -40
  140. package/dist/EventConnection-Kr32GAzq.mjs.map +0 -1
  141. package/dist/EventConnection-dP42P87q.d.cts +0 -13
  142. package/dist/EventConnection-dP42P87q.d.cts.map +0 -1
  143. package/dist/EventConnection.cjs +0 -5
  144. package/dist/EventConnection.d.cts +0 -3
  145. package/dist/EventConnection.d.mts +0 -3
  146. package/dist/EventConnection.mjs +0 -4
  147. package/dist/PgBossConnection-DCfLGoHx.d.mts +0 -32
  148. package/dist/PgBossConnection-DCfLGoHx.d.mts.map +0 -1
  149. package/dist/PgBossConnection-oto_CAbP.d.cts +0 -32
  150. package/dist/PgBossConnection-oto_CAbP.d.cts.map +0 -1
  151. package/dist/PgBossPublisher-Bwo7qSoH.mjs +0 -35
  152. package/dist/PgBossPublisher-Bwo7qSoH.mjs.map +0 -1
  153. package/dist/PgBossPublisher-CqjigBVC.d.mts +0 -20
  154. package/dist/PgBossPublisher-CqjigBVC.d.mts.map +0 -1
  155. package/dist/PgBossPublisher-FTdYh58W.cjs +0 -41
  156. package/dist/PgBossPublisher-FTdYh58W.cjs.map +0 -1
  157. package/dist/PgBossPublisher-JIiB1zpA.d.cts +0 -20
  158. package/dist/PgBossPublisher-JIiB1zpA.d.cts.map +0 -1
  159. package/dist/PgBossSubscriber-BUiB1JKf.d.mts +0 -24
  160. package/dist/PgBossSubscriber-BUiB1JKf.d.mts.map +0 -1
  161. package/dist/PgBossSubscriber-BubVfuWm.cjs +0 -52
  162. package/dist/PgBossSubscriber-BubVfuWm.cjs.map +0 -1
  163. package/dist/PgBossSubscriber-Cozijfdj.d.cts +0 -24
  164. package/dist/PgBossSubscriber-Cozijfdj.d.cts.map +0 -1
  165. package/dist/PgBossSubscriber-DopATe80.mjs +0 -46
  166. package/dist/PgBossSubscriber-DopATe80.mjs.map +0 -1
  167. package/dist/Publisher-CKloIGh6.cjs +0 -79
  168. package/dist/Publisher-CKloIGh6.cjs.map +0 -1
  169. package/dist/Publisher-ChLTrUeP.mjs +0 -74
  170. package/dist/Publisher-ChLTrUeP.mjs.map +0 -1
  171. package/dist/Publisher-DDee6xau.d.cts +0 -21
  172. package/dist/Publisher-DDee6xau.d.cts.map +0 -1
  173. package/dist/Publisher-VHumMkrP.d.mts +0 -21
  174. package/dist/Publisher-VHumMkrP.d.mts.map +0 -1
  175. package/dist/Publisher.cjs +0 -4
  176. package/dist/Publisher.d.cts +0 -3
  177. package/dist/Publisher.d.mts +0 -3
  178. package/dist/Publisher.mjs +0 -4
  179. package/dist/RabbitMQConnection-DV9t3VYp.d.mts +0 -44
  180. package/dist/RabbitMQConnection-DV9t3VYp.d.mts.map +0 -1
  181. package/dist/RabbitMQConnection-jNME_eR7.d.cts +0 -44
  182. package/dist/RabbitMQConnection-jNME_eR7.d.cts.map +0 -1
  183. package/dist/RabbitMQPublisher-C94q6g8q.cjs +0 -45
  184. package/dist/RabbitMQPublisher-C94q6g8q.cjs.map +0 -1
  185. package/dist/RabbitMQPublisher-DKmgwqVj.d.mts +0 -25
  186. package/dist/RabbitMQPublisher-DKmgwqVj.d.mts.map +0 -1
  187. package/dist/RabbitMQPublisher-d257OHLa.d.cts +0 -25
  188. package/dist/RabbitMQPublisher-d257OHLa.d.cts.map +0 -1
  189. package/dist/RabbitMQPublisher-yUqWNq-P.mjs +0 -39
  190. package/dist/RabbitMQPublisher-yUqWNq-P.mjs.map +0 -1
  191. package/dist/RabbitMQSubscriber-BF7JGfYm.d.cts +0 -27
  192. package/dist/RabbitMQSubscriber-BF7JGfYm.d.cts.map +0 -1
  193. package/dist/RabbitMQSubscriber-BWniDtFs.mjs +0 -56
  194. package/dist/RabbitMQSubscriber-BWniDtFs.mjs.map +0 -1
  195. package/dist/RabbitMQSubscriber-CdbUy5mB.d.mts +0 -27
  196. package/dist/RabbitMQSubscriber-CdbUy5mB.d.mts.map +0 -1
  197. package/dist/RabbitMQSubscriber-DGEO-clQ.cjs +0 -62
  198. package/dist/RabbitMQSubscriber-DGEO-clQ.cjs.map +0 -1
  199. package/dist/SNSConnection-CAcbLQOy.cjs.map +0 -1
  200. package/dist/SNSConnection-CG4iEwA8.d.mts +0 -41
  201. package/dist/SNSConnection-CG4iEwA8.d.mts.map +0 -1
  202. package/dist/SNSConnection-CVjH93lb.mjs.map +0 -1
  203. package/dist/SNSConnection-Dol9FuxA.d.cts +0 -41
  204. package/dist/SNSConnection-Dol9FuxA.d.cts.map +0 -1
  205. package/dist/SNSPublisher-CjlMS3Z2.mjs +0 -41
  206. package/dist/SNSPublisher-CjlMS3Z2.mjs.map +0 -1
  207. package/dist/SNSPublisher-D50dPCEh.d.mts +0 -22
  208. package/dist/SNSPublisher-D50dPCEh.d.mts.map +0 -1
  209. package/dist/SNSPublisher-DQunY4NM.d.cts +0 -22
  210. package/dist/SNSPublisher-DQunY4NM.d.cts.map +0 -1
  211. package/dist/SNSPublisher-DV_8GGsi.cjs +0 -47
  212. package/dist/SNSPublisher-DV_8GGsi.cjs.map +0 -1
  213. package/dist/SNSSubscriber-BWaCQFl6.mjs +0 -139
  214. package/dist/SNSSubscriber-BWaCQFl6.mjs.map +0 -1
  215. package/dist/SNSSubscriber-CUgHK4W2.d.mts +0 -55
  216. package/dist/SNSSubscriber-CUgHK4W2.d.mts.map +0 -1
  217. package/dist/SNSSubscriber-ZE_-Hsps.cjs +0 -145
  218. package/dist/SNSSubscriber-ZE_-Hsps.cjs.map +0 -1
  219. package/dist/SNSSubscriber-ZGJjhXFQ.d.cts +0 -55
  220. package/dist/SNSSubscriber-ZGJjhXFQ.d.cts.map +0 -1
  221. package/dist/SQSConnection-BtEkDha8.d.cts +0 -41
  222. package/dist/SQSConnection-BtEkDha8.d.cts.map +0 -1
  223. package/dist/SQSConnection-CT3S7_zP.mjs.map +0 -1
  224. package/dist/SQSConnection-DVy43GCV.d.mts +0 -41
  225. package/dist/SQSConnection-DVy43GCV.d.mts.map +0 -1
  226. package/dist/SQSConnection-Y0mdVTcB.cjs.map +0 -1
  227. package/dist/SQSPublisher-B-32CC4G.mjs +0 -57
  228. package/dist/SQSPublisher-B-32CC4G.mjs.map +0 -1
  229. package/dist/SQSPublisher-CgUduk6H.cjs +0 -63
  230. package/dist/SQSPublisher-CgUduk6H.cjs.map +0 -1
  231. package/dist/SQSPublisher-kyl5HW3N.d.cts +0 -25
  232. package/dist/SQSPublisher-kyl5HW3N.d.cts.map +0 -1
  233. package/dist/SQSPublisher-qDE5Fp-N.d.mts +0 -25
  234. package/dist/SQSPublisher-qDE5Fp-N.d.mts.map +0 -1
  235. package/dist/SQSSubscriber-CDvaG4ij.d.cts +0 -44
  236. package/dist/SQSSubscriber-CDvaG4ij.d.cts.map +0 -1
  237. package/dist/SQSSubscriber-JfFuAAoP.d.mts +0 -44
  238. package/dist/SQSSubscriber-JfFuAAoP.d.mts.map +0 -1
  239. package/dist/Subscriber-CG_QUQZs.d.cts +0 -21
  240. package/dist/Subscriber-CG_QUQZs.d.cts.map +0 -1
  241. package/dist/Subscriber-CghW0A02.cjs +0 -88
  242. package/dist/Subscriber-CghW0A02.cjs.map +0 -1
  243. package/dist/Subscriber-DiYHmuF0.d.mts +0 -21
  244. package/dist/Subscriber-DiYHmuF0.d.mts.map +0 -1
  245. package/dist/Subscriber-bnkFtSvt.mjs +0 -83
  246. package/dist/Subscriber-bnkFtSvt.mjs.map +0 -1
  247. package/dist/Subscriber.cjs +0 -4
  248. package/dist/Subscriber.d.cts +0 -3
  249. package/dist/Subscriber.d.mts +0 -3
  250. package/dist/Subscriber.mjs +0 -4
  251. package/dist/basic/BasicConnection.cjs +0 -4
  252. package/dist/basic/BasicConnection.d.cts +0 -3
  253. package/dist/basic/BasicConnection.d.mts +0 -3
  254. package/dist/basic/BasicConnection.mjs +0 -4
  255. package/dist/basic/BasicPublisher.cjs +0 -3
  256. package/dist/basic/BasicPublisher.d.cts +0 -4
  257. package/dist/basic/BasicPublisher.d.mts +0 -4
  258. package/dist/basic/BasicPublisher.mjs +0 -3
  259. package/dist/basic/BasicSubscriber.cjs +0 -3
  260. package/dist/basic/BasicSubscriber.d.cts +0 -4
  261. package/dist/basic/BasicSubscriber.d.mts +0 -4
  262. package/dist/basic/BasicSubscriber.mjs +0 -3
  263. package/dist/pgboss/PgBossConnection.cjs +0 -4
  264. package/dist/pgboss/PgBossConnection.d.cts +0 -3
  265. package/dist/pgboss/PgBossConnection.d.mts +0 -3
  266. package/dist/pgboss/PgBossConnection.mjs +0 -4
  267. package/dist/pgboss/PgBossPublisher.cjs +0 -3
  268. package/dist/pgboss/PgBossPublisher.d.cts +0 -4
  269. package/dist/pgboss/PgBossPublisher.d.mts +0 -4
  270. package/dist/pgboss/PgBossPublisher.mjs +0 -3
  271. package/dist/pgboss/PgBossSubscriber.cjs +0 -3
  272. package/dist/pgboss/PgBossSubscriber.d.cts +0 -4
  273. package/dist/pgboss/PgBossSubscriber.d.mts +0 -4
  274. package/dist/pgboss/PgBossSubscriber.mjs +0 -3
  275. package/dist/rabbitmq/RabbitMQConnection.cjs +0 -4
  276. package/dist/rabbitmq/RabbitMQConnection.d.cts +0 -3
  277. package/dist/rabbitmq/RabbitMQConnection.d.mts +0 -3
  278. package/dist/rabbitmq/RabbitMQConnection.mjs +0 -4
  279. package/dist/rabbitmq/RabbitMQPublisher.cjs +0 -3
  280. package/dist/rabbitmq/RabbitMQPublisher.d.cts +0 -4
  281. package/dist/rabbitmq/RabbitMQPublisher.d.mts +0 -4
  282. package/dist/rabbitmq/RabbitMQPublisher.mjs +0 -3
  283. package/dist/rabbitmq/RabbitMQSubscriber.cjs +0 -3
  284. package/dist/rabbitmq/RabbitMQSubscriber.d.cts +0 -4
  285. package/dist/rabbitmq/RabbitMQSubscriber.d.mts +0 -4
  286. package/dist/rabbitmq/RabbitMQSubscriber.mjs +0 -3
  287. package/dist/sns/SNSConnection.cjs +0 -4
  288. package/dist/sns/SNSConnection.d.cts +0 -3
  289. package/dist/sns/SNSConnection.d.mts +0 -3
  290. package/dist/sns/SNSConnection.mjs +0 -4
  291. package/dist/sns/SNSPublisher.cjs +0 -3
  292. package/dist/sns/SNSPublisher.d.cts +0 -4
  293. package/dist/sns/SNSPublisher.d.mts +0 -4
  294. package/dist/sns/SNSPublisher.mjs +0 -3
  295. package/dist/sns/SNSSubscriber.cjs +0 -6
  296. package/dist/sns/SNSSubscriber.d.cts +0 -4
  297. package/dist/sns/SNSSubscriber.d.mts +0 -4
  298. package/dist/sns/SNSSubscriber.mjs +0 -6
  299. package/dist/sqs/SQSConnection.cjs +0 -4
  300. package/dist/sqs/SQSConnection.d.cts +0 -3
  301. package/dist/sqs/SQSConnection.d.mts +0 -3
  302. package/dist/sqs/SQSConnection.mjs +0 -4
  303. package/dist/sqs/SQSPublisher.cjs +0 -3
  304. package/dist/sqs/SQSPublisher.d.cts +0 -4
  305. package/dist/sqs/SQSPublisher.d.mts +0 -4
  306. package/dist/sqs/SQSPublisher.mjs +0 -3
  307. package/dist/sqs/SQSSubscriber.cjs +0 -3
  308. package/dist/sqs/SQSSubscriber.d.cts +0 -4
  309. package/dist/sqs/SQSSubscriber.d.mts +0 -4
  310. package/dist/sqs/SQSSubscriber.mjs +0 -3
  311. package/dist/types.cjs +0 -3
  312. package/dist/types.d.cts +0 -2
  313. package/dist/types.d.mts +0 -2
  314. package/dist/types.mjs +0 -3
  315. package/src/EventConnection.ts +0 -43
  316. package/src/Publisher.ts +0 -98
  317. package/src/Subscriber.ts +0 -113
  318. package/src/__tests__/EventConnection.spec.ts +0 -42
  319. package/src/__tests__/Publisher.spec.ts +0 -96
  320. package/src/__tests__/Subscriber.spec.ts +0 -109
  321. package/src/basic/BasicConnection.ts +0 -47
  322. package/src/basic/BasicPublisher.ts +0 -15
  323. package/src/basic/BasicSubscriber.ts +0 -21
  324. package/src/basic/__tests__/BasicSubscriber.spec.ts +0 -166
  325. package/src/basic/index.ts +0 -3
  326. package/src/index.ts +0 -25
  327. package/src/pgboss/PgBossConnection.ts +0 -91
  328. package/src/pgboss/PgBossPublisher.ts +0 -49
  329. package/src/pgboss/PgBossSubscriber.ts +0 -81
  330. package/src/pgboss/__tests__/pgboss.spec.ts +0 -196
  331. package/src/pgboss/__tests__/setup.ts +0 -21
  332. package/src/pgboss/index.ts +0 -5
  333. package/src/rabbitmq/RabbitMQConnection.ts +0 -148
  334. package/src/rabbitmq/RabbitMQPublisher.ts +0 -67
  335. package/src/rabbitmq/RabbitMQSubscriber.ts +0 -111
  336. package/src/rabbitmq/__tests__/RabbitMQPublisher.spec.ts +0 -378
  337. package/src/rabbitmq/__tests__/RabbitMQSubscriber.spec.ts +0 -292
  338. package/src/rabbitmq/index.ts +0 -6
  339. package/src/sns/SNSConnection.ts +0 -98
  340. package/src/sns/SNSPublisher.ts +0 -62
  341. package/src/sns/SNSSubscriber.ts +0 -218
  342. package/src/sns/__tests__/SNS-SQS-Integration.spec.ts +0 -389
  343. package/src/sns/__tests__/SNSPublisher.spec.ts +0 -449
  344. package/src/sns/__tests__/SNSSubscriber.spec.ts +0 -527
  345. package/src/sns/index.ts +0 -6
  346. package/src/sqs/SQSConnection.ts +0 -97
  347. package/src/sqs/SQSPublisher.ts +0 -105
  348. package/src/sqs/SQSSubscriber.ts +0 -181
  349. package/src/sqs/__tests__/SQSPublisher.spec.ts +0 -189
  350. package/src/sqs/index.ts +0 -6
  351. package/src/types.ts +0 -76
  352. package/tsconfig.json +0 -9
  353. package/tsdown.config.ts +0 -10
@@ -1,45 +0,0 @@
1
-
2
- //#region src/rabbitmq/RabbitMQPublisher.ts
3
- var RabbitMQPublisher = class RabbitMQPublisher {
4
- constructor(connection, options = {}) {
5
- this.connection = connection;
6
- this.options = options;
7
- }
8
- /**
9
- * Create a RabbitMQPublisher from a connection string
10
- * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000
11
- */
12
- static async fromConnectionString(connectionString) {
13
- const { RabbitMQConnection } = await Promise.resolve().then(() => require("./rabbitmq/RabbitMQConnection.cjs"));
14
- const connection = await RabbitMQConnection.fromConnectionString(connectionString);
15
- return new RabbitMQPublisher(connection);
16
- }
17
- async publish(messages) {
18
- if (!this.connection.isConnected()) await this.connection.connect();
19
- const channel = this.connection.amqpChannel;
20
- if (!channel) throw new Error("Channel not initialized");
21
- const exchange = this.connection.exchangeName;
22
- for (const message of messages) {
23
- const content = Buffer.from(JSON.stringify(message.payload));
24
- const routingKey = message.type;
25
- const published = channel.publish(exchange, routingKey, content, {
26
- contentType: "application/json",
27
- timestamp: Date.now(),
28
- type: message.type,
29
- persistent: true,
30
- ...this.options.publishOptions
31
- });
32
- if (!published) await new Promise((resolve) => channel.once("drain", resolve));
33
- }
34
- }
35
- async close() {}
36
- };
37
-
38
- //#endregion
39
- Object.defineProperty(exports, 'RabbitMQPublisher', {
40
- enumerable: true,
41
- get: function () {
42
- return RabbitMQPublisher;
43
- }
44
- });
45
- //# sourceMappingURL=RabbitMQPublisher-C94q6g8q.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RabbitMQPublisher-C94q6g8q.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\tpublishOptions?: amqplib.Options.Publish;\n}\n\nexport class RabbitMQPublisher<TMessage extends PublishableMessage<string, any>>\n\timplements EventPublisher<TMessage>\n{\n\tconstructor(\n\t\tprivate connection: RabbitMQConnection,\n\t\tprivate options: RabbitMQPublisherOptions = {},\n\t) {}\n\n\t/**\n\t * Create a RabbitMQPublisher from a connection string\n\t * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(connectionString: string): Promise<RabbitMQPublisher<TMessage>> {\n\t\tconst { RabbitMQConnection } = await import('./RabbitMQConnection');\n\t\tconst connection =\n\t\t\tawait RabbitMQConnection.fromConnectionString(connectionString);\n\t\treturn new RabbitMQPublisher<TMessage>(connection);\n\t}\n\n\tasync publish(messages: TMessage[]): Promise<void> {\n\t\tif (!this.connection.isConnected()) {\n\t\t\tawait this.connection.connect();\n\t\t}\n\n\t\tconst channel = this.connection.amqpChannel;\n\t\tif (!channel) {\n\t\t\tthrow new Error('Channel not initialized');\n\t\t}\n\n\t\tconst exchange = this.connection.exchangeName;\n\n\t\tfor (const message of messages) {\n\t\t\tconst content = Buffer.from(JSON.stringify(message.payload));\n\n\t\t\t// Use message type as routing key for topic exchanges\n\t\t\tconst routingKey = message.type;\n\n\t\t\tconst published = channel.publish(exchange, routingKey, content, {\n\t\t\t\tcontentType: 'application/json',\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t\ttype: message.type,\n\t\t\t\tpersistent: true,\n\t\t\t\t...this.options.publishOptions,\n\t\t\t});\n\n\t\t\t// Handle backpressure\n\t\t\tif (!published) {\n\t\t\t\tawait new Promise((resolve) => channel.once('drain', resolve));\n\t\t\t}\n\t\t}\n\t}\n\n\tasync close(): Promise<void> {\n\t\t// Publisher doesn't own the connection\n\t\t// Connection should be closed by whoever created it\n\t}\n}\n"],"mappings":";;AAQA,IAAa,oBAAb,MAAa,kBAEb;CACC,YACSA,YACAC,UAAoC,CAAE,GAC7C;EAFO;EACA;CACL;;;;;CAMJ,aAAa,qBAEXC,kBAAgE;EACjE,MAAM,EAAE,oBAAoB,GAAG,2CAAM;EACrC,MAAM,aACL,MAAM,mBAAmB,qBAAqB,iBAAiB;AAChE,SAAO,IAAI,kBAA4B;CACvC;CAED,MAAM,QAAQC,UAAqC;AAClD,OAAK,KAAK,WAAW,aAAa,CACjC,OAAM,KAAK,WAAW,SAAS;EAGhC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,QACJ,OAAM,IAAI,MAAM;EAGjB,MAAM,WAAW,KAAK,WAAW;AAEjC,OAAK,MAAM,WAAW,UAAU;GAC/B,MAAM,UAAU,OAAO,KAAK,KAAK,UAAU,QAAQ,QAAQ,CAAC;GAG5D,MAAM,aAAa,QAAQ;GAE3B,MAAM,YAAY,QAAQ,QAAQ,UAAU,YAAY,SAAS;IAChE,aAAa;IACb,WAAW,KAAK,KAAK;IACrB,MAAM,QAAQ;IACd,YAAY;IACZ,GAAG,KAAK,QAAQ;GAChB,EAAC;AAGF,QAAK,UACJ,OAAM,IAAI,QAAQ,CAAC,YAAY,QAAQ,KAAK,SAAS,QAAQ;EAE9D;CACD;CAED,MAAM,QAAuB,CAG5B;AACD"}
@@ -1,25 +0,0 @@
1
- import { EventPublisher, PublishableMessage } from "./types-Dh9Jyinx.mjs";
2
- import { RabbitMQConnection } from "./RabbitMQConnection-DV9t3VYp.mjs";
3
- import amqplib from "amqplib";
4
-
5
- //#region src/rabbitmq/RabbitMQPublisher.d.ts
6
- interface RabbitMQPublisherOptions {
7
- publishOptions?: amqplib.Options.Publish;
8
- }
9
- declare class RabbitMQPublisher<TMessage extends PublishableMessage<string, any>> implements EventPublisher<TMessage> {
10
- private connection;
11
- private options;
12
- constructor(connection: RabbitMQConnection, options?: RabbitMQPublisherOptions);
13
- /**
14
- * Create a RabbitMQPublisher from a connection string
15
- * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000
16
- */
17
- static fromConnectionString<TMessage extends PublishableMessage<string, any>>(connectionString: string): Promise<RabbitMQPublisher<TMessage>>;
18
- publish(messages: TMessage[]): Promise<void>;
19
- close(): Promise<void>;
20
- }
21
- //# sourceMappingURL=RabbitMQPublisher.d.ts.map
22
-
23
- //#endregion
24
- export { RabbitMQPublisher, RabbitMQPublisherOptions };
25
- //# sourceMappingURL=RabbitMQPublisher-DKmgwqVj.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RabbitMQPublisher-DKmgwqVj.d.mts","names":[],"sources":["../src/rabbitmq/RabbitMQPublisher.ts"],"sourcesContent":[],"mappings":";;;;;UAIiB,wBAAA;mBACC,OAAA,CAAQ,OAAA,CAAQ;AADlC;AAIa,cAAA,iBAAiB,CAAA,iBAAkB,kBAAlB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,YAClB,cADkB,CACH,QADG,CAAA,CAAA;EAAA,QAAA,UAAA;EAAA,QAAkB,OAAA;EAAkB,WACvC,CAAA,UAAA,EAGL,kBAHK,EAAA,OAAA,CAAA,EAIR,wBAJQ;EAAQ;;;;EAa6B,OAA1B,oBAAA,CAAA,iBADnB,kBACmB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,EAAR,OAAQ,CAAA,iBAAA,CAAkB,QAAlB,CAAA,CAAA;EAAiB,OAAzB,CAAA,QAAA,EAOL,QAPK,EAAA,CAAA,EAOQ,OAPR,CAAA,IAAA,CAAA;EAAO,KAOZ,CAAA,CAAA,EAiCT,OAjCS,CAAA,IAAA,CAAA"}
@@ -1,25 +0,0 @@
1
- import { EventPublisher, PublishableMessage } from "./types-Dj23od3e.cjs";
2
- import { RabbitMQConnection } from "./RabbitMQConnection-jNME_eR7.cjs";
3
- import amqplib from "amqplib";
4
-
5
- //#region src/rabbitmq/RabbitMQPublisher.d.ts
6
- interface RabbitMQPublisherOptions {
7
- publishOptions?: amqplib.Options.Publish;
8
- }
9
- declare class RabbitMQPublisher<TMessage extends PublishableMessage<string, any>> implements EventPublisher<TMessage> {
10
- private connection;
11
- private options;
12
- constructor(connection: RabbitMQConnection, options?: RabbitMQPublisherOptions);
13
- /**
14
- * Create a RabbitMQPublisher from a connection string
15
- * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000
16
- */
17
- static fromConnectionString<TMessage extends PublishableMessage<string, any>>(connectionString: string): Promise<RabbitMQPublisher<TMessage>>;
18
- publish(messages: TMessage[]): Promise<void>;
19
- close(): Promise<void>;
20
- }
21
- //# sourceMappingURL=RabbitMQPublisher.d.ts.map
22
-
23
- //#endregion
24
- export { RabbitMQPublisher, RabbitMQPublisherOptions };
25
- //# sourceMappingURL=RabbitMQPublisher-d257OHLa.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RabbitMQPublisher-d257OHLa.d.cts","names":[],"sources":["../src/rabbitmq/RabbitMQPublisher.ts"],"sourcesContent":[],"mappings":";;;;;UAIiB,wBAAA;mBACC,OAAA,CAAQ,OAAA,CAAQ;AADlC;AAIa,cAAA,iBAAiB,CAAA,iBAAkB,kBAAlB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,YAClB,cADkB,CACH,QADG,CAAA,CAAA;EAAA,QAAA,UAAA;EAAA,QAAkB,OAAA;EAAkB,WACvC,CAAA,UAAA,EAGL,kBAHK,EAAA,OAAA,CAAA,EAIR,wBAJQ;EAAQ;;;;EAa6B,OAA1B,oBAAA,CAAA,iBADnB,kBACmB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,EAAR,OAAQ,CAAA,iBAAA,CAAkB,QAAlB,CAAA,CAAA;EAAiB,OAAzB,CAAA,QAAA,EAOL,QAPK,EAAA,CAAA,EAOQ,OAPR,CAAA,IAAA,CAAA;EAAO,KAOZ,CAAA,CAAA,EAiCT,OAjCS,CAAA,IAAA,CAAA"}
@@ -1,39 +0,0 @@
1
- //#region src/rabbitmq/RabbitMQPublisher.ts
2
- var RabbitMQPublisher = class RabbitMQPublisher {
3
- constructor(connection, options = {}) {
4
- this.connection = connection;
5
- this.options = options;
6
- }
7
- /**
8
- * Create a RabbitMQPublisher from a connection string
9
- * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000
10
- */
11
- static async fromConnectionString(connectionString) {
12
- const { RabbitMQConnection } = await import("./rabbitmq/RabbitMQConnection.mjs");
13
- const connection = await RabbitMQConnection.fromConnectionString(connectionString);
14
- return new RabbitMQPublisher(connection);
15
- }
16
- async publish(messages) {
17
- if (!this.connection.isConnected()) await this.connection.connect();
18
- const channel = this.connection.amqpChannel;
19
- if (!channel) throw new Error("Channel not initialized");
20
- const exchange = this.connection.exchangeName;
21
- for (const message of messages) {
22
- const content = Buffer.from(JSON.stringify(message.payload));
23
- const routingKey = message.type;
24
- const published = channel.publish(exchange, routingKey, content, {
25
- contentType: "application/json",
26
- timestamp: Date.now(),
27
- type: message.type,
28
- persistent: true,
29
- ...this.options.publishOptions
30
- });
31
- if (!published) await new Promise((resolve) => channel.once("drain", resolve));
32
- }
33
- }
34
- async close() {}
35
- };
36
-
37
- //#endregion
38
- export { RabbitMQPublisher };
39
- //# sourceMappingURL=RabbitMQPublisher-yUqWNq-P.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RabbitMQPublisher-yUqWNq-P.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\tpublishOptions?: amqplib.Options.Publish;\n}\n\nexport class RabbitMQPublisher<TMessage extends PublishableMessage<string, any>>\n\timplements EventPublisher<TMessage>\n{\n\tconstructor(\n\t\tprivate connection: RabbitMQConnection,\n\t\tprivate options: RabbitMQPublisherOptions = {},\n\t) {}\n\n\t/**\n\t * Create a RabbitMQPublisher from a connection string\n\t * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(connectionString: string): Promise<RabbitMQPublisher<TMessage>> {\n\t\tconst { RabbitMQConnection } = await import('./RabbitMQConnection');\n\t\tconst connection =\n\t\t\tawait RabbitMQConnection.fromConnectionString(connectionString);\n\t\treturn new RabbitMQPublisher<TMessage>(connection);\n\t}\n\n\tasync publish(messages: TMessage[]): Promise<void> {\n\t\tif (!this.connection.isConnected()) {\n\t\t\tawait this.connection.connect();\n\t\t}\n\n\t\tconst channel = this.connection.amqpChannel;\n\t\tif (!channel) {\n\t\t\tthrow new Error('Channel not initialized');\n\t\t}\n\n\t\tconst exchange = this.connection.exchangeName;\n\n\t\tfor (const message of messages) {\n\t\t\tconst content = Buffer.from(JSON.stringify(message.payload));\n\n\t\t\t// Use message type as routing key for topic exchanges\n\t\t\tconst routingKey = message.type;\n\n\t\t\tconst published = channel.publish(exchange, routingKey, content, {\n\t\t\t\tcontentType: 'application/json',\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t\ttype: message.type,\n\t\t\t\tpersistent: true,\n\t\t\t\t...this.options.publishOptions,\n\t\t\t});\n\n\t\t\t// Handle backpressure\n\t\t\tif (!published) {\n\t\t\t\tawait new Promise((resolve) => channel.once('drain', resolve));\n\t\t\t}\n\t\t}\n\t}\n\n\tasync close(): Promise<void> {\n\t\t// Publisher doesn't own the connection\n\t\t// Connection should be closed by whoever created it\n\t}\n}\n"],"mappings":";AAQA,IAAa,oBAAb,MAAa,kBAEb;CACC,YACSA,YACAC,UAAoC,CAAE,GAC7C;EAFO;EACA;CACL;;;;;CAMJ,aAAa,qBAEXC,kBAAgE;EACjE,MAAM,EAAE,oBAAoB,GAAG,MAAM,OAAO;EAC5C,MAAM,aACL,MAAM,mBAAmB,qBAAqB,iBAAiB;AAChE,SAAO,IAAI,kBAA4B;CACvC;CAED,MAAM,QAAQC,UAAqC;AAClD,OAAK,KAAK,WAAW,aAAa,CACjC,OAAM,KAAK,WAAW,SAAS;EAGhC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,QACJ,OAAM,IAAI,MAAM;EAGjB,MAAM,WAAW,KAAK,WAAW;AAEjC,OAAK,MAAM,WAAW,UAAU;GAC/B,MAAM,UAAU,OAAO,KAAK,KAAK,UAAU,QAAQ,QAAQ,CAAC;GAG5D,MAAM,aAAa,QAAQ;GAE3B,MAAM,YAAY,QAAQ,QAAQ,UAAU,YAAY,SAAS;IAChE,aAAa;IACb,WAAW,KAAK,KAAK;IACrB,MAAM,QAAQ;IACd,YAAY;IACZ,GAAG,KAAK,QAAQ;GAChB,EAAC;AAGF,QAAK,UACJ,OAAM,IAAI,QAAQ,CAAC,YAAY,QAAQ,KAAK,SAAS,QAAQ;EAE9D;CACD;CAED,MAAM,QAAuB,CAG5B;AACD"}
@@ -1,27 +0,0 @@
1
- import { EventSubscriber, PublishableMessage } from "./types-Dj23od3e.cjs";
2
- import { RabbitMQConnection } from "./RabbitMQConnection-jNME_eR7.cjs";
3
- import amqplib from "amqplib";
4
-
5
- //#region src/rabbitmq/RabbitMQSubscriber.d.ts
6
- interface RabbitMQSubscriberOptions {
7
- queueName?: string;
8
- queueOptions?: amqplib.Options.AssertQueue;
9
- consumeOptions?: amqplib.Options.Consume;
10
- prefetch?: number;
11
- }
12
- declare class RabbitMQSubscriber<TMessage extends PublishableMessage<string, any>> implements EventSubscriber<TMessage> {
13
- private connection;
14
- private options;
15
- constructor(connection: RabbitMQConnection, options?: RabbitMQSubscriberOptions);
16
- /**
17
- * Create a RabbitMQSubscriber from a connection string
18
- * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&queueName=myqueue&prefetch=10
19
- */
20
- static fromConnectionString<TMessage extends PublishableMessage<string, any>>(connectionString: string): Promise<RabbitMQSubscriber<TMessage>>;
21
- subscribe(messages: TMessage['type'][], listener: (payload: TMessage) => Promise<void>): Promise<void>;
22
- }
23
- //# sourceMappingURL=RabbitMQSubscriber.d.ts.map
24
-
25
- //#endregion
26
- export { RabbitMQSubscriber, RabbitMQSubscriberOptions };
27
- //# sourceMappingURL=RabbitMQSubscriber-BF7JGfYm.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RabbitMQSubscriber-BF7JGfYm.d.cts","names":[],"sources":["../src/rabbitmq/RabbitMQSubscriber.ts"],"sourcesContent":[],"mappings":";;;;;UAIiB,yBAAA;;EAAA,YAAA,CAAA,EAED,OAAA,CAAQ,OAAA,CAAQ,WAFU;EAAA,cAAA,CAAA,EAGxB,OAAA,CAAQ,OAAA,CAAQ,OAHQ;EAAA,QAE1B,CAAA,EAAQ,MAAA;;AACiB,cAI5B,kBAJ4B,CAAA,iBAKvB,kBALuB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,YAM5B,eAN4B,CAMZ,QANY,CAAA,CAAA;EAI5B,QAAA,UAAA;EAAkB,QAAA,OAAA;EAAA,WACb,CAAA,UAAA,EAII,kBAJJ,EAAA,OAAA,CAAA,EAKC,yBALD;EAAkB;;;;EAaC,OACoB,oBAAA,CAAA,iBADtC,kBACsC,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,EAA3B,OAA2B,CAAnB,kBAAmB,CAAA,QAAA,CAAA,CAAA;EAAQ,SAA3B,CAAA,QAAA,EAmB1B,QAnB0B,CAAA,MAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,OAAA,EAoBhB,QApBgB,EAAA,GAoBH,OApBG,CAAA,IAAA,CAAA,CAAA,EAqBlC,OArBkC,CAAA,IAAA,CAAA"}
@@ -1,56 +0,0 @@
1
- //#region src/rabbitmq/RabbitMQSubscriber.ts
2
- var RabbitMQSubscriber = class RabbitMQSubscriber {
3
- constructor(connection, options = {}) {
4
- this.connection = connection;
5
- this.options = options;
6
- }
7
- /**
8
- * Create a RabbitMQSubscriber from a connection string
9
- * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&queueName=myqueue&prefetch=10
10
- */
11
- static async fromConnectionString(connectionString) {
12
- const url = new URL(connectionString);
13
- const params = url.searchParams;
14
- const { RabbitMQConnection } = await import("./rabbitmq/RabbitMQConnection.mjs");
15
- const connection = await RabbitMQConnection.fromConnectionString(connectionString);
16
- const options = {
17
- queueName: params.get("queueName") || void 0,
18
- prefetch: params.get("prefetch") ? Number.parseInt(params.get("prefetch"), 10) : void 0
19
- };
20
- return new RabbitMQSubscriber(connection, options);
21
- }
22
- async subscribe(messages, listener) {
23
- if (!this.connection.isConnected()) await this.connection.connect();
24
- const channel = this.connection.amqpChannel;
25
- if (!channel) throw new Error("Channel not initialized");
26
- const exchange = this.connection.exchangeName;
27
- if (this.options.prefetch) await channel.prefetch(this.options.prefetch);
28
- const queueName = this.options.queueName || "";
29
- const queueOptions = {
30
- durable: true,
31
- ...this.options.queueOptions
32
- };
33
- const { queue } = await channel.assertQueue(queueName, queueOptions);
34
- for (const messageType of messages) await channel.bindQueue(queue, exchange, messageType);
35
- await channel.consume(queue, async (msg) => {
36
- if (!msg) return;
37
- try {
38
- const content = msg.content.toString();
39
- const payload = JSON.parse(content);
40
- const messageType = msg.properties.type;
41
- const fullMessage = {
42
- type: messageType,
43
- payload
44
- };
45
- await listener(fullMessage);
46
- channel.ack(msg);
47
- } catch (_error) {
48
- channel.nack(msg, false, true);
49
- }
50
- }, this.options.consumeOptions);
51
- }
52
- };
53
-
54
- //#endregion
55
- export { RabbitMQSubscriber };
56
- //# sourceMappingURL=RabbitMQSubscriber-BWniDtFs.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RabbitMQSubscriber-BWniDtFs.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\tqueueName?: string; // If not provided, a unique queue will be generated\n\tqueueOptions?: amqplib.Options.AssertQueue;\n\tconsumeOptions?: amqplib.Options.Consume;\n\tprefetch?: number; // Number of messages to prefetch (default: 1)\n}\n\nexport class RabbitMQSubscriber<\n\tTMessage extends PublishableMessage<string, any>,\n> implements EventSubscriber<TMessage>\n{\n\tconstructor(\n\t\tprivate connection: RabbitMQConnection,\n\t\tprivate options: RabbitMQSubscriberOptions = {},\n\t) {}\n\n\t/**\n\t * Create a RabbitMQSubscriber from a connection string\n\t * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&queueName=myqueue&prefetch=10\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(connectionString: string): Promise<RabbitMQSubscriber<TMessage>> {\n\t\tconst url = new URL(connectionString);\n\t\tconst params = url.searchParams;\n\n\t\tconst { RabbitMQConnection } = await import('./RabbitMQConnection');\n\t\tconst connection =\n\t\t\tawait RabbitMQConnection.fromConnectionString(connectionString);\n\n\t\tconst options: RabbitMQSubscriberOptions = {\n\t\t\tqueueName: params.get('queueName') || undefined,\n\t\t\tprefetch: params.get('prefetch')\n\t\t\t\t? Number.parseInt(params.get('prefetch')!, 10)\n\t\t\t\t: undefined,\n\t\t};\n\n\t\treturn new RabbitMQSubscriber<TMessage>(connection, options);\n\t}\n\n\tasync subscribe(\n\t\tmessages: TMessage['type'][],\n\t\tlistener: (payload: TMessage) => Promise<void>,\n\t): Promise<void> {\n\t\tif (!this.connection.isConnected()) {\n\t\t\tawait this.connection.connect();\n\t\t}\n\n\t\tconst channel = this.connection.amqpChannel;\n\t\tif (!channel) {\n\t\t\tthrow new Error('Channel not initialized');\n\t\t}\n\n\t\tconst exchange = this.connection.exchangeName;\n\n\t\t// Set prefetch if specified\n\t\tif (this.options.prefetch) {\n\t\t\tawait channel.prefetch(this.options.prefetch);\n\t\t}\n\n\t\t// Assert queue\n\t\tconst queueName = this.options.queueName || '';\n\t\tconst queueOptions: amqplib.Options.AssertQueue = {\n\t\t\tdurable: true,\n\t\t\t...this.options.queueOptions,\n\t\t};\n\n\t\tconst { queue } = await channel.assertQueue(queueName, queueOptions);\n\n\t\t// Bind queue to exchange for each message type\n\t\tfor (const messageType of messages) {\n\t\t\tawait channel.bindQueue(queue, exchange, messageType);\n\t\t}\n\n\t\t// Consume messages\n\t\tawait channel.consume(\n\t\t\tqueue,\n\t\t\tasync (msg) => {\n\t\t\t\tif (!msg) return;\n\n\t\t\t\ttry {\n\t\t\t\t\t// Parse message payload\n\t\t\t\t\tconst content = msg.content.toString();\n\t\t\t\t\tconst payload = JSON.parse(content);\n\n\t\t\t\t\t// Get message type from properties\n\t\t\t\t\tconst messageType = msg.properties.type;\n\n\t\t\t\t\t// Reconstruct full message\n\t\t\t\t\tconst fullMessage: TMessage = {\n\t\t\t\t\t\ttype: messageType,\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t} as TMessage;\n\n\t\t\t\t\t// Call listener\n\t\t\t\t\tawait listener(fullMessage);\n\n\t\t\t\t\t// Ack message\n\t\t\t\t\tchannel.ack(msg);\n\t\t\t\t} catch (_error) {\n\t\t\t\t\tchannel.nack(msg, false, true);\n\t\t\t\t}\n\t\t\t},\n\t\t\tthis.options.consumeOptions,\n\t\t);\n\t}\n}\n"],"mappings":";AAWA,IAAa,qBAAb,MAAa,mBAGb;CACC,YACSA,YACAC,UAAqC,CAAE,GAC9C;EAFO;EACA;CACL;;;;;CAMJ,aAAa,qBAEXC,kBAAiE;EAClE,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAEnB,MAAM,EAAE,oBAAoB,GAAG,MAAM,OAAO;EAC5C,MAAM,aACL,MAAM,mBAAmB,qBAAqB,iBAAiB;EAEhE,MAAMD,UAAqC;GAC1C,WAAW,OAAO,IAAI,YAAY;GAClC,UAAU,OAAO,IAAI,WAAW,GAC7B,OAAO,SAAS,OAAO,IAAI,WAAW,EAAG,GAAG;EAE/C;AAED,SAAO,IAAI,mBAA6B,YAAY;CACpD;CAED,MAAM,UACLE,UACAC,UACgB;AAChB,OAAK,KAAK,WAAW,aAAa,CACjC,OAAM,KAAK,WAAW,SAAS;EAGhC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,QACJ,OAAM,IAAI,MAAM;EAGjB,MAAM,WAAW,KAAK,WAAW;AAGjC,MAAI,KAAK,QAAQ,SAChB,OAAM,QAAQ,SAAS,KAAK,QAAQ,SAAS;EAI9C,MAAM,YAAY,KAAK,QAAQ,aAAa;EAC5C,MAAMC,eAA4C;GACjD,SAAS;GACT,GAAG,KAAK,QAAQ;EAChB;EAED,MAAM,EAAE,OAAO,GAAG,MAAM,QAAQ,YAAY,WAAW,aAAa;AAGpE,OAAK,MAAM,eAAe,SACzB,OAAM,QAAQ,UAAU,OAAO,UAAU,YAAY;AAItD,QAAM,QAAQ,QACb,OACA,OAAO,QAAQ;AACd,QAAK,IAAK;AAEV,OAAI;IAEH,MAAM,UAAU,IAAI,QAAQ,UAAU;IACtC,MAAM,UAAU,KAAK,MAAM,QAAQ;IAGnC,MAAM,cAAc,IAAI,WAAW;IAGnC,MAAMC,cAAwB;KAC7B,MAAM;KACN;IACA;AAGD,UAAM,SAAS,YAAY;AAG3B,YAAQ,IAAI,IAAI;GAChB,SAAQ,QAAQ;AAChB,YAAQ,KAAK,KAAK,OAAO,KAAK;GAC9B;EACD,GACD,KAAK,QAAQ,eACb;CACD;AACD"}
@@ -1,27 +0,0 @@
1
- import { EventSubscriber, PublishableMessage } from "./types-Dh9Jyinx.mjs";
2
- import { RabbitMQConnection } from "./RabbitMQConnection-DV9t3VYp.mjs";
3
- import amqplib from "amqplib";
4
-
5
- //#region src/rabbitmq/RabbitMQSubscriber.d.ts
6
- interface RabbitMQSubscriberOptions {
7
- queueName?: string;
8
- queueOptions?: amqplib.Options.AssertQueue;
9
- consumeOptions?: amqplib.Options.Consume;
10
- prefetch?: number;
11
- }
12
- declare class RabbitMQSubscriber<TMessage extends PublishableMessage<string, any>> implements EventSubscriber<TMessage> {
13
- private connection;
14
- private options;
15
- constructor(connection: RabbitMQConnection, options?: RabbitMQSubscriberOptions);
16
- /**
17
- * Create a RabbitMQSubscriber from a connection string
18
- * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&queueName=myqueue&prefetch=10
19
- */
20
- static fromConnectionString<TMessage extends PublishableMessage<string, any>>(connectionString: string): Promise<RabbitMQSubscriber<TMessage>>;
21
- subscribe(messages: TMessage['type'][], listener: (payload: TMessage) => Promise<void>): Promise<void>;
22
- }
23
- //# sourceMappingURL=RabbitMQSubscriber.d.ts.map
24
-
25
- //#endregion
26
- export { RabbitMQSubscriber, RabbitMQSubscriberOptions };
27
- //# sourceMappingURL=RabbitMQSubscriber-CdbUy5mB.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RabbitMQSubscriber-CdbUy5mB.d.mts","names":[],"sources":["../src/rabbitmq/RabbitMQSubscriber.ts"],"sourcesContent":[],"mappings":";;;;;UAIiB,yBAAA;;EAAA,YAAA,CAAA,EAED,OAAA,CAAQ,OAAA,CAAQ,WAFU;EAAA,cAAA,CAAA,EAGxB,OAAA,CAAQ,OAAA,CAAQ,OAHQ;EAAA,QAE1B,CAAA,EAAQ,MAAA;;AACiB,cAI5B,kBAJ4B,CAAA,iBAKvB,kBALuB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,YAM5B,eAN4B,CAMZ,QANY,CAAA,CAAA;EAI5B,QAAA,UAAA;EAAkB,QAAA,OAAA;EAAA,WACb,CAAA,UAAA,EAII,kBAJJ,EAAA,OAAA,CAAA,EAKC,yBALD;EAAkB;;;;EAaC,OACoB,oBAAA,CAAA,iBADtC,kBACsC,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,EAA3B,OAA2B,CAAnB,kBAAmB,CAAA,QAAA,CAAA,CAAA;EAAQ,SAA3B,CAAA,QAAA,EAmB1B,QAnB0B,CAAA,MAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,OAAA,EAoBhB,QApBgB,EAAA,GAoBH,OApBG,CAAA,IAAA,CAAA,CAAA,EAqBlC,OArBkC,CAAA,IAAA,CAAA"}
@@ -1,62 +0,0 @@
1
-
2
- //#region src/rabbitmq/RabbitMQSubscriber.ts
3
- var RabbitMQSubscriber = class RabbitMQSubscriber {
4
- constructor(connection, options = {}) {
5
- this.connection = connection;
6
- this.options = options;
7
- }
8
- /**
9
- * Create a RabbitMQSubscriber from a connection string
10
- * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&queueName=myqueue&prefetch=10
11
- */
12
- static async fromConnectionString(connectionString) {
13
- const url = new URL(connectionString);
14
- const params = url.searchParams;
15
- const { RabbitMQConnection } = await Promise.resolve().then(() => require("./rabbitmq/RabbitMQConnection.cjs"));
16
- const connection = await RabbitMQConnection.fromConnectionString(connectionString);
17
- const options = {
18
- queueName: params.get("queueName") || void 0,
19
- prefetch: params.get("prefetch") ? Number.parseInt(params.get("prefetch"), 10) : void 0
20
- };
21
- return new RabbitMQSubscriber(connection, options);
22
- }
23
- async subscribe(messages, listener) {
24
- if (!this.connection.isConnected()) await this.connection.connect();
25
- const channel = this.connection.amqpChannel;
26
- if (!channel) throw new Error("Channel not initialized");
27
- const exchange = this.connection.exchangeName;
28
- if (this.options.prefetch) await channel.prefetch(this.options.prefetch);
29
- const queueName = this.options.queueName || "";
30
- const queueOptions = {
31
- durable: true,
32
- ...this.options.queueOptions
33
- };
34
- const { queue } = await channel.assertQueue(queueName, queueOptions);
35
- for (const messageType of messages) await channel.bindQueue(queue, exchange, messageType);
36
- await channel.consume(queue, async (msg) => {
37
- if (!msg) return;
38
- try {
39
- const content = msg.content.toString();
40
- const payload = JSON.parse(content);
41
- const messageType = msg.properties.type;
42
- const fullMessage = {
43
- type: messageType,
44
- payload
45
- };
46
- await listener(fullMessage);
47
- channel.ack(msg);
48
- } catch (_error) {
49
- channel.nack(msg, false, true);
50
- }
51
- }, this.options.consumeOptions);
52
- }
53
- };
54
-
55
- //#endregion
56
- Object.defineProperty(exports, 'RabbitMQSubscriber', {
57
- enumerable: true,
58
- get: function () {
59
- return RabbitMQSubscriber;
60
- }
61
- });
62
- //# sourceMappingURL=RabbitMQSubscriber-DGEO-clQ.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RabbitMQSubscriber-DGEO-clQ.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\tqueueName?: string; // If not provided, a unique queue will be generated\n\tqueueOptions?: amqplib.Options.AssertQueue;\n\tconsumeOptions?: amqplib.Options.Consume;\n\tprefetch?: number; // Number of messages to prefetch (default: 1)\n}\n\nexport class RabbitMQSubscriber<\n\tTMessage extends PublishableMessage<string, any>,\n> implements EventSubscriber<TMessage>\n{\n\tconstructor(\n\t\tprivate connection: RabbitMQConnection,\n\t\tprivate options: RabbitMQSubscriberOptions = {},\n\t) {}\n\n\t/**\n\t * Create a RabbitMQSubscriber from a connection string\n\t * Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&queueName=myqueue&prefetch=10\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(connectionString: string): Promise<RabbitMQSubscriber<TMessage>> {\n\t\tconst url = new URL(connectionString);\n\t\tconst params = url.searchParams;\n\n\t\tconst { RabbitMQConnection } = await import('./RabbitMQConnection');\n\t\tconst connection =\n\t\t\tawait RabbitMQConnection.fromConnectionString(connectionString);\n\n\t\tconst options: RabbitMQSubscriberOptions = {\n\t\t\tqueueName: params.get('queueName') || undefined,\n\t\t\tprefetch: params.get('prefetch')\n\t\t\t\t? Number.parseInt(params.get('prefetch')!, 10)\n\t\t\t\t: undefined,\n\t\t};\n\n\t\treturn new RabbitMQSubscriber<TMessage>(connection, options);\n\t}\n\n\tasync subscribe(\n\t\tmessages: TMessage['type'][],\n\t\tlistener: (payload: TMessage) => Promise<void>,\n\t): Promise<void> {\n\t\tif (!this.connection.isConnected()) {\n\t\t\tawait this.connection.connect();\n\t\t}\n\n\t\tconst channel = this.connection.amqpChannel;\n\t\tif (!channel) {\n\t\t\tthrow new Error('Channel not initialized');\n\t\t}\n\n\t\tconst exchange = this.connection.exchangeName;\n\n\t\t// Set prefetch if specified\n\t\tif (this.options.prefetch) {\n\t\t\tawait channel.prefetch(this.options.prefetch);\n\t\t}\n\n\t\t// Assert queue\n\t\tconst queueName = this.options.queueName || '';\n\t\tconst queueOptions: amqplib.Options.AssertQueue = {\n\t\t\tdurable: true,\n\t\t\t...this.options.queueOptions,\n\t\t};\n\n\t\tconst { queue } = await channel.assertQueue(queueName, queueOptions);\n\n\t\t// Bind queue to exchange for each message type\n\t\tfor (const messageType of messages) {\n\t\t\tawait channel.bindQueue(queue, exchange, messageType);\n\t\t}\n\n\t\t// Consume messages\n\t\tawait channel.consume(\n\t\t\tqueue,\n\t\t\tasync (msg) => {\n\t\t\t\tif (!msg) return;\n\n\t\t\t\ttry {\n\t\t\t\t\t// Parse message payload\n\t\t\t\t\tconst content = msg.content.toString();\n\t\t\t\t\tconst payload = JSON.parse(content);\n\n\t\t\t\t\t// Get message type from properties\n\t\t\t\t\tconst messageType = msg.properties.type;\n\n\t\t\t\t\t// Reconstruct full message\n\t\t\t\t\tconst fullMessage: TMessage = {\n\t\t\t\t\t\ttype: messageType,\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t} as TMessage;\n\n\t\t\t\t\t// Call listener\n\t\t\t\t\tawait listener(fullMessage);\n\n\t\t\t\t\t// Ack message\n\t\t\t\t\tchannel.ack(msg);\n\t\t\t\t} catch (_error) {\n\t\t\t\t\tchannel.nack(msg, false, true);\n\t\t\t\t}\n\t\t\t},\n\t\t\tthis.options.consumeOptions,\n\t\t);\n\t}\n}\n"],"mappings":";;AAWA,IAAa,qBAAb,MAAa,mBAGb;CACC,YACSA,YACAC,UAAqC,CAAE,GAC9C;EAFO;EACA;CACL;;;;;CAMJ,aAAa,qBAEXC,kBAAiE;EAClE,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAEnB,MAAM,EAAE,oBAAoB,GAAG,2CAAM;EACrC,MAAM,aACL,MAAM,mBAAmB,qBAAqB,iBAAiB;EAEhE,MAAMD,UAAqC;GAC1C,WAAW,OAAO,IAAI,YAAY;GAClC,UAAU,OAAO,IAAI,WAAW,GAC7B,OAAO,SAAS,OAAO,IAAI,WAAW,EAAG,GAAG;EAE/C;AAED,SAAO,IAAI,mBAA6B,YAAY;CACpD;CAED,MAAM,UACLE,UACAC,UACgB;AAChB,OAAK,KAAK,WAAW,aAAa,CACjC,OAAM,KAAK,WAAW,SAAS;EAGhC,MAAM,UAAU,KAAK,WAAW;AAChC,OAAK,QACJ,OAAM,IAAI,MAAM;EAGjB,MAAM,WAAW,KAAK,WAAW;AAGjC,MAAI,KAAK,QAAQ,SAChB,OAAM,QAAQ,SAAS,KAAK,QAAQ,SAAS;EAI9C,MAAM,YAAY,KAAK,QAAQ,aAAa;EAC5C,MAAMC,eAA4C;GACjD,SAAS;GACT,GAAG,KAAK,QAAQ;EAChB;EAED,MAAM,EAAE,OAAO,GAAG,MAAM,QAAQ,YAAY,WAAW,aAAa;AAGpE,OAAK,MAAM,eAAe,SACzB,OAAM,QAAQ,UAAU,OAAO,UAAU,YAAY;AAItD,QAAM,QAAQ,QACb,OACA,OAAO,QAAQ;AACd,QAAK,IAAK;AAEV,OAAI;IAEH,MAAM,UAAU,IAAI,QAAQ,UAAU;IACtC,MAAM,UAAU,KAAK,MAAM,QAAQ;IAGnC,MAAM,cAAc,IAAI,WAAW;IAGnC,MAAMC,cAAwB;KAC7B,MAAM;KACN;IACA;AAGD,UAAM,SAAS,YAAY;AAG3B,YAAQ,IAAI,IAAI;GAChB,SAAQ,QAAQ;AAChB,YAAQ,KAAK,KAAK,OAAO,KAAK;GAC9B;EACD,GACD,KAAK,QAAQ,eACb;CACD;AACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SNSConnection-CAcbLQOy.cjs","names":["EventPublisherType","config: SNSConnectionConfig","clientConfig: SNSClientConfig","SNSClient","connectionString: string"],"sources":["../src/sns/SNSConnection.ts"],"sourcesContent":["import { SNSClient, type SNSClientConfig } from '@aws-sdk/client-sns';\nimport type { EventConnection } from '../types';\nimport { EventPublisherType } from '../types';\n\nexport interface SNSConnectionConfig {\n\ttopicArn: string;\n\tregion?: string;\n\tendpoint?: string; // Custom endpoint (e.g., for LocalStack)\n\tcredentials?: {\n\t\taccessKeyId: string;\n\t\tsecretAccessKey: string;\n\t\tsessionToken?: string;\n\t};\n}\n\nexport class SNSConnection implements EventConnection {\n\treadonly type = EventPublisherType.SNS;\n\tprivate client: SNSClient;\n\tprivate connected = false;\n\tprivate config: SNSConnectionConfig;\n\n\tconstructor(config: SNSConnectionConfig) {\n\t\tthis.config = config;\n\n\t\tconst clientConfig: SNSClientConfig = {\n\t\t\tregion: config.region,\n\t\t\tendpoint: config.endpoint,\n\t\t\tcredentials: config.credentials,\n\t\t};\n\n\t\tthis.client = new SNSClient(clientConfig);\n\t}\n\n\t/**\n\t * Create an SNSConnection from a connection string\n\t * Format: sns://?topicArn=arn:aws:sns:region:account:topic&region=us-east-1&endpoint=http://localhost:4566\n\t */\n\tstatic async fromConnectionString(\n\t\tconnectionString: string,\n\t): Promise<SNSConnection> {\n\t\tconst url = new URL(connectionString);\n\t\tconst params = url.searchParams;\n\n\t\tconst topicArn = params.get('topicArn');\n\t\tif (!topicArn) {\n\t\t\tthrow new Error('topicArn parameter is required in connection string');\n\t\t}\n\n\t\tconst config: SNSConnectionConfig = {\n\t\t\ttopicArn,\n\t\t\tregion: params.get('region') || undefined,\n\t\t\tendpoint: params.get('endpoint') || undefined,\n\t\t};\n\n\t\t// Parse credentials if provided\n\t\tconst accessKeyId = params.get('accessKeyId');\n\t\tconst secretAccessKey = params.get('secretAccessKey');\n\t\tif (accessKeyId && secretAccessKey) {\n\t\t\tconfig.credentials = {\n\t\t\t\taccessKeyId,\n\t\t\t\tsecretAccessKey,\n\t\t\t\tsessionToken: params.get('sessionToken') || undefined,\n\t\t\t};\n\t\t}\n\n\t\tconst connection = new SNSConnection(config);\n\t\tawait connection.connect();\n\t\treturn connection;\n\t}\n\n\tasync connect(): Promise<void> {\n\t\t// SNS doesn't have a traditional connection, but we mark as connected\n\t\tthis.connected = true;\n\t}\n\n\tasync close(): Promise<void> {\n\t\tthis.client.destroy();\n\t\tthis.connected = false;\n\t}\n\n\tisConnected(): boolean {\n\t\treturn this.connected;\n\t}\n\n\t/**\n\t * Get the underlying SNS client\n\t */\n\tget snsClient(): SNSClient {\n\t\treturn this.client;\n\t}\n\n\t/**\n\t * Get the topic ARN for this connection\n\t */\n\tget topicArn(): string {\n\t\treturn this.config.topicArn;\n\t}\n}\n"],"mappings":";;;;;AAeA,IAAa,gBAAb,MAAa,cAAyC;CACrD,AAAS,OAAOA,iCAAmB;CACnC,AAAQ;CACR,AAAQ,YAAY;CACpB,AAAQ;CAER,YAAYC,QAA6B;AACxC,OAAK,SAAS;EAEd,MAAMC,eAAgC;GACrC,QAAQ,OAAO;GACf,UAAU,OAAO;GACjB,aAAa,OAAO;EACpB;AAED,OAAK,SAAS,IAAIC,+BAAU;CAC5B;;;;;CAMD,aAAa,qBACZC,kBACyB;EACzB,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAEnB,MAAM,WAAW,OAAO,IAAI,WAAW;AACvC,OAAK,SACJ,OAAM,IAAI,MAAM;EAGjB,MAAMH,SAA8B;GACnC;GACA,QAAQ,OAAO,IAAI,SAAS;GAC5B,UAAU,OAAO,IAAI,WAAW;EAChC;EAGD,MAAM,cAAc,OAAO,IAAI,cAAc;EAC7C,MAAM,kBAAkB,OAAO,IAAI,kBAAkB;AACrD,MAAI,eAAe,gBAClB,QAAO,cAAc;GACpB;GACA;GACA,cAAc,OAAO,IAAI,eAAe;EACxC;EAGF,MAAM,aAAa,IAAI,cAAc;AACrC,QAAM,WAAW,SAAS;AAC1B,SAAO;CACP;CAED,MAAM,UAAyB;AAE9B,OAAK,YAAY;CACjB;CAED,MAAM,QAAuB;AAC5B,OAAK,OAAO,SAAS;AACrB,OAAK,YAAY;CACjB;CAED,cAAuB;AACtB,SAAO,KAAK;CACZ;;;;CAKD,IAAI,YAAuB;AAC1B,SAAO,KAAK;CACZ;;;;CAKD,IAAI,WAAmB;AACtB,SAAO,KAAK,OAAO;CACnB;AACD"}
@@ -1,41 +0,0 @@
1
- import { EventConnection, EventPublisherType } from "./types-Dh9Jyinx.mjs";
2
- import { SNSClient } from "@aws-sdk/client-sns";
3
-
4
- //#region src/sns/SNSConnection.d.ts
5
- interface SNSConnectionConfig {
6
- topicArn: string;
7
- region?: string;
8
- endpoint?: string;
9
- credentials?: {
10
- accessKeyId: string;
11
- secretAccessKey: string;
12
- sessionToken?: string;
13
- };
14
- }
15
- declare class SNSConnection implements EventConnection {
16
- readonly type = EventPublisherType.SNS;
17
- private client;
18
- private connected;
19
- private config;
20
- constructor(config: SNSConnectionConfig);
21
- /**
22
- * Create an SNSConnection from a connection string
23
- * Format: sns://?topicArn=arn:aws:sns:region:account:topic&region=us-east-1&endpoint=http://localhost:4566
24
- */
25
- static fromConnectionString(connectionString: string): Promise<SNSConnection>;
26
- connect(): Promise<void>;
27
- close(): Promise<void>;
28
- isConnected(): boolean;
29
- /**
30
- * Get the underlying SNS client
31
- */
32
- get snsClient(): SNSClient;
33
- /**
34
- * Get the topic ARN for this connection
35
- */
36
- get topicArn(): string;
37
- }
38
- //# sourceMappingURL=SNSConnection.d.ts.map
39
- //#endregion
40
- export { SNSConnection, SNSConnectionConfig };
41
- //# sourceMappingURL=SNSConnection-CG4iEwA8.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SNSConnection-CG4iEwA8.d.mts","names":[],"sources":["../src/sns/SNSConnection.ts"],"sourcesContent":[],"mappings":";;;;UAIiB,mBAAA;EAAA,QAAA,EAAA,MAAA;EAWJ,MAAA,CAAA,EAAA,MAAA;EAAc,QAAA,CAAA,EAAA,MAAA;EAAA,WACb,CAAA,EAAA;IAKO,WAAA,EAAA,MAAA;IAkBT,eAAA,EAAA,MAAA;IAAR,YAAA,CAAA,EAAA,MAAA;EAAO,CAAA;;AAgDO,cAxEL,aAAA,YAAyB,eAwEpB,CAAA;EAAS,SAxEW,IAAA,GACxB,kBAAA,CAAA,GAAA;EADuC,QAAA,MAAA;;;sBAMhC;;;;;yDAkBjB,QAAQ;aA+BM;WAKF;;;;;mBAYE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SNSConnection-CVjH93lb.mjs","names":["config: SNSConnectionConfig","clientConfig: SNSClientConfig","connectionString: string"],"sources":["../src/sns/SNSConnection.ts"],"sourcesContent":["import { SNSClient, type SNSClientConfig } from '@aws-sdk/client-sns';\nimport type { EventConnection } from '../types';\nimport { EventPublisherType } from '../types';\n\nexport interface SNSConnectionConfig {\n\ttopicArn: string;\n\tregion?: string;\n\tendpoint?: string; // Custom endpoint (e.g., for LocalStack)\n\tcredentials?: {\n\t\taccessKeyId: string;\n\t\tsecretAccessKey: string;\n\t\tsessionToken?: string;\n\t};\n}\n\nexport class SNSConnection implements EventConnection {\n\treadonly type = EventPublisherType.SNS;\n\tprivate client: SNSClient;\n\tprivate connected = false;\n\tprivate config: SNSConnectionConfig;\n\n\tconstructor(config: SNSConnectionConfig) {\n\t\tthis.config = config;\n\n\t\tconst clientConfig: SNSClientConfig = {\n\t\t\tregion: config.region,\n\t\t\tendpoint: config.endpoint,\n\t\t\tcredentials: config.credentials,\n\t\t};\n\n\t\tthis.client = new SNSClient(clientConfig);\n\t}\n\n\t/**\n\t * Create an SNSConnection from a connection string\n\t * Format: sns://?topicArn=arn:aws:sns:region:account:topic&region=us-east-1&endpoint=http://localhost:4566\n\t */\n\tstatic async fromConnectionString(\n\t\tconnectionString: string,\n\t): Promise<SNSConnection> {\n\t\tconst url = new URL(connectionString);\n\t\tconst params = url.searchParams;\n\n\t\tconst topicArn = params.get('topicArn');\n\t\tif (!topicArn) {\n\t\t\tthrow new Error('topicArn parameter is required in connection string');\n\t\t}\n\n\t\tconst config: SNSConnectionConfig = {\n\t\t\ttopicArn,\n\t\t\tregion: params.get('region') || undefined,\n\t\t\tendpoint: params.get('endpoint') || undefined,\n\t\t};\n\n\t\t// Parse credentials if provided\n\t\tconst accessKeyId = params.get('accessKeyId');\n\t\tconst secretAccessKey = params.get('secretAccessKey');\n\t\tif (accessKeyId && secretAccessKey) {\n\t\t\tconfig.credentials = {\n\t\t\t\taccessKeyId,\n\t\t\t\tsecretAccessKey,\n\t\t\t\tsessionToken: params.get('sessionToken') || undefined,\n\t\t\t};\n\t\t}\n\n\t\tconst connection = new SNSConnection(config);\n\t\tawait connection.connect();\n\t\treturn connection;\n\t}\n\n\tasync connect(): Promise<void> {\n\t\t// SNS doesn't have a traditional connection, but we mark as connected\n\t\tthis.connected = true;\n\t}\n\n\tasync close(): Promise<void> {\n\t\tthis.client.destroy();\n\t\tthis.connected = false;\n\t}\n\n\tisConnected(): boolean {\n\t\treturn this.connected;\n\t}\n\n\t/**\n\t * Get the underlying SNS client\n\t */\n\tget snsClient(): SNSClient {\n\t\treturn this.client;\n\t}\n\n\t/**\n\t * Get the topic ARN for this connection\n\t */\n\tget topicArn(): string {\n\t\treturn this.config.topicArn;\n\t}\n}\n"],"mappings":";;;;AAeA,IAAa,gBAAb,MAAa,cAAyC;CACrD,AAAS,OAAO,mBAAmB;CACnC,AAAQ;CACR,AAAQ,YAAY;CACpB,AAAQ;CAER,YAAYA,QAA6B;AACxC,OAAK,SAAS;EAEd,MAAMC,eAAgC;GACrC,QAAQ,OAAO;GACf,UAAU,OAAO;GACjB,aAAa,OAAO;EACpB;AAED,OAAK,SAAS,IAAI,UAAU;CAC5B;;;;;CAMD,aAAa,qBACZC,kBACyB;EACzB,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAEnB,MAAM,WAAW,OAAO,IAAI,WAAW;AACvC,OAAK,SACJ,OAAM,IAAI,MAAM;EAGjB,MAAMF,SAA8B;GACnC;GACA,QAAQ,OAAO,IAAI,SAAS;GAC5B,UAAU,OAAO,IAAI,WAAW;EAChC;EAGD,MAAM,cAAc,OAAO,IAAI,cAAc;EAC7C,MAAM,kBAAkB,OAAO,IAAI,kBAAkB;AACrD,MAAI,eAAe,gBAClB,QAAO,cAAc;GACpB;GACA;GACA,cAAc,OAAO,IAAI,eAAe;EACxC;EAGF,MAAM,aAAa,IAAI,cAAc;AACrC,QAAM,WAAW,SAAS;AAC1B,SAAO;CACP;CAED,MAAM,UAAyB;AAE9B,OAAK,YAAY;CACjB;CAED,MAAM,QAAuB;AAC5B,OAAK,OAAO,SAAS;AACrB,OAAK,YAAY;CACjB;CAED,cAAuB;AACtB,SAAO,KAAK;CACZ;;;;CAKD,IAAI,YAAuB;AAC1B,SAAO,KAAK;CACZ;;;;CAKD,IAAI,WAAmB;AACtB,SAAO,KAAK,OAAO;CACnB;AACD"}
@@ -1,41 +0,0 @@
1
- import { EventConnection, EventPublisherType } from "./types-Dj23od3e.cjs";
2
- import { SNSClient } from "@aws-sdk/client-sns";
3
-
4
- //#region src/sns/SNSConnection.d.ts
5
- interface SNSConnectionConfig {
6
- topicArn: string;
7
- region?: string;
8
- endpoint?: string;
9
- credentials?: {
10
- accessKeyId: string;
11
- secretAccessKey: string;
12
- sessionToken?: string;
13
- };
14
- }
15
- declare class SNSConnection implements EventConnection {
16
- readonly type = EventPublisherType.SNS;
17
- private client;
18
- private connected;
19
- private config;
20
- constructor(config: SNSConnectionConfig);
21
- /**
22
- * Create an SNSConnection from a connection string
23
- * Format: sns://?topicArn=arn:aws:sns:region:account:topic&region=us-east-1&endpoint=http://localhost:4566
24
- */
25
- static fromConnectionString(connectionString: string): Promise<SNSConnection>;
26
- connect(): Promise<void>;
27
- close(): Promise<void>;
28
- isConnected(): boolean;
29
- /**
30
- * Get the underlying SNS client
31
- */
32
- get snsClient(): SNSClient;
33
- /**
34
- * Get the topic ARN for this connection
35
- */
36
- get topicArn(): string;
37
- }
38
- //# sourceMappingURL=SNSConnection.d.ts.map
39
- //#endregion
40
- export { SNSConnection, SNSConnectionConfig };
41
- //# sourceMappingURL=SNSConnection-Dol9FuxA.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SNSConnection-Dol9FuxA.d.cts","names":[],"sources":["../src/sns/SNSConnection.ts"],"sourcesContent":[],"mappings":";;;;UAIiB,mBAAA;EAAA,QAAA,EAAA,MAAA;EAWJ,MAAA,CAAA,EAAA,MAAA;EAAc,QAAA,CAAA,EAAA,MAAA;EAAA,WACb,CAAA,EAAA;IAKO,WAAA,EAAA,MAAA;IAkBT,eAAA,EAAA,MAAA;IAAR,YAAA,CAAA,EAAA,MAAA;EAAO,CAAA;;AAgDO,cAxEL,aAAA,YAAyB,eAwEpB,CAAA;EAAS,SAxEW,IAAA,GACxB,kBAAA,CAAA,GAAA;EADuC,QAAA,MAAA;;;sBAMhC;;;;;yDAkBjB,QAAQ;aA+BM;WAKF;;;;;mBAYE"}
@@ -1,41 +0,0 @@
1
- import { PublishCommand } from "@aws-sdk/client-sns";
2
-
3
- //#region src/sns/SNSPublisher.ts
4
- var SNSPublisher = class SNSPublisher {
5
- constructor(connection, _options = {}) {
6
- this.connection = connection;
7
- }
8
- /**
9
- * Create an SNSPublisher from a connection string
10
- * Format: sns://?topicArn=arn:aws:sns:region:account:topic&region=us-east-1&endpoint=http://localhost:4566
11
- */
12
- static async fromConnectionString(connectionString) {
13
- const { SNSConnection } = await import("./sns/SNSConnection.mjs");
14
- const connection = await SNSConnection.fromConnectionString(connectionString);
15
- return new SNSPublisher(connection);
16
- }
17
- async publish(messages) {
18
- if (messages.length === 0) return;
19
- if (!this.connection.isConnected()) await this.connection.connect();
20
- await Promise.all(messages.map((message) => this.publishMessage(message)));
21
- }
22
- async publishMessage(message) {
23
- const command = new PublishCommand({
24
- TopicArn: this.connection.topicArn,
25
- Message: JSON.stringify({
26
- type: message.type,
27
- payload: message.payload
28
- }),
29
- MessageAttributes: { type: {
30
- DataType: "String",
31
- StringValue: message.type
32
- } }
33
- });
34
- await this.connection.snsClient.send(command);
35
- }
36
- async close() {}
37
- };
38
-
39
- //#endregion
40
- export { SNSPublisher };
41
- //# sourceMappingURL=SNSPublisher-CjlMS3Z2.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SNSPublisher-CjlMS3Z2.mjs","names":["connection: SNSConnection","_options: SNSPublisherOptions","connectionString: string","messages: TMessage[]","message: TMessage"],"sources":["../src/sns/SNSPublisher.ts"],"sourcesContent":["import { PublishCommand } from '@aws-sdk/client-sns';\nimport type { EventPublisher, PublishableMessage } from '../types';\nimport type { SNSConnection } from './SNSConnection';\n\nexport type SNSPublisherOptions = {};\n\nexport class SNSPublisher<TMessage extends PublishableMessage<string, any>>\n\timplements EventPublisher<TMessage>\n{\n\tconstructor(\n\t\tprivate connection: SNSConnection,\n\t\t_options: SNSPublisherOptions = {},\n\t) {}\n\n\t/**\n\t * Create an SNSPublisher from a connection string\n\t * Format: sns://?topicArn=arn:aws:sns:region:account:topic&region=us-east-1&endpoint=http://localhost:4566\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(connectionString: string): Promise<SNSPublisher<TMessage>> {\n\t\tconst { SNSConnection } = await import('./SNSConnection');\n\t\tconst connection =\n\t\t\tawait SNSConnection.fromConnectionString(connectionString);\n\n\t\treturn new SNSPublisher<TMessage>(connection);\n\t}\n\n\tasync publish(messages: TMessage[]): Promise<void> {\n\t\tif (messages.length === 0) return;\n\n\t\tif (!this.connection.isConnected()) {\n\t\t\tawait this.connection.connect();\n\t\t}\n\n\t\t// Publish all messages\n\t\tawait Promise.all(messages.map((message) => this.publishMessage(message)));\n\t}\n\n\tprivate async publishMessage(message: TMessage): Promise<void> {\n\t\tconst command = new PublishCommand({\n\t\t\tTopicArn: this.connection.topicArn,\n\t\t\tMessage: JSON.stringify({\n\t\t\t\ttype: message.type,\n\t\t\t\tpayload: message.payload,\n\t\t\t}),\n\t\t\tMessageAttributes: {\n\t\t\t\ttype: {\n\t\t\t\t\tDataType: 'String',\n\t\t\t\t\tStringValue: message.type,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\tawait this.connection.snsClient.send(command);\n\t}\n\n\tasync close(): Promise<void> {\n\t\t// Publisher doesn't own the connection\n\t\t// Connection should be closed by whoever created it\n\t}\n}\n"],"mappings":";;;AAMA,IAAa,eAAb,MAAa,aAEb;CACC,YACSA,YACRC,WAAgC,CAAE,GACjC;EAFO;CAEL;;;;;CAMJ,aAAa,qBAEXC,kBAA2D;EAC5D,MAAM,EAAE,eAAe,GAAG,MAAM,OAAO;EACvC,MAAM,aACL,MAAM,cAAc,qBAAqB,iBAAiB;AAE3D,SAAO,IAAI,aAAuB;CAClC;CAED,MAAM,QAAQC,UAAqC;AAClD,MAAI,SAAS,WAAW,EAAG;AAE3B,OAAK,KAAK,WAAW,aAAa,CACjC,OAAM,KAAK,WAAW,SAAS;AAIhC,QAAM,QAAQ,IAAI,SAAS,IAAI,CAAC,YAAY,KAAK,eAAe,QAAQ,CAAC,CAAC;CAC1E;CAED,MAAc,eAAeC,SAAkC;EAC9D,MAAM,UAAU,IAAI,eAAe;GAClC,UAAU,KAAK,WAAW;GAC1B,SAAS,KAAK,UAAU;IACvB,MAAM,QAAQ;IACd,SAAS,QAAQ;GACjB,EAAC;GACF,mBAAmB,EAClB,MAAM;IACL,UAAU;IACV,aAAa,QAAQ;GACrB,EACD;EACD;AAED,QAAM,KAAK,WAAW,UAAU,KAAK,QAAQ;CAC7C;CAED,MAAM,QAAuB,CAG5B;AACD"}
@@ -1,22 +0,0 @@
1
- import { EventPublisher, PublishableMessage } from "./types-Dh9Jyinx.mjs";
2
- import { SNSConnection } from "./SNSConnection-CG4iEwA8.mjs";
3
-
4
- //#region src/sns/SNSPublisher.d.ts
5
- type SNSPublisherOptions = {};
6
- declare class SNSPublisher<TMessage extends PublishableMessage<string, any>> implements EventPublisher<TMessage> {
7
- private connection;
8
- constructor(connection: SNSConnection, _options?: SNSPublisherOptions);
9
- /**
10
- * Create an SNSPublisher from a connection string
11
- * Format: sns://?topicArn=arn:aws:sns:region:account:topic&region=us-east-1&endpoint=http://localhost:4566
12
- */
13
- static fromConnectionString<TMessage extends PublishableMessage<string, any>>(connectionString: string): Promise<SNSPublisher<TMessage>>;
14
- publish(messages: TMessage[]): Promise<void>;
15
- private publishMessage;
16
- close(): Promise<void>;
17
- }
18
- //# sourceMappingURL=SNSPublisher.d.ts.map
19
-
20
- //#endregion
21
- export { SNSPublisher, SNSPublisherOptions };
22
- //# sourceMappingURL=SNSPublisher-D50dPCEh.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SNSPublisher-D50dPCEh.d.mts","names":[],"sources":["../src/sns/SNSPublisher.ts"],"sourcesContent":[],"mappings":";;;;KAIY,mBAAA;cAEC,8BAA8B,4CAC/B,eAAe;EAHf,QAAA,UAAA;EAEC,WAAA,CAAA,UAAY,EAIH,aAJG,EAAA,QAAA,CAAA,EAKb,mBALa;EAAA;;;;EAIU,OACvB,oBAAA,CAAA,iBAQO,kBARP,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,EASkB,OATlB,CAS0B,YAT1B,CASuC,QATvC,CAAA,CAAA;EAAwB,OAQjB,CAAA,QAAA,EASM,QATN,EAAA,CAAA,EASmB,OATnB,CAAA,IAAA,CAAA;EAAkB,QACc,cAAA;EAAQ,KAArB,CAAA,CAAA,EAqCtB,OArCsB,CAAA,IAAA,CAAA"}
@@ -1,22 +0,0 @@
1
- import { EventPublisher, PublishableMessage } from "./types-Dj23od3e.cjs";
2
- import { SNSConnection } from "./SNSConnection-Dol9FuxA.cjs";
3
-
4
- //#region src/sns/SNSPublisher.d.ts
5
- type SNSPublisherOptions = {};
6
- declare class SNSPublisher<TMessage extends PublishableMessage<string, any>> implements EventPublisher<TMessage> {
7
- private connection;
8
- constructor(connection: SNSConnection, _options?: SNSPublisherOptions);
9
- /**
10
- * Create an SNSPublisher from a connection string
11
- * Format: sns://?topicArn=arn:aws:sns:region:account:topic&region=us-east-1&endpoint=http://localhost:4566
12
- */
13
- static fromConnectionString<TMessage extends PublishableMessage<string, any>>(connectionString: string): Promise<SNSPublisher<TMessage>>;
14
- publish(messages: TMessage[]): Promise<void>;
15
- private publishMessage;
16
- close(): Promise<void>;
17
- }
18
- //# sourceMappingURL=SNSPublisher.d.ts.map
19
-
20
- //#endregion
21
- export { SNSPublisher, SNSPublisherOptions };
22
- //# sourceMappingURL=SNSPublisher-DQunY4NM.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SNSPublisher-DQunY4NM.d.cts","names":[],"sources":["../src/sns/SNSPublisher.ts"],"sourcesContent":[],"mappings":";;;;KAIY,mBAAA;cAEC,8BAA8B,4CAC/B,eAAe;EAHf,QAAA,UAAA;EAEC,WAAA,CAAA,UAAY,EAIH,aAJG,EAAA,QAAA,CAAA,EAKb,mBALa;EAAA;;;;EAIU,OACvB,oBAAA,CAAA,iBAQO,kBARP,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,EASkB,OATlB,CAS0B,YAT1B,CASuC,QATvC,CAAA,CAAA;EAAwB,OAQjB,CAAA,QAAA,EASM,QATN,EAAA,CAAA,EASmB,OATnB,CAAA,IAAA,CAAA;EAAkB,QACc,cAAA;EAAQ,KAArB,CAAA,CAAA,EAqCtB,OArCsB,CAAA,IAAA,CAAA"}