@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snsUrl-CifYhPAa.mjs","names":["address: SnsAddress","connectionString: string","parsed: URL","url: string","expected: string","actual: string"],"sources":["../src/sns/snsUrl.ts"],"sourcesContent":["/**\n * The `sns://` connection-string codec — how a topic is addressed as one string.\n *\n * The twin of `sqsUrl`, and separate from it for the same reason `gs://` would\n * be separate from `s3://`: a topic ARN and a queue URL are different\n * vocabularies, and a shared codec would have to contain both. What they share\n * is only the rule that a construct provides one string.\n *\n * Both directions live here so they cannot drift: `parse(build(x))` is `x`.\n */\n\n/** What an SNS connection string addresses. */\nexport interface SnsAddress {\n\ttopicArn: string;\n\t/** Read off the topic, never inherited: a topic may live in another region. */\n\tregion?: string;\n\t/** Set for SNS-compatible backends such as LocalStack. */\n\tendpoint?: string;\n\t/**\n\t * The queue a subscriber drains.\n\t *\n\t * Present only on the subscriber's string: fan-out delivers to a queue per\n\t * subscriber, so the publisher's string names the topic and nothing else.\n\t */\n\tqueueName?: string;\n}\n\nconst SCHEME = 'sns:';\n\n/**\n * Compose an address into a connection string.\n *\n * Credentials never appear, for the same reason they never appear in an\n * `s3://` URL: the SDK resolves them from its own chain.\n */\nexport function build(address: SnsAddress): string {\n\tconst { topicArn, region, endpoint, queueName } = address;\n\tif (!topicArn) throw new MissingTopicArn('');\n\n\tconst url = new URL(`${SCHEME}//`);\n\turl.searchParams.set('topicArn', topicArn);\n\tif (region) url.searchParams.set('region', region);\n\tif (endpoint) url.searchParams.set('endpoint', endpoint);\n\tif (queueName) url.searchParams.set('queueName', queueName);\n\n\treturn url.toString();\n}\n\n/** Parse a connection string back into an address. */\nexport function parse(connectionString: string): SnsAddress {\n\tlet parsed: URL;\n\ttry {\n\t\tparsed = new URL(connectionString);\n\t} catch {\n\t\tthrow new MalformedTopicUrl(connectionString);\n\t}\n\n\tif (parsed.protocol !== SCHEME) {\n\t\tthrow new UnexpectedTopicScheme(connectionString, SCHEME, parsed.protocol);\n\t}\n\n\tconst topicArn = parsed.searchParams.get('topicArn');\n\tif (!topicArn) throw new MissingTopicArn(connectionString);\n\n\tconst region = parsed.searchParams.get('region') ?? undefined;\n\tconst endpoint = parsed.searchParams.get('endpoint') ?? undefined;\n\tconst queueName = parsed.searchParams.get('queueName') ?? undefined;\n\n\treturn {\n\t\ttopicArn,\n\t\t...(region ? { region } : {}),\n\t\t...(endpoint ? { endpoint } : {}),\n\t\t...(queueName ? { queueName } : {}),\n\t};\n}\n\n/** The string is not a URL at all. */\nexport class MalformedTopicUrl extends Error {\n\tconstructor(readonly url: string) {\n\t\tsuper(`'${url}' is not a valid connection string.`);\n\t\tthis.name = 'MalformedTopicUrl';\n\t}\n}\n\n/** The string is a URL, but not an `sns://` one. */\nexport class UnexpectedTopicScheme extends Error {\n\tconstructor(\n\t\treadonly url: string,\n\t\treadonly expected: string,\n\t\treadonly actual: string,\n\t) {\n\t\tsuper(\n\t\t\t`Expected a '${expected}//' connection string and got '${actual}//' in '${url}'.`,\n\t\t);\n\t\tthis.name = 'UnexpectedTopicScheme';\n\t}\n}\n\n/** An `sns://` string with no topic names nothing. */\nexport class MissingTopicArn extends Error {\n\tconstructor(readonly url: string) {\n\t\tsuper(\n\t\t\turl\n\t\t\t\t? `'${url}' names no topic: an sns:// connection string needs ?topicArn=.`\n\t\t\t\t: 'An sns:// connection string needs a topicArn.',\n\t\t);\n\t\tthis.name = 'MissingTopicArn';\n\t}\n}\n"],"mappings":";;;;;;;;;;;AA2BA,MAAM,SAAS;;;;;;;AAQf,SAAgB,MAAMA,SAA6B;CAClD,MAAM,EAAE,UAAU,QAAQ,UAAU,WAAW,GAAG;AAClD,MAAK,SAAU,OAAM,IAAI,gBAAgB;CAEzC,MAAM,MAAM,IAAI,KAAK,EAAE,OAAO;AAC9B,KAAI,aAAa,IAAI,YAAY,SAAS;AAC1C,KAAI,OAAQ,KAAI,aAAa,IAAI,UAAU,OAAO;AAClD,KAAI,SAAU,KAAI,aAAa,IAAI,YAAY,SAAS;AACxD,KAAI,UAAW,KAAI,aAAa,IAAI,aAAa,UAAU;AAE3D,QAAO,IAAI,UAAU;AACrB;;AAGD,SAAgB,MAAMC,kBAAsC;CAC3D,IAAIC;AACJ,KAAI;AACH,WAAS,IAAI,IAAI;CACjB,QAAO;AACP,QAAM,IAAI,kBAAkB;CAC5B;AAED,KAAI,OAAO,aAAa,OACvB,OAAM,IAAI,sBAAsB,kBAAkB,QAAQ,OAAO;CAGlE,MAAM,WAAW,OAAO,aAAa,IAAI,WAAW;AACpD,MAAK,SAAU,OAAM,IAAI,gBAAgB;CAEzC,MAAM,SAAS,OAAO,aAAa,IAAI,SAAS;CAChD,MAAM,WAAW,OAAO,aAAa,IAAI,WAAW;CACpD,MAAM,YAAY,OAAO,aAAa,IAAI,YAAY;AAEtD,QAAO;EACN;EACA,GAAI,SAAS,EAAE,OAAQ,IAAG,CAAE;EAC5B,GAAI,WAAW,EAAE,SAAU,IAAG,CAAE;EAChC,GAAI,YAAY,EAAE,UAAW,IAAG,CAAE;CAClC;AACD;;AAGD,IAAa,oBAAb,cAAuC,MAAM;CAC5C,YAAqBC,KAAa;AACjC,SAAO,GAAG,IAAI,qCAAqC;EAD/B;AAEpB,OAAK,OAAO;CACZ;AACD;;AAGD,IAAa,wBAAb,cAA2C,MAAM;CAChD,YACUA,KACAC,UACAC,QACR;AACD,SACE,cAAc,SAAS,iCAAiC,OAAO,UAAU,IAAI,IAC9E;EANQ;EACA;EACA;AAKT,OAAK,OAAO;CACZ;AACD;;AAGD,IAAa,kBAAb,cAAqC,MAAM;CAC1C,YAAqBF,KAAa;AACjC,QACC,OACI,GAAG,IAAI,mEACR,gDACH;EALmB;AAMpB,OAAK,OAAO;CACZ;AACD"}
@@ -0,0 +1,61 @@
1
+ import { __export } from "./chunk-B9dir_RE.mjs";
2
+
3
+ //#region src/sns/snsUrl.d.ts
4
+ declare namespace snsUrl_d_exports {
5
+ export { MalformedTopicUrl, MissingTopicArn, SnsAddress, UnexpectedTopicScheme, build, parse };
6
+ }
7
+ /**
8
+ * The `sns://` connection-string codec — how a topic is addressed as one string.
9
+ *
10
+ * The twin of `sqsUrl`, and separate from it for the same reason `gs://` would
11
+ * be separate from `s3://`: a topic ARN and a queue URL are different
12
+ * vocabularies, and a shared codec would have to contain both. What they share
13
+ * is only the rule that a construct provides one string.
14
+ *
15
+ * Both directions live here so they cannot drift: `parse(build(x))` is `x`.
16
+ */
17
+ /** What an SNS connection string addresses. */
18
+ interface SnsAddress {
19
+ topicArn: string;
20
+ /** Read off the topic, never inherited: a topic may live in another region. */
21
+ region?: string;
22
+ /** Set for SNS-compatible backends such as LocalStack. */
23
+ endpoint?: string;
24
+ /**
25
+ * The queue a subscriber drains.
26
+ *
27
+ * Present only on the subscriber's string: fan-out delivers to a queue per
28
+ * subscriber, so the publisher's string names the topic and nothing else.
29
+ */
30
+ queueName?: string;
31
+ }
32
+ /**
33
+ * Compose an address into a connection string.
34
+ *
35
+ * Credentials never appear, for the same reason they never appear in an
36
+ * `s3://` URL: the SDK resolves them from its own chain.
37
+ */
38
+ declare function build(address: SnsAddress): string;
39
+ /** Parse a connection string back into an address. */
40
+ declare function parse(connectionString: string): SnsAddress;
41
+ /** The string is not a URL at all. */
42
+ declare class MalformedTopicUrl extends Error {
43
+ readonly url: string;
44
+ constructor(url: string);
45
+ }
46
+ /** The string is a URL, but not an `sns://` one. */
47
+ declare class UnexpectedTopicScheme extends Error {
48
+ readonly url: string;
49
+ readonly expected: string;
50
+ readonly actual: string;
51
+ constructor(url: string, expected: string, actual: string);
52
+ }
53
+ /** An `sns://` string with no topic names nothing. */
54
+ declare class MissingTopicArn extends Error {
55
+ readonly url: string;
56
+ constructor(url: string);
57
+ }
58
+ //# sourceMappingURL=snsUrl.d.ts.map
59
+ //#endregion
60
+ export { MalformedTopicUrl, MissingTopicArn, SnsAddress, UnexpectedTopicScheme, build, parse, snsUrl_d_exports };
61
+ //# sourceMappingURL=snsUrl-FRbRcwF0.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snsUrl-FRbRcwF0.d.mts","names":[],"sources":["../src/sns/snsUrl.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;UAYiB,UAAA;EAAA,QAAA,EAAA,MAAU;EAuBX;EAcA,MAAA,CAAA,EAAK,MAAA;EA4BR;EAQA,QAAA,CAAA,EAAA,MAAA;EAcA;;;;;;;;;;;;;;iBAhEG,KAAA,UAAe;;iBAcf,KAAA,4BAAiC;;cA4BpC,iBAAA,SAA0B,KAAK;;;;;cAQ/B,qBAAA,SAA8B,KAAK;;;;;;;cAcnC,eAAA,SAAwB,KAAK"}
@@ -0,0 +1,114 @@
1
+ const require_chunk = require('./chunk-CsX-DzYB.cjs');
2
+
3
+ //#region src/sns/snsUrl.ts
4
+ var snsUrl_exports = {};
5
+ require_chunk.__export(snsUrl_exports, {
6
+ MalformedTopicUrl: () => MalformedTopicUrl,
7
+ MissingTopicArn: () => MissingTopicArn,
8
+ UnexpectedTopicScheme: () => UnexpectedTopicScheme,
9
+ build: () => build,
10
+ parse: () => parse
11
+ });
12
+ const SCHEME = "sns:";
13
+ /**
14
+ * Compose an address into a connection string.
15
+ *
16
+ * Credentials never appear, for the same reason they never appear in an
17
+ * `s3://` URL: the SDK resolves them from its own chain.
18
+ */
19
+ function build(address) {
20
+ const { topicArn, region, endpoint, queueName } = address;
21
+ if (!topicArn) throw new MissingTopicArn("");
22
+ const url = new URL(`${SCHEME}//`);
23
+ url.searchParams.set("topicArn", topicArn);
24
+ if (region) url.searchParams.set("region", region);
25
+ if (endpoint) url.searchParams.set("endpoint", endpoint);
26
+ if (queueName) url.searchParams.set("queueName", queueName);
27
+ return url.toString();
28
+ }
29
+ /** Parse a connection string back into an address. */
30
+ function parse(connectionString) {
31
+ let parsed;
32
+ try {
33
+ parsed = new URL(connectionString);
34
+ } catch {
35
+ throw new MalformedTopicUrl(connectionString);
36
+ }
37
+ if (parsed.protocol !== SCHEME) throw new UnexpectedTopicScheme(connectionString, SCHEME, parsed.protocol);
38
+ const topicArn = parsed.searchParams.get("topicArn");
39
+ if (!topicArn) throw new MissingTopicArn(connectionString);
40
+ const region = parsed.searchParams.get("region") ?? void 0;
41
+ const endpoint = parsed.searchParams.get("endpoint") ?? void 0;
42
+ const queueName = parsed.searchParams.get("queueName") ?? void 0;
43
+ return {
44
+ topicArn,
45
+ ...region ? { region } : {},
46
+ ...endpoint ? { endpoint } : {},
47
+ ...queueName ? { queueName } : {}
48
+ };
49
+ }
50
+ /** The string is not a URL at all. */
51
+ var MalformedTopicUrl = class extends Error {
52
+ constructor(url) {
53
+ super(`'${url}' is not a valid connection string.`);
54
+ this.url = url;
55
+ this.name = "MalformedTopicUrl";
56
+ }
57
+ };
58
+ /** The string is a URL, but not an `sns://` one. */
59
+ var UnexpectedTopicScheme = class extends Error {
60
+ constructor(url, expected, actual) {
61
+ super(`Expected a '${expected}//' connection string and got '${actual}//' in '${url}'.`);
62
+ this.url = url;
63
+ this.expected = expected;
64
+ this.actual = actual;
65
+ this.name = "UnexpectedTopicScheme";
66
+ }
67
+ };
68
+ /** An `sns://` string with no topic names nothing. */
69
+ var MissingTopicArn = class extends Error {
70
+ constructor(url) {
71
+ super(url ? `'${url}' names no topic: an sns:// connection string needs ?topicArn=.` : "An sns:// connection string needs a topicArn.");
72
+ this.url = url;
73
+ this.name = "MissingTopicArn";
74
+ }
75
+ };
76
+
77
+ //#endregion
78
+ Object.defineProperty(exports, 'MalformedTopicUrl', {
79
+ enumerable: true,
80
+ get: function () {
81
+ return MalformedTopicUrl;
82
+ }
83
+ });
84
+ Object.defineProperty(exports, 'MissingTopicArn', {
85
+ enumerable: true,
86
+ get: function () {
87
+ return MissingTopicArn;
88
+ }
89
+ });
90
+ Object.defineProperty(exports, 'UnexpectedTopicScheme', {
91
+ enumerable: true,
92
+ get: function () {
93
+ return UnexpectedTopicScheme;
94
+ }
95
+ });
96
+ Object.defineProperty(exports, 'build', {
97
+ enumerable: true,
98
+ get: function () {
99
+ return build;
100
+ }
101
+ });
102
+ Object.defineProperty(exports, 'parse', {
103
+ enumerable: true,
104
+ get: function () {
105
+ return parse;
106
+ }
107
+ });
108
+ Object.defineProperty(exports, 'snsUrl_exports', {
109
+ enumerable: true,
110
+ get: function () {
111
+ return snsUrl_exports;
112
+ }
113
+ });
114
+ //# sourceMappingURL=snsUrl-f2gU3CzK.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snsUrl-f2gU3CzK.cjs","names":["address: SnsAddress","connectionString: string","parsed: URL","url: string","expected: string","actual: string"],"sources":["../src/sns/snsUrl.ts"],"sourcesContent":["/**\n * The `sns://` connection-string codec — how a topic is addressed as one string.\n *\n * The twin of `sqsUrl`, and separate from it for the same reason `gs://` would\n * be separate from `s3://`: a topic ARN and a queue URL are different\n * vocabularies, and a shared codec would have to contain both. What they share\n * is only the rule that a construct provides one string.\n *\n * Both directions live here so they cannot drift: `parse(build(x))` is `x`.\n */\n\n/** What an SNS connection string addresses. */\nexport interface SnsAddress {\n\ttopicArn: string;\n\t/** Read off the topic, never inherited: a topic may live in another region. */\n\tregion?: string;\n\t/** Set for SNS-compatible backends such as LocalStack. */\n\tendpoint?: string;\n\t/**\n\t * The queue a subscriber drains.\n\t *\n\t * Present only on the subscriber's string: fan-out delivers to a queue per\n\t * subscriber, so the publisher's string names the topic and nothing else.\n\t */\n\tqueueName?: string;\n}\n\nconst SCHEME = 'sns:';\n\n/**\n * Compose an address into a connection string.\n *\n * Credentials never appear, for the same reason they never appear in an\n * `s3://` URL: the SDK resolves them from its own chain.\n */\nexport function build(address: SnsAddress): string {\n\tconst { topicArn, region, endpoint, queueName } = address;\n\tif (!topicArn) throw new MissingTopicArn('');\n\n\tconst url = new URL(`${SCHEME}//`);\n\turl.searchParams.set('topicArn', topicArn);\n\tif (region) url.searchParams.set('region', region);\n\tif (endpoint) url.searchParams.set('endpoint', endpoint);\n\tif (queueName) url.searchParams.set('queueName', queueName);\n\n\treturn url.toString();\n}\n\n/** Parse a connection string back into an address. */\nexport function parse(connectionString: string): SnsAddress {\n\tlet parsed: URL;\n\ttry {\n\t\tparsed = new URL(connectionString);\n\t} catch {\n\t\tthrow new MalformedTopicUrl(connectionString);\n\t}\n\n\tif (parsed.protocol !== SCHEME) {\n\t\tthrow new UnexpectedTopicScheme(connectionString, SCHEME, parsed.protocol);\n\t}\n\n\tconst topicArn = parsed.searchParams.get('topicArn');\n\tif (!topicArn) throw new MissingTopicArn(connectionString);\n\n\tconst region = parsed.searchParams.get('region') ?? undefined;\n\tconst endpoint = parsed.searchParams.get('endpoint') ?? undefined;\n\tconst queueName = parsed.searchParams.get('queueName') ?? undefined;\n\n\treturn {\n\t\ttopicArn,\n\t\t...(region ? { region } : {}),\n\t\t...(endpoint ? { endpoint } : {}),\n\t\t...(queueName ? { queueName } : {}),\n\t};\n}\n\n/** The string is not a URL at all. */\nexport class MalformedTopicUrl extends Error {\n\tconstructor(readonly url: string) {\n\t\tsuper(`'${url}' is not a valid connection string.`);\n\t\tthis.name = 'MalformedTopicUrl';\n\t}\n}\n\n/** The string is a URL, but not an `sns://` one. */\nexport class UnexpectedTopicScheme extends Error {\n\tconstructor(\n\t\treadonly url: string,\n\t\treadonly expected: string,\n\t\treadonly actual: string,\n\t) {\n\t\tsuper(\n\t\t\t`Expected a '${expected}//' connection string and got '${actual}//' in '${url}'.`,\n\t\t);\n\t\tthis.name = 'UnexpectedTopicScheme';\n\t}\n}\n\n/** An `sns://` string with no topic names nothing. */\nexport class MissingTopicArn extends Error {\n\tconstructor(readonly url: string) {\n\t\tsuper(\n\t\t\turl\n\t\t\t\t? `'${url}' names no topic: an sns:// connection string needs ?topicArn=.`\n\t\t\t\t: 'An sns:// connection string needs a topicArn.',\n\t\t);\n\t\tthis.name = 'MissingTopicArn';\n\t}\n}\n"],"mappings":";;;;;;;;;;;AA2BA,MAAM,SAAS;;;;;;;AAQf,SAAgB,MAAMA,SAA6B;CAClD,MAAM,EAAE,UAAU,QAAQ,UAAU,WAAW,GAAG;AAClD,MAAK,SAAU,OAAM,IAAI,gBAAgB;CAEzC,MAAM,MAAM,IAAI,KAAK,EAAE,OAAO;AAC9B,KAAI,aAAa,IAAI,YAAY,SAAS;AAC1C,KAAI,OAAQ,KAAI,aAAa,IAAI,UAAU,OAAO;AAClD,KAAI,SAAU,KAAI,aAAa,IAAI,YAAY,SAAS;AACxD,KAAI,UAAW,KAAI,aAAa,IAAI,aAAa,UAAU;AAE3D,QAAO,IAAI,UAAU;AACrB;;AAGD,SAAgB,MAAMC,kBAAsC;CAC3D,IAAIC;AACJ,KAAI;AACH,WAAS,IAAI,IAAI;CACjB,QAAO;AACP,QAAM,IAAI,kBAAkB;CAC5B;AAED,KAAI,OAAO,aAAa,OACvB,OAAM,IAAI,sBAAsB,kBAAkB,QAAQ,OAAO;CAGlE,MAAM,WAAW,OAAO,aAAa,IAAI,WAAW;AACpD,MAAK,SAAU,OAAM,IAAI,gBAAgB;CAEzC,MAAM,SAAS,OAAO,aAAa,IAAI,SAAS;CAChD,MAAM,WAAW,OAAO,aAAa,IAAI,WAAW;CACpD,MAAM,YAAY,OAAO,aAAa,IAAI,YAAY;AAEtD,QAAO;EACN;EACA,GAAI,SAAS,EAAE,OAAQ,IAAG,CAAE;EAC5B,GAAI,WAAW,EAAE,SAAU,IAAG,CAAE;EAChC,GAAI,YAAY,EAAE,UAAW,IAAG,CAAE;CAClC;AACD;;AAGD,IAAa,oBAAb,cAAuC,MAAM;CAC5C,YAAqBC,KAAa;AACjC,SAAO,GAAG,IAAI,qCAAqC;EAD/B;AAEpB,OAAK,OAAO;CACZ;AACD;;AAGD,IAAa,wBAAb,cAA2C,MAAM;CAChD,YACUA,KACAC,UACAC,QACR;AACD,SACE,cAAc,SAAS,iCAAiC,OAAO,UAAU,IAAI,IAC9E;EANQ;EACA;EACA;AAKT,OAAK,OAAO;CACZ;AACD;;AAGD,IAAa,kBAAb,cAAqC,MAAM;CAC1C,YAAqBF,KAAa;AACjC,QACC,OACI,GAAG,IAAI,mEACR,gDACH;EALmB;AAMpB,OAAK,OAAO;CACZ;AACD"}
@@ -1,8 +1,70 @@
1
+ const require_chunk = require('../chunk-CsX-DzYB.cjs');
1
2
  require('../types-Byv8N9ma.cjs');
