@geekmidas/events 1.1.6 → 10.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PgBossConnection-B71ssr72.cjs → PgBossConnection-23soZ_aM.cjs} +2 -2
- package/dist/{PgBossConnection-B71ssr72.cjs.map → PgBossConnection-23soZ_aM.cjs.map} +1 -1
- package/dist/PgBossConnection-CCXhoNzb.cjs +4 -0
- package/dist/{PgBossConnection-Bj_Wo1lQ.mjs → PgBossConnection-DvNbd4Zk.mjs} +2 -2
- package/dist/{PgBossConnection-Bj_Wo1lQ.mjs.map → PgBossConnection-DvNbd4Zk.mjs.map} +1 -1
- package/dist/PgBossConnection-_gdM40JB.mjs +4 -0
- package/dist/{RabbitMQConnection-DddqvI3I.cjs → RabbitMQConnection-BKEdCUro.cjs} +2 -2
- package/dist/{RabbitMQConnection-DddqvI3I.cjs.map → RabbitMQConnection-BKEdCUro.cjs.map} +1 -1
- package/dist/RabbitMQConnection-CCOqDDnb.cjs +4 -0
- package/dist/RabbitMQConnection-DJEyM-Bu.mjs +4 -0
- package/dist/{RabbitMQConnection-Cg7mp8u-.mjs → RabbitMQConnection-DJgUPc19.mjs} +2 -2
- package/dist/{RabbitMQConnection-Cg7mp8u-.mjs.map → RabbitMQConnection-DJgUPc19.mjs.map} +1 -1
- package/dist/{SNSConnection-DFehUWG1.cjs → SNSConnection-B2K86hpz.cjs} +7 -8
- package/dist/SNSConnection-B2K86hpz.cjs.map +1 -0
- package/dist/SNSConnection-BVo84FeW.mjs +5 -0
- package/dist/SNSConnection-DIHRjrQF.cjs +5 -0
- package/dist/{SNSConnection-CpMKzgx2.mjs → SNSConnection-v9jjF99w.mjs} +7 -8
- package/dist/SNSConnection-v9jjF99w.mjs.map +1 -0
- package/dist/{SQSConnection-BqZZnAZI.mjs → SQSConnection-4tBMkVZE.mjs} +7 -8
- package/dist/SQSConnection-4tBMkVZE.mjs.map +1 -0
- package/dist/SQSConnection-BBLAvF-1.cjs +5 -0
- package/dist/{SQSConnection-yge9cB_f.cjs → SQSConnection-BaC7rGhI.cjs} +7 -8
- package/dist/SQSConnection-BaC7rGhI.cjs.map +1 -0
- package/dist/SQSConnection-DbavOq8_.mjs +5 -0
- package/dist/{SQSSubscriber-CVGhZ8Nr.mjs → SQSSubscriber-BMWZ3s5q.mjs} +1 -1
- package/dist/{SQSSubscriber-CVGhZ8Nr.mjs.map → SQSSubscriber-BMWZ3s5q.mjs.map} +1 -1
- package/dist/{SQSSubscriber-B4sRXVl6.cjs → SQSSubscriber-YXPlg2rm.cjs} +2 -2
- package/dist/{SQSSubscriber-B4sRXVl6.cjs.map → SQSSubscriber-YXPlg2rm.cjs.map} +1 -1
- package/dist/basic/index.cjs +71 -8
- package/dist/basic/index.cjs.map +1 -0
- package/dist/basic/index.d.cts +44 -5
- package/dist/basic/index.d.cts.map +1 -0
- package/dist/basic/index.d.mts +44 -5
- package/dist/basic/index.d.mts.map +1 -0
- package/dist/basic/index.mjs +67 -5
- package/dist/basic/index.mjs.map +1 -0
- package/dist/chunk-B9dir_RE.mjs +11 -0
- package/dist/{chunk-CUT6urMc.cjs → chunk-CsX-DzYB.cjs} +12 -0
- package/dist/index.cjs +189 -6
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +46 -5
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +46 -5
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +188 -5
- package/dist/index.mjs.map +1 -0
- package/dist/pgboss/index.cjs +81 -5
- package/dist/pgboss/index.cjs.map +1 -0
- package/dist/pgboss/index.d.cts +65 -5
- package/dist/pgboss/index.d.cts.map +1 -0
- package/dist/pgboss/index.d.mts +65 -5
- package/dist/pgboss/index.d.mts.map +1 -0
- package/dist/pgboss/index.mjs +81 -5
- package/dist/pgboss/index.mjs.map +1 -0
- package/dist/rabbitmq/index.cjs +95 -5
- package/dist/rabbitmq/index.cjs.map +1 -0
- package/dist/rabbitmq/index.d.cts +83 -5
- package/dist/rabbitmq/index.d.cts.map +1 -0
- package/dist/rabbitmq/index.d.mts +83 -5
- package/dist/rabbitmq/index.d.mts.map +1 -0
- package/dist/rabbitmq/index.mjs +95 -5
- package/dist/rabbitmq/index.mjs.map +1 -0
- package/dist/sns/index.cjs +186 -7
- package/dist/sns/index.cjs.map +1 -0
- package/dist/sns/index.d.cts +109 -5
- package/dist/sns/index.d.cts.map +1 -0
- package/dist/sns/index.d.mts +109 -5
- package/dist/sns/index.d.mts.map +1 -0
- package/dist/sns/index.mjs +179 -7
- package/dist/sns/index.mjs.map +1 -0
- package/dist/sns/snsUrl.cjs +7 -0
- package/dist/sns/snsUrl.d.cts +2 -0
- package/dist/sns/snsUrl.d.mts +2 -0
- package/dist/sns/snsUrl.mjs +3 -0
- package/dist/snsUrl-ASdc0D1v.d.cts +61 -0
- package/dist/snsUrl-ASdc0D1v.d.cts.map +1 -0
- package/dist/snsUrl-CifYhPAa.mjs +79 -0
- package/dist/snsUrl-CifYhPAa.mjs.map +1 -0
- package/dist/snsUrl-FRbRcwF0.d.mts +61 -0
- package/dist/snsUrl-FRbRcwF0.d.mts.map +1 -0
- package/dist/snsUrl-f2gU3CzK.cjs +114 -0
- package/dist/snsUrl-f2gU3CzK.cjs.map +1 -0
- package/dist/sqs/index.cjs +67 -5
- package/dist/sqs/index.cjs.map +1 -0
- package/dist/sqs/index.d.cts +101 -5
- package/dist/sqs/index.d.cts.map +1 -0
- package/dist/sqs/index.d.mts +101 -5
- package/dist/sqs/index.d.mts.map +1 -0
- package/dist/sqs/index.mjs +60 -5
- package/dist/sqs/index.mjs.map +1 -0
- package/dist/sqs/sqsUrl.cjs +7 -0
- package/dist/sqs/sqsUrl.d.cts +2 -0
- package/dist/sqs/sqsUrl.d.mts +2 -0
- package/dist/sqs/sqsUrl.mjs +3 -0
- package/dist/sqsUrl-BV6zS-mi.d.mts +60 -0
- package/dist/sqsUrl-BV6zS-mi.d.mts.map +1 -0
- package/dist/sqsUrl-CbAsBFHI.mjs +80 -0
- package/dist/sqsUrl-CbAsBFHI.mjs.map +1 -0
- package/dist/sqsUrl-CdisN3GU.cjs +115 -0
- package/dist/sqsUrl-CdisN3GU.cjs.map +1 -0
- package/dist/sqsUrl-DZDPHxIk.d.cts +60 -0
- package/dist/sqsUrl-DZDPHxIk.d.cts.map +1 -0
- package/dist/{types-Dh9Jyinx.d.mts → types-BmixGrOD.d.cts} +1 -1
- package/dist/{types-Dh9Jyinx.d.mts.map → types-BmixGrOD.d.cts.map} +1 -1
- package/dist/{types-BrdcSEnd.mjs → types-CYDt-2RQ.mjs} +1 -1
- package/dist/{types-BrdcSEnd.mjs.map → types-CYDt-2RQ.mjs.map} +1 -1
- package/dist/{types-Dj23od3e.d.cts → types-DycjsYms.d.mts} +1 -1
- package/dist/{types-Dj23od3e.d.cts.map → types-DycjsYms.d.mts.map} +1 -1
- package/package.json +26 -3
- package/CHANGELOG.md +0 -88
- package/dist/BasicConnection-CQsJpx2J.d.cts +0 -27
- package/dist/BasicConnection-CQsJpx2J.d.cts.map +0 -1
- package/dist/BasicConnection-CxfNEvlb.cjs +0 -48
- package/dist/BasicConnection-CxfNEvlb.cjs.map +0 -1
- package/dist/BasicConnection-DcRelT64.d.mts +0 -27
- package/dist/BasicConnection-DcRelT64.d.mts.map +0 -1
- package/dist/BasicConnection-hl-Ogz3a.mjs +0 -42
- package/dist/BasicConnection-hl-Ogz3a.mjs.map +0 -1
- package/dist/BasicPublisher-C-hMX2Hy.d.mts +0 -14
- package/dist/BasicPublisher-C-hMX2Hy.d.mts.map +0 -1
- package/dist/BasicPublisher-CGMXg2I2.d.cts +0 -14
- package/dist/BasicPublisher-CGMXg2I2.d.cts.map +0 -1
- package/dist/BasicPublisher-CXAVKxgq.cjs +0 -20
- package/dist/BasicPublisher-CXAVKxgq.cjs.map +0 -1
- package/dist/BasicPublisher-DogbeHAH.mjs +0 -14
- package/dist/BasicPublisher-DogbeHAH.mjs.map +0 -1
- package/dist/BasicSubscriber-BJSZN22M.mjs +0 -16
- package/dist/BasicSubscriber-BJSZN22M.mjs.map +0 -1
- package/dist/BasicSubscriber-HzSJ_MbB.d.mts +0 -14
- package/dist/BasicSubscriber-HzSJ_MbB.d.mts.map +0 -1
- package/dist/BasicSubscriber-mVJRMXhZ.cjs +0 -22
- package/dist/BasicSubscriber-mVJRMXhZ.cjs.map +0 -1
- package/dist/BasicSubscriber-uW3IOyBj.d.cts +0 -14
- package/dist/BasicSubscriber-uW3IOyBj.d.cts.map +0 -1
- package/dist/EventConnection-4niMI6D8.d.mts +0 -13
- package/dist/EventConnection-4niMI6D8.d.mts.map +0 -1
- package/dist/EventConnection-BkA9FSVL.cjs +0 -45
- package/dist/EventConnection-BkA9FSVL.cjs.map +0 -1
- package/dist/EventConnection-Kr32GAzq.mjs +0 -40
- package/dist/EventConnection-Kr32GAzq.mjs.map +0 -1
- package/dist/EventConnection-dP42P87q.d.cts +0 -13
- package/dist/EventConnection-dP42P87q.d.cts.map +0 -1
- package/dist/EventConnection.cjs +0 -5
- package/dist/EventConnection.d.cts +0 -3
- package/dist/EventConnection.d.mts +0 -3
- package/dist/EventConnection.mjs +0 -4
- package/dist/PgBossConnection-DCfLGoHx.d.mts +0 -32
- package/dist/PgBossConnection-DCfLGoHx.d.mts.map +0 -1
- package/dist/PgBossConnection-oto_CAbP.d.cts +0 -32
- package/dist/PgBossConnection-oto_CAbP.d.cts.map +0 -1
- package/dist/PgBossPublisher-Bwo7qSoH.mjs +0 -35
- package/dist/PgBossPublisher-Bwo7qSoH.mjs.map +0 -1
- package/dist/PgBossPublisher-CqjigBVC.d.mts +0 -20
- package/dist/PgBossPublisher-CqjigBVC.d.mts.map +0 -1
- package/dist/PgBossPublisher-FTdYh58W.cjs +0 -41
- package/dist/PgBossPublisher-FTdYh58W.cjs.map +0 -1
- package/dist/PgBossPublisher-JIiB1zpA.d.cts +0 -20
- package/dist/PgBossPublisher-JIiB1zpA.d.cts.map +0 -1
- package/dist/PgBossSubscriber-BUiB1JKf.d.mts +0 -24
- package/dist/PgBossSubscriber-BUiB1JKf.d.mts.map +0 -1
- package/dist/PgBossSubscriber-BubVfuWm.cjs +0 -52
- package/dist/PgBossSubscriber-BubVfuWm.cjs.map +0 -1
- package/dist/PgBossSubscriber-Cozijfdj.d.cts +0 -24
- package/dist/PgBossSubscriber-Cozijfdj.d.cts.map +0 -1
- package/dist/PgBossSubscriber-DopATe80.mjs +0 -46
- package/dist/PgBossSubscriber-DopATe80.mjs.map +0 -1
- package/dist/Publisher-CKloIGh6.cjs +0 -79
- package/dist/Publisher-CKloIGh6.cjs.map +0 -1
- package/dist/Publisher-ChLTrUeP.mjs +0 -74
- package/dist/Publisher-ChLTrUeP.mjs.map +0 -1
- package/dist/Publisher-DDee6xau.d.cts +0 -21
- package/dist/Publisher-DDee6xau.d.cts.map +0 -1
- package/dist/Publisher-VHumMkrP.d.mts +0 -21
- package/dist/Publisher-VHumMkrP.d.mts.map +0 -1
- package/dist/Publisher.cjs +0 -4
- package/dist/Publisher.d.cts +0 -3
- package/dist/Publisher.d.mts +0 -3
- package/dist/Publisher.mjs +0 -4
- package/dist/RabbitMQConnection-DV9t3VYp.d.mts +0 -44
- package/dist/RabbitMQConnection-DV9t3VYp.d.mts.map +0 -1
- package/dist/RabbitMQConnection-jNME_eR7.d.cts +0 -44
- package/dist/RabbitMQConnection-jNME_eR7.d.cts.map +0 -1
- package/dist/RabbitMQPublisher-BfTRUnpy.cjs +0 -45
- package/dist/RabbitMQPublisher-BfTRUnpy.cjs.map +0 -1
- package/dist/RabbitMQPublisher-Cxm1zSkD.mjs +0 -39
- package/dist/RabbitMQPublisher-Cxm1zSkD.mjs.map +0 -1
- package/dist/RabbitMQPublisher-DKmgwqVj.d.mts +0 -25
- package/dist/RabbitMQPublisher-DKmgwqVj.d.mts.map +0 -1
- package/dist/RabbitMQPublisher-d257OHLa.d.cts +0 -25
- package/dist/RabbitMQPublisher-d257OHLa.d.cts.map +0 -1
- package/dist/RabbitMQSubscriber-BF7JGfYm.d.cts +0 -27
- package/dist/RabbitMQSubscriber-BF7JGfYm.d.cts.map +0 -1
- package/dist/RabbitMQSubscriber-CWDdmt1M.cjs +0 -62
- package/dist/RabbitMQSubscriber-CWDdmt1M.cjs.map +0 -1
- package/dist/RabbitMQSubscriber-CdbUy5mB.d.mts +0 -27
- package/dist/RabbitMQSubscriber-CdbUy5mB.d.mts.map +0 -1
- package/dist/RabbitMQSubscriber-fP8G9OlK.mjs +0 -56
- package/dist/RabbitMQSubscriber-fP8G9OlK.mjs.map +0 -1
- package/dist/SNSConnection-CG4iEwA8.d.mts +0 -41
- package/dist/SNSConnection-CG4iEwA8.d.mts.map +0 -1
- package/dist/SNSConnection-CpMKzgx2.mjs.map +0 -1
- package/dist/SNSConnection-DFehUWG1.cjs.map +0 -1
- package/dist/SNSConnection-Dol9FuxA.d.cts +0 -41
- package/dist/SNSConnection-Dol9FuxA.d.cts.map +0 -1
- package/dist/SNSPublisher-BoA8uLnw.cjs +0 -47
- package/dist/SNSPublisher-BoA8uLnw.cjs.map +0 -1
- package/dist/SNSPublisher-D50dPCEh.d.mts +0 -22
- package/dist/SNSPublisher-D50dPCEh.d.mts.map +0 -1
- package/dist/SNSPublisher-DQunY4NM.d.cts +0 -22
- package/dist/SNSPublisher-DQunY4NM.d.cts.map +0 -1
- package/dist/SNSPublisher-Drr4kHn6.mjs +0 -41
- package/dist/SNSPublisher-Drr4kHn6.mjs.map +0 -1
- package/dist/SNSSubscriber-CUgHK4W2.d.mts +0 -55
- package/dist/SNSSubscriber-CUgHK4W2.d.mts.map +0 -1
- package/dist/SNSSubscriber-DIXqA-VV.mjs +0 -139
- package/dist/SNSSubscriber-DIXqA-VV.mjs.map +0 -1
- package/dist/SNSSubscriber-ZGJjhXFQ.d.cts +0 -55
- package/dist/SNSSubscriber-ZGJjhXFQ.d.cts.map +0 -1
- package/dist/SNSSubscriber-ZIdCi6nQ.cjs +0 -145
- package/dist/SNSSubscriber-ZIdCi6nQ.cjs.map +0 -1
- package/dist/SQSConnection-BqZZnAZI.mjs.map +0 -1
- package/dist/SQSConnection-BtEkDha8.d.cts +0 -41
- package/dist/SQSConnection-BtEkDha8.d.cts.map +0 -1
- package/dist/SQSConnection-DVy43GCV.d.mts +0 -41
- package/dist/SQSConnection-DVy43GCV.d.mts.map +0 -1
- package/dist/SQSConnection-yge9cB_f.cjs.map +0 -1
- package/dist/SQSPublisher-DG9o4ME3.mjs +0 -57
- package/dist/SQSPublisher-DG9o4ME3.mjs.map +0 -1
- package/dist/SQSPublisher-Dq5353oZ.cjs +0 -63
- package/dist/SQSPublisher-Dq5353oZ.cjs.map +0 -1
- package/dist/SQSPublisher-kyl5HW3N.d.cts +0 -25
- package/dist/SQSPublisher-kyl5HW3N.d.cts.map +0 -1
- package/dist/SQSPublisher-qDE5Fp-N.d.mts +0 -25
- package/dist/SQSPublisher-qDE5Fp-N.d.mts.map +0 -1
- package/dist/SQSSubscriber-CDvaG4ij.d.cts +0 -44
- package/dist/SQSSubscriber-CDvaG4ij.d.cts.map +0 -1
- package/dist/SQSSubscriber-JfFuAAoP.d.mts +0 -44
- package/dist/SQSSubscriber-JfFuAAoP.d.mts.map +0 -1
- package/dist/Subscriber-CG_QUQZs.d.cts +0 -21
- package/dist/Subscriber-CG_QUQZs.d.cts.map +0 -1
- package/dist/Subscriber-CghW0A02.cjs +0 -88
- package/dist/Subscriber-CghW0A02.cjs.map +0 -1
- package/dist/Subscriber-DiYHmuF0.d.mts +0 -21
- package/dist/Subscriber-DiYHmuF0.d.mts.map +0 -1
- package/dist/Subscriber-bnkFtSvt.mjs +0 -83
- package/dist/Subscriber-bnkFtSvt.mjs.map +0 -1
- package/dist/Subscriber.cjs +0 -4
- package/dist/Subscriber.d.cts +0 -3
- package/dist/Subscriber.d.mts +0 -3
- package/dist/Subscriber.mjs +0 -4
- package/dist/basic/BasicConnection.cjs +0 -4
- package/dist/basic/BasicConnection.d.cts +0 -3
- package/dist/basic/BasicConnection.d.mts +0 -3
- package/dist/basic/BasicConnection.mjs +0 -4
- package/dist/basic/BasicPublisher.cjs +0 -3
- package/dist/basic/BasicPublisher.d.cts +0 -4
- package/dist/basic/BasicPublisher.d.mts +0 -4
- package/dist/basic/BasicPublisher.mjs +0 -3
- package/dist/basic/BasicSubscriber.cjs +0 -3
- package/dist/basic/BasicSubscriber.d.cts +0 -4
- package/dist/basic/BasicSubscriber.d.mts +0 -4
- package/dist/basic/BasicSubscriber.mjs +0 -3
- package/dist/pgboss/PgBossConnection.cjs +0 -4
- package/dist/pgboss/PgBossConnection.d.cts +0 -3
- package/dist/pgboss/PgBossConnection.d.mts +0 -3
- package/dist/pgboss/PgBossConnection.mjs +0 -4
- package/dist/pgboss/PgBossPublisher.cjs +0 -3
- package/dist/pgboss/PgBossPublisher.d.cts +0 -4
- package/dist/pgboss/PgBossPublisher.d.mts +0 -4
- package/dist/pgboss/PgBossPublisher.mjs +0 -3
- package/dist/pgboss/PgBossSubscriber.cjs +0 -3
- package/dist/pgboss/PgBossSubscriber.d.cts +0 -4
- package/dist/pgboss/PgBossSubscriber.d.mts +0 -4
- package/dist/pgboss/PgBossSubscriber.mjs +0 -3
- package/dist/rabbitmq/RabbitMQConnection.cjs +0 -4
- package/dist/rabbitmq/RabbitMQConnection.d.cts +0 -3
- package/dist/rabbitmq/RabbitMQConnection.d.mts +0 -3
- package/dist/rabbitmq/RabbitMQConnection.mjs +0 -4
- package/dist/rabbitmq/RabbitMQPublisher.cjs +0 -3
- package/dist/rabbitmq/RabbitMQPublisher.d.cts +0 -4
- package/dist/rabbitmq/RabbitMQPublisher.d.mts +0 -4
- package/dist/rabbitmq/RabbitMQPublisher.mjs +0 -3
- package/dist/rabbitmq/RabbitMQSubscriber.cjs +0 -3
- package/dist/rabbitmq/RabbitMQSubscriber.d.cts +0 -4
- package/dist/rabbitmq/RabbitMQSubscriber.d.mts +0 -4
- package/dist/rabbitmq/RabbitMQSubscriber.mjs +0 -3
- package/dist/sns/SNSConnection.cjs +0 -4
- package/dist/sns/SNSConnection.d.cts +0 -3
- package/dist/sns/SNSConnection.d.mts +0 -3
- package/dist/sns/SNSConnection.mjs +0 -4
- package/dist/sns/SNSPublisher.cjs +0 -3
- package/dist/sns/SNSPublisher.d.cts +0 -4
- package/dist/sns/SNSPublisher.d.mts +0 -4
- package/dist/sns/SNSPublisher.mjs +0 -3
- package/dist/sns/SNSSubscriber.cjs +0 -6
- package/dist/sns/SNSSubscriber.d.cts +0 -4
- package/dist/sns/SNSSubscriber.d.mts +0 -4
- package/dist/sns/SNSSubscriber.mjs +0 -6
- package/dist/sqs/SQSConnection.cjs +0 -4
- package/dist/sqs/SQSConnection.d.cts +0 -3
- package/dist/sqs/SQSConnection.d.mts +0 -3
- package/dist/sqs/SQSConnection.mjs +0 -4
- package/dist/sqs/SQSPublisher.cjs +0 -3
- package/dist/sqs/SQSPublisher.d.cts +0 -4
- package/dist/sqs/SQSPublisher.d.mts +0 -4
- package/dist/sqs/SQSPublisher.mjs +0 -3
- package/dist/sqs/SQSSubscriber.cjs +0 -3
- package/dist/sqs/SQSSubscriber.d.cts +0 -4
- package/dist/sqs/SQSSubscriber.d.mts +0 -4
- package/dist/sqs/SQSSubscriber.mjs +0 -3
- package/dist/types.cjs +0 -3
- package/dist/types.d.cts +0 -2
- package/dist/types.d.mts +0 -2
- package/dist/types.mjs +0 -3
- package/src/EventConnection.ts +0 -43
- package/src/Publisher.ts +0 -98
- package/src/Subscriber.ts +0 -113
- package/src/__tests__/EventConnection.spec.ts +0 -42
- package/src/__tests__/Publisher.spec.ts +0 -96
- package/src/__tests__/Subscriber.spec.ts +0 -109
- package/src/basic/BasicConnection.ts +0 -47
- package/src/basic/BasicPublisher.ts +0 -15
- package/src/basic/BasicSubscriber.ts +0 -21
- package/src/basic/__tests__/BasicSubscriber.spec.ts +0 -166
- package/src/basic/index.ts +0 -3
- package/src/index.ts +0 -25
- package/src/pgboss/PgBossConnection.ts +0 -91
- package/src/pgboss/PgBossPublisher.ts +0 -49
- package/src/pgboss/PgBossSubscriber.ts +0 -81
- package/src/pgboss/__tests__/pgboss.spec.ts +0 -196
- package/src/pgboss/__tests__/setup.ts +0 -21
- package/src/pgboss/index.ts +0 -5
- package/src/rabbitmq/RabbitMQConnection.ts +0 -148
- package/src/rabbitmq/RabbitMQPublisher.ts +0 -67
- package/src/rabbitmq/RabbitMQSubscriber.ts +0 -111
- package/src/rabbitmq/__tests__/RabbitMQPublisher.spec.ts +0 -378
- package/src/rabbitmq/__tests__/RabbitMQSubscriber.spec.ts +0 -292
- package/src/rabbitmq/index.ts +0 -6
- package/src/sns/SNSConnection.ts +0 -98
- package/src/sns/SNSPublisher.ts +0 -62
- package/src/sns/SNSSubscriber.ts +0 -218
- package/src/sns/__tests__/SNS-SQS-Integration.spec.ts +0 -389
- package/src/sns/__tests__/SNSPublisher.spec.ts +0 -449
- package/src/sns/__tests__/SNSSubscriber.spec.ts +0 -527
- package/src/sns/index.ts +0 -6
- package/src/sqs/SQSConnection.ts +0 -97
- package/src/sqs/SQSPublisher.ts +0 -105
- package/src/sqs/SQSSubscriber.ts +0 -181
- package/src/sqs/__tests__/SQSPublisher.spec.ts +0 -189
- package/src/sqs/index.ts +0 -6
- package/src/types.ts +0 -76
- package/tsconfig.json +0 -9
- package/tsdown.config.ts +0 -10
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { EventPublisher, PublishableMessage } from "./types-Dj23od3e.cjs";
|
|
2
|
-
import { PgBossConnection } from "./PgBossConnection-oto_CAbP.cjs";
|
|
3
|
-
|
|
4
|
-
//#region src/pgboss/PgBossPublisher.d.ts
|
|
5
|
-
declare class PgBossPublisher<TMessage extends PublishableMessage<string, any>> implements EventPublisher<TMessage> {
|
|
6
|
-
private connection;
|
|
7
|
-
constructor(connection: PgBossConnection);
|
|
8
|
-
/**
|
|
9
|
-
* Create a PgBossPublisher from a connection string.
|
|
10
|
-
* Format: pgboss://user:pass@host:5432/database?schema=pgboss
|
|
11
|
-
*/
|
|
12
|
-
static fromConnectionString<TMessage extends PublishableMessage<string, any>>(connectionString: string): Promise<PgBossPublisher<TMessage>>;
|
|
13
|
-
publish(messages: TMessage[]): Promise<void>;
|
|
14
|
-
close(): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=PgBossPublisher.d.ts.map
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
export { PgBossPublisher };
|
|
20
|
-
//# sourceMappingURL=PgBossPublisher-JIiB1zpA.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PgBossPublisher-JIiB1zpA.d.cts","names":[],"sources":["../src/pgboss/PgBossPublisher.ts"],"sourcesContent":[],"mappings":";;;;cAGa,iCAAiC,4CAClC,eAAe;;EADd,WAAA,CAAA,UAAe,EAGK,gBAHL;EAAA;;;;EAGqB,OAO9B,oBAAA,CAAA,iBAAA,kBAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,EACW,OADX,CACmB,eADnB,CACmC,QADnC,CAAA,CAAA;EAAkB,OACiB,CAAA,QAAA,EAO7B,QAP6B,EAAA,CAAA,EAOhB,OAPgB,CAAA,IAAA,CAAA;EAAQ,KAAxB,CAAA,CAAA,EA+BtB,OA/BsB,CAAA,IAAA,CAAA"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { EventSubscriber, PublishableMessage } from "./types-Dh9Jyinx.mjs";
|
|
2
|
-
import { PgBossConnection } from "./PgBossConnection-DCfLGoHx.mjs";
|
|
3
|
-
|
|
4
|
-
//#region src/pgboss/PgBossSubscriber.d.ts
|
|
5
|
-
interface PgBossSubscriberOptions {
|
|
6
|
-
batchSize?: number;
|
|
7
|
-
pollingIntervalSeconds?: number;
|
|
8
|
-
}
|
|
9
|
-
declare class PgBossSubscriber<TMessage extends PublishableMessage<string, any>> implements EventSubscriber<TMessage> {
|
|
10
|
-
private connection;
|
|
11
|
-
private options;
|
|
12
|
-
constructor(connection: PgBossConnection, options?: PgBossSubscriberOptions);
|
|
13
|
-
/**
|
|
14
|
-
* Create a PgBossSubscriber from a connection string.
|
|
15
|
-
* Format: pgboss://user:pass@host:5432/database?schema=pgboss&batchSize=5
|
|
16
|
-
*/
|
|
17
|
-
static fromConnectionString<TMessage extends PublishableMessage<string, any>>(connectionString: string): Promise<PgBossSubscriber<TMessage>>;
|
|
18
|
-
subscribe(messages: TMessage['type'][], listener: (payload: TMessage) => Promise<void>): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=PgBossSubscriber.d.ts.map
|
|
21
|
-
|
|
22
|
-
//#endregion
|
|
23
|
-
export { PgBossSubscriber, PgBossSubscriberOptions };
|
|
24
|
-
//# sourceMappingURL=PgBossSubscriber-BUiB1JKf.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PgBossSubscriber-BUiB1JKf.d.mts","names":[],"sources":["../src/pgboss/PgBossSubscriber.ts"],"sourcesContent":[],"mappings":";;;;UAGiB,uBAAA;;EAAA,sBAAA,CAAA,EAAA,MAAuB;AAKxC;AAA6B,cAAhB,gBAAgB,CAAA,iBAAkB,kBAAlB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,YACjB,eADiB,CACD,QADC,CAAA,CAAA;EAAA,QAAkB,UAAA;EAAkB,QACrC,OAAA;EAAQ,WAGd,CAAA,UAAA,EAAA,gBAAA,EAAA,OAAA,CAAA,EACH,uBADG;EAAgB;;;;EAUgB,OAAxB,oBAAA,CAAA,iBADX,kBACW,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,EAAA,OAAA,CAAQ,gBAAR,CAAyB,QAAzB,CAAA,CAAA;EAAO,SAqBzB,CAAA,QAAA,EAAA,QAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,OAAA,EACU,QADV,EAAA,GACuB,OADvB,CAAA,IAAA,CAAA,CAAA,EAER,OAFQ,CAAA,IAAA,CAAA"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
//#region src/pgboss/PgBossSubscriber.ts
|
|
3
|
-
var PgBossSubscriber = class PgBossSubscriber {
|
|
4
|
-
constructor(connection, options = {}) {
|
|
5
|
-
this.connection = connection;
|
|
6
|
-
this.options = options;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Create a PgBossSubscriber from a connection string.
|
|
10
|
-
* Format: pgboss://user:pass@host:5432/database?schema=pgboss&batchSize=5
|
|
11
|
-
*/
|
|
12
|
-
static async fromConnectionString(connectionString) {
|
|
13
|
-
const url = new URL(connectionString);
|
|
14
|
-
const params = url.searchParams;
|
|
15
|
-
const { PgBossConnection } = await Promise.resolve().then(() => require("./pgboss/PgBossConnection.cjs"));
|
|
16
|
-
const connection = await PgBossConnection.fromConnectionString(connectionString);
|
|
17
|
-
const options = {
|
|
18
|
-
batchSize: params.get("batchSize") ? Number.parseInt(params.get("batchSize"), 10) : void 0,
|
|
19
|
-
pollingIntervalSeconds: params.get("pollingIntervalSeconds") ? Number.parseInt(params.get("pollingIntervalSeconds"), 10) : void 0
|
|
20
|
-
};
|
|
21
|
-
return new PgBossSubscriber(connection, options);
|
|
22
|
-
}
|
|
23
|
-
async subscribe(messages, listener) {
|
|
24
|
-
if (!this.connection.isConnected()) await this.connection.connect();
|
|
25
|
-
const boss = this.connection.instance;
|
|
26
|
-
if (!boss) throw new Error("PgBoss instance not initialized");
|
|
27
|
-
for (const messageType of messages) {
|
|
28
|
-
await boss.createQueue(messageType);
|
|
29
|
-
await boss.work(messageType, {
|
|
30
|
-
...this.options.batchSize && { batchSize: this.options.batchSize },
|
|
31
|
-
...this.options.pollingIntervalSeconds && { pollingIntervalSeconds: this.options.pollingIntervalSeconds }
|
|
32
|
-
}, async (jobs) => {
|
|
33
|
-
for (const job of jobs) {
|
|
34
|
-
const fullMessage = {
|
|
35
|
-
type: job.name,
|
|
36
|
-
payload: job.data
|
|
37
|
-
};
|
|
38
|
-
await listener(fullMessage);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
//#endregion
|
|
46
|
-
Object.defineProperty(exports, 'PgBossSubscriber', {
|
|
47
|
-
enumerable: true,
|
|
48
|
-
get: function () {
|
|
49
|
-
return PgBossSubscriber;
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
//# sourceMappingURL=PgBossSubscriber-BubVfuWm.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PgBossSubscriber-BubVfuWm.cjs","names":["connection: PgBossConnection","options: PgBossSubscriberOptions","connectionString: string","messages: TMessage['type'][]","listener: (payload: TMessage) => Promise<void>"],"sources":["../src/pgboss/PgBossSubscriber.ts"],"sourcesContent":["import type { EventSubscriber, PublishableMessage } from '../types';\nimport type { PgBossConnection } from './PgBossConnection';\n\nexport interface PgBossSubscriberOptions {\n\tbatchSize?: number;\n\tpollingIntervalSeconds?: number;\n}\n\nexport class PgBossSubscriber<TMessage extends PublishableMessage<string, any>>\n\timplements EventSubscriber<TMessage>\n{\n\tconstructor(\n\t\tprivate connection: PgBossConnection,\n\t\tprivate options: PgBossSubscriberOptions = {},\n\t) {}\n\n\t/**\n\t * Create a PgBossSubscriber from a connection string.\n\t * Format: pgboss://user:pass@host:5432/database?schema=pgboss&batchSize=5\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(connectionString: string): Promise<PgBossSubscriber<TMessage>> {\n\t\tconst url = new URL(connectionString);\n\t\tconst params = url.searchParams;\n\n\t\tconst { PgBossConnection } = await import('./PgBossConnection');\n\t\tconst connection =\n\t\t\tawait PgBossConnection.fromConnectionString(connectionString);\n\n\t\tconst options: PgBossSubscriberOptions = {\n\t\t\tbatchSize: params.get('batchSize')\n\t\t\t\t? Number.parseInt(params.get('batchSize')!, 10)\n\t\t\t\t: undefined,\n\t\t\tpollingIntervalSeconds: params.get('pollingIntervalSeconds')\n\t\t\t\t? Number.parseInt(params.get('pollingIntervalSeconds')!, 10)\n\t\t\t\t: undefined,\n\t\t};\n\n\t\treturn new PgBossSubscriber<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 boss = this.connection.instance;\n\t\tif (!boss) {\n\t\t\tthrow new Error('PgBoss instance not initialized');\n\t\t}\n\n\t\tfor (const messageType of messages) {\n\t\t\tawait boss.createQueue(messageType);\n\t\t\tawait boss.work(\n\t\t\t\tmessageType,\n\t\t\t\t{\n\t\t\t\t\t...(this.options.batchSize && {\n\t\t\t\t\t\tbatchSize: this.options.batchSize,\n\t\t\t\t\t}),\n\t\t\t\t\t...(this.options.pollingIntervalSeconds && {\n\t\t\t\t\t\tpollingIntervalSeconds: this.options.pollingIntervalSeconds,\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t\tasync (jobs) => {\n\t\t\t\t\tfor (const job of jobs) {\n\t\t\t\t\t\tconst fullMessage = {\n\t\t\t\t\t\t\ttype: job.name,\n\t\t\t\t\t\t\tpayload: job.data,\n\t\t\t\t\t\t} as TMessage;\n\n\t\t\t\t\t\tawait listener(fullMessage);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t}\n}\n"],"mappings":";;AAQA,IAAa,mBAAb,MAAa,iBAEb;CACC,YACSA,YACAC,UAAmC,CAAE,GAC5C;EAFO;EACA;CACL;;;;;CAMJ,aAAa,qBAEXC,kBAA+D;EAChE,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAEnB,MAAM,EAAE,kBAAkB,GAAG,2CAAM;EACnC,MAAM,aACL,MAAM,iBAAiB,qBAAqB,iBAAiB;EAE9D,MAAMD,UAAmC;GACxC,WAAW,OAAO,IAAI,YAAY,GAC/B,OAAO,SAAS,OAAO,IAAI,YAAY,EAAG,GAAG;GAEhD,wBAAwB,OAAO,IAAI,yBAAyB,GACzD,OAAO,SAAS,OAAO,IAAI,yBAAyB,EAAG,GAAG;EAE7D;AAED,SAAO,IAAI,iBAA2B,YAAY;CAClD;CAED,MAAM,UACLE,UACAC,UACgB;AAChB,OAAK,KAAK,WAAW,aAAa,CACjC,OAAM,KAAK,WAAW,SAAS;EAGhC,MAAM,OAAO,KAAK,WAAW;AAC7B,OAAK,KACJ,OAAM,IAAI,MAAM;AAGjB,OAAK,MAAM,eAAe,UAAU;AACnC,SAAM,KAAK,YAAY,YAAY;AACnC,SAAM,KAAK,KACV,aACA;IACC,GAAI,KAAK,QAAQ,aAAa,EAC7B,WAAW,KAAK,QAAQ,UACxB;IACD,GAAI,KAAK,QAAQ,0BAA0B,EAC1C,wBAAwB,KAAK,QAAQ,uBACrC;GACD,GACD,OAAO,SAAS;AACf,SAAK,MAAM,OAAO,MAAM;KACvB,MAAM,cAAc;MACnB,MAAM,IAAI;MACV,SAAS,IAAI;KACb;AAED,WAAM,SAAS,YAAY;IAC3B;GACD,EACD;EACD;CACD;AACD"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { EventSubscriber, PublishableMessage } from "./types-Dj23od3e.cjs";
|
|
2
|
-
import { PgBossConnection } from "./PgBossConnection-oto_CAbP.cjs";
|
|
3
|
-
|
|
4
|
-
//#region src/pgboss/PgBossSubscriber.d.ts
|
|
5
|
-
interface PgBossSubscriberOptions {
|
|
6
|
-
batchSize?: number;
|
|
7
|
-
pollingIntervalSeconds?: number;
|
|
8
|
-
}
|
|
9
|
-
declare class PgBossSubscriber<TMessage extends PublishableMessage<string, any>> implements EventSubscriber<TMessage> {
|
|
10
|
-
private connection;
|
|
11
|
-
private options;
|
|
12
|
-
constructor(connection: PgBossConnection, options?: PgBossSubscriberOptions);
|
|
13
|
-
/**
|
|
14
|
-
* Create a PgBossSubscriber from a connection string.
|
|
15
|
-
* Format: pgboss://user:pass@host:5432/database?schema=pgboss&batchSize=5
|
|
16
|
-
*/
|
|
17
|
-
static fromConnectionString<TMessage extends PublishableMessage<string, any>>(connectionString: string): Promise<PgBossSubscriber<TMessage>>;
|
|
18
|
-
subscribe(messages: TMessage['type'][], listener: (payload: TMessage) => Promise<void>): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=PgBossSubscriber.d.ts.map
|
|
21
|
-
|
|
22
|
-
//#endregion
|
|
23
|
-
export { PgBossSubscriber, PgBossSubscriberOptions };
|
|
24
|
-
//# sourceMappingURL=PgBossSubscriber-Cozijfdj.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PgBossSubscriber-Cozijfdj.d.cts","names":[],"sources":["../src/pgboss/PgBossSubscriber.ts"],"sourcesContent":[],"mappings":";;;;UAGiB,uBAAA;;EAAA,sBAAA,CAAA,EAAA,MAAuB;AAKxC;AAA6B,cAAhB,gBAAgB,CAAA,iBAAkB,kBAAlB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,YACjB,eADiB,CACD,QADC,CAAA,CAAA;EAAA,QAAkB,UAAA;EAAkB,QACrC,OAAA;EAAQ,WAGd,CAAA,UAAA,EAAA,gBAAA,EAAA,OAAA,CAAA,EACH,uBADG;EAAgB;;;;EAUgB,OAAxB,oBAAA,CAAA,iBADX,kBACW,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,EAAA,OAAA,CAAQ,gBAAR,CAAyB,QAAzB,CAAA,CAAA;EAAO,SAqBzB,CAAA,QAAA,EAAA,QAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,OAAA,EACU,QADV,EAAA,GACuB,OADvB,CAAA,IAAA,CAAA,CAAA,EAER,OAFQ,CAAA,IAAA,CAAA"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
//#region src/pgboss/PgBossSubscriber.ts
|
|
2
|
-
var PgBossSubscriber = class PgBossSubscriber {
|
|
3
|
-
constructor(connection, options = {}) {
|
|
4
|
-
this.connection = connection;
|
|
5
|
-
this.options = options;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Create a PgBossSubscriber from a connection string.
|
|
9
|
-
* Format: pgboss://user:pass@host:5432/database?schema=pgboss&batchSize=5
|
|
10
|
-
*/
|
|
11
|
-
static async fromConnectionString(connectionString) {
|
|
12
|
-
const url = new URL(connectionString);
|
|
13
|
-
const params = url.searchParams;
|
|
14
|
-
const { PgBossConnection } = await import("./pgboss/PgBossConnection.mjs");
|
|
15
|
-
const connection = await PgBossConnection.fromConnectionString(connectionString);
|
|
16
|
-
const options = {
|
|
17
|
-
batchSize: params.get("batchSize") ? Number.parseInt(params.get("batchSize"), 10) : void 0,
|
|
18
|
-
pollingIntervalSeconds: params.get("pollingIntervalSeconds") ? Number.parseInt(params.get("pollingIntervalSeconds"), 10) : void 0
|
|
19
|
-
};
|
|
20
|
-
return new PgBossSubscriber(connection, options);
|
|
21
|
-
}
|
|
22
|
-
async subscribe(messages, listener) {
|
|
23
|
-
if (!this.connection.isConnected()) await this.connection.connect();
|
|
24
|
-
const boss = this.connection.instance;
|
|
25
|
-
if (!boss) throw new Error("PgBoss instance not initialized");
|
|
26
|
-
for (const messageType of messages) {
|
|
27
|
-
await boss.createQueue(messageType);
|
|
28
|
-
await boss.work(messageType, {
|
|
29
|
-
...this.options.batchSize && { batchSize: this.options.batchSize },
|
|
30
|
-
...this.options.pollingIntervalSeconds && { pollingIntervalSeconds: this.options.pollingIntervalSeconds }
|
|
31
|
-
}, async (jobs) => {
|
|
32
|
-
for (const job of jobs) {
|
|
33
|
-
const fullMessage = {
|
|
34
|
-
type: job.name,
|
|
35
|
-
payload: job.data
|
|
36
|
-
};
|
|
37
|
-
await listener(fullMessage);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
//#endregion
|
|
45
|
-
export { PgBossSubscriber };
|
|
46
|
-
//# sourceMappingURL=PgBossSubscriber-DopATe80.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PgBossSubscriber-DopATe80.mjs","names":["connection: PgBossConnection","options: PgBossSubscriberOptions","connectionString: string","messages: TMessage['type'][]","listener: (payload: TMessage) => Promise<void>"],"sources":["../src/pgboss/PgBossSubscriber.ts"],"sourcesContent":["import type { EventSubscriber, PublishableMessage } from '../types';\nimport type { PgBossConnection } from './PgBossConnection';\n\nexport interface PgBossSubscriberOptions {\n\tbatchSize?: number;\n\tpollingIntervalSeconds?: number;\n}\n\nexport class PgBossSubscriber<TMessage extends PublishableMessage<string, any>>\n\timplements EventSubscriber<TMessage>\n{\n\tconstructor(\n\t\tprivate connection: PgBossConnection,\n\t\tprivate options: PgBossSubscriberOptions = {},\n\t) {}\n\n\t/**\n\t * Create a PgBossSubscriber from a connection string.\n\t * Format: pgboss://user:pass@host:5432/database?schema=pgboss&batchSize=5\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(connectionString: string): Promise<PgBossSubscriber<TMessage>> {\n\t\tconst url = new URL(connectionString);\n\t\tconst params = url.searchParams;\n\n\t\tconst { PgBossConnection } = await import('./PgBossConnection');\n\t\tconst connection =\n\t\t\tawait PgBossConnection.fromConnectionString(connectionString);\n\n\t\tconst options: PgBossSubscriberOptions = {\n\t\t\tbatchSize: params.get('batchSize')\n\t\t\t\t? Number.parseInt(params.get('batchSize')!, 10)\n\t\t\t\t: undefined,\n\t\t\tpollingIntervalSeconds: params.get('pollingIntervalSeconds')\n\t\t\t\t? Number.parseInt(params.get('pollingIntervalSeconds')!, 10)\n\t\t\t\t: undefined,\n\t\t};\n\n\t\treturn new PgBossSubscriber<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 boss = this.connection.instance;\n\t\tif (!boss) {\n\t\t\tthrow new Error('PgBoss instance not initialized');\n\t\t}\n\n\t\tfor (const messageType of messages) {\n\t\t\tawait boss.createQueue(messageType);\n\t\t\tawait boss.work(\n\t\t\t\tmessageType,\n\t\t\t\t{\n\t\t\t\t\t...(this.options.batchSize && {\n\t\t\t\t\t\tbatchSize: this.options.batchSize,\n\t\t\t\t\t}),\n\t\t\t\t\t...(this.options.pollingIntervalSeconds && {\n\t\t\t\t\t\tpollingIntervalSeconds: this.options.pollingIntervalSeconds,\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t\tasync (jobs) => {\n\t\t\t\t\tfor (const job of jobs) {\n\t\t\t\t\t\tconst fullMessage = {\n\t\t\t\t\t\t\ttype: job.name,\n\t\t\t\t\t\t\tpayload: job.data,\n\t\t\t\t\t\t} as TMessage;\n\n\t\t\t\t\t\tawait listener(fullMessage);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t}\n}\n"],"mappings":";AAQA,IAAa,mBAAb,MAAa,iBAEb;CACC,YACSA,YACAC,UAAmC,CAAE,GAC5C;EAFO;EACA;CACL;;;;;CAMJ,aAAa,qBAEXC,kBAA+D;EAChE,MAAM,MAAM,IAAI,IAAI;EACpB,MAAM,SAAS,IAAI;EAEnB,MAAM,EAAE,kBAAkB,GAAG,MAAM,OAAO;EAC1C,MAAM,aACL,MAAM,iBAAiB,qBAAqB,iBAAiB;EAE9D,MAAMD,UAAmC;GACxC,WAAW,OAAO,IAAI,YAAY,GAC/B,OAAO,SAAS,OAAO,IAAI,YAAY,EAAG,GAAG;GAEhD,wBAAwB,OAAO,IAAI,yBAAyB,GACzD,OAAO,SAAS,OAAO,IAAI,yBAAyB,EAAG,GAAG;EAE7D;AAED,SAAO,IAAI,iBAA2B,YAAY;CAClD;CAED,MAAM,UACLE,UACAC,UACgB;AAChB,OAAK,KAAK,WAAW,aAAa,CACjC,OAAM,KAAK,WAAW,SAAS;EAGhC,MAAM,OAAO,KAAK,WAAW;AAC7B,OAAK,KACJ,OAAM,IAAI,MAAM;AAGjB,OAAK,MAAM,eAAe,UAAU;AACnC,SAAM,KAAK,YAAY,YAAY;AACnC,SAAM,KAAK,KACV,aACA;IACC,GAAI,KAAK,QAAQ,aAAa,EAC7B,WAAW,KAAK,QAAQ,UACxB;IACD,GAAI,KAAK,QAAQ,0BAA0B,EAC1C,wBAAwB,KAAK,QAAQ,uBACrC;GACD,GACD,OAAO,SAAS;AACf,SAAK,MAAM,OAAO,MAAM;KACvB,MAAM,cAAc;MACnB,MAAM,IAAI;MACV,SAAS,IAAI;KACb;AAED,WAAM,SAAS,YAAY;IAC3B;GACD,EACD;EACD;CACD;AACD"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
const require_types = require('./types-Byv8N9ma.cjs');
|
|
2
|
-
|
|
3
|
-
//#region src/Publisher.ts
|
|
4
|
-
var Publisher = class {
|
|
5
|
-
/**
|
|
6
|
-
* Create a publisher from a connection string
|
|
7
|
-
* This creates both a connection and a publisher
|
|
8
|
-
*/
|
|
9
|
-
static async fromConnectionString(connectionStr) {
|
|
10
|
-
const url = new URL(connectionStr);
|
|
11
|
-
switch (url.protocol.replace(":", "")) {
|
|
12
|
-
case require_types.EventPublisherType.Basic: {
|
|
13
|
-
const { BasicConnection, BasicPublisher } = await Promise.resolve().then(() => require("./basic/index.cjs"));
|
|
14
|
-
const connection = await BasicConnection.fromConnectionString(connectionStr);
|
|
15
|
-
return new BasicPublisher(connection);
|
|
16
|
-
}
|
|
17
|
-
case require_types.EventPublisherType.RabbitMQ: {
|
|
18
|
-
const { RabbitMQPublisher } = await Promise.resolve().then(() => require("./rabbitmq/index.cjs"));
|
|
19
|
-
return RabbitMQPublisher.fromConnectionString(connectionStr);
|
|
20
|
-
}
|
|
21
|
-
case require_types.EventPublisherType.SQS: {
|
|
22
|
-
const { SQSPublisher } = await Promise.resolve().then(() => require("./sqs/index.cjs"));
|
|
23
|
-
return SQSPublisher.fromConnectionString(connectionStr);
|
|
24
|
-
}
|
|
25
|
-
case require_types.EventPublisherType.SNS: {
|
|
26
|
-
const { SNSPublisher } = await Promise.resolve().then(() => require("./sns/index.cjs"));
|
|
27
|
-
return SNSPublisher.fromConnectionString(connectionStr);
|
|
28
|
-
}
|
|
29
|
-
case require_types.EventPublisherType.PgBoss: {
|
|
30
|
-
const { PgBossPublisher } = await Promise.resolve().then(() => require("./pgboss/index.cjs"));
|
|
31
|
-
return PgBossPublisher.fromConnectionString(connectionStr);
|
|
32
|
-
}
|
|
33
|
-
default: throw new Error(`Unsupported event publisher type: ${url.protocol}`);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Create a publisher from an existing connection
|
|
38
|
-
* This allows sharing connections between publishers and subscribers
|
|
39
|
-
*/
|
|
40
|
-
static async fromConnection(connection) {
|
|
41
|
-
switch (connection.type) {
|
|
42
|
-
case require_types.EventPublisherType.Basic: {
|
|
43
|
-
const { BasicPublisher } = await Promise.resolve().then(() => require("./basic/index.cjs"));
|
|
44
|
-
const { BasicConnection } = await Promise.resolve().then(() => require("./basic/index.cjs"));
|
|
45
|
-
return new BasicPublisher(connection);
|
|
46
|
-
}
|
|
47
|
-
case require_types.EventPublisherType.RabbitMQ: {
|
|
48
|
-
const { RabbitMQPublisher } = await Promise.resolve().then(() => require("./rabbitmq/index.cjs"));
|
|
49
|
-
const { RabbitMQConnection } = await Promise.resolve().then(() => require("./rabbitmq/index.cjs"));
|
|
50
|
-
return new RabbitMQPublisher(connection);
|
|
51
|
-
}
|
|
52
|
-
case require_types.EventPublisherType.SQS: {
|
|
53
|
-
const { SQSPublisher } = await Promise.resolve().then(() => require("./sqs/index.cjs"));
|
|
54
|
-
const { SQSConnection } = await Promise.resolve().then(() => require("./sqs/index.cjs"));
|
|
55
|
-
return new SQSPublisher(connection);
|
|
56
|
-
}
|
|
57
|
-
case require_types.EventPublisherType.SNS: {
|
|
58
|
-
const { SNSPublisher } = await Promise.resolve().then(() => require("./sns/index.cjs"));
|
|
59
|
-
const { SNSConnection } = await Promise.resolve().then(() => require("./sns/index.cjs"));
|
|
60
|
-
return new SNSPublisher(connection);
|
|
61
|
-
}
|
|
62
|
-
case require_types.EventPublisherType.PgBoss: {
|
|
63
|
-
const { PgBossPublisher } = await Promise.resolve().then(() => require("./pgboss/index.cjs"));
|
|
64
|
-
const { PgBossConnection } = await Promise.resolve().then(() => require("./pgboss/index.cjs"));
|
|
65
|
-
return new PgBossPublisher(connection);
|
|
66
|
-
}
|
|
67
|
-
default: throw new Error(`Unsupported connection type: ${connection.type}`);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
//#endregion
|
|
73
|
-
Object.defineProperty(exports, 'Publisher', {
|
|
74
|
-
enumerable: true,
|
|
75
|
-
get: function () {
|
|
76
|
-
return Publisher;
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
//# sourceMappingURL=Publisher-CKloIGh6.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Publisher-CKloIGh6.cjs","names":["connectionStr: EventPublisherConnectionString","EventPublisherType","connection: EventConnection"],"sources":["../src/Publisher.ts"],"sourcesContent":["import type {\n\tEventConnection,\n\tEventPublisher,\n\tPublishableMessage,\n} from './types';\nimport { EventPublisherType } from './types';\n\nexport class Publisher {\n\t/**\n\t * Create a publisher from a connection string\n\t * This creates both a connection and a publisher\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(\n\t\tconnectionStr: EventPublisherConnectionString,\n\t): Promise<EventPublisher<TMessage>> {\n\t\tconst url = new URL(connectionStr);\n\t\tswitch (url.protocol.replace(':', '')) {\n\t\t\tcase EventPublisherType.Basic: {\n\t\t\t\tconst { BasicConnection, BasicPublisher } = await import('./basic');\n\t\t\t\tconst connection =\n\t\t\t\t\tawait BasicConnection.fromConnectionString(connectionStr);\n\t\t\t\treturn new BasicPublisher<TMessage>(connection);\n\t\t\t}\n\t\t\tcase EventPublisherType.RabbitMQ: {\n\t\t\t\tconst { RabbitMQPublisher } = await import('./rabbitmq');\n\t\t\t\treturn RabbitMQPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SQS: {\n\t\t\t\tconst { SQSPublisher } = await import('./sqs');\n\t\t\t\treturn SQSPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SNS: {\n\t\t\t\tconst { SNSPublisher } = await import('./sns');\n\t\t\t\treturn SNSPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.PgBoss: {\n\t\t\t\tconst { PgBossPublisher } = await import('./pgboss');\n\t\t\t\treturn PgBossPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\t// Future implementations for EventBridge, Kafka, etc.\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unsupported event publisher type: ${url.protocol}`);\n\t\t}\n\t}\n\n\t/**\n\t * Create a publisher from an existing connection\n\t * This allows sharing connections between publishers and subscribers\n\t */\n\tstatic async fromConnection<TMessage extends PublishableMessage<string, any>>(\n\t\tconnection: EventConnection,\n\t): Promise<EventPublisher<TMessage>> {\n\t\tswitch (connection.type) {\n\t\t\tcase EventPublisherType.Basic: {\n\t\t\t\tconst { BasicPublisher } = await import('./basic');\n\t\t\t\tconst { BasicConnection } = await import('./basic');\n\t\t\t\treturn new BasicPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof BasicConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.RabbitMQ: {\n\t\t\t\tconst { RabbitMQPublisher } = await import('./rabbitmq');\n\t\t\t\tconst { RabbitMQConnection } = await import('./rabbitmq');\n\t\t\t\treturn new RabbitMQPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof RabbitMQConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.SQS: {\n\t\t\t\tconst { SQSPublisher } = await import('./sqs');\n\t\t\t\tconst { SQSConnection } = await import('./sqs');\n\t\t\t\treturn new SQSPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof SQSConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.SNS: {\n\t\t\t\tconst { SNSPublisher } = await import('./sns');\n\t\t\t\tconst { SNSConnection } = await import('./sns');\n\t\t\t\treturn new SNSPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof SNSConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.PgBoss: {\n\t\t\t\tconst { PgBossPublisher } = await import('./pgboss');\n\t\t\t\tconst { PgBossConnection } = await import('./pgboss');\n\t\t\t\treturn new PgBossPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof PgBossConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unsupported connection type: ${connection.type}`);\n\t\t}\n\t}\n}\n\nexport type EventPublisherConnectionString =\n\t`${EventPublisherType}://${string}`;\n"],"mappings":";;;AAOA,IAAa,YAAb,MAAuB;;;;;CAKtB,aAAa,qBAGZA,eACoC;EACpC,MAAM,MAAM,IAAI,IAAI;AACpB,UAAQ,IAAI,SAAS,QAAQ,KAAK,GAAG,EAArC;GACC,KAAKC,iCAAmB,OAAO;IAC9B,MAAM,EAAE,iBAAiB,gBAAgB,GAAG,2CAAM;IAClD,MAAM,aACL,MAAM,gBAAgB,qBAAqB,cAAc;AAC1D,WAAO,IAAI,eAAyB;GACpC;GACD,KAAKA,iCAAmB,UAAU;IACjC,MAAM,EAAE,mBAAmB,GAAG,2CAAM;AACpC,WAAO,kBAAkB,qBAA+B,cAAc;GACtE;GACD,KAAKA,iCAAmB,KAAK;IAC5B,MAAM,EAAE,cAAc,GAAG,2CAAM;AAC/B,WAAO,aAAa,qBAA+B,cAAc;GACjE;GACD,KAAKA,iCAAmB,KAAK;IAC5B,MAAM,EAAE,cAAc,GAAG,2CAAM;AAC/B,WAAO,aAAa,qBAA+B,cAAc;GACjE;GACD,KAAKA,iCAAmB,QAAQ;IAC/B,MAAM,EAAE,iBAAiB,GAAG,2CAAM;AAClC,WAAO,gBAAgB,qBAA+B,cAAc;GACpE;GAED,QACC,OAAM,IAAI,OAAO,oCAAoC,IAAI,SAAS;EACnE;CACD;;;;;CAMD,aAAa,eACZC,YACoC;AACpC,UAAQ,WAAW,MAAnB;GACC,KAAKD,iCAAmB,OAAO;IAC9B,MAAM,EAAE,gBAAgB,GAAG,2CAAM;IACjC,MAAM,EAAE,iBAAiB,GAAG,2CAAM;AAClC,WAAO,IAAI,eACV;GAED;GACD,KAAKA,iCAAmB,UAAU;IACjC,MAAM,EAAE,mBAAmB,GAAG,2CAAM;IACpC,MAAM,EAAE,oBAAoB,GAAG,2CAAM;AACrC,WAAO,IAAI,kBACV;GAED;GACD,KAAKA,iCAAmB,KAAK;IAC5B,MAAM,EAAE,cAAc,GAAG,2CAAM;IAC/B,MAAM,EAAE,eAAe,GAAG,2CAAM;AAChC,WAAO,IAAI,aACV;GAED;GACD,KAAKA,iCAAmB,KAAK;IAC5B,MAAM,EAAE,cAAc,GAAG,2CAAM;IAC/B,MAAM,EAAE,eAAe,GAAG,2CAAM;AAChC,WAAO,IAAI,aACV;GAED;GACD,KAAKA,iCAAmB,QAAQ;IAC/B,MAAM,EAAE,iBAAiB,GAAG,2CAAM;IAClC,MAAM,EAAE,kBAAkB,GAAG,2CAAM;AACnC,WAAO,IAAI,gBACV;GAED;GACD,QACC,OAAM,IAAI,OAAO,+BAA+B,WAAW,KAAK;EACjE;CACD;AACD"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { EventPublisherType } from "./types-BrdcSEnd.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/Publisher.ts
|
|
4
|
-
var Publisher = class {
|
|
5
|
-
/**
|
|
6
|
-
* Create a publisher from a connection string
|
|
7
|
-
* This creates both a connection and a publisher
|
|
8
|
-
*/
|
|
9
|
-
static async fromConnectionString(connectionStr) {
|
|
10
|
-
const url = new URL(connectionStr);
|
|
11
|
-
switch (url.protocol.replace(":", "")) {
|
|
12
|
-
case EventPublisherType.Basic: {
|
|
13
|
-
const { BasicConnection, BasicPublisher } = await import("./basic/index.mjs");
|
|
14
|
-
const connection = await BasicConnection.fromConnectionString(connectionStr);
|
|
15
|
-
return new BasicPublisher(connection);
|
|
16
|
-
}
|
|
17
|
-
case EventPublisherType.RabbitMQ: {
|
|
18
|
-
const { RabbitMQPublisher } = await import("./rabbitmq/index.mjs");
|
|
19
|
-
return RabbitMQPublisher.fromConnectionString(connectionStr);
|
|
20
|
-
}
|
|
21
|
-
case EventPublisherType.SQS: {
|
|
22
|
-
const { SQSPublisher } = await import("./sqs/index.mjs");
|
|
23
|
-
return SQSPublisher.fromConnectionString(connectionStr);
|
|
24
|
-
}
|
|
25
|
-
case EventPublisherType.SNS: {
|
|
26
|
-
const { SNSPublisher } = await import("./sns/index.mjs");
|
|
27
|
-
return SNSPublisher.fromConnectionString(connectionStr);
|
|
28
|
-
}
|
|
29
|
-
case EventPublisherType.PgBoss: {
|
|
30
|
-
const { PgBossPublisher } = await import("./pgboss/index.mjs");
|
|
31
|
-
return PgBossPublisher.fromConnectionString(connectionStr);
|
|
32
|
-
}
|
|
33
|
-
default: throw new Error(`Unsupported event publisher type: ${url.protocol}`);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Create a publisher from an existing connection
|
|
38
|
-
* This allows sharing connections between publishers and subscribers
|
|
39
|
-
*/
|
|
40
|
-
static async fromConnection(connection) {
|
|
41
|
-
switch (connection.type) {
|
|
42
|
-
case EventPublisherType.Basic: {
|
|
43
|
-
const { BasicPublisher } = await import("./basic/index.mjs");
|
|
44
|
-
const { BasicConnection } = await import("./basic/index.mjs");
|
|
45
|
-
return new BasicPublisher(connection);
|
|
46
|
-
}
|
|
47
|
-
case EventPublisherType.RabbitMQ: {
|
|
48
|
-
const { RabbitMQPublisher } = await import("./rabbitmq/index.mjs");
|
|
49
|
-
const { RabbitMQConnection } = await import("./rabbitmq/index.mjs");
|
|
50
|
-
return new RabbitMQPublisher(connection);
|
|
51
|
-
}
|
|
52
|
-
case EventPublisherType.SQS: {
|
|
53
|
-
const { SQSPublisher } = await import("./sqs/index.mjs");
|
|
54
|
-
const { SQSConnection } = await import("./sqs/index.mjs");
|
|
55
|
-
return new SQSPublisher(connection);
|
|
56
|
-
}
|
|
57
|
-
case EventPublisherType.SNS: {
|
|
58
|
-
const { SNSPublisher } = await import("./sns/index.mjs");
|
|
59
|
-
const { SNSConnection } = await import("./sns/index.mjs");
|
|
60
|
-
return new SNSPublisher(connection);
|
|
61
|
-
}
|
|
62
|
-
case EventPublisherType.PgBoss: {
|
|
63
|
-
const { PgBossPublisher } = await import("./pgboss/index.mjs");
|
|
64
|
-
const { PgBossConnection } = await import("./pgboss/index.mjs");
|
|
65
|
-
return new PgBossPublisher(connection);
|
|
66
|
-
}
|
|
67
|
-
default: throw new Error(`Unsupported connection type: ${connection.type}`);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
//#endregion
|
|
73
|
-
export { Publisher };
|
|
74
|
-
//# sourceMappingURL=Publisher-ChLTrUeP.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Publisher-ChLTrUeP.mjs","names":["connectionStr: EventPublisherConnectionString","connection: EventConnection"],"sources":["../src/Publisher.ts"],"sourcesContent":["import type {\n\tEventConnection,\n\tEventPublisher,\n\tPublishableMessage,\n} from './types';\nimport { EventPublisherType } from './types';\n\nexport class Publisher {\n\t/**\n\t * Create a publisher from a connection string\n\t * This creates both a connection and a publisher\n\t */\n\tstatic async fromConnectionString<\n\t\tTMessage extends PublishableMessage<string, any>,\n\t>(\n\t\tconnectionStr: EventPublisherConnectionString,\n\t): Promise<EventPublisher<TMessage>> {\n\t\tconst url = new URL(connectionStr);\n\t\tswitch (url.protocol.replace(':', '')) {\n\t\t\tcase EventPublisherType.Basic: {\n\t\t\t\tconst { BasicConnection, BasicPublisher } = await import('./basic');\n\t\t\t\tconst connection =\n\t\t\t\t\tawait BasicConnection.fromConnectionString(connectionStr);\n\t\t\t\treturn new BasicPublisher<TMessage>(connection);\n\t\t\t}\n\t\t\tcase EventPublisherType.RabbitMQ: {\n\t\t\t\tconst { RabbitMQPublisher } = await import('./rabbitmq');\n\t\t\t\treturn RabbitMQPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SQS: {\n\t\t\t\tconst { SQSPublisher } = await import('./sqs');\n\t\t\t\treturn SQSPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.SNS: {\n\t\t\t\tconst { SNSPublisher } = await import('./sns');\n\t\t\t\treturn SNSPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\tcase EventPublisherType.PgBoss: {\n\t\t\t\tconst { PgBossPublisher } = await import('./pgboss');\n\t\t\t\treturn PgBossPublisher.fromConnectionString<TMessage>(connectionStr);\n\t\t\t}\n\t\t\t// Future implementations for EventBridge, Kafka, etc.\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unsupported event publisher type: ${url.protocol}`);\n\t\t}\n\t}\n\n\t/**\n\t * Create a publisher from an existing connection\n\t * This allows sharing connections between publishers and subscribers\n\t */\n\tstatic async fromConnection<TMessage extends PublishableMessage<string, any>>(\n\t\tconnection: EventConnection,\n\t): Promise<EventPublisher<TMessage>> {\n\t\tswitch (connection.type) {\n\t\t\tcase EventPublisherType.Basic: {\n\t\t\t\tconst { BasicPublisher } = await import('./basic');\n\t\t\t\tconst { BasicConnection } = await import('./basic');\n\t\t\t\treturn new BasicPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof BasicConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.RabbitMQ: {\n\t\t\t\tconst { RabbitMQPublisher } = await import('./rabbitmq');\n\t\t\t\tconst { RabbitMQConnection } = await import('./rabbitmq');\n\t\t\t\treturn new RabbitMQPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof RabbitMQConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.SQS: {\n\t\t\t\tconst { SQSPublisher } = await import('./sqs');\n\t\t\t\tconst { SQSConnection } = await import('./sqs');\n\t\t\t\treturn new SQSPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof SQSConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.SNS: {\n\t\t\t\tconst { SNSPublisher } = await import('./sns');\n\t\t\t\tconst { SNSConnection } = await import('./sns');\n\t\t\t\treturn new SNSPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof SNSConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase EventPublisherType.PgBoss: {\n\t\t\t\tconst { PgBossPublisher } = await import('./pgboss');\n\t\t\t\tconst { PgBossConnection } = await import('./pgboss');\n\t\t\t\treturn new PgBossPublisher<TMessage>(\n\t\t\t\t\tconnection as InstanceType<typeof PgBossConnection>,\n\t\t\t\t);\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unsupported connection type: ${connection.type}`);\n\t\t}\n\t}\n}\n\nexport type EventPublisherConnectionString =\n\t`${EventPublisherType}://${string}`;\n"],"mappings":";;;AAOA,IAAa,YAAb,MAAuB;;;;;CAKtB,aAAa,qBAGZA,eACoC;EACpC,MAAM,MAAM,IAAI,IAAI;AACpB,UAAQ,IAAI,SAAS,QAAQ,KAAK,GAAG,EAArC;GACC,KAAK,mBAAmB,OAAO;IAC9B,MAAM,EAAE,iBAAiB,gBAAgB,GAAG,MAAM,OAAO;IACzD,MAAM,aACL,MAAM,gBAAgB,qBAAqB,cAAc;AAC1D,WAAO,IAAI,eAAyB;GACpC;GACD,KAAK,mBAAmB,UAAU;IACjC,MAAM,EAAE,mBAAmB,GAAG,MAAM,OAAO;AAC3C,WAAO,kBAAkB,qBAA+B,cAAc;GACtE;GACD,KAAK,mBAAmB,KAAK;IAC5B,MAAM,EAAE,cAAc,GAAG,MAAM,OAAO;AACtC,WAAO,aAAa,qBAA+B,cAAc;GACjE;GACD,KAAK,mBAAmB,KAAK;IAC5B,MAAM,EAAE,cAAc,GAAG,MAAM,OAAO;AACtC,WAAO,aAAa,qBAA+B,cAAc;GACjE;GACD,KAAK,mBAAmB,QAAQ;IAC/B,MAAM,EAAE,iBAAiB,GAAG,MAAM,OAAO;AACzC,WAAO,gBAAgB,qBAA+B,cAAc;GACpE;GAED,QACC,OAAM,IAAI,OAAO,oCAAoC,IAAI,SAAS;EACnE;CACD;;;;;CAMD,aAAa,eACZC,YACoC;AACpC,UAAQ,WAAW,MAAnB;GACC,KAAK,mBAAmB,OAAO;IAC9B,MAAM,EAAE,gBAAgB,GAAG,MAAM,OAAO;IACxC,MAAM,EAAE,iBAAiB,GAAG,MAAM,OAAO;AACzC,WAAO,IAAI,eACV;GAED;GACD,KAAK,mBAAmB,UAAU;IACjC,MAAM,EAAE,mBAAmB,GAAG,MAAM,OAAO;IAC3C,MAAM,EAAE,oBAAoB,GAAG,MAAM,OAAO;AAC5C,WAAO,IAAI,kBACV;GAED;GACD,KAAK,mBAAmB,KAAK;IAC5B,MAAM,EAAE,cAAc,GAAG,MAAM,OAAO;IACtC,MAAM,EAAE,eAAe,GAAG,MAAM,OAAO;AACvC,WAAO,IAAI,aACV;GAED;GACD,KAAK,mBAAmB,KAAK;IAC5B,MAAM,EAAE,cAAc,GAAG,MAAM,OAAO;IACtC,MAAM,EAAE,eAAe,GAAG,MAAM,OAAO;AACvC,WAAO,IAAI,aACV;GAED;GACD,KAAK,mBAAmB,QAAQ;IAC/B,MAAM,EAAE,iBAAiB,GAAG,MAAM,OAAO;IACzC,MAAM,EAAE,kBAAkB,GAAG,MAAM,OAAO;AAC1C,WAAO,IAAI,gBACV;GAED;GACD,QACC,OAAM,IAAI,OAAO,+BAA+B,WAAW,KAAK;EACjE;CACD;AACD"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { EventConnection, EventPublisher, EventPublisherType, PublishableMessage } from "./types-Dj23od3e.cjs";
|
|
2
|
-
|
|
3
|
-
//#region src/Publisher.d.ts
|
|
4
|
-
declare class Publisher {
|
|
5
|
-
/**
|
|
6
|
-
* Create a publisher from a connection string
|
|
7
|
-
* This creates both a connection and a publisher
|
|
8
|
-
*/
|
|
9
|
-
static fromConnectionString<TMessage extends PublishableMessage<string, any>>(connectionStr: EventPublisherConnectionString): Promise<EventPublisher<TMessage>>;
|
|
10
|
-
/**
|
|
11
|
-
* Create a publisher from an existing connection
|
|
12
|
-
* This allows sharing connections between publishers and subscribers
|
|
13
|
-
*/
|
|
14
|
-
static fromConnection<TMessage extends PublishableMessage<string, any>>(connection: EventConnection): Promise<EventPublisher<TMessage>>;
|
|
15
|
-
}
|
|
16
|
-
type EventPublisherConnectionString = `${EventPublisherType}://${string}`;
|
|
17
|
-
//# sourceMappingURL=Publisher.d.ts.map
|
|
18
|
-
|
|
19
|
-
//#endregion
|
|
20
|
-
export { EventPublisherConnectionString, Publisher };
|
|
21
|
-
//# sourceMappingURL=Publisher-DDee6xau.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Publisher-DDee6xau.d.cts","names":[],"sources":["../src/Publisher.ts"],"sourcesContent":[],"mappings":";;;cAOa,SAAA;EAAA;;;;EAQkC,OACpB,oBAAA,CAAA,iBAHR,kBAGQ,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,aAAA,EADV,8BACU,CAAA,EAAvB,OAAuB,CAAf,cAAe,CAAA,QAAA,CAAA,CAAA;EAAQ;;;;EAoCN,OACF,cAAA,CAAA,iBAFmB,kBAEnB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,UAAA,EADb,eACa,CAAA,EAAvB,OAAuB,CAAf,cAAe,CAAA,QAAA,CAAA,CAAA;;AAAvB,KA2CQ,8BAAA,GA3CR,GA4CA,kBA5CA,MAAA,MAAA,EAAA;AAAO"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { EventConnection, EventPublisher, EventPublisherType, PublishableMessage } from "./types-Dh9Jyinx.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/Publisher.d.ts
|
|
4
|
-
declare class Publisher {
|
|
5
|
-
/**
|
|
6
|
-
* Create a publisher from a connection string
|
|
7
|
-
* This creates both a connection and a publisher
|
|
8
|
-
*/
|
|
9
|
-
static fromConnectionString<TMessage extends PublishableMessage<string, any>>(connectionStr: EventPublisherConnectionString): Promise<EventPublisher<TMessage>>;
|
|
10
|
-
/**
|
|
11
|
-
* Create a publisher from an existing connection
|
|
12
|
-
* This allows sharing connections between publishers and subscribers
|
|
13
|
-
*/
|
|
14
|
-
static fromConnection<TMessage extends PublishableMessage<string, any>>(connection: EventConnection): Promise<EventPublisher<TMessage>>;
|
|
15
|
-
}
|
|
16
|
-
type EventPublisherConnectionString = `${EventPublisherType}://${string}`;
|
|
17
|
-
//# sourceMappingURL=Publisher.d.ts.map
|
|
18
|
-
|
|
19
|
-
//#endregion
|
|
20
|
-
export { EventPublisherConnectionString, Publisher };
|
|
21
|
-
//# sourceMappingURL=Publisher-VHumMkrP.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Publisher-VHumMkrP.d.mts","names":[],"sources":["../src/Publisher.ts"],"sourcesContent":[],"mappings":";;;cAOa,SAAA;EAAA;;;;EAQkC,OACpB,oBAAA,CAAA,iBAHR,kBAGQ,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,aAAA,EADV,8BACU,CAAA,EAAvB,OAAuB,CAAf,cAAe,CAAA,QAAA,CAAA,CAAA;EAAQ;;;;EAoCN,OACF,cAAA,CAAA,iBAFmB,kBAEnB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,UAAA,EADb,eACa,CAAA,EAAvB,OAAuB,CAAf,cAAe,CAAA,QAAA,CAAA,CAAA;;AAAvB,KA2CQ,8BAAA,GA3CR,GA4CA,kBA5CA,MAAA,MAAA,EAAA;AAAO"}
|
package/dist/Publisher.cjs
DELETED
package/dist/Publisher.d.cts
DELETED
package/dist/Publisher.d.mts
DELETED
package/dist/Publisher.mjs
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { EventConnection, EventPublisherType } from "./types-Dh9Jyinx.mjs";
|
|
2
|
-
import amqplib from "amqplib";
|
|
3
|
-
|
|
4
|
-
//#region src/rabbitmq/RabbitMQConnection.d.ts
|
|
5
|
-
interface RabbitMQConnectionConfig {
|
|
6
|
-
url: string;
|
|
7
|
-
exchange?: string;
|
|
8
|
-
exchangeType?: 'topic' | 'direct' | 'fanout' | 'headers';
|
|
9
|
-
exchangeOptions?: amqplib.Options.AssertExchange;
|
|
10
|
-
timeout?: number;
|
|
11
|
-
}
|
|
12
|
-
declare class RabbitMQConnection implements EventConnection {
|
|
13
|
-
readonly type = EventPublisherType.RabbitMQ;
|
|
14
|
-
private connection?;
|
|
15
|
-
private channel?;
|
|
16
|
-
private connecting?;
|
|
17
|
-
private config;
|
|
18
|
-
constructor(config: RabbitMQConnectionConfig);
|
|
19
|
-
/**
|
|
20
|
-
* Create a RabbitMQConnection from a connection string
|
|
21
|
-
* Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000
|
|
22
|
-
*/
|
|
23
|
-
static fromConnectionString(connectionString: string): Promise<RabbitMQConnection>;
|
|
24
|
-
connect(): Promise<void>;
|
|
25
|
-
close(): Promise<void>;
|
|
26
|
-
isConnected(): boolean;
|
|
27
|
-
private cleanup;
|
|
28
|
-
/**
|
|
29
|
-
* Get the underlying channel for publishing/subscribing
|
|
30
|
-
*/
|
|
31
|
-
get amqpChannel(): amqplib.Channel | undefined;
|
|
32
|
-
/**
|
|
33
|
-
* Get the exchange name for this connection
|
|
34
|
-
*/
|
|
35
|
-
get exchangeName(): string;
|
|
36
|
-
/**
|
|
37
|
-
* Get the exchange type for this connection
|
|
38
|
-
*/
|
|
39
|
-
get exchangeType(): string;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=RabbitMQConnection.d.ts.map
|
|
42
|
-
//#endregion
|
|
43
|
-
export { RabbitMQConnection, RabbitMQConnectionConfig };
|
|
44
|
-
//# sourceMappingURL=RabbitMQConnection-DV9t3VYp.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RabbitMQConnection-DV9t3VYp.d.mts","names":[],"sources":["../src/rabbitmq/RabbitMQConnection.ts"],"sourcesContent":[],"mappings":";;;;UAIiB,wBAAA;EAAA,GAAA,EAAA,MAAA;EAQJ,QAAA,CAAA,EAAA,MAAA;EAAmB,YAAA,CAAA,EAAA,OAAA,GAAA,QAAA,GAAA,QAAA,GAAA,SAAA;EAAA,eAClB,CAAA,EALK,OAAA,CAAQ,OAAA,CAAQ,cAKrB;EAAA,OASO,CAAA,EAAA,MAAA;;AAmBjB,cA7BS,kBAAA,YAA8B,eA6BvC,CAAA;EAAO,SAoBO,IAAA,GAhDJ,kBAAA,CAAA,QAAA;EAgDW,QA6CT,UAAA;EAAO,QAwBH,OAAQ;EAAO,QAtHQ,UAAA;EAAe,QAAA,MAAA;sBAUrC;;;;;yDAmBjB,QAAQ;aAoBM;WA6CF;;;;;;qBAwBI,OAAA,CAAQ"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { EventConnection, EventPublisherType } from "./types-Dj23od3e.cjs";
|
|
2
|
-
import amqplib from "amqplib";
|
|
3
|
-
|
|
4
|
-
//#region src/rabbitmq/RabbitMQConnection.d.ts
|
|
5
|
-
interface RabbitMQConnectionConfig {
|
|
6
|
-
url: string;
|
|
7
|
-
exchange?: string;
|
|
8
|
-
exchangeType?: 'topic' | 'direct' | 'fanout' | 'headers';
|
|
9
|
-
exchangeOptions?: amqplib.Options.AssertExchange;
|
|
10
|
-
timeout?: number;
|
|
11
|
-
}
|
|
12
|
-
declare class RabbitMQConnection implements EventConnection {
|
|
13
|
-
readonly type = EventPublisherType.RabbitMQ;
|
|
14
|
-
private connection?;
|
|
15
|
-
private channel?;
|
|
16
|
-
private connecting?;
|
|
17
|
-
private config;
|
|
18
|
-
constructor(config: RabbitMQConnectionConfig);
|
|
19
|
-
/**
|
|
20
|
-
* Create a RabbitMQConnection from a connection string
|
|
21
|
-
* Format: rabbitmq://user:pass@host:port/vhost?exchange=name&type=topic&timeout=5000
|
|
22
|
-
*/
|
|
23
|
-
static fromConnectionString(connectionString: string): Promise<RabbitMQConnection>;
|
|
24
|
-
connect(): Promise<void>;
|
|
25
|
-
close(): Promise<void>;
|
|
26
|
-
isConnected(): boolean;
|
|
27
|
-
private cleanup;
|
|
28
|
-
/**
|
|
29
|
-
* Get the underlying channel for publishing/subscribing
|
|
30
|
-
*/
|
|
31
|
-
get amqpChannel(): amqplib.Channel | undefined;
|
|
32
|
-
/**
|
|
33
|
-
* Get the exchange name for this connection
|
|
34
|
-
*/
|
|
35
|
-
get exchangeName(): string;
|
|
36
|
-
/**
|
|
37
|
-
* Get the exchange type for this connection
|
|
38
|
-
*/
|
|
39
|
-
get exchangeType(): string;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=RabbitMQConnection.d.ts.map
|
|
42
|
-
//#endregion
|
|
43
|
-
export { RabbitMQConnection, RabbitMQConnectionConfig };
|
|
44
|
-
//# sourceMappingURL=RabbitMQConnection-jNME_eR7.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RabbitMQConnection-jNME_eR7.d.cts","names":[],"sources":["../src/rabbitmq/RabbitMQConnection.ts"],"sourcesContent":[],"mappings":";;;;UAIiB,wBAAA;EAAA,GAAA,EAAA,MAAA;EAQJ,QAAA,CAAA,EAAA,MAAA;EAAmB,YAAA,CAAA,EAAA,OAAA,GAAA,QAAA,GAAA,QAAA,GAAA,SAAA;EAAA,eAClB,CAAA,EALK,OAAA,CAAQ,OAAA,CAAQ,cAKrB;EAAA,OASO,CAAA,EAAA,MAAA;;AAmBjB,cA7BS,kBAAA,YAA8B,eA6BvC,CAAA;EAAO,SAoBO,IAAA,GAhDJ,kBAAA,CAAA,QAAA;EAgDW,QA6CT,UAAA;EAAO,QAwBH,OAAQ;EAAO,QAtHQ,UAAA;EAAe,QAAA,MAAA;sBAUrC;;;;;yDAmBjB,QAAQ;aAoBM;WA6CF;;;;;;qBAwBI,OAAA,CAAQ"}
|
|
@@ -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-BfTRUnpy.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RabbitMQPublisher-BfTRUnpy.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"}
|