@geekmidas/events 10.0.0-alpha.2 → 10.0.0-alpha.21

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 (136) hide show
  1. package/dist/PgBossConnection-CywKoAZU.cjs +2 -0
  2. package/dist/PgBossConnection-DjoqT84r.mjs +2 -0
  3. package/dist/RabbitMQConnection-C9eccBL8.cjs +2 -0
  4. package/dist/RabbitMQConnection-CAp7VqyT.mjs +2 -0
  5. package/dist/SNSConnection-BWDC1wAF.cjs +2 -0
  6. package/dist/SNSConnection-ezQvVrDv.mjs +2 -0
  7. package/dist/{SQSSubscriber-BMWZ3s5q.mjs → SQSSubscriber-BXLE_1L3.mjs} +73 -7
  8. package/dist/SQSSubscriber-BXLE_1L3.mjs.map +1 -0
  9. package/dist/{SQSSubscriber-YXPlg2rm.cjs → SQSSubscriber-DtRUaZB3.cjs} +91 -14
  10. package/dist/SQSSubscriber-DtRUaZB3.cjs.map +1 -0
  11. package/dist/basic/index.cjs +7 -8
  12. package/dist/basic/index.cjs.map +1 -1
  13. package/dist/basic/index.d.cts +4 -10
  14. package/dist/basic/index.d.cts.map +1 -1
  15. package/dist/basic/index.d.mts +4 -10
  16. package/dist/basic/index.d.mts.map +1 -1
  17. package/dist/basic/index.mjs +5 -6
  18. package/dist/basic/index.mjs.map +1 -1
  19. package/dist/index.cjs +39 -46
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.d.cts +5 -9
  22. package/dist/index.d.cts.map +1 -1
  23. package/dist/index.d.mts +5 -9
  24. package/dist/index.d.mts.map +1 -1
  25. package/dist/index.mjs +38 -47
  26. package/dist/index.mjs.map +1 -1
  27. package/dist/pgboss/index.cjs +98 -21
  28. package/dist/pgboss/index.cjs.map +1 -1
  29. package/dist/pgboss/index.d.cts +11 -10
  30. package/dist/pgboss/index.d.cts.map +1 -1
  31. package/dist/pgboss/index.d.mts +11 -10
  32. package/dist/pgboss/index.d.mts.map +1 -1
  33. package/dist/pgboss/index.mjs +95 -21
  34. package/dist/pgboss/index.mjs.map +1 -1
  35. package/dist/rabbitmq/index.cjs +135 -22
  36. package/dist/rabbitmq/index.cjs.map +1 -1
  37. package/dist/rabbitmq/index.d.cts +11 -10
  38. package/dist/rabbitmq/index.d.cts.map +1 -1
  39. package/dist/rabbitmq/index.d.mts +11 -10
  40. package/dist/rabbitmq/index.d.mts.map +1 -1
  41. package/dist/rabbitmq/index.mjs +130 -22
  42. package/dist/rabbitmq/index.mjs.map +1 -1
  43. package/dist/{chunk-CsX-DzYB.cjs → rolldown-runtime-C0BPl7ul.cjs} +17 -16
  44. package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
  45. package/dist/sns/index.cjs +106 -34
  46. package/dist/sns/index.cjs.map +1 -1
  47. package/dist/sns/index.d.cts +14 -11
  48. package/dist/sns/index.d.cts.map +1 -1
  49. package/dist/sns/index.d.mts +14 -11
  50. package/dist/sns/index.d.mts.map +1 -1
  51. package/dist/sns/index.mjs +88 -18
  52. package/dist/sns/index.mjs.map +1 -1
  53. package/dist/sns/snsUrl.cjs +91 -6
  54. package/dist/sns/snsUrl.cjs.map +1 -0
  55. package/dist/sns/snsUrl.d.cts +57 -2
  56. package/dist/sns/snsUrl.d.cts.map +1 -0
  57. package/dist/sns/snsUrl.d.mts +57 -2
  58. package/dist/sns/snsUrl.d.mts.map +1 -0
  59. package/dist/sns/snsUrl.mjs +81 -2
  60. package/dist/sns/snsUrl.mjs.map +1 -0
  61. package/dist/sqs/index.cjs +34 -24
  62. package/dist/sqs/index.cjs.map +1 -1
  63. package/dist/sqs/index.d.cts +19 -11
  64. package/dist/sqs/index.d.cts.map +1 -1
  65. package/dist/sqs/index.d.mts +19 -11
  66. package/dist/sqs/index.d.mts.map +1 -1
  67. package/dist/sqs/index.mjs +22 -15
  68. package/dist/sqs/index.mjs.map +1 -1
  69. package/dist/sqs/sqsUrl.cjs +92 -6
  70. package/dist/sqs/sqsUrl.cjs.map +1 -0
  71. package/dist/sqs/sqsUrl.d.cts +56 -2
  72. package/dist/sqs/sqsUrl.d.cts.map +1 -0
  73. package/dist/sqs/sqsUrl.d.mts +56 -2
  74. package/dist/sqs/sqsUrl.d.mts.map +1 -0
  75. package/dist/sqs/sqsUrl.mjs +82 -2
  76. package/dist/sqs/sqsUrl.mjs.map +1 -0
  77. package/dist/types-BcZjLxVV.cjs +51 -0
  78. package/dist/types-BcZjLxVV.cjs.map +1 -0
  79. package/dist/types-Bk5JM6MP.mjs +40 -0
  80. package/dist/types-Bk5JM6MP.mjs.map +1 -0
  81. package/dist/types-gGaoT8qc.d.cts +149 -0
  82. package/dist/types-gGaoT8qc.d.cts.map +1 -0
  83. package/dist/types-gGaoT8qc.d.mts +149 -0
  84. package/dist/types-gGaoT8qc.d.mts.map +1 -0
  85. package/package.json +12 -12
  86. package/dist/PgBossConnection-23soZ_aM.cjs +0 -80
  87. package/dist/PgBossConnection-23soZ_aM.cjs.map +0 -1
  88. package/dist/PgBossConnection-CCXhoNzb.cjs +0 -4
  89. package/dist/PgBossConnection-DvNbd4Zk.mjs +0 -74
  90. package/dist/PgBossConnection-DvNbd4Zk.mjs.map +0 -1
  91. package/dist/PgBossConnection-_gdM40JB.mjs +0 -4
  92. package/dist/RabbitMQConnection-BKEdCUro.cjs +0 -113
  93. package/dist/RabbitMQConnection-BKEdCUro.cjs.map +0 -1
  94. package/dist/RabbitMQConnection-CCOqDDnb.cjs +0 -4
  95. package/dist/RabbitMQConnection-DJEyM-Bu.mjs +0 -4
  96. package/dist/RabbitMQConnection-DJgUPc19.mjs +0 -107
  97. package/dist/RabbitMQConnection-DJgUPc19.mjs.map +0 -1
  98. package/dist/SNSConnection-B2K86hpz.cjs +0 -75
  99. package/dist/SNSConnection-B2K86hpz.cjs.map +0 -1
  100. package/dist/SNSConnection-BVo84FeW.mjs +0 -5
  101. package/dist/SNSConnection-DIHRjrQF.cjs +0 -5
  102. package/dist/SNSConnection-v9jjF99w.mjs +0 -69
  103. package/dist/SNSConnection-v9jjF99w.mjs.map +0 -1
  104. package/dist/SQSConnection-4tBMkVZE.mjs +0 -69
  105. package/dist/SQSConnection-4tBMkVZE.mjs.map +0 -1
  106. package/dist/SQSConnection-BBLAvF-1.cjs +0 -5
  107. package/dist/SQSConnection-BaC7rGhI.cjs +0 -75
  108. package/dist/SQSConnection-BaC7rGhI.cjs.map +0 -1
  109. package/dist/SQSConnection-DbavOq8_.mjs +0 -5
  110. package/dist/SQSSubscriber-BMWZ3s5q.mjs.map +0 -1
  111. package/dist/SQSSubscriber-YXPlg2rm.cjs.map +0 -1
  112. package/dist/chunk-B9dir_RE.mjs +0 -11
  113. package/dist/snsUrl-ASdc0D1v.d.cts +0 -61
  114. package/dist/snsUrl-ASdc0D1v.d.cts.map +0 -1
  115. package/dist/snsUrl-CifYhPAa.mjs +0 -79
  116. package/dist/snsUrl-CifYhPAa.mjs.map +0 -1
  117. package/dist/snsUrl-FRbRcwF0.d.mts +0 -61
  118. package/dist/snsUrl-FRbRcwF0.d.mts.map +0 -1
  119. package/dist/snsUrl-f2gU3CzK.cjs +0 -114
  120. package/dist/snsUrl-f2gU3CzK.cjs.map +0 -1
  121. package/dist/sqsUrl-BV6zS-mi.d.mts +0 -60
  122. package/dist/sqsUrl-BV6zS-mi.d.mts.map +0 -1
  123. package/dist/sqsUrl-CbAsBFHI.mjs +0 -80
  124. package/dist/sqsUrl-CbAsBFHI.mjs.map +0 -1
  125. package/dist/sqsUrl-CdisN3GU.cjs +0 -115
  126. package/dist/sqsUrl-CdisN3GU.cjs.map +0 -1
  127. package/dist/sqsUrl-DZDPHxIk.d.cts +0 -60
  128. package/dist/sqsUrl-DZDPHxIk.d.cts.map +0 -1
  129. package/dist/types-BmixGrOD.d.cts +0 -67
  130. package/dist/types-BmixGrOD.d.cts.map +0 -1
  131. package/dist/types-Byv8N9ma.cjs +0 -24
  132. package/dist/types-Byv8N9ma.cjs.map +0 -1
  133. package/dist/types-CYDt-2RQ.mjs +0 -18
  134. package/dist/types-CYDt-2RQ.mjs.map +0 -1
  135. package/dist/types-DycjsYms.d.mts +0 -67
  136. package/dist/types-DycjsYms.d.mts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqsUrl-CdisN3GU.cjs","names":["address: SqsAddress","connectionString: string","parsed: URL","url: string","expected: string","actual: string"],"sources":["../src/sqs/sqsUrl.ts"],"sourcesContent":["/**\n * The `sqs://` connection-string codec — how a queue is addressed as one string.\n *\n * It lives beside the client rather than in a neutral package because\n * `queueUrl`, `region`, and `endpoint` are SQS's vocabulary. The neutral layer\n * knows only that a queue provides *one* connection string; what that string\n * says is between the component that composes it and the publisher that parses\n * it. The `pgboss://` form sits beside its own client and shares nothing here.\n *\n * Both directions live in this module so they cannot drift: `parse(build(x))`\n * is `x`, and the deploy target composing a string it cannot parse back is the\n * failure this shape rules out.\n */\n\n/** What an SQS connection string addresses. */\nexport interface SqsAddress {\n\tqueueUrl: string;\n\t/** Read off the queue, never inherited: a queue may live in another region. */\n\tregion?: string;\n\t/** Set for SQS-compatible backends such as LocalStack. */\n\tendpoint?: string;\n\t/** Largest batch the publisher may send in one call. */\n\tmaxBatchSize?: number;\n}\n\nconst SCHEME = 'sqs:';\n\n/**\n * Compose an address into a connection string.\n *\n * Credentials never appear. The AWS SDK resolves them from its own chain — an\n * execution role deployed, environment locally — so the string stays safe to log\n * and identical across environments that differ only in who is calling.\n */\nexport function build(address: SqsAddress): string {\n\tconst { queueUrl, region, endpoint, maxBatchSize } = address;\n\tif (!queueUrl) throw new MissingQueueUrl('');\n\n\tconst url = new URL(`${SCHEME}//`);\n\turl.searchParams.set('queueUrl', queueUrl);\n\tif (region) url.searchParams.set('region', region);\n\tif (endpoint) url.searchParams.set('endpoint', endpoint);\n\tif (maxBatchSize !== undefined) {\n\t\turl.searchParams.set('maxBatchSize', String(maxBatchSize));\n\t}\n\n\treturn url.toString();\n}\n\n/** Parse a connection string back into an address. */\nexport function parse(connectionString: string): SqsAddress {\n\tlet parsed: URL;\n\ttry {\n\t\tparsed = new URL(connectionString);\n\t} catch {\n\t\tthrow new MalformedQueueUrl(connectionString);\n\t}\n\n\tif (parsed.protocol !== SCHEME) {\n\t\tthrow new UnexpectedQueueScheme(connectionString, SCHEME, parsed.protocol);\n\t}\n\n\tconst queueUrl = parsed.searchParams.get('queueUrl');\n\tif (!queueUrl) throw new MissingQueueUrl(connectionString);\n\n\tconst region = parsed.searchParams.get('region') ?? undefined;\n\tconst endpoint = parsed.searchParams.get('endpoint') ?? undefined;\n\tconst batch = parsed.searchParams.get('maxBatchSize');\n\n\treturn {\n\t\tqueueUrl,\n\t\t...(region ? { region } : {}),\n\t\t...(endpoint ? { endpoint } : {}),\n\t\t...(batch ? { maxBatchSize: Number(batch) } : {}),\n\t};\n}\n\n/** The string is not a URL at all. */\nexport class MalformedQueueUrl extends Error {\n\tconstructor(readonly url: string) {\n\t\tsuper(`'${url}' is not a valid connection string.`);\n\t\tthis.name = 'MalformedQueueUrl';\n\t}\n}\n\n/** The string is a URL, but not an `sqs://` one. */\nexport class UnexpectedQueueScheme 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 = 'UnexpectedQueueScheme';\n\t}\n}\n\n/** An `sqs://` string with no queue names nothing. */\nexport class MissingQueueUrl extends Error {\n\tconstructor(readonly url: string) {\n\t\tsuper(\n\t\t\turl\n\t\t\t\t? `'${url}' names no queue: an sqs:// connection string needs ?queueUrl=.`\n\t\t\t\t: 'An sqs:// connection string needs a queueUrl.',\n\t\t);\n\t\tthis.name = 'MissingQueueUrl';\n\t}\n}\n"],"mappings":";;;;;;;;;;;AAyBA,MAAM,SAAS;;;;;;;;AASf,SAAgB,MAAMA,SAA6B;CAClD,MAAM,EAAE,UAAU,QAAQ,UAAU,cAAc,GAAG;AACrD,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,wBACH,KAAI,aAAa,IAAI,gBAAgB,OAAO,aAAa,CAAC;AAG3D,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,QAAQ,OAAO,aAAa,IAAI,eAAe;AAErD,QAAO;EACN;EACA,GAAI,SAAS,EAAE,OAAQ,IAAG,CAAE;EAC5B,GAAI,WAAW,EAAE,SAAU,IAAG,CAAE;EAChC,GAAI,QAAQ,EAAE,cAAc,OAAO,MAAM,CAAE,IAAG,CAAE;CAChD;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,60 +0,0 @@