2
- const require_SQSConnection = require('../SQSConnection-Y0mdVTcB.cjs');
3
- const require_SQSSubscriber = require('../SQSSubscriber-C4UA2hKq.cjs');
4
- const require_SQSPublisher = require('../SQSPublisher-CgUduk6H.cjs');
3
+ const require_sqsUrl = require('../sqsUrl-CdisN3GU.cjs');
4
+ const require_SQSConnection = require('../SQSConnection-BaC7rGhI.cjs');
5
+ const require_SQSSubscriber = require('../SQSSubscriber-YXPlg2rm.cjs');
6
+ const __aws_sdk_client_sqs = require_chunk.__toESM(require("@aws-sdk/client-sqs"));
7
+ const lodash_chunk = require_chunk.__toESM(require("lodash.chunk"));
5
8
 
9
+ //#region src/sqs/SQSPublisher.ts
10
+ var SQSPublisher = class SQSPublisher {
11
+ options;
12
+ constructor(connection, options = {}) {
13
+ this.connection = connection;
14
+ this.options = { maxBatchSize: options.maxBatchSize ?? 10 };
15
+ }
16
+ /**
17
+ * Create an SQSPublisher from a connection string
18
+ * Format: sqs://?queueUrl=https://sqs.region.amazonaws.com/accountId/queueName&region=us-east-1&endpoint=http://localhost:4566&maxBatchSize=10
19
+ */
20
+ static async fromConnectionString(connectionString) {
21
+ const url = new URL(connectionString);
22
+ const params = url.searchParams;
23
+ const { SQSConnection: SQSConnection$1 } = await Promise.resolve().then(() => require("../SQSConnection-BBLAvF-1.cjs"));
24
+ const connection = await SQSConnection$1.fromConnectionString(connectionString);
25
+ const options = { maxBatchSize: params.get("maxBatchSize") ? Number.parseInt(params.get("maxBatchSize"), 10) : void 0 };
26
+ return new SQSPublisher(connection, options);
27
+ }
28
+ async publish(messages) {
29
+ if (messages.length === 0) return;
30
+ if (!this.connection.isConnected()) await this.connection.connect();
31
+ const batches = (0, lodash_chunk.default)(messages, this.options.maxBatchSize);
32
+ await Promise.all(batches.map((batch) => this.sendBatch(batch)));
33
+ }
34
+ async sendBatch(messages) {
35
+ const entries = messages.map((message, index) => ({
36
+ Id: `${index}`,
37
+ MessageBody: JSON.stringify({
38
+ type: message.type,
39
+ payload: message.payload
40
+ }),
41
+ MessageAttributes: { type: {
42
+ DataType: "String",
43
+ StringValue: message.type
44
+ } }
45
+ }));
46
+ const input = {
47
+ QueueUrl: this.connection.queueUrl,
48
+ Entries: entries
49
+ };
50
+ const command = new __aws_sdk_client_sqs.SendMessageBatchCommand(input);
51
+ const response = await this.connection.sqsClient.send(command);
52
+ if (response.Failed && response.Failed.length > 0) {
53
+ const errors = response.Failed.map((f) => `${f.Id}: ${f.Code} - ${f.Message}`).join(", ");
54
+ throw new Error(`Failed to send ${response.Failed.length} messages: ${errors}`);
55
+ }
56
+ }
57
+ async close() {}
58
+ };
59
+
60
+ //#endregion
6
61
  exports.SQSConnection = require_SQSConnection.SQSConnection;
