@zdavison/matador 2.0.8 → 2.0.10

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 (77) hide show
  1. package/dist/index.d.cts +1 -1
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/package.json +6 -2
  5. package/examples/config.ts +0 -126
  6. package/examples/event.ts +0 -26
  7. package/examples/order-event.json +0 -19
  8. package/src/checkpoint/context.test.ts +0 -510
  9. package/src/checkpoint/context.ts +0 -213
  10. package/src/checkpoint/index.ts +0 -30
  11. package/src/checkpoint/stores/memory.ts +0 -47
  12. package/src/checkpoint/stores/noop.ts +0 -22
  13. package/src/checkpoint/stores/stores.test.ts +0 -177
  14. package/src/checkpoint/types.ts +0 -147
  15. package/src/codec/codec.ts +0 -42
  16. package/src/codec/header-aware-codec.ts +0 -41
  17. package/src/codec/index.ts +0 -11
  18. package/src/codec/json-codec.ts +0 -69
  19. package/src/codec/rabbitmq-codec.test.ts +0 -516
  20. package/src/codec/rabbitmq-codec.ts +0 -336
  21. package/src/core/fanout.test.ts +0 -1350
  22. package/src/core/fanout.ts +0 -184
  23. package/src/core/index.ts +0 -12
  24. package/src/core/matador.test.ts +0 -575
  25. package/src/core/matador.ts +0 -357
  26. package/src/core/shutdown.test.ts +0 -853
  27. package/src/core/shutdown.ts +0 -165
  28. package/src/errors/checkpoint-errors.ts +0 -62
  29. package/src/errors/has-description.ts +0 -25
  30. package/src/errors/index.ts +0 -58
  31. package/src/errors/matador-errors.ts +0 -477
  32. package/src/errors/retry-errors.test.ts +0 -175
  33. package/src/errors/retry-errors.ts +0 -188
  34. package/src/hooks/index.ts +0 -14
  35. package/src/hooks/safe-hooks.ts +0 -200
  36. package/src/hooks/types.ts +0 -226
  37. package/src/index.ts +0 -241
  38. package/src/pipeline/index.ts +0 -2
  39. package/src/pipeline/pipeline.test.ts +0 -1377
  40. package/src/pipeline/pipeline.ts +0 -393
  41. package/src/retry/index.ts +0 -4
  42. package/src/retry/policy.ts +0 -46
  43. package/src/retry/standard-policy.test.ts +0 -290
  44. package/src/retry/standard-policy.ts +0 -156
  45. package/src/schema/index.ts +0 -16
  46. package/src/schema/registry.test.ts +0 -339
  47. package/src/schema/registry.ts +0 -229
  48. package/src/schema/types.test.ts +0 -280
  49. package/src/schema/types.ts +0 -217
  50. package/src/topology/builder.test.ts +0 -451
  51. package/src/topology/builder.ts +0 -238
  52. package/src/topology/index.ts +0 -19
  53. package/src/topology/types.ts +0 -183
  54. package/src/transport/capabilities.ts +0 -88
  55. package/src/transport/connection-manager.ts +0 -218
  56. package/src/transport/index.ts +0 -42
  57. package/src/transport/local/local-transport.test.ts +0 -262
  58. package/src/transport/local/local-transport.ts +0 -330
  59. package/src/transport/multi/multi-transport.test.ts +0 -320
  60. package/src/transport/multi/multi-transport.ts +0 -294
  61. package/src/transport/rabbitmq/rabbitmq-transport.test.ts +0 -120
  62. package/src/transport/rabbitmq/rabbitmq-transport.ts +0 -782
  63. package/src/transport/transport.ts +0 -200
  64. package/src/types/common.ts +0 -53
  65. package/src/types/dispatcher.ts +0 -18
  66. package/src/types/envelope.ts +0 -244
  67. package/src/types/event.test.ts +0 -157
  68. package/src/types/event.ts +0 -112
  69. package/src/types/index.ts +0 -62
  70. package/src/types/subscriber.ts +0 -333
  71. package/test/e2e/multi-transport.e2e.test.ts +0 -237
  72. package/test/e2e/rabbitmq-transport.e2e.test.ts +0 -618
  73. package/test/e2e/transport-compliance.e2e.test.ts +0 -506
  74. package/test/integration/matador.integration.test.ts +0 -634
  75. package/tsconfig.json +0 -29
  76. package/tsconfig.tsbuildinfo +0 -1
  77. package/tsup.config.ts +0 -13