1
- import { __export } from "./chunk-CWFgIw0j.cjs";
2
-
3
- //#region src/sqs/sqsUrl.d.ts
4
- declare namespace sqsUrl_d_exports {
5
- export { MalformedQueueUrl, MissingQueueUrl, SqsAddress, UnexpectedQueueScheme, build, parse };
6
- }
7
- /**
8
- * The `sqs://` connection-string codec — how a queue is addressed as one string.
9
- *
10
- * It lives beside the client rather than in a neutral package because
11
- * `queueUrl`, `region`, and `endpoint` are SQS's vocabulary. The neutral layer
12
- * knows only that a queue provides *one* connection string; what that string
13
- * says is between the component that composes it and the publisher that parses
14
- * it. The `pgboss://` form sits beside its own client and shares nothing here.
15
- *
16
- * Both directions live in this module so they cannot drift: `parse(build(x))`
17
- * is `x`, and the deploy target composing a string it cannot parse back is the
18
- * failure this shape rules out.
19
- */
20
- /** What an SQS connection string addresses. */
21
- interface SqsAddress {
22
- queueUrl: string;
23
- /** Read off the queue, never inherited: a queue may live in another region. */
24
- region?: string;
25
- /** Set for SQS-compatible backends such as LocalStack. */
26
- endpoint?: string;
27
- /** Largest batch the publisher may send in one call. */
28
- maxBatchSize?: number;
29
- }
30
- /**
31
- * Compose an address into a connection string.
32
- *
33
- * Credentials never appear. The AWS SDK resolves them from its own chain — an
34
- * execution role deployed, environment locally — so the string stays safe to log
35
- * and identical across environments that differ only in who is calling.
36
- */
37
- declare function build(address: SqsAddress): string;
38
- /** Parse a connection string back into an address. */
39
- declare function parse(connectionString: string): SqsAddress;
40
- /** The string is not a URL at all. */
41
- declare class MalformedQueueUrl extends Error {
42
- readonly url: string;
43
- constructor(url: string);
44
- }
45
- /** The string is a URL, but not an `sqs://` one. */
46
- declare class UnexpectedQueueScheme extends Error {
47
- readonly url: string;
48
- readonly expected: string;
49
- readonly actual: string;
50
- constructor(url: string, expected: string, actual: string);
51
- }
52
- /** An `sqs://` string with no queue names nothing. */
53
- declare class MissingQueueUrl extends Error {
54
- readonly url: string;
55
- constructor(url: string);
56
- }
57
- //# sourceMappingURL=sqsUrl.d.ts.map
58
- //#endregion
59
- export { MalformedQueueUrl, MissingQueueUrl, SqsAddress, UnexpectedQueueScheme, build, parse, sqsUrl_d_exports };
60
- //# sourceMappingURL=sqsUrl-DZDPHxIk.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqsUrl-DZDPHxIk.d.cts","names":[],"sources":["../src/sqs/sqsUrl.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;AAeA;AAmBA;AAgBgB,UAnCC,UAAA,CAmCgC;EA4BpC,QAAA,EAAA,MAAA;EAQA;EAcA,MAAA,CAAA,EAAA,MAAA;;;;;;;;;;;;;iBAlEG,KAAA,UAAe;;iBAgBf,KAAA,4BAAiC;;cA4BpC,iBAAA,SAA0B,KAAK;;;;;cAQ/B,qBAAA,SAA8B,KAAK;;;;;;;cAcnC,eAAA,SAAwB,KAAK"}
@@ -1,67 +0,0 @@
1
- import { InferStandardSchema } from "@geekmidas/schema";
2
- import { StandardSchemaV1 } from "@standard-schema/spec";
3
-
4
- //#region src/types.d.ts
5
-
6
- /**
7
- * Represents a publishable event message with a type and payload.
8
- *
9
- * @template TType - The event type/name (e.g., 'user.created')
10
- * @template TPayload - The event payload data
11
- */
12
- type PublishableMessage<TType extends string, TPayload> = {
13
- type: TType;
14
- payload: TPayload;
15
- };
16
- /**
17
- * Event publisher/subscriber types
18
- */
19
- declare enum EventPublisherType {
20
- Basic = "basic",
21
- EventBridge = "eventbridge",
22
- SQS = "sqs",
23
- SNS = "sns",
24
- Kafka = "kafka",
25
- RabbitMQ = "rabbitmq",
26
- PgBoss = "pgboss",
27
- }
28
- /**
29
- * Base interface for event connections
30
- * Connections manage the underlying transport (RabbitMQ channel, SQS client, etc.)
31
- */
32
- interface EventConnection {
33
- readonly type: EventPublisherType;
34
- connect(): Promise<void>;
35
- close(): Promise<void>;
36
- isConnected(): boolean;
37
- }
38
- /**
39
- * Interface for event publishers that handle the actual publishing of events.
40
- * Implementations can send to EventBridge, SQS, Kafka, or any other event system.
41
- *
42
- * @template TMessage - The union type of all publishable messages
43
- */
44
- type EventPublisher<TMessage extends PublishableMessage<string, any>> = {
45
- publish: (message: TMessage[]) => Promise<void>;
46
- };
47
- /**
48
- * Interface for event subscribers that handle receiving and processing events.
49
- *
50
- * @template TMessage - The union type of all publishable messages
51
- */
52
- type EventSubscriber<TMessage extends PublishableMessage<string, any>> = {
53
- subscribe: (messages: TMessage['type'][], listener: (payload: TMessage) => Promise<void>) => Promise<void>;
54
- };
55
- /**
56
- * Utility type to extract the message from EventPublisher
57
- */
58
- type ExtractPublisherMessage<T> = T extends EventPublisher<infer M> ? M : never;
59
- type MappedEvent<T extends EventPublisher<any> | undefined, OutSchema extends StandardSchemaV1 | undefined = undefined> = {
60
- type: ExtractPublisherMessage<T>['type'];
61
- payload: (ctx: InferStandardSchema<OutSchema>) => ExtractPublisherMessage<T>['payload'];
62
- when?: (ctx: InferStandardSchema<OutSchema>) => boolean;
63
- };
64
- //# sourceMappingURL=types.d.ts.map
65
- //#endregion
66
- export { EventConnection, EventPublisher, EventPublisherType, EventSubscriber, ExtractPublisherMessage, MappedEvent, PublishableMessage };
67
- //# sourceMappingURL=types-BmixGrOD.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-BmixGrOD.d.cts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":";;;;;;;AASA;;;;AAEkB,KAFN,kBAEM,CAAA,cAAA,MAAA,EAAA,QAAA,CAAA,GAAA;EAMN,IAAA,EAPL,KAOK;EAcK,OAAA,EApBP,QAoBO;CAAe;;;;AAGf,aAjBL,kBAAA;EA2BA,KAAA,GAAA,OAAA;EAAc,WAAA,GAAA,aAAA;EAAA,GAAkB,GAAA,KAAA;EAAkB,GAC1C,GAAA,KAAA;EAAQ,KAAO,GAAA,OAAA;EAAO,QAAA,GAAA,UAAA;EAQ9B,MAAA,GAAA,QAAA;;;;;;AAKL,UA3BU,eAAA,CA2BV;EAAO,SAAA,IAAA,EA1BE,kBA0BF;EAKF,OAAA,EAAA,EA9BA,OA8BA,CAAA,IAAA,CAAA;EAAuB,KAAA,EAAA,EA7BzB,OA6ByB,CAAA,IAAA,CAAA;EAAA,WAClC,EAAA,EAAA,OAAA;;;AAAqC;AAEtC;;;;AAI+B,KA1BnB,cA0BmB,CAAA,iBA1Ba,kBA0Bb,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,GAAA;EAAC,OAAzB,EAAA,CAAA,OAAA,EAzBa,QAyBb,EAAA,EAAA,GAzB4B,OAyB5B,CAAA,IAAA,CAAA;CAAuB;;;;;;AAIG,KArBrB,eAqBqB,CAAA,iBArBY,kBAqBZ,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,GAAA;wBAlBpB,wCACU,aAAa,kBAC7B;;;;;KAKK,6BACX,UAAU,0BAA0B;KAEzB,sBACD,mDACQ;QAEZ,wBAAwB;iBAExB,oBAAoB,eACrB,wBAAwB;eAChB,oBAAoB"}
@@ -1,24 +0,0 @@
1
-
2
- //#region src/types.ts
3
- /**
4
- * Event publisher/subscriber types
5
- */
6
- let EventPublisherType = /* @__PURE__ */ function(EventPublisherType$1) {
7
- EventPublisherType$1["Basic"] = "basic";
8
- EventPublisherType$1["EventBridge"] = "eventbridge";
9
- EventPublisherType$1["SQS"] = "sqs";
10
- EventPublisherType$1["SNS"] = "sns";
11
- EventPublisherType$1["Kafka"] = "kafka";
12
- EventPublisherType$1["RabbitMQ"] = "rabbitmq";
13
- EventPublisherType$1["PgBoss"] = "pgboss";
14
- return EventPublisherType$1;
15
- }({});
16
-
17
- //#endregion
18
- Object.defineProperty(exports, 'EventPublisherType', {
19
- enumerable: true,
20
- get: function () {
21
- return EventPublisherType;
22
- }
23
- });
24
- //# sourceMappingURL=types-Byv8N9ma.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-Byv8N9ma.cjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type { InferStandardSchema } from '@geekmidas/schema';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\n\n/**\n * Represents a publishable event message with a type and payload.\n *\n * @template TType - The event type/name (e.g., 'user.created')\n * @template TPayload - The event payload data\n */\nexport type PublishableMessage<TType extends string, TPayload> = {\n\ttype: TType;\n\tpayload: TPayload;\n};\n\n/**\n * Event publisher/subscriber types\n */\nexport enum EventPublisherType {\n\tBasic = 'basic',\n\tEventBridge = 'eventbridge',\n\tSQS = 'sqs',\n\tSNS = 'sns',\n\tKafka = 'kafka',\n\tRabbitMQ = 'rabbitmq',\n\tPgBoss = 'pgboss',\n}\n\n/**\n * Base interface for event connections\n * Connections manage the underlying transport (RabbitMQ channel, SQS client, etc.)\n */\nexport interface EventConnection {\n\treadonly type: EventPublisherType;\n\tconnect(): Promise<void>;\n\tclose(): Promise<void>;\n\tisConnected(): boolean;\n}\n\n/**\n * Interface for event publishers that handle the actual publishing of events.\n * Implementations can send to EventBridge, SQS, Kafka, or any other event system.\n *\n * @template TMessage - The union type of all publishable messages\n */\nexport type EventPublisher<TMessage extends PublishableMessage<string, any>> = {\n\tpublish: (message: TMessage[]) => Promise<void>;\n};\n\n/**\n * Interface for event subscribers that handle receiving and processing events.\n *\n * @template TMessage - The union type of all publishable messages\n */\nexport type EventSubscriber<TMessage extends PublishableMessage<string, any>> =\n\t{\n\t\tsubscribe: (\n\t\t\tmessages: TMessage['type'][],\n\t\t\tlistener: (payload: TMessage) => Promise<void>,\n\t\t) => Promise<void>;\n\t};\n/**\n * Utility type to extract the message from EventPublisher\n */\nexport type ExtractPublisherMessage<T> =\n\tT extends EventPublisher<infer M> ? M : never;\n\nexport type MappedEvent<\n\tT extends EventPublisher<any> | undefined,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n> = {\n\ttype: ExtractPublisherMessage<T>['type'];\n\tpayload: (\n\t\tctx: InferStandardSchema<OutSchema>,\n\t) => ExtractPublisherMessage<T>['payload'];\n\twhen?: (ctx: InferStandardSchema<OutSchema>) => boolean;\n};\n"],"mappings":";;;;;AAiBA,IAAY,oEAAL;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AACA"}
@@ -1,18 +0,0 @@
1
- //#region src/types.ts
2
- /**
3
- * Event publisher/subscriber types
4
- */
5
- let EventPublisherType = /* @__PURE__ */ function(EventPublisherType$1) {
6
- EventPublisherType$1["Basic"] = "basic";
7
- EventPublisherType$1["EventBridge"] = "eventbridge";
8
- EventPublisherType$1["SQS"] = "sqs";
9
- EventPublisherType$1["SNS"] = "sns";
10
- EventPublisherType$1["Kafka"] = "kafka";
11
- EventPublisherType$1["RabbitMQ"] = "rabbitmq";
12
- EventPublisherType$1["PgBoss"] = "pgboss";
13
- return EventPublisherType$1;
14
- }({});
15
-
16
- //#endregion
17
- export { EventPublisherType };
18
- //# sourceMappingURL=types-CYDt-2RQ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-CYDt-2RQ.mjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type { InferStandardSchema } from '@geekmidas/schema';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\n\n/**\n * Represents a publishable event message with a type and payload.\n *\n * @template TType - The event type/name (e.g., 'user.created')\n * @template TPayload - The event payload data\n */\nexport type PublishableMessage<TType extends string, TPayload> = {\n\ttype: TType;\n\tpayload: TPayload;\n};\n\n/**\n * Event publisher/subscriber types\n */\nexport enum EventPublisherType {\n\tBasic = 'basic',\n\tEventBridge = 'eventbridge',\n\tSQS = 'sqs',\n\tSNS = 'sns',\n\tKafka = 'kafka',\n\tRabbitMQ = 'rabbitmq',\n\tPgBoss = 'pgboss',\n}\n\n/**\n * Base interface for event connections\n * Connections manage the underlying transport (RabbitMQ channel, SQS client, etc.)\n */\nexport interface EventConnection {\n\treadonly type: EventPublisherType;\n\tconnect(): Promise<void>;\n\tclose(): Promise<void>;\n\tisConnected(): boolean;\n}\n\n/**\n * Interface for event publishers that handle the actual publishing of events.\n * Implementations can send to EventBridge, SQS, Kafka, or any other event system.\n *\n * @template TMessage - The union type of all publishable messages\n */\nexport type EventPublisher<TMessage extends PublishableMessage<string, any>> = {\n\tpublish: (message: TMessage[]) => Promise<void>;\n};\n\n/**\n * Interface for event subscribers that handle receiving and processing events.\n *\n * @template TMessage - The union type of all publishable messages\n */\nexport type EventSubscriber<TMessage extends PublishableMessage<string, any>> =\n\t{\n\t\tsubscribe: (\n\t\t\tmessages: TMessage['type'][],\n\t\t\tlistener: (payload: TMessage) => Promise<void>,\n\t\t) => Promise<void>;\n\t};\n/**\n * Utility type to extract the message from EventPublisher\n */\nexport type ExtractPublisherMessage<T> =\n\tT extends EventPublisher<infer M> ? M : never;\n\nexport type MappedEvent<\n\tT extends EventPublisher<any> | undefined,\n\tOutSchema extends StandardSchemaV1 | undefined = undefined,\n> = {\n\ttype: ExtractPublisherMessage<T>['type'];\n\tpayload: (\n\t\tctx: InferStandardSchema<OutSchema>,\n\t) => ExtractPublisherMessage<T>['payload'];\n\twhen?: (ctx: InferStandardSchema<OutSchema>) => boolean;\n};\n"],"mappings":";;;;AAiBA,IAAY,oEAAL;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AACA"}
@@ -1,67 +0,0 @@
1
- import { InferStandardSchema } from "@geekmidas/schema";
2
- import { StandardSchemaV1 } from "@standard-schema/spec";
3
-
4
- //#region src/types.d.ts
5
-
6
- /**
7
- * Represents a publishable event message with a type and payload.
8
- *
9
- * @template TType - The event type/name (e.g., 'user.created')
10
- * @template TPayload - The event payload data
11
- */
12
- type PublishableMessage<TType extends string, TPayload> = {
13
- type: TType;
14
- payload: TPayload;
15
- };
16
- /**
17
- * Event publisher/subscriber types
18
- */
19
- declare enum EventPublisherType {
20
- Basic = "basic",
21
- EventBridge = "eventbridge",
22
- SQS = "sqs",
23
- SNS = "sns",
24
- Kafka = "kafka",
25
- RabbitMQ = "rabbitmq",
26
- PgBoss = "pgboss",
27
- }
28
- /**
29
- * Base interface for event connections
30
- * Connections manage the underlying transport (RabbitMQ channel, SQS client, etc.)
31
- */
32
- interface EventConnection {
33
- readonly type: EventPublisherType;
34
- connect(): Promise<void>;
35
- close(): Promise<void>;
36
- isConnected(): boolean;
37
- }
38
- /**
39
- * Interface for event publishers that handle the actual publishing of events.
40
- * Implementations can send to EventBridge, SQS, Kafka, or any other event system.
41
- *
42
- * @template TMessage - The union type of all publishable messages
43
- */
44
- type EventPublisher<TMessage extends PublishableMessage<string, any>> = {
45
- publish: (message: TMessage[]) => Promise<void>;
46
- };
47
- /**
48
- * Interface for event subscribers that handle receiving and processing events.
49
- *
50
- * @template TMessage - The union type of all publishable messages
51
- */
52
- type EventSubscriber<TMessage extends PublishableMessage<string, any>> = {
53
- subscribe: (messages: TMessage['type'][], listener: (payload: TMessage) => Promise<void>) => Promise<void>;
54
- };
55
- /**
56
- * Utility type to extract the message from EventPublisher
57
- */
58
- type ExtractPublisherMessage<T> = T extends EventPublisher<infer M> ? M : never;
59
- type MappedEvent<T extends EventPublisher<any> | undefined, OutSchema extends StandardSchemaV1 | undefined = undefined> = {
60
- type: ExtractPublisherMessage<T>['type'];
61
- payload: (ctx: InferStandardSchema<OutSchema>) => ExtractPublisherMessage<T>['payload'];
62
- when?: (ctx: InferStandardSchema<OutSchema>) => boolean;
63
- };
64
- //# sourceMappingURL=types.d.ts.map
65
- //#endregion
66
- export { EventConnection, EventPublisher, EventPublisherType, EventSubscriber, ExtractPublisherMessage, MappedEvent, PublishableMessage };
67
- //# sourceMappingURL=types-DycjsYms.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-DycjsYms.d.mts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":";;;;;;;AASA;;;;AAEkB,KAFN,kBAEM,CAAA,cAAA,MAAA,EAAA,QAAA,CAAA,GAAA;EAMN,IAAA,EAPL,KAOK;EAcK,OAAA,EApBP,QAoBO;CAAe;;;;AAGf,aAjBL,kBAAA;EA2BA,KAAA,GAAA,OAAA;EAAc,WAAA,GAAA,aAAA;EAAA,GAAkB,GAAA,KAAA;EAAkB,GAC1C,GAAA,KAAA;EAAQ,KAAO,GAAA,OAAA;EAAO,QAAA,GAAA,UAAA;EAQ9B,MAAA,GAAA,QAAA;;;;;;AAKL,UA3BU,eAAA,CA2BV;EAAO,SAAA,IAAA,EA1BE,kBA0BF;EAKF,OAAA,EAAA,EA9BA,OA8BA,CAAA,IAAA,CAAA;EAAuB,KAAA,EAAA,EA7BzB,OA6ByB,CAAA,IAAA,CAAA;EAAA,WAClC,EAAA,EAAA,OAAA;;;AAAqC;AAEtC;;;;AAI+B,KA1BnB,cA0BmB,CAAA,iBA1Ba,kBA0Bb,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,GAAA;EAAC,OAAzB,EAAA,CAAA,OAAA,EAzBa,QAyBb,EAAA,EAAA,GAzB4B,OAyB5B,CAAA,IAAA,CAAA;CAAuB;;;;;;AAIG,KArBrB,eAqBqB,CAAA,iBArBY,kBAqBZ,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,GAAA;wBAlBpB,wCACU,aAAa,kBAC7B;;;;;KAKK,6BACX,UAAU,0BAA0B;KAEzB,sBACD,mDACQ;QAEZ,wBAAwB;iBAExB,oBAAoB,eACrB,wBAAwB;eAChB,oBAAoB"}