7
- exports.SQSPublisher = require_SQSPublisher.SQSPublisher;
8
- exports.SQSSubscriber = require_SQSSubscriber.SQSSubscriber;
62
+ exports.SQSPublisher = SQSPublisher;
63
+ exports.SQSSubscriber = require_SQSSubscriber.SQSSubscriber;
64
+ Object.defineProperty(exports, 'sqsUrl', {
65
+ enumerable: true,
66
+ get: function () {
67
+ return require_sqsUrl.sqsUrl_exports;
68
+ }
69
+ });
70
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["connection: SQSConnection","options: SQSPublisherOptions","connectionString: string","messages: TMessage[]","entries: SendMessageBatchRequestEntry[]","input: SendMessageBatchCommandInput","SendMessageBatchCommand"],"sources":["../../src/sqs/SQSPublisher.ts"],"sourcesContent":["import {\n\tSendMessageBatchCommand,\n\ttype SendMessageBatchCommandInput,\n\ttype SendMessageBatchRequestEntry,\n} from '@aws-sdk/client-sqs';\nimport chunk from 'lodash.chunk';\nimport type { EventPublisher, PublishableMessage } from '../types';\nimport type { SQSConnection } from './SQSConnection';\n\nexport interface SQSPublisherOptions {\n\tmaxBatchSize?: number; // Default: 10 (SQS limit)\n}\n\nexport class SQSPublisher<TMessage extends PublishableMessage<string, any>>\n\timplements EventPublisher<TMessage>\n{\n\treadonly options: Required<SQSPublisherOptions>;\n\n\tconstructor(\n\t\treadonly connection: SQSConnection,\n\t\toptions: SQSPublisherOptions = {},\n\t) {\n\t\tthis.options = {\n\t\t\tmaxBatchSize: options.maxBatchSize ?? 10, // SQS limit\n\t\t};\n\t}\n\n\t/**\n\t * Create an SQSPublisher from a connection string\n\t * Format: sqs://?queueUrl=https://sqs.region.amazonaws.com/accountId/queueName&region=us-east-1&endpoint=http://localhost:4566&maxBatchSize=10\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(connectionString: string): Promise<SQSPublisher<TMessage>> {\n\t\tconst url = new URL(connectionString);\n\t\tconst params = url.searchParams;\n\n\t\tconst { SQSConnection } = await import('./SQSConnection');\n\t\tconst connection =\n\t\t\tawait SQSConnection.fromConnectionString(connectionString);\n\n\t\tconst options: SQSPublisherOptions = {\n\t\t\tmaxBatchSize: params.get('maxBatchSize')\n\t\t\t\t? Number.parseInt(params.get('maxBatchSize')!, 10)\n\t\t\t\t: undefined,\n\t\t};\n\n\t\treturn new SQSPublisher<TMessage>(connection, options);\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// Split messages into batches (SQS limit is 10 messages per batch)\n\t\tconst batches = chunk(messages, this.options.maxBatchSize);\n\n\t\t// Send all batches\n\t\tawait Promise.all(batches.map((batch) => this.sendBatch(batch)));\n\t}\n\n\tprivate async sendBatch(messages: TMessage[]): Promise<void> {\n\t\tconst entries: SendMessageBatchRequestEntry[] = messages.map(\n\t\t\t(message, index) => ({\n\t\t\t\tId: `${index}`,\n\t\t\t\tMessageBody: JSON.stringify({\n\t\t\t\t\ttype: message.type,\n\t\t\t\t\tpayload: message.payload,\n\t\t\t\t}),\n\t\t\t\tMessageAttributes: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\tDataType: 'String',\n\t\t\t\t\t\tStringValue: message.type,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t);\n\n\t\tconst input: SendMessageBatchCommandInput = {\n\t\t\tQueueUrl: this.connection.queueUrl,\n\t\t\tEntries: entries,\n\t\t};\n\n\t\tconst command = new SendMessageBatchCommand(input);\n\t\tconst response = await this.connection.sqsClient.send(command);\n\n\t\t// Check for failures\n\t\tif (response.Failed && response.Failed.length > 0) {\n\t\t\tconst errors = response.Failed.map(\n\t\t\t\t(f) => `${f.Id}: ${f.Code} - ${f.Message}`,\n\t\t\t).join(', ');\n\t\t\tthrow new Error(\n\t\t\t\t`Failed to send ${response.Failed.length} messages: ${errors}`,\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":";;;;;;;;;AAaA,IAAa,eAAb,MAAa,aAEb;CACC,AAAS;CAET,YACUA,YACTC,UAA+B,CAAE,GAChC;EAFQ;AAGT,OAAK,UAAU,EACd,cAAc,QAAQ,gBAAgB,GACtC;CACD;;;;;CAMD,aAAa,qBAEXC,kBAA2D;EAC5D,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAEnB,MAAM,EAAE,gCAAe,GAAG,2CAAM;EAChC,MAAM,aACL,MAAM,gBAAc,qBAAqB,iBAAiB;EAE3D,MAAMD,UAA+B,EACpC,cAAc,OAAO,IAAI,eAAe,GACrC,OAAO,SAAS,OAAO,IAAI,eAAe,EAAG,GAAG,UAEnD;AAED,SAAO,IAAI,aAAuB,YAAY;CAC9C;CAED,MAAM,QAAQE,UAAqC;AAClD,MAAI,SAAS,WAAW,EAAG;AAE3B,OAAK,KAAK,WAAW,aAAa,CACjC,OAAM,KAAK,WAAW,SAAS;EAIhC,MAAM,UAAU,0BAAM,UAAU,KAAK,QAAQ,aAAa;AAG1D,QAAM,QAAQ,IAAI,QAAQ,IAAI,CAAC,UAAU,KAAK,UAAU,MAAM,CAAC,CAAC;CAChE;CAED,MAAc,UAAUA,UAAqC;EAC5D,MAAMC,UAA0C,SAAS,IACxD,CAAC,SAAS,WAAW;GACpB,KAAK,EAAE,MAAM;GACb,aAAa,KAAK,UAAU;IAC3B,MAAM,QAAQ;IACd,SAAS,QAAQ;GACjB,EAAC;GACF,mBAAmB,EAClB,MAAM;IACL,UAAU;IACV,aAAa,QAAQ;GACrB,EACD;EACD,GACD;EAED,MAAMC,QAAsC;GAC3C,UAAU,KAAK,WAAW;GAC1B,SAAS;EACT;EAED,MAAM,UAAU,IAAIC,6CAAwB;EAC5C,MAAM,WAAW,MAAM,KAAK,WAAW,UAAU,KAAK,QAAQ;AAG9D,MAAI,SAAS,UAAU,SAAS,OAAO,SAAS,GAAG;GAClD,MAAM,SAAS,SAAS,OAAO,IAC9B,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,EAAE,QAAQ,EACzC,CAAC,KAAK,KAAK;AACZ,SAAM,IAAI,OACR,iBAAiB,SAAS,OAAO,OAAO,aAAa,OAAO;EAE9D;CACD;CAED,MAAM,QAAuB,CAG5B;AACD"}
@@ -1,5 +1,101 @@
1
- import "../types-Dj23od3e.cjs";
2
- import { SQSConnection, SQSConnectionConfig } from "../SQSConnection-BtEkDha8.cjs";
3
- import { SQSPublisher, SQSPublisherOptions } from "../SQSPublisher-kyl5HW3N.cjs";
4
- import { SQSSubscriber, SQSSubscriberOptions } from "../SQSSubscriber-CDvaG4ij.cjs";
5
- export { SQSConnection, SQSConnectionConfig, SQSPublisher, SQSPublisherOptions, SQSSubscriber, SQSSubscriberOptions };
1
+ import { EventConnection, EventPublisher, EventPublisherType, EventSubscriber, PublishableMessage } from "../types-BmixGrOD.cjs";
2
+ import { SqsAddress, sqsUrl_d_exports } from "../sqsUrl-DZDPHxIk.cjs";
3
+ import { SQSClient } from "@aws-sdk/client-sqs";
4
+
5
+ //#region src/sqs/SQSConnection.d.ts
6
+ interface SQSConnectionConfig {
7
+ queueUrl: string;
8
+ region?: string;
9
+ endpoint?: string;
10
+ credentials?: {
11
+ accessKeyId: string;
12
+ secretAccessKey: string;
13
+ sessionToken?: string;
14
+ };
15
+ }
16
+ declare class SQSConnection implements EventConnection {
17
+ readonly config: SQSConnectionConfig;
18
+ readonly type = EventPublisherType.SQS;
19
+ private client;
20
+ private connected;
21
+ constructor(config: SQSConnectionConfig);
22
+ /**
23
+ * Create an SQSConnection from a connection string
24
+ * Format: sqs://?queueUrl=https://sqs.region.amazonaws.com/accountId/queueName&region=us-east-1&endpoint=http://localhost:4566
25
+ */
26
+ static fromConnectionString(connectionString: string): Promise<SQSConnection>;
27
+ connect(): Promise<void>;
28
+ close(): Promise<void>;
29
+ isConnected(): boolean;
30
+ /**
31
+ * Get the underlying SQS client
32
+ */
33
+ get sqsClient(): SQSClient;
34
+ /**
35
+ * Get the queue URL for this connection
36
+ */
37
+ get queueUrl(): string;
38
+ }
39
+ //# sourceMappingURL=SQSConnection.d.ts.map
40
+ //#endregion
41
+ //#region src/sqs/SQSPublisher.d.ts
42
+ interface SQSPublisherOptions {
43
+ maxBatchSize?: number;
44
+ }
45
+ declare class SQSPublisher<TMessage extends PublishableMessage<string, any>> implements EventPublisher<TMessage> {
46
+ readonly connection: SQSConnection;
47
+ readonly options: Required<SQSPublisherOptions>;
48
+ constructor(connection: SQSConnection, options?: SQSPublisherOptions);
49
+ /**
50
+ * Create an SQSPublisher from a connection string
51
+ * Format: sqs://?queueUrl=https://sqs.region.amazonaws.com/accountId/queueName&region=us-east-1&endpoint=http://localhost:4566&maxBatchSize=10
52
+ */
53
+ static fromConnectionString<TMessage extends PublishableMessage<string, any>>(connectionString: string): Promise<SQSPublisher<TMessage>>;
54
+ publish(messages: TMessage[]): Promise<void>;
55
+ private sendBatch;
56
+ close(): Promise<void>;
57
+ }
58
+ //# sourceMappingURL=SQSPublisher.d.ts.map
59
+ //#endregion
60
+ //#region src/sqs/SQSSubscriber.d.ts
61
+ interface SQSSubscriberOptions {
62
+ waitTimeSeconds?: number;
63
+ maxMessages?: number;
64
+ expectedTopicArn?: string;
65
+ }
66
+ /**
67
+ * SQS Subscriber - receives messages from an SQS queue
68
+ *
69
+ * This subscriber can receive:
70
+ * 1. Direct SQS messages
71
+ * 2. SNS messages that were pushed to the queue (SNS → SQS pattern)
72
+ *
73
+ * When receiving SNS messages, it:
74
+ * - Automatically detects and parses the SNS wrapper format
75
+ * - Filters by TopicArn (if expectedTopicArn is provided)
76
+ * - Filters by message type
77
+ * - Processes the actual message payload
78
+ */
79
+ declare class SQSSubscriber<TMessage extends PublishableMessage<string, any>> implements EventSubscriber<TMessage> {
80
+ private connection;
81
+ private polling;
82
+ private messageTypes;
83
+ private listener?;
84
+ private options;
85
+ constructor(connection: SQSConnection, options?: SQSSubscriberOptions);
86
+ subscribe(messages: TMessage['type'][], listener: (payload: TMessage) => Promise<void>): Promise<void>;
87
+ stop(): void;
88
+ private poll;
89
+ private processMessages;
90
+ /**
91
+ * Parse message body - handles both direct SQS messages and SNS-wrapped messages
92
+ */
93
+ private parseMessage;
94
+ private deleteMessage;
95
+ private sleep;
96
+ }
97
+ //# sourceMappingURL=SQSSubscriber.d.ts.map
98
+
99
+ //#endregion
100
+ export { SQSConnection, SQSConnectionConfig, SQSPublisher, SQSPublisherOptions, SQSSubscriber, SQSSubscriberOptions, SqsAddress, sqsUrl_d_exports as sqsUrl };
101
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/sqs/SQSConnection.ts","../../src/sqs/SQSPublisher.ts","../../src/sqs/SQSSubscriber.ts"],"sourcesContent":[],"mappings":";;;;;UAKiB,mBAAA;;EAAA,MAAA,CAAA,EAAA,MAAA;EAWJ,QAAA,CAAA,EAAA,MAAc;EAAA,WAAA,CAAA,EAAA;IAKG,WAAA,EAAA,MAAA;IAJhB,eAAA,EAAA,MAAA;IAIgB,YAAA,CAAA,EAAA,MAAA;EAAmB,CAAA;;AAgD/B,cArDL,aAAA,YAAyB,eAqDpB,CAAA;EAAO,SAKT,MAAA,EArDc,mBAqDd;EAAO,SAYL,IAAA,GArEJ,kBAAA,CAAA,GAAA;EAqEa,QAtEW,MAAA;EAAe,QAAA,SAAA;sBAKvB;;;ACZ9B;AAIA;EAAyB,OAAA,oBAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,ED0BrB,OC1BqB,CD0Bb,aC1Ba,CAAA;EAAA,OAAkB,CAAA,CAAA,EDwDzB,OCxDyB,CAAA,IAAA,CAAA;EAAkB,KAClC,CAAA,CAAA,ED4DX,OC5DW,CAAA,IAAA,CAAA;EAAQ,WAKZ,CAAA,CAAA,EAAA,OAAA;EAAa;;;EAAA,IACzB,SAAA,CAAA,CAAA,EDkEO,SClEP;EAAwB;;;EAae,IAApB,QAAA,CAAA,CAAA,EAAA,MAAA;;;;;UAxBb,mBAAA;;;ADJA,cCQJ,YDRuB,CAAA,iBCQO,kBDRP,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,YCSxB,cDTwB,CCST,QDTS,CAAA,CAAA;EAWvB,SAAA,UAAc,ECGJ,aDHI;EAAA,SAAA,OAAA,ECAR,QDAQ,CCAC,mBDAD,CAAA;EAAA,WAKG,CAAA,UAAA,ECFP,aDEO,EAAA,OAAA,CAAA,ECDnB,mBDCmB;EAAmB;;;;EAkBtC,OA8BO,oBAAA,CAAA,iBCrCC,kBDqCD,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,ECpCY,ODoCZ,CCpCoB,YDoCpB,CCpCiC,QDoCjC,CAAA,CAAA;EAAO,OAKT,CAAA,QAAA,ECxBS,QDwBT,EAAA,CAAA,ECxBsB,ODwBtB,CAAA,IAAA,CAAA;EAAO,QAYL,SAAA;EAAS,KAtEW,CAAA,CAAA,ECoFtB,ODpFsB,CAAA,IAAA,CAAA;AAAe;;;;UERpC,oBAAA;;;EFHA,gBAAA,CAAA,EAAA,MAAmB;AAWpC;;;;;;;;;;;AAAqD;;;cEWxC,+BAA+B,4CAChC,gBAAgB;EDnBX,QAAA,UAAA;EAIJ,QAAA,OAAY;EAAA,QAAA,YAAA;EAAA,QAAkB,QAAA;EAAkB,QAClC,OAAA;EAAQ,WAKZ,CAAA,UAAA,ECiBD,aDjBC,EAAA,OAAA,CAAA,ECkBZ,oBDlBY;EAAa,SAHR,CAAA,QAAA,EC+BhB,QD/BgB,CAAA,MAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,OAAA,ECgCN,QDhCM,EAAA,GCgCO,ODhCP,CAAA,IAAA,CAAA,CAAA,ECiCxB,ODjCwB,CAAA,IAAA,CAAA;EAAmB,IAA5B,CAAA,CAAA,EAAA,IAAA;EAAQ,QAGJ,IAAA;EAAa,QACzB,eAAA;EAAwB;;;EAae,QAApB,YAAA;EAAO,QAiBZ,aAAA;EAAQ,QAAK,KAAA"}
@@ -1,5 +1,101 @@
1
- import "../types-Dh9Jyinx.mjs";
2
- import { SQSConnection, SQSConnectionConfig } from "../SQSConnection-DVy43GCV.mjs";
3
- import { SQSPublisher, SQSPublisherOptions } from "../SQSPublisher-qDE5Fp-N.mjs";
4
- import { SQSSubscriber, SQSSubscriberOptions } from "../SQSSubscriber-JfFuAAoP.mjs";
5
- export { SQSConnection, SQSConnectionConfig, SQSPublisher, SQSPublisherOptions, SQSSubscriber, SQSSubscriberOptions };
1
+ import { EventConnection, EventPublisher, EventPublisherType, EventSubscriber, PublishableMessage } from "../types-DycjsYms.mjs";
2
+ import { SqsAddress, sqsUrl_d_exports } from "../sqsUrl-BV6zS-mi.mjs";
3
+ import { SQSClient } from "@aws-sdk/client-sqs";
4
+
5
+ //#region src/sqs/SQSConnection.d.ts
6
+ interface SQSConnectionConfig {
7
+ queueUrl: string;
8
+ region?: string;
9
+ endpoint?: string;
10
+ credentials?: {
11
+ accessKeyId: string;
12
+ secretAccessKey: string;
13
+ sessionToken?: string;
14
+ };
15
+ }
16
+ declare class SQSConnection implements EventConnection {
17
+ readonly config: SQSConnectionConfig;
18
+ readonly type = EventPublisherType.SQS;
19
+ private client;
20
+ private connected;
21
+ constructor(config: SQSConnectionConfig);
22
+ /**
23
+ * Create an SQSConnection from a connection string
24
+ * Format: sqs://?queueUrl=https://sqs.region.amazonaws.com/accountId/queueName&region=us-east-1&endpoint=http://localhost:4566
25
+ */
26
+ static fromConnectionString(connectionString: string): Promise<SQSConnection>;
27
+ connect(): Promise<void>;
28
+ close(): Promise<void>;
29
+ isConnected(): boolean;
30
+ /**
31
+ * Get the underlying SQS client
32
+ */
33
+ get sqsClient(): SQSClient;
34
+ /**
35
+ * Get the queue URL for this connection
36
+ */
37
+ get queueUrl(): string;
38
+ }
39
+ //# sourceMappingURL=SQSConnection.d.ts.map
40
+ //#endregion
41
+ //#region src/sqs/SQSPublisher.d.ts
42
+ interface SQSPublisherOptions {
43
+ maxBatchSize?: number;
44
+ }
45
+ declare class SQSPublisher<TMessage extends PublishableMessage<string, any>> implements EventPublisher<TMessage> {
46
+ readonly connection: SQSConnection;
47
+ readonly options: Required<SQSPublisherOptions>;
48
+ constructor(connection: SQSConnection, options?: SQSPublisherOptions);
49
+ /**
50
+ * Create an SQSPublisher from a connection string
51
+ * Format: sqs://?queueUrl=https://sqs.region.amazonaws.com/accountId/queueName&region=us-east-1&endpoint=http://localhost:4566&maxBatchSize=10
52
+ */
53
+ static fromConnectionString<TMessage extends PublishableMessage<string, any>>(connectionString: string): Promise<SQSPublisher<TMessage>>;
54
+ publish(messages: TMessage[]): Promise<void>;
55
+ private sendBatch;
56
+ close(): Promise<void>;
57
+ }
58
+ //# sourceMappingURL=SQSPublisher.d.ts.map
59
+ //#endregion
60
+ //#region src/sqs/SQSSubscriber.d.ts
61
+ interface SQSSubscriberOptions {
62
+ waitTimeSeconds?: number;
63
+ maxMessages?: number;
64
+ expectedTopicArn?: string;
65
+ }
66
+ /**
67
+ * SQS Subscriber - receives messages from an SQS queue
68
+ *
69
+ * This subscriber can receive:
70
+ * 1. Direct SQS messages
71
+ * 2. SNS messages that were pushed to the queue (SNS → SQS pattern)
72
+ *
73
+ * When receiving SNS messages, it:
74
+ * - Automatically detects and parses the SNS wrapper format
75
+ * - Filters by TopicArn (if expectedTopicArn is provided)
76
+ * - Filters by message type
77
+ * - Processes the actual message payload
78
+ */
79
+ declare class SQSSubscriber<TMessage extends PublishableMessage<string, any>> implements EventSubscriber<TMessage> {
80
+ private connection;
81
+ private polling;
82
+ private messageTypes;
83
+ private listener?;
84
+ private options;
85
+ constructor(connection: SQSConnection, options?: SQSSubscriberOptions);
86
+ subscribe(messages: TMessage['type'][], listener: (payload: TMessage) => Promise<void>): Promise<void>;
87
+ stop(): void;
88
+ private poll;
89
+ private processMessages;
90
+ /**
91
+ * Parse message body - handles both direct SQS messages and SNS-wrapped messages
92
+ */
93
+ private parseMessage;
94
+ private deleteMessage;
95
+ private sleep;
96
+ }
97
+ //# sourceMappingURL=SQSSubscriber.d.ts.map
98
+
99
+ //#endregion
100
+ export { SQSConnection, SQSConnectionConfig, SQSPublisher, SQSPublisherOptions, SQSSubscriber, SQSSubscriberOptions, SqsAddress, sqsUrl_d_exports as sqsUrl };
101
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/sqs/SQSConnection.ts","../../src/sqs/SQSPublisher.ts","../../src/sqs/SQSSubscriber.ts"],"sourcesContent":[],"mappings":";;;;;UAKiB,mBAAA;;EAAA,MAAA,CAAA,EAAA,MAAA;EAWJ,QAAA,CAAA,EAAA,MAAc;EAAA,WAAA,CAAA,EAAA;IAKG,WAAA,EAAA,MAAA;IAJhB,eAAA,EAAA,MAAA;IAIgB,YAAA,CAAA,EAAA,MAAA;EAAmB,CAAA;;AAgD/B,cArDL,aAAA,YAAyB,eAqDpB,CAAA;EAAO,SAKT,MAAA,EArDc,mBAqDd;EAAO,SAYL,IAAA,GArEJ,kBAAA,CAAA,GAAA;EAqEa,QAtEW,MAAA;EAAe,QAAA,SAAA;sBAKvB;;;ACZ9B;AAIA;EAAyB,OAAA,oBAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,ED0BrB,OC1BqB,CD0Bb,aC1Ba,CAAA;EAAA,OAAkB,CAAA,CAAA,EDwDzB,OCxDyB,CAAA,IAAA,CAAA;EAAkB,KAClC,CAAA,CAAA,ED4DX,OC5DW,CAAA,IAAA,CAAA;EAAQ,WAKZ,CAAA,CAAA,EAAA,OAAA;EAAa;;;EAAA,IACzB,SAAA,CAAA,CAAA,EDkEO,SClEP;EAAwB;;;EAae,IAApB,QAAA,CAAA,CAAA,EAAA,MAAA;;;;;UAxBb,mBAAA;;;ADJA,cCQJ,YDRuB,CAAA,iBCQO,kBDRP,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,YCSxB,cDTwB,CCST,QDTS,CAAA,CAAA;EAWvB,SAAA,UAAc,ECGJ,aDHI;EAAA,SAAA,OAAA,ECAR,QDAQ,CCAC,mBDAD,CAAA;EAAA,WAKG,CAAA,UAAA,ECFP,aDEO,EAAA,OAAA,CAAA,ECDnB,mBDCmB;EAAmB;;;;EAkBtC,OA8BO,oBAAA,CAAA,iBCrCC,kBDqCD,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,ECpCY,ODoCZ,CCpCoB,YDoCpB,CCpCiC,QDoCjC,CAAA,CAAA;EAAO,OAKT,CAAA,QAAA,ECxBS,QDwBT,EAAA,CAAA,ECxBsB,ODwBtB,CAAA,IAAA,CAAA;EAAO,QAYL,SAAA;EAAS,KAtEW,CAAA,CAAA,ECoFtB,ODpFsB,CAAA,IAAA,CAAA;AAAe;;;;UERpC,oBAAA;;;EFHA,gBAAA,CAAA,EAAA,MAAmB;AAWpC;;;;;;;;;;;AAAqD;;;cEWxC,+BAA+B,4CAChC,gBAAgB;EDnBX,QAAA,UAAA;EAIJ,QAAA,OAAY;EAAA,QAAA,YAAA;EAAA,QAAkB,QAAA;EAAkB,QAClC,OAAA;EAAQ,WAKZ,CAAA,UAAA,ECiBD,aDjBC,EAAA,OAAA,CAAA,ECkBZ,oBDlBY;EAAa,SAHR,CAAA,QAAA,EC+BhB,QD/BgB,CAAA,MAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,OAAA,ECgCN,QDhCM,EAAA,GCgCO,ODhCP,CAAA,IAAA,CAAA,CAAA,ECiCxB,ODjCwB,CAAA,IAAA,CAAA;EAAmB,IAA5B,CAAA,CAAA,EAAA,IAAA;EAAQ,QAGJ,IAAA;EAAa,QACzB,eAAA;EAAwB;;;EAae,QAApB,YAAA;EAAO,QAiBZ,aAAA;EAAQ,QAAK,KAAA"}
@@ -1,6 +1,61 @@
1
- import "../types-BrdcSEnd.mjs";
2
- import { SQSConnection } from "../SQSConnection-CT3S7_zP.mjs";
3
- import { SQSSubscriber } from "../SQSSubscriber-CQdSFzpe.mjs";
4
- import { SQSPublisher } from "../SQSPublisher-B-32CC4G.mjs";
1
+ import "../types-CYDt-2RQ.mjs";
2
+ import { sqsUrl_exports } from "../sqsUrl-CbAsBFHI.mjs";
3
+ import { SQSConnection } from "../SQSConnection-4tBMkVZE.mjs";
4
+ import { SQSSubscriber } from "../SQSSubscriber-BMWZ3s5q.mjs";
5
+ import { SendMessageBatchCommand } from "@aws-sdk/client-sqs";
6
+ import chunk from "lodash.chunk";
5
7
 
