@bgord/bun 1.13.0 → 1.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/event-finder-noop.adapter.d.ts +9 -0
- package/dist/event-finder-noop.adapter.d.ts.map +1 -0
- package/dist/event-finder-noop.adapter.js +10 -0
- package/dist/event-finder-noop.adapter.js.map +1 -0
- package/dist/event-finder.port.d.ts +6 -0
- package/dist/event-finder.port.d.ts.map +1 -0
- package/dist/event-finder.port.js +2 -0
- package/dist/event-finder.port.js.map +1 -0
- package/dist/event-inserter-noop.adapter.d.ts +6 -0
- package/dist/event-inserter-noop.adapter.d.ts.map +1 -0
- package/dist/event-inserter-noop.adapter.js +6 -0
- package/dist/event-inserter-noop.adapter.js.map +1 -0
- package/dist/event-inserter.port.d.ts +5 -0
- package/dist/event-inserter.port.d.ts.map +1 -0
- package/dist/event-inserter.port.js +2 -0
- package/dist/event-inserter.port.js.map +1 -0
- package/dist/event-revision-assigner.adapter.d.ts +7 -0
- package/dist/event-revision-assigner.adapter.d.ts.map +1 -0
- package/dist/event-revision-assigner.adapter.js +7 -0
- package/dist/event-revision-assigner.adapter.js.map +1 -0
- package/dist/event-revision-assigner.port.d.ts +5 -0
- package/dist/event-revision-assigner.port.d.ts.map +1 -0
- package/dist/event-revision-assigner.port.js +2 -0
- package/dist/event-revision-assigner.port.js.map +1 -0
- package/dist/event-serializer-collecting.adapter.d.ts +8 -0
- package/dist/event-serializer-collecting.adapter.d.ts.map +1 -0
- package/dist/event-serializer-collecting.adapter.js +13 -0
- package/dist/event-serializer-collecting.adapter.js.map +1 -0
- package/dist/event-serializer-json.adapter.d.ts +6 -0
- package/dist/event-serializer-json.adapter.d.ts.map +1 -0
- package/dist/event-serializer-json.adapter.js +9 -0
- package/dist/event-serializer-json.adapter.js.map +1 -0
- package/dist/event-serializer.port.d.ts +5 -0
- package/dist/event-serializer.port.d.ts.map +1 -0
- package/dist/event-serializer.port.js +2 -0
- package/dist/event-serializer.port.js.map +1 -0
- package/dist/event-store-collecting.adapter.d.ts +10 -0
- package/dist/event-store-collecting.adapter.d.ts.map +1 -0
- package/dist/event-store-collecting.adapter.js +11 -0
- package/dist/event-store-collecting.adapter.js.map +1 -0
- package/dist/event-store-dispatching.adapter.d.ts +17 -0
- package/dist/event-store-dispatching.adapter.d.ts.map +1 -0
- package/dist/event-store-dispatching.adapter.js +15 -0
- package/dist/event-store-dispatching.adapter.js.map +1 -0
- package/dist/event-store-noop.adapter.d.ts +9 -0
- package/dist/event-store-noop.adapter.d.ts.map +1 -0
- package/dist/event-store-noop.adapter.js +9 -0
- package/dist/event-store-noop.adapter.js.map +1 -0
- package/dist/event-store.adapter.d.ts +20 -0
- package/dist/event-store.adapter.d.ts.map +1 -0
- package/dist/event-store.adapter.js +27 -0
- package/dist/event-store.adapter.js.map +1 -0
- package/dist/event-store.port.d.ts +8 -0
- package/dist/event-store.port.d.ts.map +1 -0
- package/dist/event-store.port.js +2 -0
- package/dist/event-store.port.js.map +1 -0
- package/dist/event-validator-registry-zod.adapter.d.ts +24 -0
- package/dist/event-validator-registry-zod.adapter.d.ts.map +1 -0
- package/dist/event-validator-registry-zod.adapter.js +25 -0
- package/dist/event-validator-registry-zod.adapter.js.map +1 -0
- package/dist/event-validator-registry.port.d.ts +7 -0
- package/dist/event-validator-registry.port.d.ts.map +1 -0
- package/dist/event-validator-registry.port.js +2 -0
- package/dist/event-validator-registry.port.js.map +1 -0
- package/dist/event.types.d.ts +13 -14
- package/dist/event.types.d.ts.map +1 -1
- package/dist/index.d.ts +21 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -7
- package/dist/index.js.map +1 -1
- package/dist/message-handler-bare.strategy.d.ts +8 -0
- package/dist/message-handler-bare.strategy.d.ts.map +1 -0
- package/dist/message-handler-bare.strategy.js +8 -0
- package/dist/message-handler-bare.strategy.js.map +1 -0
- package/dist/message-handler-noop.strategy.d.ts +8 -0
- package/dist/message-handler-noop.strategy.d.ts.map +1 -0
- package/dist/message-handler-noop.strategy.js +8 -0
- package/dist/message-handler-noop.strategy.js.map +1 -0
- package/dist/message-handler-with-logger.strategy.d.ts +17 -0
- package/dist/message-handler-with-logger.strategy.d.ts.map +1 -0
- package/dist/message-handler-with-logger.strategy.js +27 -0
- package/dist/message-handler-with-logger.strategy.js.map +1 -0
- package/dist/message-handler.strategy.d.ts +7 -0
- package/dist/message-handler.strategy.d.ts.map +1 -0
- package/dist/message-handler.strategy.js +2 -0
- package/dist/message-handler.strategy.js.map +1 -0
- package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.d.ts +2 -2
- package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.d.ts.map +1 -1
- package/dist/modules/system/services/passage-of-time-hourly.service.d.ts +2 -2
- package/dist/modules/system/services/passage-of-time-hourly.service.d.ts.map +1 -1
- package/dist/modules/system/services/passage-of-time-minute.service.d.ts +2 -2
- package/dist/modules/system/services/passage-of-time-minute.service.d.ts.map +1 -1
- package/dist/security-countermeasure-ban.strategy.d.ts +2 -2
- package/dist/security-countermeasure-ban.strategy.d.ts.map +1 -1
- package/dist/sse-hono.handler.js +1 -1
- package/dist/sse-hono.handler.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/readme.md +20 -7
- package/src/event-finder-noop.adapter.ts +14 -0
- package/src/event-finder.port.ts +9 -0
- package/src/event-inserter-noop.adapter.ts +10 -0
- package/src/event-inserter.port.ts +5 -0
- package/src/event-revision-assigner.adapter.ts +13 -0
- package/src/event-revision-assigner.port.ts +8 -0
- package/src/event-serializer-collecting.adapter.ts +19 -0
- package/src/event-serializer-json.adapter.ts +11 -0
- package/src/event-serializer.port.ts +4 -0
- package/src/event-store-collecting.adapter.ts +21 -0
- package/src/event-store-dispatching.adapter.ts +29 -0
- package/src/event-store-noop.adapter.ts +17 -0
- package/src/event-store.adapter.ts +49 -0
- package/src/event-store.port.ts +12 -0
- package/src/event-validator-registry-zod.adapter.ts +47 -0
- package/src/event-validator-registry.port.ts +7 -0
- package/src/event.types.ts +12 -15
- package/src/index.ts +21 -7
- package/src/message-handler-bare.strategy.ts +11 -0
- package/src/message-handler-noop.strategy.ts +11 -0
- package/src/message-handler-with-logger.strategy.ts +32 -0
- package/src/message-handler.strategy.ts +8 -0
- package/src/modules/preferences/command-handlers/handleSetUserLanguageCommand.ts +2 -2
- package/src/modules/system/services/passage-of-time-hourly.service.ts +2 -2
- package/src/modules/system/services/passage-of-time-minute.service.ts +2 -2
- package/src/security-countermeasure-ban.strategy.ts +2 -2
- package/src/sse-hono.handler.ts +1 -1
- package/dist/dispatching-event-store.d.ts +0 -15
- package/dist/dispatching-event-store.d.ts.map +0 -1
- package/dist/dispatching-event-store.js +0 -16
- package/dist/dispatching-event-store.js.map +0 -1
- package/dist/event-handler-bare.strategy.d.ts +0 -6
- package/dist/event-handler-bare.strategy.d.ts.map +0 -1
- package/dist/event-handler-bare.strategy.js +0 -6
- package/dist/event-handler-bare.strategy.js.map +0 -1
- package/dist/event-handler-noop.strategy.d.ts +0 -6
- package/dist/event-handler-noop.strategy.d.ts.map +0 -1
- package/dist/event-handler-noop.strategy.js +0 -6
- package/dist/event-handler-noop.strategy.js.map +0 -1
- package/dist/event-handler-with-logger.strategy.d.ts +0 -15
- package/dist/event-handler-with-logger.strategy.d.ts.map +0 -1
- package/dist/event-handler-with-logger.strategy.js +0 -25
- package/dist/event-handler-with-logger.strategy.js.map +0 -1
- package/dist/event-handler.strategy.d.ts +0 -5
- package/dist/event-handler.strategy.d.ts.map +0 -1
- package/dist/event-handler.strategy.js +0 -2
- package/dist/event-handler.strategy.js.map +0 -1
- package/dist/event-store-like.types.d.ts +0 -5
- package/dist/event-store-like.types.d.ts.map +0 -1
- package/dist/event-store-like.types.js +0 -2
- package/dist/event-store-like.types.js.map +0 -1
- package/dist/event-store.d.ts +0 -22
- package/dist/event-store.d.ts.map +0 -1
- package/dist/event-store.js +0 -37
- package/dist/event-store.js.map +0 -1
- package/src/dispatching-event-store.ts +0 -34
- package/src/event-handler-bare.strategy.ts +0 -8
- package/src/event-handler-noop.strategy.ts +0 -8
- package/src/event-handler-with-logger.strategy.ts +0 -29
- package/src/event-handler.strategy.ts +0 -5
- package/src/event-store-like.types.ts +0 -5
- package/src/event-store.ts +0 -64
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { GenericEvent, GenericEventSerialized } from "./event.types";
|
|
2
|
+
import type { EventFinderPort } from "./event-finder.port";
|
|
3
|
+
import type { EventStreamType } from "./event-stream.vo";
|
|
4
|
+
export declare class EventFinderNoopAdapter implements EventFinderPort {
|
|
5
|
+
private readonly events;
|
|
6
|
+
constructor(events: ReadonlyArray<GenericEventSerialized>);
|
|
7
|
+
find(_stream: EventStreamType, _names: ReadonlyArray<GenericEvent["name"]>): Promise<ReadonlyArray<GenericEventSerialized>>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=event-finder-noop.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-finder-noop.adapter.d.ts","sourceRoot":"","sources":["../src/event-finder-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,qBAAa,sBAAuB,YAAW,eAAe;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa,CAAC,sBAAsB,CAAC;IAEpE,IAAI,CACR,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAC1C,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;CAGlD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-finder-noop.adapter.js","sourceRoot":"","sources":["../src/event-finder-noop.adapter.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,sBAAsB;IACJ;IAA7B,YAA6B,MAA6C;QAA7C,WAAM,GAAN,MAAM,CAAuC;IAAG,CAAC;IAE9E,KAAK,CAAC,IAAI,CACR,OAAwB,EACxB,MAA2C;QAE3C,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { GenericEvent, GenericEventSerialized } from "./event.types";
|
|
2
|
+
import type { EventStreamType } from "./event-stream.vo";
|
|
3
|
+
export interface EventFinderPort {
|
|
4
|
+
find(stream: EventStreamType, names: ReadonlyArray<GenericEvent["name"]>): Promise<ReadonlyArray<GenericEventSerialized>>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=event-finder.port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-finder.port.d.ts","sourceRoot":"","sources":["../src/event-finder.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,IAAI,CACF,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GACzC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC;CACnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-finder.port.js","sourceRoot":"","sources":["../src/event-finder.port.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { GenericEventSerialized } from "./event.types";
|
|
2
|
+
import type { EventInserterPort } from "./event-inserter.port";
|
|
3
|
+
export declare class EventInserterNoopAdapter implements EventInserterPort {
|
|
4
|
+
insert(events: ReadonlyArray<GenericEventSerialized>): Promise<ReadonlyArray<GenericEventSerialized>>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=event-inserter-noop.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-inserter-noop.adapter.d.ts","sourceRoot":"","sources":["../src/event-inserter-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,qBAAa,wBAAyB,YAAW,iBAAiB;IAC1D,MAAM,CACV,MAAM,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAC5C,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;CAGlD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-inserter-noop.adapter.js","sourceRoot":"","sources":["../src/event-inserter-noop.adapter.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,wBAAwB;IACnC,KAAK,CAAC,MAAM,CACV,MAA6C;QAE7C,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-inserter.port.d.ts","sourceRoot":"","sources":["../src/event-inserter.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC;CACvG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-inserter.port.js","sourceRoot":"","sources":["../src/event-inserter.port.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { GenericEventSerialized } from "./event.types";
|
|
2
|
+
import type { EventRevisionAssignerPort } from "./event-revision-assigner.port";
|
|
3
|
+
export declare class EventRevisionAssignerAdapter implements EventRevisionAssignerPort {
|
|
4
|
+
static readonly EMPTY_STREAM_REVISION = -1;
|
|
5
|
+
assign(events: ReadonlyArray<GenericEventSerialized>, currentMax: number): ReadonlyArray<GenericEventSerialized>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=event-revision-assigner.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-revision-assigner.adapter.d.ts","sourceRoot":"","sources":["../src/event-revision-assigner.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAEhF,qBAAa,4BAA6B,YAAW,yBAAyB;IAC5E,MAAM,CAAC,QAAQ,CAAC,qBAAqB,MAAM;IAE3C,MAAM,CACJ,MAAM,EAAE,aAAa,CAAC,sBAAsB,CAAC,EAC7C,UAAU,EAAE,MAAM,GACjB,aAAa,CAAC,sBAAsB,CAAC;CAGzC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class EventRevisionAssignerAdapter {
|
|
2
|
+
static EMPTY_STREAM_REVISION = -1;
|
|
3
|
+
assign(events, currentMax) {
|
|
4
|
+
return events.map((event, index) => ({ ...event, revision: currentMax + index + 1 }));
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=event-revision-assigner.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-revision-assigner.adapter.js","sourceRoot":"","sources":["../src/event-revision-assigner.adapter.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,4BAA4B;IACvC,MAAM,CAAU,qBAAqB,GAAG,CAAC,CAAC,CAAC;IAE3C,MAAM,CACJ,MAA6C,EAC7C,UAAkB;QAElB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,UAAU,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { GenericEventSerialized } from "./event.types";
|
|
2
|
+
export interface EventRevisionAssignerPort {
|
|
3
|
+
assign(events: ReadonlyArray<GenericEventSerialized>, currentMax: number): ReadonlyArray<GenericEventSerialized>;
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=event-revision-assigner.port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-revision-assigner.port.d.ts","sourceRoot":"","sources":["../src/event-revision-assigner.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,WAAW,yBAAyB;IACxC,MAAM,CACJ,MAAM,EAAE,aAAa,CAAC,sBAAsB,CAAC,EAC7C,UAAU,EAAE,MAAM,GACjB,aAAa,CAAC,sBAAsB,CAAC,CAAC;CAC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-revision-assigner.port.js","sourceRoot":"","sources":["../src/event-revision-assigner.port.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EventSerializerPort } from "./event-serializer.port";
|
|
2
|
+
export declare class EventSerializerCollectingAdapter implements EventSerializerPort {
|
|
3
|
+
readonly serialized: Array<unknown>;
|
|
4
|
+
readonly deserialized: Array<string>;
|
|
5
|
+
serialize(payload: unknown): string;
|
|
6
|
+
deserialize(raw: string): unknown;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=event-serializer-collecting.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-serializer-collecting.adapter.d.ts","sourceRoot":"","sources":["../src/event-serializer-collecting.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,qBAAa,gCAAiC,YAAW,mBAAmB;IAC1E,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAM;IAEzC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM;IAE1C,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAMnC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAKlC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class EventSerializerCollectingAdapter {
|
|
2
|
+
serialized = [];
|
|
3
|
+
deserialized = [];
|
|
4
|
+
serialize(payload) {
|
|
5
|
+
this.serialized.push(payload);
|
|
6
|
+
return JSON.stringify(payload);
|
|
7
|
+
}
|
|
8
|
+
deserialize(raw) {
|
|
9
|
+
this.deserialized.push(raw);
|
|
10
|
+
return JSON.parse(raw);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=event-serializer-collecting.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-serializer-collecting.adapter.js","sourceRoot":"","sources":["../src/event-serializer-collecting.adapter.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,gCAAgC;IAClC,UAAU,GAAmB,EAAE,CAAC;IAEhC,YAAY,GAAkB,EAAE,CAAC;IAE1C,SAAS,CAAC,OAAgB;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { EventSerializerPort } from "./event-serializer.port";
|
|
2
|
+
export declare class EventSerializerJsonAdapter implements EventSerializerPort {
|
|
3
|
+
serialize(payload: unknown): string;
|
|
4
|
+
deserialize(raw: string): unknown;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=event-serializer-json.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-serializer-json.adapter.d.ts","sourceRoot":"","sources":["../src/event-serializer-json.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,qBAAa,0BAA2B,YAAW,mBAAmB;IACpE,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAInC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAGlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-serializer-json.adapter.js","sourceRoot":"","sources":["../src/event-serializer-json.adapter.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,0BAA0B;IACrC,SAAS,CAAC,OAAgB;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-serializer.port.d.ts","sourceRoot":"","sources":["../src/event-serializer.port.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IACpC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-serializer.port.js","sourceRoot":"","sources":["../src/event-serializer.port.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { GenericEvent } from "./event.types";
|
|
2
|
+
import type { EventStorePort } from "./event-store.port";
|
|
3
|
+
import type { EventStreamType } from "./event-stream.vo";
|
|
4
|
+
import type { EventValidatorRegistryPort } from "./event-validator-registry.port";
|
|
5
|
+
export declare class EventStoreCollectingAdapter<TEvent extends GenericEvent> implements EventStorePort<TEvent> {
|
|
6
|
+
readonly saved: Array<TEvent>;
|
|
7
|
+
find<FoundEvent extends TEvent>(_registry: EventValidatorRegistryPort<FoundEvent>, _stream: EventStreamType): Promise<ReadonlyArray<FoundEvent>>;
|
|
8
|
+
save(events: ReadonlyArray<TEvent>): Promise<ReadonlyArray<TEvent>>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=event-store-collecting.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-store-collecting.adapter.d.ts","sourceRoot":"","sources":["../src/event-store-collecting.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAElF,qBAAa,2BAA2B,CAAC,MAAM,SAAS,YAAY,CAAE,YAAW,cAAc,CAAC,MAAM,CAAC;IACrG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM;IAE7B,IAAI,CAAC,UAAU,SAAS,MAAM,EAClC,SAAS,EAAE,0BAA0B,CAAC,UAAU,CAAC,EACjD,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAI/B,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;CAK1E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-store-collecting.adapter.js","sourceRoot":"","sources":["../src/event-store-collecting.adapter.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,2BAA2B;IAC7B,KAAK,GAAkB,EAAE,CAAC;IAEnC,KAAK,CAAC,IAAI,CACR,SAAiD,EACjD,OAAwB;QAExB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAA6B;QACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QAE3B,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { GenericEvent } from "./event.types";
|
|
2
|
+
import type { EventStorePort } from "./event-store.port";
|
|
3
|
+
import type { EventStreamType } from "./event-stream.vo";
|
|
4
|
+
import type { EventValidatorRegistryPort } from "./event-validator-registry.port";
|
|
5
|
+
import type { EventBusPort } from "./message-bus.port";
|
|
6
|
+
type Dependencies<TEvent extends GenericEvent> = {
|
|
7
|
+
inner: EventStorePort<TEvent>;
|
|
8
|
+
EventBus: EventBusPort<TEvent>;
|
|
9
|
+
};
|
|
10
|
+
export declare class EventStoreDispatchingAdapter<Event extends GenericEvent> implements EventStorePort<Event> {
|
|
11
|
+
private readonly deps;
|
|
12
|
+
constructor(deps: Dependencies<Event>);
|
|
13
|
+
find<FoundEvent extends Event>(registry: EventValidatorRegistryPort<FoundEvent>, stream: EventStreamType): Promise<ReadonlyArray<FoundEvent>>;
|
|
14
|
+
save(events: ReadonlyArray<Event>): Promise<ReadonlyArray<Event>>;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=event-store-dispatching.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-store-dispatching.adapter.d.ts","sourceRoot":"","sources":["../src/event-store-dispatching.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,KAAK,YAAY,CAAC,MAAM,SAAS,YAAY,IAAI;IAC/C,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,qBAAa,4BAA4B,CAAC,KAAK,SAAS,YAAY,CAAE,YAAW,cAAc,CAAC,KAAK,CAAC;IACxF,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC;IAEhD,IAAI,CAAC,UAAU,SAAS,KAAK,EACjC,QAAQ,EAAE,0BAA0B,CAAC,UAAU,CAAC,EAChD,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAI/B,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;CAOxE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class EventStoreDispatchingAdapter {
|
|
2
|
+
deps;
|
|
3
|
+
constructor(deps) {
|
|
4
|
+
this.deps = deps;
|
|
5
|
+
}
|
|
6
|
+
async find(registry, stream) {
|
|
7
|
+
return this.deps.inner.find(registry, stream);
|
|
8
|
+
}
|
|
9
|
+
async save(events) {
|
|
10
|
+
const saved = await this.deps.inner.save(events);
|
|
11
|
+
await Promise.all(saved.map((event) => this.deps.EventBus.emit(event)));
|
|
12
|
+
return saved;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=event-store-dispatching.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-store-dispatching.adapter.js","sourceRoot":"","sources":["../src/event-store-dispatching.adapter.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,4BAA4B;IACV;IAA7B,YAA6B,IAAyB;QAAzB,SAAI,GAAJ,IAAI,CAAqB;IAAG,CAAC;IAE1D,KAAK,CAAC,IAAI,CACR,QAAgD,EAChD,MAAuB;QAEvB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAA4B;QACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjD,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAExE,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { GenericEvent } from "./event.types";
|
|
2
|
+
import type { EventStorePort } from "./event-store.port";
|
|
3
|
+
import type { EventStreamType } from "./event-stream.vo";
|
|
4
|
+
import type { EventValidatorRegistryPort } from "./event-validator-registry.port";
|
|
5
|
+
export declare class EventStoreNoopAdapter<Event extends GenericEvent> implements EventStorePort<Event> {
|
|
6
|
+
find<FoundEvent extends Event>(_registry: EventValidatorRegistryPort<FoundEvent>, _stream: EventStreamType): Promise<ReadonlyArray<FoundEvent>>;
|
|
7
|
+
save(_events: ReadonlyArray<Event>): Promise<ReadonlyArray<Event>>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=event-store-noop.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-store-noop.adapter.d.ts","sourceRoot":"","sources":["../src/event-store-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAElF,qBAAa,qBAAqB,CAAC,KAAK,SAAS,YAAY,CAAE,YAAW,cAAc,CAAC,KAAK,CAAC;IACvF,IAAI,CAAC,UAAU,SAAS,KAAK,EACjC,SAAS,EAAE,0BAA0B,CAAC,UAAU,CAAC,EACjD,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAI/B,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;CAGzE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-store-noop.adapter.js","sourceRoot":"","sources":["../src/event-store-noop.adapter.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,qBAAqB;IAChC,KAAK,CAAC,IAAI,CACR,SAAiD,EACjD,OAAwB;QAExB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA6B;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { GenericEvent } from "./event.types";
|
|
2
|
+
import type { EventFinderPort } from "./event-finder.port";
|
|
3
|
+
import type { EventInserterPort } from "./event-inserter.port";
|
|
4
|
+
import type { EventSerializerPort } from "./event-serializer.port";
|
|
5
|
+
import type { EventStorePort } from "./event-store.port";
|
|
6
|
+
import type { EventStreamType } from "./event-stream.vo";
|
|
7
|
+
import type { EventValidatorRegistryPort } from "./event-validator-registry.port";
|
|
8
|
+
type Config = {
|
|
9
|
+
finder: EventFinderPort;
|
|
10
|
+
inserter: EventInserterPort;
|
|
11
|
+
serializer: EventSerializerPort;
|
|
12
|
+
};
|
|
13
|
+
export declare class EventStoreAdapter<Event extends GenericEvent> implements EventStorePort<Event> {
|
|
14
|
+
private readonly config;
|
|
15
|
+
constructor(config: Config);
|
|
16
|
+
find<FoundEvent extends Event>(registry: EventValidatorRegistryPort<FoundEvent>, stream: EventStreamType): Promise<ReadonlyArray<FoundEvent>>;
|
|
17
|
+
save(events: ReadonlyArray<Event>): Promise<ReadonlyArray<Event>>;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=event-store.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-store.adapter.d.ts","sourceRoot":"","sources":["../src/event-store.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAElF,KAAK,MAAM,GAAG;IACZ,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,mBAAmB,CAAC;CACjC,CAAC;AAIF,qBAAa,iBAAiB,CAAC,KAAK,SAAS,YAAY,CAAE,YAAW,cAAc,CAAC,KAAK,CAAC;IAC7E,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAErC,IAAI,CAAC,UAAU,SAAS,KAAK,EACjC,QAAQ,EAAE,0BAA0B,CAAC,UAAU,CAAC,EAChD,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAQ/B,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;CAkBxE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const EventStoreAdapterError = { UniqueStream: "event.store.adapter.error.unique.stream" };
|
|
2
|
+
export class EventStoreAdapter {
|
|
3
|
+
config;
|
|
4
|
+
constructor(config) {
|
|
5
|
+
this.config = config;
|
|
6
|
+
}
|
|
7
|
+
async find(registry, stream) {
|
|
8
|
+
const events = await this.config.finder.find(stream, registry.names);
|
|
9
|
+
return events
|
|
10
|
+
.map((event) => ({ ...event, payload: this.config.serializer.deserialize(event.payload) }))
|
|
11
|
+
.map((event) => registry.validate(event));
|
|
12
|
+
}
|
|
13
|
+
async save(events) {
|
|
14
|
+
if (!events[0])
|
|
15
|
+
return [];
|
|
16
|
+
const stream = events[0].stream;
|
|
17
|
+
if (!events.every((event) => event.stream === stream)) {
|
|
18
|
+
throw new Error(EventStoreAdapterError.UniqueStream);
|
|
19
|
+
}
|
|
20
|
+
const serialized = await this.config.inserter.insert(events.map((event) => ({ ...event, payload: this.config.serializer.serialize(event.payload) })));
|
|
21
|
+
return serialized.map((event) => ({
|
|
22
|
+
...event,
|
|
23
|
+
payload: this.config.serializer.deserialize(event.payload),
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=event-store.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-store.adapter.js","sourceRoot":"","sources":["../src/event-store.adapter.ts"],"names":[],"mappings":"AAcA,MAAM,sBAAsB,GAAG,EAAE,YAAY,EAAE,yCAAyC,EAAE,CAAC;AAE3F,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,KAAK,CAAC,IAAI,CACR,QAAgD,EAChD,MAAuB;QAEvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErE,OAAO,MAAM;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aAC1F,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAA4B;QACrC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAEhC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAClD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAChG,CAAC;QAEF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChC,GAAG,KAAK;YACR,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;SAC3D,CAAC,CAAiB,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { GenericEvent } from "./event.types";
|
|
2
|
+
import type { EventStreamType } from "./event-stream.vo";
|
|
3
|
+
import type { EventValidatorRegistryPort } from "./event-validator-registry.port";
|
|
4
|
+
export interface EventStorePort<Event extends GenericEvent> {
|
|
5
|
+
find<FoundEvent extends Event>(registry: EventValidatorRegistryPort<FoundEvent>, stream: EventStreamType): Promise<ReadonlyArray<FoundEvent>>;
|
|
6
|
+
save(events: ReadonlyArray<Event>): Promise<ReadonlyArray<Event>>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=event-store.port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-store.port.d.ts","sourceRoot":"","sources":["../src/event-store.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAElF,MAAM,WAAW,cAAc,CAAC,KAAK,SAAS,YAAY;IACxD,IAAI,CAAC,UAAU,SAAS,KAAK,EAC3B,QAAQ,EAAE,0BAA0B,CAAC,UAAU,CAAC,EAChD,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IAEtC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;CACnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-store.port.js","sourceRoot":"","sources":["../src/event-store.port.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type * as z from "zod/v4";
|
|
2
|
+
import type { GenericEvent } from "./event.types";
|
|
3
|
+
import type { EventValidatorRegistryPort } from "./event-validator-registry.port";
|
|
4
|
+
export type GenericEventSchema = z.ZodObject<{
|
|
5
|
+
id: z.ZodType<string>;
|
|
6
|
+
correlationId: z.ZodType<string>;
|
|
7
|
+
createdAt: z.ZodType<number>;
|
|
8
|
+
stream: z.ZodString;
|
|
9
|
+
revision: z.ZodOptional<z.ZodType<number>>;
|
|
10
|
+
name: z.ZodLiteral<string>;
|
|
11
|
+
version: z.ZodLiteral<number>;
|
|
12
|
+
payload: z.ZodType<any>;
|
|
13
|
+
}>;
|
|
14
|
+
export type GenericParsedEventSchema = z.ZodObject<Omit<GenericEventSchema["shape"], "payload"> & {
|
|
15
|
+
payload: z.ZodString;
|
|
16
|
+
}>;
|
|
17
|
+
export declare class EventValidatorRegistryZodAdapter<TEvent> implements EventValidatorRegistryPort<TEvent> {
|
|
18
|
+
private readonly map;
|
|
19
|
+
readonly names: ReadonlyArray<GenericEvent["name"]>;
|
|
20
|
+
constructor(schemas: ReadonlyArray<GenericEventSchema>);
|
|
21
|
+
accepts(name: GenericEvent["name"]): boolean;
|
|
22
|
+
validate(raw: unknown): TEvent;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=event-validator-registry-zod.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-validator-registry-zod.adapter.d.ts","sourceRoot":"","sources":["../src/event-validator-registry-zod.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAElF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,SAAS,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,SAAS,CAChD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAA;CAAE,CACxE,CAAC;AAOF,qBAAa,gCAAgC,CAAC,MAAM,CAAE,YAAW,0BAA0B,CAAC,MAAM,CAAC;IACjG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgD;IACpE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;gBAExC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC;IAKtD,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO;IAI5C,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;CAS/B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const EventValidatorRegistryZodAdapterError = {
|
|
2
|
+
MissingName: "event.validator.registry.zod.adapter.error.missing.name",
|
|
3
|
+
UnknownEvent: "event.validator.registry.zod.adapter.error.unknown.event",
|
|
4
|
+
};
|
|
5
|
+
export class EventValidatorRegistryZodAdapter {
|
|
6
|
+
map;
|
|
7
|
+
names;
|
|
8
|
+
constructor(schemas) {
|
|
9
|
+
this.map = new Map(schemas.map((schema) => [schema.shape.name.value, schema]));
|
|
10
|
+
this.names = [...this.map.keys()];
|
|
11
|
+
}
|
|
12
|
+
accepts(name) {
|
|
13
|
+
return this.map.has(name);
|
|
14
|
+
}
|
|
15
|
+
validate(raw) {
|
|
16
|
+
const name = raw.name;
|
|
17
|
+
if (!name)
|
|
18
|
+
throw new Error(EventValidatorRegistryZodAdapterError.MissingName);
|
|
19
|
+
const schema = this.map.get(name);
|
|
20
|
+
if (!schema)
|
|
21
|
+
throw new Error(EventValidatorRegistryZodAdapterError.UnknownEvent);
|
|
22
|
+
return schema.parse(raw);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=event-validator-registry-zod.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-validator-registry-zod.adapter.js","sourceRoot":"","sources":["../src/event-validator-registry-zod.adapter.ts"],"names":[],"mappings":"AAmBA,MAAM,qCAAqC,GAAG;IAC5C,WAAW,EAAE,yDAAyD;IACtE,YAAY,EAAE,0DAA0D;CACzE,CAAC;AAEF,MAAM,OAAO,gCAAgC;IAC1B,GAAG,CAAgD;IAC3D,KAAK,CAAsC;IAEpD,YAAY,OAA0C;QACpD,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,IAA0B;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,GAAY;QACnB,MAAM,IAAI,GAAI,GAAuC,CAAC,IAAI,CAAC;QAC3D,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,WAAW,CAAC,CAAC;QAE9E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,YAAY,CAAC,CAAC;QAEjF,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAW,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { GenericEvent } from "./event.types";
|
|
2
|
+
export interface EventValidatorRegistryPort<TEvent> {
|
|
3
|
+
readonly names: ReadonlyArray<GenericEvent["name"]>;
|
|
4
|
+
accepts(name: GenericEvent["name"]): boolean;
|
|
5
|
+
validate(raw: unknown): TEvent;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=event-validator-registry.port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-validator-registry.port.d.ts","sourceRoot":"","sources":["../src/event-validator-registry.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,WAAW,0BAA0B,CAAC,MAAM;IAChD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;IAC7C,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-validator-registry.port.js","sourceRoot":"","sources":["../src/event-validator-registry.port.ts"],"names":[],"mappings":""}
|
package/dist/event.types.d.ts
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}>;
|
|
1
|
+
export type GenericEvent = {
|
|
2
|
+
id: string;
|
|
3
|
+
correlationId: string;
|
|
4
|
+
createdAt: number;
|
|
5
|
+
stream: string;
|
|
6
|
+
revision?: number;
|
|
7
|
+
name: string;
|
|
8
|
+
version: number;
|
|
9
|
+
payload: unknown;
|
|
10
|
+
};
|
|
11
|
+
export type GenericEventSerialized = Omit<GenericEvent, "payload"> & {
|
|
12
|
+
payload: string;
|
|
13
|
+
};
|
|
15
14
|
//# sourceMappingURL=event.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.types.d.ts","sourceRoot":"","sources":["../src/event.types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event.types.d.ts","sourceRoot":"","sources":["../src/event.types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -68,7 +68,6 @@ export * from "./directory-ensurer-noop.adapter";
|
|
|
68
68
|
export * from "./disk-space-checker.port";
|
|
69
69
|
export * from "./disk-space-checker-noop.adapter";
|
|
70
70
|
export * from "./disk-space-checker-shell.adapter";
|
|
71
|
-
export * from "./dispatching-event-store";
|
|
72
71
|
export * from "./dynamic-import.service";
|
|
73
72
|
export * from "./encryption.port";
|
|
74
73
|
export * from "./encryption-aes-gcm.adapter";
|
|
@@ -85,15 +84,26 @@ export * from "./etag-extractor.middleware";
|
|
|
85
84
|
export * from "./etag-extractor-hono.middleware";
|
|
86
85
|
export * from "./event.types";
|
|
87
86
|
export * from "./event-envelope";
|
|
88
|
-
export * from "./event-
|
|
89
|
-
export * from "./event-
|
|
90
|
-
export * from "./event-
|
|
91
|
-
export * from "./event-
|
|
87
|
+
export * from "./event-finder.port";
|
|
88
|
+
export * from "./event-finder-noop.adapter";
|
|
89
|
+
export * from "./event-inserter.port";
|
|
90
|
+
export * from "./event-inserter-noop.adapter";
|
|
92
91
|
export * from "./event-loop-lag.service";
|
|
93
92
|
export * from "./event-loop-utilization.service";
|
|
94
|
-
export * from "./event-
|
|
95
|
-
export * from "./event-
|
|
93
|
+
export * from "./event-revision-assigner.adapter";
|
|
94
|
+
export * from "./event-revision-assigner.port";
|
|
95
|
+
export * from "./event-serializer.port";
|
|
96
|
+
export * from "./event-serializer-collecting.adapter";
|
|
97
|
+
export * from "./event-serializer-json.adapter";
|
|
98
|
+
export * from "./event-store.adapter";
|
|
99
|
+
export * from "./event-store.port";
|
|
100
|
+
export * from "./event-store-collecting.adapter";
|
|
101
|
+
export * from "./event-store-collecting.adapter";
|
|
102
|
+
export * from "./event-store-dispatching.adapter";
|
|
103
|
+
export * from "./event-store-noop.adapter";
|
|
96
104
|
export * from "./event-stream.vo";
|
|
105
|
+
export * from "./event-validator-registry.port";
|
|
106
|
+
export * from "./event-validator-registry-zod.adapter";
|
|
97
107
|
export * from "./file-cleaner.adapter";
|
|
98
108
|
export * from "./file-cleaner.port";
|
|
99
109
|
export * from "./file-cleaner-forgiving.adapter";
|
|
@@ -221,6 +231,10 @@ export * from "./message-bus-collecting.adapter";
|
|
|
221
231
|
export * from "./message-bus-emittery.adapter";
|
|
222
232
|
export * from "./message-bus-noop.adapter";
|
|
223
233
|
export * from "./message-bus-with-logger.adapter";
|
|
234
|
+
export * from "./message-handler.strategy";
|
|
235
|
+
export * from "./message-handler-bare.strategy";
|
|
236
|
+
export * from "./message-handler-noop.strategy";
|
|
237
|
+
export * from "./message-handler-with-logger.strategy";
|
|
224
238
|
export * from "./middleware-hono.port";
|
|
225
239
|
export * from "./middleware-hono-noop.adapter";
|
|
226
240
|
export * as History from "./modules/history";
|