package/dist/index.d.cts CHANGED
@@ -8,7 +8,7 @@ export type { DeadLetterConfig, DeadLetterQueueConfig, QueueDefinition, QueueOpt
8
8
  export { getDeadLetterQueueName, getQualifiedQueueName, getRetryQueueName, resolveQueueName, TopologyBuilder, TopologyValidationError, } from './topology/index.js';
9
9
  export type { Codec, EncodedMessage, HeaderAwareCodec, } from './codec/index.js';
10
10
  export { CodecDecodeError, JsonCodec, RabbitMQCodec } from './codec/index.js';
11
- export type { MatadorSchema, RegisterOptions, SchemaEntry, SchemaEntryTuple, SchemaIssue, SchemaPlugin, SchemaValidationResult, } from './schema/index.js';
11
+ export type { MatadorSchema, RegisterOptions, RuntimeSchemaEntryTuple, SchemaEntry, SchemaEntryTuple, SchemaIssue, SchemaPlugin, SchemaValidationResult, } from './schema/index.js';
12
12
  export { bind, installPlugins, isSchemaEntryTuple, SchemaError, SchemaRegistry, } from './schema/index.js';
13
13
  export type { RetryContext, RetryDecision, RetryPolicy, StandardRetryPolicyConfig, } from './retry/index.js';
14
14
  export { defaultRetryConfig, StandardRetryPolicy, } from './retry/index.js';
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export type { DeadLetterConfig, DeadLetterQueueConfig, QueueDefinition, QueueOpt
8
8
  export { getDeadLetterQueueName, getQualifiedQueueName, getRetryQueueName, resolveQueueName, TopologyBuilder, TopologyValidationError, } from './topology/index.js';
9
9
  export type { Codec, EncodedMessage, HeaderAwareCodec, } from './codec/index.js';
10
10
  export { CodecDecodeError, JsonCodec, RabbitMQCodec } from './codec/index.js';
11
- export type { MatadorSchema, RegisterOptions, SchemaEntry, SchemaEntryTuple, SchemaIssue, SchemaPlugin, SchemaValidationResult, } from './schema/index.js';
11
+ export type { MatadorSchema, RegisterOptions, RuntimeSchemaEntryTuple, SchemaEntry, SchemaEntryTuple, SchemaIssue, SchemaPlugin, SchemaValidationResult, } from './schema/index.js';
12
12
  export { bind, installPlugins, isSchemaEntryTuple, SchemaError, SchemaRegistry, } from './schema/index.js';
13
13
  export type { RetryContext, RetryDecision, RetryPolicy, StandardRetryPolicyConfig, } from './retry/index.js';
14
14
  export { defaultRetryConfig, StandardRetryPolicy, } from './retry/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,SAAS,EACT,UAAU,EACV,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,OAAO,EACP,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,MAAM,EACN,QAAQ,EACR,UAAU,EACV,KAAK,EACL,UAAU,EACV,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,SAAS,EACT,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,QAAQ,EACR,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,KAAK,EACL,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG9E,YAAY,EACV,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,IAAI,EACJ,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,cAAc,GACf,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,MAAM,EACN,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG5D,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAEL,WAAW,EACX,SAAS,EACT,OAAO,EACP,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,SAAS,EAET,YAAY,EACZ,cAAc,EAEd,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EAEvB,0BAA0B,EAC1B,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,gCAAgC,EAEhC,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,oCAAoC,EAEpC,kBAAkB,EAElB,iBAAiB,EAEjB,yBAAyB,EACzB,2BAA2B,EAC3B,iCAAiC,EACjC,mCAAmC,EAEnC,YAAY,EAEZ,cAAc,GACf,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,UAAU,EACV,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zdavison/matador",
3
- "version": "2.0.8",
3
+ "version": "2.0.10",
4
4
  "description": "A batteries-included event system.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -63,5 +63,9 @@
63
63
  "kafka",
64
64
  "transport"
65
65
  ],
66
- "license": "MIT"
66
+ "license": "MIT",
67
+ "files": [
68
+ "dist",
69
+ "cli.ts"
70
+ ]
67
71
  }