6
- export { SQSConnection, SQSPublisher, SQSSubscriber };
8
+ //#region src/sqs/SQSPublisher.ts
9
+ var SQSPublisher = class SQSPublisher {
10
+ options;
11
+ constructor(connection, options = {}) {
12
+ this.connection = connection;
13
+ this.options = { maxBatchSize: options.maxBatchSize ?? 10 };
14
+ }
15
+ /**
16
+ * Create an SQSPublisher from a connection string
17
+ * Format: sqs://?queueUrl=https://sqs.region.amazonaws.com/accountId/queueName&region=us-east-1&endpoint=http://localhost:4566&maxBatchSize=10
18
+ */
19
+ static async fromConnectionString(connectionString) {
20
+ const url = new URL(connectionString);
21
+ const params = url.searchParams;
22
+ const { SQSConnection: SQSConnection$1 } = await import("../SQSConnection-DbavOq8_.mjs");
23
+ const connection = await SQSConnection$1.fromConnectionString(connectionString);
24
+ const options = { maxBatchSize: params.get("maxBatchSize") ? Number.parseInt(params.get("maxBatchSize"), 10) : void 0 };
25
+ return new SQSPublisher(connection, options);
26
+ }
27
+ async publish(messages) {
28
+ if (messages.length === 0) return;
29
+ if (!this.connection.isConnected()) await this.connection.connect();
30
+ const batches = chunk(messages, this.options.maxBatchSize);
31
+ await Promise.all(batches.map((batch) => this.sendBatch(batch)));
32
+ }
33
+ async sendBatch(messages) {
34
+ const entries = messages.map((message, index) => ({
35
+ Id: `${index}`,
36
+ MessageBody: JSON.stringify({
37
+ type: message.type,
38
+ payload: message.payload
39
+ }),
40
+ MessageAttributes: { type: {
41
+ DataType: "String",
42
+ StringValue: message.type
43
+ } }
44
+ }));
45
+ const input = {
46
+ QueueUrl: this.connection.queueUrl,
47
+ Entries: entries
48
+ };
49
+ const command = new SendMessageBatchCommand(input);
50
+ const response = await this.connection.sqsClient.send(command);
51
+ if (response.Failed && response.Failed.length > 0) {
52
+ const errors = response.Failed.map((f) => `${f.Id}: ${f.Code} - ${f.Message}`).join(", ");
53
+ throw new Error(`Failed to send ${response.Failed.length} messages: ${errors}`);
54
+ }
55
+ }
56
+ async close() {}
57
+ };
58
+
59
+ //#endregion
60
+ export { SQSConnection, SQSPublisher, SQSSubscriber, sqsUrl_exports as sqsUrl };
61
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":["connection: SQSConnection","options: SQSPublisherOptions","connectionString: string","messages: TMessage[]","entries: SendMessageBatchRequestEntry[]","input: SendMessageBatchCommandInput"],"sources":["../../src/sqs/SQSPublisher.ts"],"sourcesContent":["import {\n\tSendMessageBatchCommand,\n\ttype SendMessageBatchCommandInput,\n\ttype SendMessageBatchRequestEntry,\n} from '@aws-sdk/client-sqs';\nimport chunk from 'lodash.chunk';\nimport type { EventPublisher, PublishableMessage } from '../types';\nimport type { SQSConnection } from './SQSConnection';\n\nexport interface SQSPublisherOptions {\n\tmaxBatchSize?: number; // Default: 10 (SQS limit)\n}\n\nexport class SQSPublisher<TMessage extends PublishableMessage<string, any>>\n\timplements EventPublisher<TMessage>\n{\n\treadonly options: Required<SQSPublisherOptions>;\n\n\tconstructor(\n\t\treadonly connection: SQSConnection,\n\t\toptions: SQSPublisherOptions = {},\n\t) {\n\t\tthis.options = {\n\t\t\tmaxBatchSize: options.maxBatchSize ?? 10, // SQS limit\n\t\t};\n\t}\n\n\t/**\n\t * Create an SQSPublisher from a connection string\n\t * Format: sqs://?queueUrl=https://sqs.region.amazonaws.com/accountId/queueName&region=us-east-1&endpoint=http://localhost:4566&maxBatchSize=10\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(connectionString: string): Promise<SQSPublisher<TMessage>> {\n\t\tconst url = new URL(connectionString);\n\t\tconst params = url.searchParams;\n\n\t\tconst { SQSConnection } = await import('./SQSConnection');\n\t\tconst connection =\n\t\t\tawait SQSConnection.fromConnectionString(connectionString);\n\n\t\tconst options: SQSPublisherOptions = {\n\t\t\tmaxBatchSize: params.get('maxBatchSize')\n\t\t\t\t? Number.parseInt(params.get('maxBatchSize')!, 10)\n\t\t\t\t: undefined,\n\t\t};\n\n\t\treturn new SQSPublisher<TMessage>(connection, options);\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// Split messages into batches (SQS limit is 10 messages per batch)\n\t\tconst batches = chunk(messages, this.options.maxBatchSize);\n\n\t\t// Send all batches\n\t\tawait Promise.all(batches.map((batch) => this.sendBatch(batch)));\n\t}\n\n\tprivate async sendBatch(messages: TMessage[]): Promise<void> {\n\t\tconst entries: SendMessageBatchRequestEntry[] = messages.map(\n\t\t\t(message, index) => ({\n\t\t\t\tId: `${index}`,\n\t\t\t\tMessageBody: JSON.stringify({\n\t\t\t\t\ttype: message.type,\n\t\t\t\t\tpayload: message.payload,\n\t\t\t\t}),\n\t\t\t\tMessageAttributes: {\n\t\t\t\t\ttype: {\n\t\t\t\t\t\tDataType: 'String',\n\t\t\t\t\t\tStringValue: message.type,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t);\n\n\t\tconst input: SendMessageBatchCommandInput = {\n\t\t\tQueueUrl: this.connection.queueUrl,\n\t\t\tEntries: entries,\n\t\t};\n\n\t\tconst command = new SendMessageBatchCommand(input);\n\t\tconst response = await this.connection.sqsClient.send(command);\n\n\t\t// Check for failures\n\t\tif (response.Failed && response.Failed.length > 0) {\n\t\t\tconst errors = response.Failed.map(\n\t\t\t\t(f) => `${f.Id}: ${f.Code} - ${f.Message}`,\n\t\t\t).join(', ');\n\t\t\tthrow new Error(\n\t\t\t\t`Failed to send ${response.Failed.length} messages: ${errors}`,\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":";;;;;;;;AAaA,IAAa,eAAb,MAAa,aAEb;CACC,AAAS;CAET,YACUA,YACTC,UAA+B,CAAE,GAChC;EAFQ;AAGT,OAAK,UAAU,EACd,cAAc,QAAQ,gBAAgB,GACtC;CACD;;;;;CAMD,aAAa,qBAEXC,kBAA2D;EAC5D,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAEnB,MAAM,EAAE,gCAAe,GAAG,MAAM,OAAO;EACvC,MAAM,aACL,MAAM,gBAAc,qBAAqB,iBAAiB;EAE3D,MAAMD,UAA+B,EACpC,cAAc,OAAO,IAAI,eAAe,GACrC,OAAO,SAAS,OAAO,IAAI,eAAe,EAAG,GAAG,UAEnD;AAED,SAAO,IAAI,aAAuB,YAAY;CAC9C;CAED,MAAM,QAAQE,UAAqC;AAClD,MAAI,SAAS,WAAW,EAAG;AAE3B,OAAK,KAAK,WAAW,aAAa,CACjC,OAAM,KAAK,WAAW,SAAS;EAIhC,MAAM,UAAU,MAAM,UAAU,KAAK,QAAQ,aAAa;AAG1D,QAAM,QAAQ,IAAI,QAAQ,IAAI,CAAC,UAAU,KAAK,UAAU,MAAM,CAAC,CAAC;CAChE;CAED,MAAc,UAAUA,UAAqC;EAC5D,MAAMC,UAA0C,SAAS,IACxD,CAAC,SAAS,WAAW;GACpB,KAAK,EAAE,MAAM;GACb,aAAa,KAAK,UAAU;IAC3B,MAAM,QAAQ;IACd,SAAS,QAAQ;GACjB,EAAC;GACF,mBAAmB,EAClB,MAAM;IACL,UAAU;IACV,aAAa,QAAQ;GACrB,EACD;EACD,GACD;EAED,MAAMC,QAAsC;GAC3C,UAAU,KAAK,WAAW;GAC1B,SAAS;EACT;EAED,MAAM,UAAU,IAAI,wBAAwB;EAC5C,MAAM,WAAW,MAAM,KAAK,WAAW,UAAU,KAAK,QAAQ;AAG9D,MAAI,SAAS,UAAU,SAAS,OAAO,SAAS,GAAG;GAClD,MAAM,SAAS,SAAS,OAAO,IAC9B,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,EAAE,QAAQ,EACzC,CAAC,KAAK,KAAK;AACZ,SAAM,IAAI,OACR,iBAAiB,SAAS,OAAO,OAAO,aAAa,OAAO;EAE9D;CACD;CAED,MAAM,QAAuB,CAG5B;AACD"}
@@ -0,0 +1,7 @@
1
+ const require_sqsUrl = require('../sqsUrl-CdisN3GU.cjs');
2
+
3
+ exports.MalformedQueueUrl = require_sqsUrl.MalformedQueueUrl;
4
+ exports.MissingQueueUrl = require_sqsUrl.MissingQueueUrl;
5
+ exports.UnexpectedQueueScheme = require_sqsUrl.UnexpectedQueueScheme;
6
+ exports.build = require_sqsUrl.build;
7
+ exports.parse = require_sqsUrl.parse;
@@ -0,0 +1,2 @@
1
+ import { MalformedQueueUrl, MissingQueueUrl, SqsAddress, UnexpectedQueueScheme, build, parse } from "../sqsUrl-DZDPHxIk.cjs";
2
+ export { MalformedQueueUrl, MissingQueueUrl, SqsAddress, UnexpectedQueueScheme, build, parse };
@@ -0,0 +1,2 @@
1
+ import { MalformedQueueUrl, MissingQueueUrl, SqsAddress, UnexpectedQueueScheme, build, parse } from "../sqsUrl-BV6zS-mi.mjs";
2
+ export { MalformedQueueUrl, MissingQueueUrl, SqsAddress, UnexpectedQueueScheme, build, parse };
@@ -0,0 +1,3 @@
1
+ import { MalformedQueueUrl, MissingQueueUrl, UnexpectedQueueScheme, build, parse } from "../sqsUrl-CbAsBFHI.mjs";
2
+
3
+ export { MalformedQueueUrl, MissingQueueUrl, UnexpectedQueueScheme, build, parse };