@kronos-ts/messaging 0.1.1 → 0.3.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/command-handler.d.ts +15 -15
- package/dist/command-handler.d.ts.map +1 -1
- package/dist/command-handler.js.map +1 -1
- package/dist/command-handling-module.js +2 -2
- package/dist/command-handling-module.js.map +1 -1
- package/dist/dead-lettering-handler.js +1 -1
- package/dist/dead-lettering-handler.js.map +1 -1
- package/dist/emit-update.d.ts +2 -1
- package/dist/emit-update.d.ts.map +1 -1
- package/dist/emit-update.js.map +1 -1
- package/dist/event-handler.d.ts +5 -5
- package/dist/event-handler.d.ts.map +1 -1
- package/dist/event-handler.js +2 -2
- package/dist/event-handler.js.map +1 -1
- package/dist/event-processor-builder.d.ts +3 -3
- package/dist/event-processor-builder.js +3 -3
- package/dist/event-scheduler.d.ts +95 -0
- package/dist/event-scheduler.d.ts.map +1 -0
- package/dist/event-scheduler.js +47 -0
- package/dist/event-scheduler.js.map +1 -0
- package/dist/gateway.d.ts +7 -5
- package/dist/gateway.d.ts.map +1 -1
- package/dist/gateway.js +9 -12
- package/dist/gateway.js.map +1 -1
- package/dist/handler.d.ts +13 -13
- package/dist/handler.d.ts.map +1 -1
- package/dist/handler.js.map +1 -1
- package/dist/in-memory-event-scheduler.d.ts +45 -0
- package/dist/in-memory-event-scheduler.d.ts.map +1 -0
- package/dist/in-memory-event-scheduler.js +112 -0
- package/dist/in-memory-event-scheduler.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/intercepting-command-bus.d.ts +1 -1
- package/dist/intercepting-command-bus.d.ts.map +1 -1
- package/dist/intercepting-command-bus.js +3 -4
- package/dist/intercepting-command-bus.js.map +1 -1
- package/dist/intercepting-query-bus.d.ts +1 -1
- package/dist/intercepting-query-bus.d.ts.map +1 -1
- package/dist/intercepting-query-bus.js +3 -4
- package/dist/intercepting-query-bus.js.map +1 -1
- package/dist/interceptor.d.ts +18 -3
- package/dist/interceptor.d.ts.map +1 -1
- package/dist/message.d.ts +4 -0
- package/dist/message.d.ts.map +1 -1
- package/dist/query-bus.d.ts +8 -3
- package/dist/query-bus.d.ts.map +1 -1
- package/dist/query-handler.d.ts +5 -5
- package/dist/query-handler.d.ts.map +1 -1
- package/dist/query-handler.js +2 -2
- package/dist/query-handler.js.map +1 -1
- package/dist/query-handling-module.js +1 -1
- package/dist/query-handling-module.js.map +1 -1
- package/dist/simple-command-bus.d.ts +11 -4
- package/dist/simple-command-bus.d.ts.map +1 -1
- package/dist/simple-command-bus.js +16 -10
- package/dist/simple-command-bus.js.map +1 -1
- package/dist/simple-query-bus.d.ts.map +1 -1
- package/dist/simple-query-bus.js +4 -3
- package/dist/simple-query-bus.js.map +1 -1
- package/dist/streaming-event-processor.js +1 -1
- package/dist/streaming-event-processor.js.map +1 -1
- package/dist/subscribing-event-processor.js +1 -1
- package/dist/subscribing-event-processor.js.map +1 -1
- package/dist/subscription-filter.d.ts +43 -0
- package/dist/subscription-filter.d.ts.map +1 -0
- package/dist/subscription-filter.js +71 -0
- package/dist/subscription-filter.js.map +1 -0
- package/dist/tracking-event-processor.js +1 -1
- package/dist/tracking-event-processor.js.map +1 -1
- package/dist/transaction.d.ts +31 -0
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +80 -0
- package/dist/transaction.js.map +1 -1
- package/package.json +1 -1
- package/src/command-handler.ts +15 -28
- package/src/command-handling-module.ts +2 -2
- package/src/dead-lettering-handler.ts +1 -1
- package/src/emit-update.ts +3 -2
- package/src/event-handler.ts +5 -8
- package/src/event-processor-builder.ts +3 -3
- package/src/event-scheduler.ts +96 -0
- package/src/gateway.ts +14 -22
- package/src/handler.ts +13 -22
- package/src/in-memory-event-scheduler.ts +150 -0
- package/src/index.ts +23 -1
- package/src/intercepting-command-bus.ts +7 -6
- package/src/intercepting-query-bus.ts +11 -9
- package/src/interceptor.ts +21 -4
- package/src/message.ts +5 -0
- package/src/query-bus.ts +8 -3
- package/src/query-handler.ts +5 -5
- package/src/query-handling-module.ts +1 -1
- package/src/simple-command-bus.ts +17 -11
- package/src/simple-query-bus.ts +8 -6
- package/src/streaming-event-processor.ts +1 -1
- package/src/subscribing-event-processor.ts +1 -1
- package/src/subscription-filter.ts +85 -0
- package/src/tracking-event-processor.ts +1 -1
- package/src/transaction.ts +84 -0
|
@@ -13,14 +13,20 @@ import { qualifiedNameToString } from "@kronos-ts/common";
|
|
|
13
13
|
* by sharing a transaction. DCB read-set / append-condition merging
|
|
14
14
|
* happens only WITHIN a single handler's UnitOfWork.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* The handler runs through `unitOfWorkRunner` — by default `runInNewUoW`, but
|
|
17
|
+
* the configurer injects the resolved `unitOfWorkFactory` slot (e.g. a
|
|
18
|
+
* transactional runner from a storage extension) so the per-command UoW
|
|
19
|
+
* carries whatever transaction that backend provides. This mirrors the
|
|
20
|
+
* distributed command buses (kronosdb / axon-server), which already run
|
|
21
|
+
* handlers through the configured runner. The runner is always built on
|
|
22
|
+
* `runInNewUoW`, so a command — primary OR nested via `send()` — still gets
|
|
23
|
+
* its own fresh UoW (and its own independent transaction); composition does
|
|
24
|
+
* not change AF5 isolation, only whether that fresh UoW has a transaction.
|
|
19
25
|
*
|
|
20
26
|
* Interceptor support is provided by wrapping with
|
|
21
27
|
* {@link createInterceptingCommandBus}.
|
|
22
28
|
*/
|
|
23
|
-
export function createSimpleCommandBus() {
|
|
29
|
+
export function createSimpleCommandBus(unitOfWorkRunner = runInNewUoW) {
|
|
24
30
|
const handlers = new Map();
|
|
25
31
|
return {
|
|
26
32
|
async dispatch(message) {
|
|
@@ -29,12 +35,12 @@ export function createSimpleCommandBus() {
|
|
|
29
35
|
if (!handler) {
|
|
30
36
|
throw new Error(`No handler registered for command "${key}"`);
|
|
31
37
|
}
|
|
32
|
-
// AF5 parity: every command gets its own fresh UnitOfWork
|
|
33
|
-
// dispatched from inside another
|
|
34
|
-
// already run in the caller's context
|
|
35
|
-
// this one), so correlation data is carried
|
|
36
|
-
// before we cross into the new UoW.
|
|
37
|
-
return
|
|
38
|
+
// AF5 parity: every command gets its own fresh UnitOfWork (the runner is
|
|
39
|
+
// built on runInNewUoW), even when dispatched from inside another
|
|
40
|
+
// handler. Dispatch interceptors have already run in the caller's context
|
|
41
|
+
// (the intercepting bus wraps this one), so correlation data is carried
|
|
42
|
+
// on `message.metadata` before we cross into the new UoW.
|
|
43
|
+
return unitOfWorkRunner(message.metadata, () => handler(message));
|
|
38
44
|
},
|
|
39
45
|
subscribe(commandName, handler) {
|
|
40
46
|
const existing = handlers.get(commandName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-command-bus.js","sourceRoot":"","sources":["../src/simple-command-bus.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"simple-command-bus.js","sourceRoot":"","sources":["../src/simple-command-bus.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,sBAAsB,CAAC,mBAA8B,WAAW;IAC9E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyD,CAAA;IAEjF,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,OAAuB;YACpC,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACjC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,GAAG,CAAC,CAAA;YAC/D,CAAC;YAED,yEAAyE;YACzE,kEAAkE;YAClE,0EAA0E;YAC1E,wEAAwE;YACxE,0DAA0D;YAC1D,OAAO,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QACnE,CAAC;QAED,SAAS,CACP,WAAmB,EACnB,OAAsD;YAEtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAC1C,IAAI,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,0DAA0D,WAAW,KAAK;oBAC1E,0DAA0D,CAC3D,CAAA;YACH,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QACpC,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-query-bus.d.ts","sourceRoot":"","sources":["../src/simple-query-bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"simple-query-bus.d.ts","sourceRoot":"","sources":["../src/simple-query-bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAS9C;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,IAAI,QAAQ,CAyI/C"}
|
package/dist/simple-query-bus.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createUpdateHandler, runAfterCommitOrImmediately } from "./subscription-query.js";
|
|
2
|
+
import { applySubscriptionFilter } from "./subscription-filter.js";
|
|
2
3
|
import { runInUoW } from "./unit-of-work.js";
|
|
3
4
|
import { qualifiedNameToString } from "@kronos-ts/common";
|
|
4
5
|
/**
|
|
@@ -80,7 +81,7 @@ export function createSimpleQueryBus() {
|
|
|
80
81
|
const handlerQueryName = qualifiedNameToString(handler.query.name);
|
|
81
82
|
if (handlerQueryName !== queryName)
|
|
82
83
|
continue;
|
|
83
|
-
if (!filter
|
|
84
|
+
if (!applySubscriptionFilter(filter, handler.query.payload))
|
|
84
85
|
continue;
|
|
85
86
|
const accepted = handler.offer(update);
|
|
86
87
|
if (!accepted) {
|
|
@@ -96,7 +97,7 @@ export function createSimpleQueryBus() {
|
|
|
96
97
|
const handlerQueryName = qualifiedNameToString(handler.query.name);
|
|
97
98
|
if (handlerQueryName !== queryName)
|
|
98
99
|
continue;
|
|
99
|
-
if (filter && !filter
|
|
100
|
+
if (filter && !applySubscriptionFilter(filter, handler.query.payload))
|
|
100
101
|
continue;
|
|
101
102
|
handler.complete();
|
|
102
103
|
subscriptions.delete(id);
|
|
@@ -109,7 +110,7 @@ export function createSimpleQueryBus() {
|
|
|
109
110
|
const handlerQueryName = qualifiedNameToString(handler.query.name);
|
|
110
111
|
if (handlerQueryName !== queryName)
|
|
111
112
|
continue;
|
|
112
|
-
if (filter && !filter
|
|
113
|
+
if (filter && !applySubscriptionFilter(filter, handler.query.payload))
|
|
113
114
|
continue;
|
|
114
115
|
handler.completeExceptionally(error);
|
|
115
116
|
subscriptions.delete(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-query-bus.js","sourceRoot":"","sources":["../src/simple-query-bus.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"simple-query-bus.js","sourceRoot":"","sources":["../src/simple-query-bus.ts"],"names":[],"mappings":"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"}
|
|
@@ -148,7 +148,7 @@ export function createStreamingEventProcessor(options) {
|
|
|
148
148
|
onEventDelivery();
|
|
149
149
|
for (const reg of handlers) {
|
|
150
150
|
try {
|
|
151
|
-
await reg.handler(event
|
|
151
|
+
await reg.handler({ ...event, sequence: sequencedEvent.sequence });
|
|
152
152
|
}
|
|
153
153
|
catch (err) {
|
|
154
154
|
await errorHandler.handleError(err, eventName, sequencedEvent.sequence);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming-event-processor.js","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"streaming-event-processor.js","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,7 +67,7 @@ export function createSubscribingEventProcessor(options) {
|
|
|
67
67
|
onEventDelivery();
|
|
68
68
|
for (const reg of handlers) {
|
|
69
69
|
try {
|
|
70
|
-
await reg.handler(event
|
|
70
|
+
await reg.handler(event);
|
|
71
71
|
}
|
|
72
72
|
catch (err) {
|
|
73
73
|
// SubscribingEventProcessor doesn't have position tracking,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribing-event-processor.js","sourceRoot":"","sources":["../src/subscribing-event-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAKxE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAKnE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AA+ChD;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAyC;IAEzC,MAAM,EACJ,IAAI,EACJ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,eAAe,EACf,gBAAgB,GAAG,WAAW,EAC9B,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,EACxC,eAAe,GAChB,GAAG,OAAO,CAAA;IAEX,8CAA8C;IAC9C,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2C,CAAA;IACrE,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,eAAe;YAC9B,CAAC,CAAC;gBACE,GAAG,GAAG;gBACN,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE;oBAChD,WAAW,EAAE,OAAgB;oBAC7B,WAAW,EAAE,SAAS;oBACtB,YAAY,EAAE,IAAI;iBACnB,CAAC;aACH;YACH,CAAC,CAAC,GAAG,CAAA;QACP,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,QAAyC,CAAC,CAAA;QAC1D,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,QAAyC,CAAC,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;IAED,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,IAAI,WAAW,GAAwB,IAAI,CAAA;IAE3C,KAAK,UAAU,YAAY,CAAC,MAAmC;QAC7D,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAE7C,MAAM,gBAAgB,CAAC,aAAa,EAAE,EAAE,KAAK,IAAI,EAAE;YACjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,YAAY,CAAC,KAAK,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,KAAmB;QAC7C,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC1C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAE9C,kFAAkF;QAClF,IAAI,YAAY,KAAK,SAAS;YAAE,WAAW,CAAC,iBAAiB,EAAE,YAAmB,CAAC,CAAA;QACnF,IAAI,UAAU,KAAK,SAAS;YAAE,WAAW,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;QACtE,IAAI,QAAQ,KAAK,SAAS;YAAE,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAChE,iFAAiF;QACjF,IAAI,eAAe;YAAE,eAAe,EAAE,CAAA;QAEtC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"subscribing-event-processor.js","sourceRoot":"","sources":["../src/subscribing-event-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A predicate over a query payload, used by `emitUpdate` to decide which
|
|
3
|
+
* subscribers should receive an update.
|
|
4
|
+
*
|
|
5
|
+
* Two forms are supported:
|
|
6
|
+
*
|
|
7
|
+
* 1. **Function** — `(payload) => boolean`. Easy to write but cannot cross a
|
|
8
|
+
* network boundary because functions are not serializable. Use for
|
|
9
|
+
* in-process / single-segment query buses.
|
|
10
|
+
*
|
|
11
|
+
* 2. **Structured `payloadEquals`** — `{ payloadEquals: Partial<P> }`. Every
|
|
12
|
+
* key in the partial must deep-equal the same key in the subscriber's
|
|
13
|
+
* query payload. Serializable, so it ships across distributed query bus
|
|
14
|
+
* transports (e.g. RabbitMQ broadcasts).
|
|
15
|
+
*
|
|
16
|
+
* Both forms work locally; only the structured form crosses processes when a
|
|
17
|
+
* distributed query bus is in use.
|
|
18
|
+
*/
|
|
19
|
+
export type SubscriptionFilter<P = unknown> = ((payload: P) => boolean) | {
|
|
20
|
+
readonly payloadEquals: Partial<P>;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Helper that builds a structured filter from a partial payload.
|
|
24
|
+
*
|
|
25
|
+
* ```ts
|
|
26
|
+
* emitUpdate(GetCourseView, payloadEquals({ courseId: e.courseId }), view)
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* Prefer this over a function filter when you want updates to fan out across
|
|
30
|
+
* a distributed query bus.
|
|
31
|
+
*/
|
|
32
|
+
export declare function payloadEquals<P>(partial: Partial<P>): {
|
|
33
|
+
payloadEquals: Partial<P>;
|
|
34
|
+
};
|
|
35
|
+
/** Evaluate a {@link SubscriptionFilter} against a payload. */
|
|
36
|
+
export declare function applySubscriptionFilter<P>(filter: SubscriptionFilter<P>, payload: P): boolean;
|
|
37
|
+
/** Extract the structured form, if any, for serialization across a transport. */
|
|
38
|
+
export declare function extractStructuredFilter<P>(filter: SubscriptionFilter<P> | undefined): {
|
|
39
|
+
payloadEquals: Partial<P>;
|
|
40
|
+
} | undefined;
|
|
41
|
+
/** Deep equality on the keys defined in `expected`. */
|
|
42
|
+
export declare function matchesPayloadEquals<P>(payload: P, expected: Partial<P>): boolean;
|
|
43
|
+
//# sourceMappingURL=subscription-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription-filter.d.ts","sourceRoot":"","sources":["../src/subscription-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,OAAO,IACtC,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,GACzB;IAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAAA;AAE1C;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG;IAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAEnF;AAED,+DAA+D;AAC/D,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAG7F;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,SAAS,GACxC;IAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG,SAAS,CAI3C;AAED,uDAAuD;AACvD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAQjF"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper that builds a structured filter from a partial payload.
|
|
3
|
+
*
|
|
4
|
+
* ```ts
|
|
5
|
+
* emitUpdate(GetCourseView, payloadEquals({ courseId: e.courseId }), view)
|
|
6
|
+
* ```
|
|
7
|
+
*
|
|
8
|
+
* Prefer this over a function filter when you want updates to fan out across
|
|
9
|
+
* a distributed query bus.
|
|
10
|
+
*/
|
|
11
|
+
export function payloadEquals(partial) {
|
|
12
|
+
return { payloadEquals: partial };
|
|
13
|
+
}
|
|
14
|
+
/** Evaluate a {@link SubscriptionFilter} against a payload. */
|
|
15
|
+
export function applySubscriptionFilter(filter, payload) {
|
|
16
|
+
if (typeof filter === "function")
|
|
17
|
+
return filter(payload);
|
|
18
|
+
return matchesPayloadEquals(payload, filter.payloadEquals);
|
|
19
|
+
}
|
|
20
|
+
/** Extract the structured form, if any, for serialization across a transport. */
|
|
21
|
+
export function extractStructuredFilter(filter) {
|
|
22
|
+
if (!filter)
|
|
23
|
+
return undefined;
|
|
24
|
+
if (typeof filter === "function")
|
|
25
|
+
return undefined;
|
|
26
|
+
return filter;
|
|
27
|
+
}
|
|
28
|
+
/** Deep equality on the keys defined in `expected`. */
|
|
29
|
+
export function matchesPayloadEquals(payload, expected) {
|
|
30
|
+
if (payload === null || typeof payload !== "object") {
|
|
31
|
+
return Object.keys(expected).length === 0;
|
|
32
|
+
}
|
|
33
|
+
for (const key of Object.keys(expected)) {
|
|
34
|
+
if (!deepEqual(payload[key], expected[key]))
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
function deepEqual(a, b) {
|
|
40
|
+
if (a === b)
|
|
41
|
+
return true;
|
|
42
|
+
if (a === null || b === null)
|
|
43
|
+
return false;
|
|
44
|
+
if (typeof a !== typeof b)
|
|
45
|
+
return false;
|
|
46
|
+
if (typeof a !== "object")
|
|
47
|
+
return false;
|
|
48
|
+
if (Array.isArray(a) !== Array.isArray(b))
|
|
49
|
+
return false;
|
|
50
|
+
if (Array.isArray(a) && Array.isArray(b)) {
|
|
51
|
+
if (a.length !== b.length)
|
|
52
|
+
return false;
|
|
53
|
+
for (let i = 0; i < a.length; i++) {
|
|
54
|
+
if (!deepEqual(a[i], b[i]))
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
const ao = a;
|
|
60
|
+
const bo = b;
|
|
61
|
+
const aKeys = Object.keys(ao);
|
|
62
|
+
const bKeys = Object.keys(bo);
|
|
63
|
+
if (aKeys.length !== bKeys.length)
|
|
64
|
+
return false;
|
|
65
|
+
for (const key of aKeys) {
|
|
66
|
+
if (!deepEqual(ao[key], bo[key]))
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=subscription-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription-filter.js","sourceRoot":"","sources":["../src/subscription-filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -164,7 +164,7 @@ export function createTrackingEventProcessor(options) {
|
|
|
164
164
|
onEventDelivery();
|
|
165
165
|
for (const reg of handlers) {
|
|
166
166
|
try {
|
|
167
|
-
await reg.handler(event
|
|
167
|
+
await reg.handler({ ...event, sequence: sequencedEvent.sequence });
|
|
168
168
|
}
|
|
169
169
|
catch (err) {
|
|
170
170
|
await errorHandler.handleError(err, eventName, sequencedEvent.sequence);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracking-event-processor.js","sourceRoot":"","sources":["../src/tracking-event-processor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tracking-event-processor.js","sourceRoot":"","sources":["../src/tracking-event-processor.ts"],"names":[],"mappings":"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"}
|
package/dist/transaction.d.ts
CHANGED
|
@@ -57,4 +57,35 @@ export declare function getActiveTransaction<T = unknown>(): T | undefined;
|
|
|
57
57
|
* Migration) can rename if the kronos() app API warrants.
|
|
58
58
|
*/
|
|
59
59
|
export declare function transactionalUnitOfWorkFactory<T>(delegate: UoWRunner, txManager: TransactionManager<T>): UoWRunner;
|
|
60
|
+
/**
|
|
61
|
+
* Lazy variant of {@link transactionalUnitOfWorkFactory}.
|
|
62
|
+
*
|
|
63
|
+
* Unlike the eager factory, no transaction is begun on UoW entry. Instead,
|
|
64
|
+
* a factory is installed in the UoW that opens the tx on the first call to
|
|
65
|
+
* {@link getOrBeginActiveTransaction}. Pure-read UoWs that never request a
|
|
66
|
+
* tx pay zero begin/commit cost and never claim a connection from the pool.
|
|
67
|
+
*
|
|
68
|
+
* On first request: the tx is begun, stored in {@link TRANSACTION_KEY},
|
|
69
|
+
* and commit/rollback hooks are registered. Subsequent requests within
|
|
70
|
+
* the same UoW return the cached tx — there is exactly one tx per UoW.
|
|
71
|
+
*
|
|
72
|
+
* Components that may write to the underlying store (event stores,
|
|
73
|
+
* schedulers, ORM integrations) reach the tx via
|
|
74
|
+
* {@link getOrBeginActiveTransaction}; read-only paths use
|
|
75
|
+
* {@link getActiveTransaction} so they observe an existing tx but do not
|
|
76
|
+
* provoke one to open.
|
|
77
|
+
*/
|
|
78
|
+
export declare function lazyTransactionalUnitOfWorkFactory<T>(delegate: UoWRunner, txManager: TransactionManager<T>): UoWRunner;
|
|
79
|
+
/**
|
|
80
|
+
* Return the active UoW transaction, opening it if a lazy factory is
|
|
81
|
+
* installed and no tx has been begun yet. Returns the cached tx on
|
|
82
|
+
* subsequent calls within the same UoW.
|
|
83
|
+
*
|
|
84
|
+
* Returns `undefined` when no UoW is active OR when an active UoW has
|
|
85
|
+
* neither an existing tx nor a lazy factory installed (e.g., the app
|
|
86
|
+
* doesn't compose a TransactionManager). Callers that need a tx must
|
|
87
|
+
* decide what to do with `undefined` — typically fall back to opening
|
|
88
|
+
* an ad-hoc tx on their own driver.
|
|
89
|
+
*/
|
|
90
|
+
export declare function getOrBeginActiveTransaction<T = unknown>(): Promise<T | undefined>;
|
|
60
91
|
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAQjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAQjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAclD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,OAAO;IAC7C,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;IACnB,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAM/D;AAED,uGAAuG;AACvG,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,OAAO,CAA8B,CAAA;AAE/E;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC,GAAG,SAAS,CAIjE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,8BAA8B,CAAC,CAAC,EAC9C,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC/B,SAAS,CAcX;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kCAAkC,CAAC,CAAC,EAClD,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC/B,SAAS,CA0BX;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,2BAA2B,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAUvF"}
|
package/dist/transaction.js
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { resourceKey } from "@kronos-ts/common";
|
|
2
2
|
import { processingStateStorage, setResource, on, onError, Phase, } from "./processing-state.js";
|
|
3
|
+
/**
|
|
4
|
+
* Resource key holding a deferred-begin factory installed by
|
|
5
|
+
* {@link lazyTransactionalUnitOfWorkFactory}. The factory begins the tx on
|
|
6
|
+
* first call, registers commit/rollback hooks on the UoW, caches the
|
|
7
|
+
* resulting tx in {@link TRANSACTION_KEY}, and returns it. Subsequent calls
|
|
8
|
+
* return the cached tx without a re-begin.
|
|
9
|
+
*
|
|
10
|
+
* NOT exported from the package barrel — components reach the lazily-begun
|
|
11
|
+
* tx through {@link getOrBeginActiveTransaction}.
|
|
12
|
+
*/
|
|
13
|
+
const LAZY_TX_FACTORY_KEY = resourceKey("lazyTxFactory");
|
|
3
14
|
/**
|
|
4
15
|
* A no-op transaction manager for when no database transactions are needed.
|
|
5
16
|
*/
|
|
@@ -71,4 +82,73 @@ export function transactionalUnitOfWorkFactory(delegate, txManager) {
|
|
|
71
82
|
});
|
|
72
83
|
};
|
|
73
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Lazy variant of {@link transactionalUnitOfWorkFactory}.
|
|
87
|
+
*
|
|
88
|
+
* Unlike the eager factory, no transaction is begun on UoW entry. Instead,
|
|
89
|
+
* a factory is installed in the UoW that opens the tx on the first call to
|
|
90
|
+
* {@link getOrBeginActiveTransaction}. Pure-read UoWs that never request a
|
|
91
|
+
* tx pay zero begin/commit cost and never claim a connection from the pool.
|
|
92
|
+
*
|
|
93
|
+
* On first request: the tx is begun, stored in {@link TRANSACTION_KEY},
|
|
94
|
+
* and commit/rollback hooks are registered. Subsequent requests within
|
|
95
|
+
* the same UoW return the cached tx — there is exactly one tx per UoW.
|
|
96
|
+
*
|
|
97
|
+
* Components that may write to the underlying store (event stores,
|
|
98
|
+
* schedulers, ORM integrations) reach the tx via
|
|
99
|
+
* {@link getOrBeginActiveTransaction}; read-only paths use
|
|
100
|
+
* {@link getActiveTransaction} so they observe an existing tx but do not
|
|
101
|
+
* provoke one to open.
|
|
102
|
+
*/
|
|
103
|
+
export function lazyTransactionalUnitOfWorkFactory(delegate, txManager) {
|
|
104
|
+
return async (metadata, action) => {
|
|
105
|
+
return delegate(metadata, async () => {
|
|
106
|
+
let tx;
|
|
107
|
+
let committed = false;
|
|
108
|
+
const factory = async () => {
|
|
109
|
+
if (tx !== undefined)
|
|
110
|
+
return tx;
|
|
111
|
+
tx = await txManager.begin();
|
|
112
|
+
setResource(TRANSACTION_KEY, tx);
|
|
113
|
+
on(Phase.COMMIT, async () => {
|
|
114
|
+
if (tx === undefined)
|
|
115
|
+
return;
|
|
116
|
+
await txManager.commit(tx);
|
|
117
|
+
committed = true;
|
|
118
|
+
});
|
|
119
|
+
onError(async () => {
|
|
120
|
+
if (tx === undefined || committed)
|
|
121
|
+
return;
|
|
122
|
+
await txManager.rollback(tx);
|
|
123
|
+
});
|
|
124
|
+
return tx;
|
|
125
|
+
};
|
|
126
|
+
setResource(LAZY_TX_FACTORY_KEY, factory);
|
|
127
|
+
return action();
|
|
128
|
+
});
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Return the active UoW transaction, opening it if a lazy factory is
|
|
133
|
+
* installed and no tx has been begun yet. Returns the cached tx on
|
|
134
|
+
* subsequent calls within the same UoW.
|
|
135
|
+
*
|
|
136
|
+
* Returns `undefined` when no UoW is active OR when an active UoW has
|
|
137
|
+
* neither an existing tx nor a lazy factory installed (e.g., the app
|
|
138
|
+
* doesn't compose a TransactionManager). Callers that need a tx must
|
|
139
|
+
* decide what to do with `undefined` — typically fall back to opening
|
|
140
|
+
* an ad-hoc tx on their own driver.
|
|
141
|
+
*/
|
|
142
|
+
export async function getOrBeginActiveTransaction() {
|
|
143
|
+
const state = processingStateStorage.getStore();
|
|
144
|
+
if (!state)
|
|
145
|
+
return undefined;
|
|
146
|
+
const existing = state.resources.get(TRANSACTION_KEY.symbol);
|
|
147
|
+
if (existing !== undefined)
|
|
148
|
+
return existing;
|
|
149
|
+
const factory = state.resources.get(LAZY_TX_FACTORY_KEY.symbol);
|
|
150
|
+
if (factory === undefined)
|
|
151
|
+
return undefined;
|
|
152
|
+
return await factory();
|
|
153
|
+
}
|
|
74
154
|
//# sourceMappingURL=transaction.js.map
|
package/dist/transaction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAA;AACjE,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,EAAE,EACF,OAAO,EACP,KAAK,GACN,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/command-handler.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { z } from "zod"
|
|
2
|
-
import type { Metadata } from "@kronos-ts/common"
|
|
3
2
|
import type { CommandDescriptor } from "./descriptor.js"
|
|
4
3
|
import type { EventCriteria } from "./event-criteria.js"
|
|
4
|
+
import type { CommandMessage } from "./message.js"
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* A registered command handler — pairs a command descriptor with its handler function.
|
|
@@ -14,11 +14,10 @@ export interface CommandHandlerDefinition<
|
|
|
14
14
|
readonly kind: "command-handler"
|
|
15
15
|
readonly descriptor: CommandDescriptor<P, R>
|
|
16
16
|
readonly handler: (
|
|
17
|
-
|
|
18
|
-
metadata: Metadata,
|
|
17
|
+
message: CommandMessage<z.infer<P>>,
|
|
19
18
|
) => R extends z.ZodType ? Promise<z.infer<R>> | z.infer<R> : Promise<void> | void
|
|
20
19
|
readonly appendCondition?: (
|
|
21
|
-
|
|
20
|
+
message: CommandMessage<z.infer<P>>,
|
|
22
21
|
sourcedCriteria: EventCriteria,
|
|
23
22
|
) => EventCriteria
|
|
24
23
|
}
|
|
@@ -28,9 +27,9 @@ export interface CommandHandlerDefinition<
|
|
|
28
27
|
*
|
|
29
28
|
* Void command (no result on descriptor):
|
|
30
29
|
* ```
|
|
31
|
-
* commandHandler(ChangeCourseCapacity, async (
|
|
32
|
-
* const course = await load(Course,
|
|
33
|
-
* append(CourseCapacityChanged, { courseId:
|
|
30
|
+
* commandHandler(ChangeCourseCapacity, async ({ payload, metadata }) => {
|
|
31
|
+
* const course = await load(Course, { courseId: payload.courseId })
|
|
32
|
+
* append(CourseCapacityChanged, { courseId: payload.courseId, capacity: payload.capacity })
|
|
34
33
|
* })
|
|
35
34
|
* ```
|
|
36
35
|
*
|
|
@@ -42,45 +41,36 @@ export interface CommandHandlerDefinition<
|
|
|
42
41
|
* result: z.object({ courseId: z.string() }),
|
|
43
42
|
* })
|
|
44
43
|
*
|
|
45
|
-
* commandHandler(CreateCourse, async (
|
|
44
|
+
* commandHandler(CreateCourse, async ({ payload, metadata }) => {
|
|
46
45
|
* append(CourseCreated, { ... })
|
|
47
|
-
* return { courseId:
|
|
46
|
+
* return { courseId: payload.courseId } // ← must match descriptor's result schema
|
|
48
47
|
* })
|
|
49
48
|
* ```
|
|
50
49
|
*
|
|
51
50
|
* With append condition override:
|
|
52
51
|
* ```
|
|
53
52
|
* commandHandler(CreateCourse, {
|
|
54
|
-
* handler: async (
|
|
53
|
+
* handler: async ({ payload, metadata }) => { ... },
|
|
55
54
|
* appendCondition: (command, criteria) => criteria,
|
|
56
55
|
* })
|
|
57
56
|
* ```
|
|
58
57
|
*/
|
|
59
58
|
export function commandHandler<P extends z.ZodType>(
|
|
60
59
|
descriptor: CommandDescriptor<P, undefined>,
|
|
61
|
-
handler: (
|
|
62
|
-
command: z.infer<P>,
|
|
63
|
-
metadata: Metadata,
|
|
64
|
-
) => Promise<void> | void,
|
|
60
|
+
handler: (message: CommandMessage<z.infer<P>>) => Promise<void> | void,
|
|
65
61
|
): CommandHandlerDefinition<P, undefined>
|
|
66
62
|
|
|
67
63
|
export function commandHandler<P extends z.ZodType, R extends z.ZodType>(
|
|
68
64
|
descriptor: CommandDescriptor<P, R>,
|
|
69
|
-
handler: (
|
|
70
|
-
command: z.infer<P>,
|
|
71
|
-
metadata: Metadata,
|
|
72
|
-
) => Promise<z.infer<R>> | z.infer<R>,
|
|
65
|
+
handler: (message: CommandMessage<z.infer<P>>) => Promise<z.infer<R>> | z.infer<R>,
|
|
73
66
|
): CommandHandlerDefinition<P, R>
|
|
74
67
|
|
|
75
68
|
export function commandHandler<P extends z.ZodType>(
|
|
76
69
|
descriptor: CommandDescriptor<P, undefined>,
|
|
77
70
|
options: {
|
|
78
|
-
handler: (
|
|
79
|
-
command: z.infer<P>,
|
|
80
|
-
metadata: Metadata,
|
|
81
|
-
) => Promise<void> | void
|
|
71
|
+
handler: (message: CommandMessage<z.infer<P>>) => Promise<void> | void
|
|
82
72
|
appendCondition?: (
|
|
83
|
-
|
|
73
|
+
message: CommandMessage<z.infer<P>>,
|
|
84
74
|
sourcedCriteria: EventCriteria,
|
|
85
75
|
) => EventCriteria
|
|
86
76
|
},
|
|
@@ -89,12 +79,9 @@ export function commandHandler<P extends z.ZodType>(
|
|
|
89
79
|
export function commandHandler<P extends z.ZodType, R extends z.ZodType>(
|
|
90
80
|
descriptor: CommandDescriptor<P, R>,
|
|
91
81
|
options: {
|
|
92
|
-
handler: (
|
|
93
|
-
command: z.infer<P>,
|
|
94
|
-
metadata: Metadata,
|
|
95
|
-
) => Promise<z.infer<R>> | z.infer<R>
|
|
82
|
+
handler: (message: CommandMessage<z.infer<P>>) => Promise<z.infer<R>> | z.infer<R>
|
|
96
83
|
appendCondition?: (
|
|
97
|
-
|
|
84
|
+
message: CommandMessage<z.infer<P>>,
|
|
98
85
|
sourcedCriteria: EventCriteria,
|
|
99
86
|
) => EventCriteria
|
|
100
87
|
},
|