@@ -1,126 +0,0 @@
1
- /**
2
- * Example Matador configuration for CLI testing
3
- *
4
- * This file demonstrates how to structure a config file for the CLI.
5
- * It exports:
6
- * - schema: MatadorSchema mapping event keys to event classes and subscribers
7
- * - topology: Topology configuration
8
- */
9
-
10
- import {
11
- MatadorEvent,
12
- type MatadorSchema,
13
- type Topology,
14
- TopologyBuilder,
15
- createSubscriber,
16
- } from '../src/index.js';
17
-
18
- // ============================================================================
19
- // Events
20
- // ============================================================================
21
-
22
- export class UserCreatedEvent extends MatadorEvent {
23
- static readonly key = 'user.created';
24
- static readonly description = 'Fired when a new user is created';
25
-
26
- constructor(
27
- public data: {
28
- userId: string;
29
- email: string;
30
- name: string;
31
- },
32
- ) {
33
- super();
34
- }
35
- }
36
-
37
- export class OrderPlacedEvent extends MatadorEvent {
38
- static readonly key = 'order.placed';
39
- static readonly description = 'Fired when a new order is placed';
40
-
41
- constructor(
42
- public data: {
43
- orderId: string;
44
- userId: string;
45
- amount: number;
46
- items: Array<{ productId: string; quantity: number }>;
47
- },
48
- ) {
49
- super();
50
- }
51
- }
52
-
53
- // ============================================================================
54
- // Subscribers
55
- // ============================================================================
56
-
57
- const sendWelcomeEmail = createSubscriber({
58
- name: 'send-welcome-email',
59
- description: 'Sends a welcome email to newly registered users',
60
- callback: async ({ data, docket }) => {
61
- console.log(` 📧 Sending welcome email to ${data.email}`);
62
- console.log(` User: ${data.name} (${data.userId})`);
63
- if (docket.correlationId) {
64
- console.log(` Correlation ID: ${docket.correlationId}`);
65
- }
66
- },
67
- idempotent: 'yes',
68
- importance: 'should-investigate',
69
- });
70
-
71
- const trackUserAnalytics = createSubscriber({
72
- name: 'track-user-analytics',
73
- description: 'Tracks user creation in analytics system',
74
- callback: async ({ data }) => {
75
- console.log(` 📊 Tracking analytics for new user: ${data.userId}`);
76
- },
77
- idempotent: 'yes',
78
- importance: 'can-ignore',
79
- });
80
-
81
- const processOrder = createSubscriber({
82
- name: 'process-order',
83
- description: 'Processes order for fulfillment',
84
- callback: async ({ data }) => {
85
- console.log(` 📦 Processing order ${data.orderId}`);
86
- console.log(` Amount: $${data.amount.toFixed(2)}`);
87
- console.log(` Items: ${data.items.length} item(s)`);
88
- },
89
- idempotent: 'no',
90
- importance: 'must-investigate',
91
- });
92
-
93
- const sendOrderConfirmation = createSubscriber({
94
- name: 'send-order-confirmation',
95
- description: 'Sends order confirmation email to customer',
96
- callback: async ({ data }) => {
97
- console.log(` 📧 Sending order confirmation for ${data.orderId}`);
98
- },
99
- idempotent: 'yes',
100
- importance: 'should-investigate',
101
- });
102
-
103
- // ============================================================================
104
- // Exports
105
- // ============================================================================
106
-
107
- /**
108
- * Matador schema mapping event keys to event classes and their subscribers.
109
- * Uses the tuple format: [EventClass, Subscribers[]]
110
- */
111
- export const schema: MatadorSchema = {
112
- [UserCreatedEvent.key]: [
113
- UserCreatedEvent,
114
- [sendWelcomeEmail, trackUserAnalytics],
115
- ],
116
- [OrderPlacedEvent.key]: [
117
- OrderPlacedEvent,
118
- [processOrder, sendOrderConfirmation],
119
- ],
120
- };
121
-
122
- export const topology: Topology = TopologyBuilder.create()
123
- .withNamespace('example')
124
- .addQueue('events', { concurrency: 5 })
125
- .withoutDeadLetter()
126
- .build();
package/examples/event.ts DELETED
@@ -1,26 +0,0 @@
1
- /**
2
- * Example event file for CLI testing
3
- *
4
- * This file demonstrates how to structure an event file for the CLI.
5
- * It exports:
6
- * - eventKey: The key of the event to dispatch (must match an event in config)
7
- * - data: The event payload
8
- * - before: (optional) Previous state for change events
9
- * - options: (optional) Dispatch options like correlationId, metadata
10
- */
11
-
12
- export const eventKey = 'user.created';
13
-
14
- export const data = {
15
- userId: 'usr_12345',
16
- email: 'alice@example.com',
17
- name: 'Alice Smith',
18
- };
19
-
20
- export const options = {
21
- correlationId: 'req_abc123',
22
- metadata: {
23
- source: 'cli-test',
24
- timestamp: new Date().toISOString(),
25
- },
26
- };
@@ -1,19 +0,0 @@
1
- {
2
- "eventKey": "order.placed",
3
- "data": {
4
- "orderId": "ord_98765",
5
- "userId": "usr_12345",
6
- "amount": 149.99,
7
- "items": [
8
- { "productId": "prod_001", "quantity": 2 },
9
- { "productId": "prod_002", "quantity": 1 }
10
- ]
11
- },
12
- "options": {
13
- "correlationId": "req_xyz789",
14
- "metadata": {
15
- "source": "cli-test",
16
- "channel": "web"
17
- }
18
- }
19
- }