@schorts/shared-kernel 5.2.4 → 5.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/README.md +2 -1
- package/dist/cjs/cqrs/in-memory/async-in-memory-command-bus.js +19 -0
- package/dist/cjs/cqrs/in-memory/async-in-memory-command-bus.js.map +1 -0
- package/dist/cjs/cqrs/in-memory/async-in-memory-query-bus.js +19 -0
- package/dist/cjs/cqrs/in-memory/async-in-memory-query-bus.js.map +1 -0
- package/dist/cjs/cqrs/in-memory/index.js +5 -5
- package/dist/cjs/cqrs/in-memory/index.js.map +1 -1
- package/dist/cjs/event-bus/dead-letter-store.js +3 -0
- package/dist/cjs/event-bus/dead-letter-store.js.map +1 -0
- package/dist/cjs/event-bus/in-memory/async-in-memory-event-bus.js +13 -4
- package/dist/cjs/event-bus/in-memory/async-in-memory-event-bus.js.map +1 -1
- package/dist/cjs/event-bus/in-memory/in-memory-dead-letter-store.js +17 -0
- package/dist/cjs/event-bus/in-memory/in-memory-dead-letter-store.js.map +1 -0
- package/dist/cjs/event-bus/in-memory/index.js +3 -1
- package/dist/cjs/event-bus/in-memory/index.js.map +1 -1
- package/dist/cjs/event-bus/index.js.map +1 -1
- package/dist/cjs/logger/console-logger.js +23 -1
- package/dist/cjs/logger/console-logger.js.map +1 -1
- package/dist/esm/cqrs/in-memory/async-in-memory-command-bus.js +19 -0
- package/dist/esm/cqrs/in-memory/async-in-memory-command-bus.js.map +1 -0
- package/dist/esm/cqrs/in-memory/async-in-memory-query-bus.js +19 -0
- package/dist/esm/cqrs/in-memory/async-in-memory-query-bus.js.map +1 -0
- package/dist/esm/cqrs/in-memory/index.js +5 -5
- package/dist/esm/cqrs/in-memory/index.js.map +1 -1
- package/dist/esm/event-bus/dead-letter-store.js +3 -0
- package/dist/esm/event-bus/dead-letter-store.js.map +1 -0
- package/dist/esm/event-bus/in-memory/async-in-memory-event-bus.js +13 -4
- package/dist/esm/event-bus/in-memory/async-in-memory-event-bus.js.map +1 -1
- package/dist/esm/event-bus/in-memory/in-memory-dead-letter-store.js +17 -0
- package/dist/esm/event-bus/in-memory/in-memory-dead-letter-store.js.map +1 -0
- package/dist/esm/event-bus/in-memory/index.js +3 -1
- package/dist/esm/event-bus/in-memory/index.js.map +1 -1
- package/dist/esm/event-bus/index.js.map +1 -1
- package/dist/esm/logger/console-logger.js +23 -1
- package/dist/esm/logger/console-logger.js.map +1 -1
- package/dist/types/cqrs/in-memory/async-in-memory-command-bus.d.ts +7 -0
- package/dist/types/cqrs/in-memory/async-in-memory-command-bus.d.ts.map +1 -0
- package/dist/types/cqrs/in-memory/async-in-memory-query-bus.d.ts +7 -0
- package/dist/types/cqrs/in-memory/async-in-memory-query-bus.d.ts.map +1 -0
- package/dist/types/cqrs/in-memory/index.d.ts +2 -2
- package/dist/types/cqrs/in-memory/index.d.ts.map +1 -1
- package/dist/types/event-bus/dead-letter-store.d.ts +10 -0
- package/dist/types/event-bus/dead-letter-store.d.ts.map +1 -0
- package/dist/types/event-bus/in-memory/async-in-memory-event-bus.d.ts +3 -1
- package/dist/types/event-bus/in-memory/async-in-memory-event-bus.d.ts.map +1 -1
- package/dist/types/event-bus/in-memory/in-memory-dead-letter-store.d.ts +12 -0
- package/dist/types/event-bus/in-memory/in-memory-dead-letter-store.d.ts.map +1 -0
- package/dist/types/event-bus/in-memory/index.d.ts +1 -0
- package/dist/types/event-bus/in-memory/index.d.ts.map +1 -1
- package/dist/types/event-bus/index.d.ts +1 -0
- package/dist/types/event-bus/index.d.ts.map +1 -1
- package/dist/types/logger/console-logger.d.ts +2 -0
- package/dist/types/logger/console-logger.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -39,6 +39,7 @@ npm install @schorts/shared-kernel --save
|
|
|
39
39
|
- **DomainEventRegistry:** Centralized registry for hydrating polymorphic domain events from serialized primitives.
|
|
40
40
|
- **EventSubscriber:** Interface for subscribing to specific event types with clean, type-safe handlers.
|
|
41
41
|
- **InMemoryEventStore:** Simple event store for tracking and replaying events, with retry metadata and bounded requeue support.
|
|
42
|
+
- **DeadLetterStore / InMemoryDeadLetterStore:** Dedicated store for capturing events that failed after max retries. Provides inspection (all()), clearing, and replay support.
|
|
42
43
|
|
|
43
44
|
### 🧭 CQRS (Command Query Responsibility Segregation)
|
|
44
45
|
- **Command / CommandHandler:** Define write-side operations that encapsulate intent and state changes. Handlers execute domain logic for commands like CreateUserCommand or SendReportCommand.
|
|
@@ -105,7 +106,7 @@ Translation keys are centralized in registries for discoverability and tooling,
|
|
|
105
106
|
### 📣 Logger
|
|
106
107
|
|
|
107
108
|
- **Logger:** Abstract base class for structured, context-aware logging across environments. Supports scoped logging via child() method, enabling per-module or per-request diagnostics. Each method (log, info, debug, warn, error) accepts optional context metadata and variadic arguments for flexible message composition.
|
|
108
|
-
- **ConsoleLogger:** Concrete implementation
|
|
109
|
+
- **ConsoleLogger:** Concrete implementation with log levels (LOG, INFO, DEBUG, WARN, ERROR) and contextual metadata injection (e.g., timestamps, custom context). Provides consistent filtering and structured output across environments.
|
|
109
110
|
- **ScopedLogger:** Internal utility class returned by Logger.child(). Merges base context with per-call context, enabling nested, composable logging scopes.
|
|
110
111
|
|
|
111
112
|
### 📈 Telemetry
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AsyncInMemoryCommandBus = void 0;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
class AsyncInMemoryCommandBus {
|
|
6
|
+
handlers = new Map();
|
|
7
|
+
register(type, handler) {
|
|
8
|
+
this.handlers.set(type, handler);
|
|
9
|
+
}
|
|
10
|
+
async dispatch(command) {
|
|
11
|
+
const handler = this.handlers.get(command.getType());
|
|
12
|
+
if (!handler) {
|
|
13
|
+
throw new __1.CommandNotRegistered(command.getType());
|
|
14
|
+
}
|
|
15
|
+
await handler.handle(command);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.AsyncInMemoryCommandBus = AsyncInMemoryCommandBus;
|
|
19
|
+
//# sourceMappingURL=async-in-memory-command-bus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-in-memory-command-bus.js","sourceRoot":"","sources":["../../../../src/cqrs/in-memory/async-in-memory-command-bus.ts"],"names":[],"mappings":";;;AAAA,0BAA+E;AAE/E,MAAa,uBAAuB;IACjB,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE9D,QAAQ,CAAoB,IAAY,EAAE,OAA0B;QAClE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAoB,OAAU;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAErD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,wBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;CACF;AAhBD,0DAgBC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AsyncInMemoryQueryBus = void 0;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
class AsyncInMemoryQueryBus {
|
|
6
|
+
handlers = new Map();
|
|
7
|
+
register(type, handler) {
|
|
8
|
+
this.handlers.set(type, handler);
|
|
9
|
+
}
|
|
10
|
+
async dispatch(query) {
|
|
11
|
+
const handler = this.handlers.get(query.getType());
|
|
12
|
+
if (!handler) {
|
|
13
|
+
throw new __1.QueryNotRegistered(query.getType());
|
|
14
|
+
}
|
|
15
|
+
return await handler.handle(query);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.AsyncInMemoryQueryBus = AsyncInMemoryQueryBus;
|
|
19
|
+
//# sourceMappingURL=async-in-memory-query-bus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-in-memory-query-bus.js","sourceRoot":"","sources":["../../../../src/cqrs/in-memory/async-in-memory-query-bus.ts"],"names":[],"mappings":";;;AAAA,0BAAuE;AAEvE,MAAa,qBAAqB;IACf,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAE5D,QAAQ,CAAqB,IAAY,EAAE,OAA2B;QACpE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAqB,KAAQ;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAmC,CAAC;QAErF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,sBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CACF;AAhBD,sDAgBC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
var
|
|
5
|
-
Object.defineProperty(exports, "
|
|
6
|
-
var
|
|
7
|
-
Object.defineProperty(exports, "
|
|
3
|
+
exports.AsyncInMemoryQueryBus = exports.AsyncInMemoryCommandBus = void 0;
|
|
4
|
+
var async_in_memory_command_bus_1 = require("./async-in-memory-command-bus");
|
|
5
|
+
Object.defineProperty(exports, "AsyncInMemoryCommandBus", { enumerable: true, get: function () { return async_in_memory_command_bus_1.AsyncInMemoryCommandBus; } });
|
|
6
|
+
var async_in_memory_query_bus_1 = require("./async-in-memory-query-bus");
|
|
7
|
+
Object.defineProperty(exports, "AsyncInMemoryQueryBus", { enumerable: true, get: function () { return async_in_memory_query_bus_1.AsyncInMemoryQueryBus; } });
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cqrs/in-memory/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cqrs/in-memory/index.ts"],"names":[],"mappings":";;;AAAA,6EAAwE;AAA/D,sIAAA,uBAAuB,OAAA;AAChC,yEAAoE;AAA3D,kIAAA,qBAAqB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dead-letter-store.js","sourceRoot":"","sources":["../../../src/event-bus/dead-letter-store.ts"],"names":[],"mappings":""}
|
|
@@ -7,9 +7,11 @@ class AsyncInMemoryEventBus {
|
|
|
7
7
|
subscribers = new Map();
|
|
8
8
|
store;
|
|
9
9
|
maxRetries;
|
|
10
|
-
|
|
10
|
+
deadLetterStore;
|
|
11
|
+
constructor(store = new in_memory_event_store_1.InMemoryEventStore(), maxRetries = 3, deadLetterStore) {
|
|
11
12
|
this.store = store;
|
|
12
13
|
this.maxRetries = maxRetries;
|
|
14
|
+
this.deadLetterStore = deadLetterStore;
|
|
13
15
|
}
|
|
14
16
|
subscribe(eventName, subscriber) {
|
|
15
17
|
if (!this.subscribers.has(eventName)) {
|
|
@@ -37,12 +39,19 @@ class AsyncInMemoryEventBus {
|
|
|
37
39
|
this.store.requeue(updatedPrimitives);
|
|
38
40
|
this.publish(domain_events_1.DomainEventRegistry.create(updatedPrimitives));
|
|
39
41
|
}
|
|
40
|
-
else {
|
|
41
|
-
|
|
42
|
+
else if (this.deadLetterStore) {
|
|
43
|
+
const reason = `Exceeded max retries (${this.maxRetries})`;
|
|
44
|
+
this.deadLetterStore.add(primitives, reason);
|
|
45
|
+
console.warn(`Event ${event.id} moved to DLQ: ${reason}`);
|
|
42
46
|
}
|
|
43
47
|
};
|
|
44
48
|
for (const sub of subs) {
|
|
45
|
-
|
|
49
|
+
try {
|
|
50
|
+
await sub.handle(event);
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
event.requeue?.();
|
|
54
|
+
}
|
|
46
55
|
}
|
|
47
56
|
}
|
|
48
57
|
async replay() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-in-memory-event-bus.js","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/async-in-memory-event-bus.ts"],"names":[],"mappings":";;;AAAA,uDAAuE;AACvE,mEAA6D;
|
|
1
|
+
{"version":3,"file":"async-in-memory-event-bus.js","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/async-in-memory-event-bus.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryDeadLetterStore = void 0;
|
|
4
|
+
class InMemoryDeadLetterStore {
|
|
5
|
+
failed = [];
|
|
6
|
+
add(primitives, reason) {
|
|
7
|
+
this.failed.push({ primitives, reason });
|
|
8
|
+
}
|
|
9
|
+
all() {
|
|
10
|
+
return [...this.failed];
|
|
11
|
+
}
|
|
12
|
+
clear() {
|
|
13
|
+
this.failed.length = 0;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.InMemoryDeadLetterStore = InMemoryDeadLetterStore;
|
|
17
|
+
//# sourceMappingURL=in-memory-dead-letter-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-dead-letter-store.js","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/in-memory-dead-letter-store.ts"],"names":[],"mappings":";;;AAGA,MAAa,uBAAuB;IACjB,MAAM,GAAiE,EAAE,CAAC;IAE3F,GAAG,CAAC,UAAiC,EAAE,MAAc;QACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC;CACF;AAdD,0DAcC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AsyncInMemoryEventBus = exports.InMemoryEventStore = void 0;
|
|
3
|
+
exports.InMemoryDeadLetterStore = exports.AsyncInMemoryEventBus = exports.InMemoryEventStore = void 0;
|
|
4
4
|
var in_memory_event_store_1 = require("./in-memory-event-store");
|
|
5
5
|
Object.defineProperty(exports, "InMemoryEventStore", { enumerable: true, get: function () { return in_memory_event_store_1.InMemoryEventStore; } });
|
|
6
6
|
var async_in_memory_event_bus_1 = require("./async-in-memory-event-bus");
|
|
7
7
|
Object.defineProperty(exports, "AsyncInMemoryEventBus", { enumerable: true, get: function () { return async_in_memory_event_bus_1.AsyncInMemoryEventBus; } });
|
|
8
|
+
var in_memory_dead_letter_store_1 = require("./in-memory-dead-letter-store");
|
|
9
|
+
Object.defineProperty(exports, "InMemoryDeadLetterStore", { enumerable: true, get: function () { return in_memory_dead_letter_store_1.InMemoryDeadLetterStore; } });
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/index.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,yEAAmE;AAA1D,kIAAA,qBAAqB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/index.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,yEAAmE;AAA1D,kIAAA,qBAAqB,OAAA;AAC9B,6EAAwE;AAA/D,sIAAA,uBAAuB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/event-bus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/event-bus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,8CAA4B"}
|
|
@@ -2,25 +2,47 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConsoleLogger = void 0;
|
|
4
4
|
const _1 = require("./");
|
|
5
|
+
const LOG_LEVELS = {
|
|
6
|
+
ERROR: 5,
|
|
7
|
+
WARN: 4,
|
|
8
|
+
DEBUG: 3,
|
|
9
|
+
INFO: 2,
|
|
10
|
+
LOG: 1,
|
|
11
|
+
};
|
|
5
12
|
class ConsoleLogger extends _1.Logger {
|
|
13
|
+
level;
|
|
14
|
+
constructor(level = "ERROR") {
|
|
15
|
+
super();
|
|
16
|
+
this.level = level;
|
|
17
|
+
}
|
|
6
18
|
log(context, ...args) {
|
|
19
|
+
if (LOG_LEVELS[this.level] < LOG_LEVELS["LOG"])
|
|
20
|
+
return;
|
|
7
21
|
console.log(this.context(context), ...args);
|
|
8
22
|
}
|
|
9
23
|
info(context, ...args) {
|
|
24
|
+
if (LOG_LEVELS[this.level] < LOG_LEVELS["INFO"])
|
|
25
|
+
return;
|
|
10
26
|
console.info(this.context(context), ...args);
|
|
11
27
|
}
|
|
12
28
|
debug(context, ...args) {
|
|
29
|
+
if (LOG_LEVELS[this.level] < LOG_LEVELS["DEBUG"])
|
|
30
|
+
return;
|
|
13
31
|
console.debug(this.context(context), ...args);
|
|
14
32
|
}
|
|
15
33
|
warn(context, ...args) {
|
|
34
|
+
if (LOG_LEVELS[this.level] < LOG_LEVELS["WARN"])
|
|
35
|
+
return;
|
|
16
36
|
console.warn(this.context(context), ...args);
|
|
17
37
|
}
|
|
18
38
|
error(context, ...args) {
|
|
39
|
+
if (LOG_LEVELS[this.level] < LOG_LEVELS["ERROR"])
|
|
40
|
+
return;
|
|
19
41
|
console.error(this.context(context), ...args);
|
|
20
42
|
}
|
|
21
43
|
context(customContext) {
|
|
22
44
|
return {
|
|
23
|
-
timestamp:
|
|
45
|
+
timestamp: Date.now(),
|
|
24
46
|
...customContext,
|
|
25
47
|
};
|
|
26
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console-logger.js","sourceRoot":"","sources":["../../../src/logger/console-logger.ts"],"names":[],"mappings":";;;AAAA,yBAA4B;AAE5B,MAAa,aAAc,SAAQ,SAAM;
|
|
1
|
+
{"version":3,"file":"console-logger.js","sourceRoot":"","sources":["../../../src/logger/console-logger.ts"],"names":[],"mappings":";;;AAAA,yBAA4B;AAE5B,MAAM,UAAU,GAAG;IACjB,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAa,aAAc,SAAQ,SAAM;IAEpB;IADnB,YACmB,QAAqD,OAAO;QAE7E,KAAK,EAAE,CAAC;QAFS,UAAK,GAAL,KAAK,CAAuD;IAG/E,CAAC;IAED,GAAG,CAAC,OAAiC,EAAE,GAAG,IAAW;QACnD,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO;QAEvD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,OAAiC,EAAE,GAAG,IAAW;QACpD,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO;QAExD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAiC,EAAE,GAAG,IAAW;QACrD,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO;QAEzD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,OAAiC,EAAE,GAAG,IAAW;QACpD,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO;QAExD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAiC,EAAE,GAAG,IAAW;QACrD,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO;QAEzD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IAEO,OAAO,CAAC,aAAuC;QACrD,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,aAAa;SACjB,CAAC;IACJ,CAAC;CACF;AA3CD,sCA2CC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AsyncInMemoryCommandBus = void 0;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
class AsyncInMemoryCommandBus {
|
|
6
|
+
handlers = new Map();
|
|
7
|
+
register(type, handler) {
|
|
8
|
+
this.handlers.set(type, handler);
|
|
9
|
+
}
|
|
10
|
+
async dispatch(command) {
|
|
11
|
+
const handler = this.handlers.get(command.getType());
|
|
12
|
+
if (!handler) {
|
|
13
|
+
throw new __1.CommandNotRegistered(command.getType());
|
|
14
|
+
}
|
|
15
|
+
await handler.handle(command);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.AsyncInMemoryCommandBus = AsyncInMemoryCommandBus;
|
|
19
|
+
//# sourceMappingURL=async-in-memory-command-bus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-in-memory-command-bus.js","sourceRoot":"","sources":["../../../../src/cqrs/in-memory/async-in-memory-command-bus.ts"],"names":[],"mappings":";;;AAAA,0BAA+E;AAE/E,MAAa,uBAAuB;IACjB,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE9D,QAAQ,CAAoB,IAAY,EAAE,OAA0B;QAClE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAoB,OAAU;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAErD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,wBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;CACF;AAhBD,0DAgBC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AsyncInMemoryQueryBus = void 0;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
class AsyncInMemoryQueryBus {
|
|
6
|
+
handlers = new Map();
|
|
7
|
+
register(type, handler) {
|
|
8
|
+
this.handlers.set(type, handler);
|
|
9
|
+
}
|
|
10
|
+
async dispatch(query) {
|
|
11
|
+
const handler = this.handlers.get(query.getType());
|
|
12
|
+
if (!handler) {
|
|
13
|
+
throw new __1.QueryNotRegistered(query.getType());
|
|
14
|
+
}
|
|
15
|
+
return await handler.handle(query);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.AsyncInMemoryQueryBus = AsyncInMemoryQueryBus;
|
|
19
|
+
//# sourceMappingURL=async-in-memory-query-bus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-in-memory-query-bus.js","sourceRoot":"","sources":["../../../../src/cqrs/in-memory/async-in-memory-query-bus.ts"],"names":[],"mappings":";;;AAAA,0BAAuE;AAEvE,MAAa,qBAAqB;IACf,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAE5D,QAAQ,CAAqB,IAAY,EAAE,OAA2B;QACpE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAqB,KAAQ;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAmC,CAAC;QAErF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,sBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CACF;AAhBD,sDAgBC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
var
|
|
5
|
-
Object.defineProperty(exports, "
|
|
6
|
-
var
|
|
7
|
-
Object.defineProperty(exports, "
|
|
3
|
+
exports.AsyncInMemoryQueryBus = exports.AsyncInMemoryCommandBus = void 0;
|
|
4
|
+
var async_in_memory_command_bus_1 = require("./async-in-memory-command-bus");
|
|
5
|
+
Object.defineProperty(exports, "AsyncInMemoryCommandBus", { enumerable: true, get: function () { return async_in_memory_command_bus_1.AsyncInMemoryCommandBus; } });
|
|
6
|
+
var async_in_memory_query_bus_1 = require("./async-in-memory-query-bus");
|
|
7
|
+
Object.defineProperty(exports, "AsyncInMemoryQueryBus", { enumerable: true, get: function () { return async_in_memory_query_bus_1.AsyncInMemoryQueryBus; } });
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cqrs/in-memory/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cqrs/in-memory/index.ts"],"names":[],"mappings":";;;AAAA,6EAAwE;AAA/D,sIAAA,uBAAuB,OAAA;AAChC,yEAAoE;AAA3D,kIAAA,qBAAqB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dead-letter-store.js","sourceRoot":"","sources":["../../../src/event-bus/dead-letter-store.ts"],"names":[],"mappings":""}
|
|
@@ -7,9 +7,11 @@ class AsyncInMemoryEventBus {
|
|
|
7
7
|
subscribers = new Map();
|
|
8
8
|
store;
|
|
9
9
|
maxRetries;
|
|
10
|
-
|
|
10
|
+
deadLetterStore;
|
|
11
|
+
constructor(store = new in_memory_event_store_1.InMemoryEventStore(), maxRetries = 3, deadLetterStore) {
|
|
11
12
|
this.store = store;
|
|
12
13
|
this.maxRetries = maxRetries;
|
|
14
|
+
this.deadLetterStore = deadLetterStore;
|
|
13
15
|
}
|
|
14
16
|
subscribe(eventName, subscriber) {
|
|
15
17
|
if (!this.subscribers.has(eventName)) {
|
|
@@ -37,12 +39,19 @@ class AsyncInMemoryEventBus {
|
|
|
37
39
|
this.store.requeue(updatedPrimitives);
|
|
38
40
|
this.publish(domain_events_1.DomainEventRegistry.create(updatedPrimitives));
|
|
39
41
|
}
|
|
40
|
-
else {
|
|
41
|
-
|
|
42
|
+
else if (this.deadLetterStore) {
|
|
43
|
+
const reason = `Exceeded max retries (${this.maxRetries})`;
|
|
44
|
+
this.deadLetterStore.add(primitives, reason);
|
|
45
|
+
console.warn(`Event ${event.id} moved to DLQ: ${reason}`);
|
|
42
46
|
}
|
|
43
47
|
};
|
|
44
48
|
for (const sub of subs) {
|
|
45
|
-
|
|
49
|
+
try {
|
|
50
|
+
await sub.handle(event);
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
event.requeue?.();
|
|
54
|
+
}
|
|
46
55
|
}
|
|
47
56
|
}
|
|
48
57
|
async replay() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-in-memory-event-bus.js","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/async-in-memory-event-bus.ts"],"names":[],"mappings":";;;AAAA,uDAAuE;AACvE,mEAA6D;
|
|
1
|
+
{"version":3,"file":"async-in-memory-event-bus.js","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/async-in-memory-event-bus.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryDeadLetterStore = void 0;
|
|
4
|
+
class InMemoryDeadLetterStore {
|
|
5
|
+
failed = [];
|
|
6
|
+
add(primitives, reason) {
|
|
7
|
+
this.failed.push({ primitives, reason });
|
|
8
|
+
}
|
|
9
|
+
all() {
|
|
10
|
+
return [...this.failed];
|
|
11
|
+
}
|
|
12
|
+
clear() {
|
|
13
|
+
this.failed.length = 0;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.InMemoryDeadLetterStore = InMemoryDeadLetterStore;
|
|
17
|
+
//# sourceMappingURL=in-memory-dead-letter-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-dead-letter-store.js","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/in-memory-dead-letter-store.ts"],"names":[],"mappings":";;;AAGA,MAAa,uBAAuB;IACjB,MAAM,GAAiE,EAAE,CAAC;IAE3F,GAAG,CAAC,UAAiC,EAAE,MAAc;QACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC;CACF;AAdD,0DAcC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AsyncInMemoryEventBus = exports.InMemoryEventStore = void 0;
|
|
3
|
+
exports.InMemoryDeadLetterStore = exports.AsyncInMemoryEventBus = exports.InMemoryEventStore = void 0;
|
|
4
4
|
var in_memory_event_store_1 = require("./in-memory-event-store");
|
|
5
5
|
Object.defineProperty(exports, "InMemoryEventStore", { enumerable: true, get: function () { return in_memory_event_store_1.InMemoryEventStore; } });
|
|
6
6
|
var async_in_memory_event_bus_1 = require("./async-in-memory-event-bus");
|
|
7
7
|
Object.defineProperty(exports, "AsyncInMemoryEventBus", { enumerable: true, get: function () { return async_in_memory_event_bus_1.AsyncInMemoryEventBus; } });
|
|
8
|
+
var in_memory_dead_letter_store_1 = require("./in-memory-dead-letter-store");
|
|
9
|
+
Object.defineProperty(exports, "InMemoryDeadLetterStore", { enumerable: true, get: function () { return in_memory_dead_letter_store_1.InMemoryDeadLetterStore; } });
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/index.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,yEAAmE;AAA1D,kIAAA,qBAAqB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/index.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,yEAAmE;AAA1D,kIAAA,qBAAqB,OAAA;AAC9B,6EAAwE;AAA/D,sIAAA,uBAAuB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/event-bus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/event-bus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,8CAA4B"}
|
|
@@ -2,25 +2,47 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConsoleLogger = void 0;
|
|
4
4
|
const _1 = require("./");
|
|
5
|
+
const LOG_LEVELS = {
|
|
6
|
+
ERROR: 5,
|
|
7
|
+
WARN: 4,
|
|
8
|
+
DEBUG: 3,
|
|
9
|
+
INFO: 2,
|
|
10
|
+
LOG: 1,
|
|
11
|
+
};
|
|
5
12
|
class ConsoleLogger extends _1.Logger {
|
|
13
|
+
level;
|
|
14
|
+
constructor(level = "ERROR") {
|
|
15
|
+
super();
|
|
16
|
+
this.level = level;
|
|
17
|
+
}
|
|
6
18
|
log(context, ...args) {
|
|
19
|
+
if (LOG_LEVELS[this.level] < LOG_LEVELS["LOG"])
|
|
20
|
+
return;
|
|
7
21
|
console.log(this.context(context), ...args);
|
|
8
22
|
}
|
|
9
23
|
info(context, ...args) {
|
|
24
|
+
if (LOG_LEVELS[this.level] < LOG_LEVELS["INFO"])
|
|
25
|
+
return;
|
|
10
26
|
console.info(this.context(context), ...args);
|
|
11
27
|
}
|
|
12
28
|
debug(context, ...args) {
|
|
29
|
+
if (LOG_LEVELS[this.level] < LOG_LEVELS["DEBUG"])
|
|
30
|
+
return;
|
|
13
31
|
console.debug(this.context(context), ...args);
|
|
14
32
|
}
|
|
15
33
|
warn(context, ...args) {
|
|
34
|
+
if (LOG_LEVELS[this.level] < LOG_LEVELS["WARN"])
|
|
35
|
+
return;
|
|
16
36
|
console.warn(this.context(context), ...args);
|
|
17
37
|
}
|
|
18
38
|
error(context, ...args) {
|
|
39
|
+
if (LOG_LEVELS[this.level] < LOG_LEVELS["ERROR"])
|
|
40
|
+
return;
|
|
19
41
|
console.error(this.context(context), ...args);
|
|
20
42
|
}
|
|
21
43
|
context(customContext) {
|
|
22
44
|
return {
|
|
23
|
-
timestamp:
|
|
45
|
+
timestamp: Date.now(),
|
|
24
46
|
...customContext,
|
|
25
47
|
};
|
|
26
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console-logger.js","sourceRoot":"","sources":["../../../src/logger/console-logger.ts"],"names":[],"mappings":";;;AAAA,yBAA4B;AAE5B,MAAa,aAAc,SAAQ,SAAM;
|
|
1
|
+
{"version":3,"file":"console-logger.js","sourceRoot":"","sources":["../../../src/logger/console-logger.ts"],"names":[],"mappings":";;;AAAA,yBAA4B;AAE5B,MAAM,UAAU,GAAG;IACjB,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAa,aAAc,SAAQ,SAAM;IAEpB;IADnB,YACmB,QAAqD,OAAO;QAE7E,KAAK,EAAE,CAAC;QAFS,UAAK,GAAL,KAAK,CAAuD;IAG/E,CAAC;IAED,GAAG,CAAC,OAAiC,EAAE,GAAG,IAAW;QACnD,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO;QAEvD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,OAAiC,EAAE,GAAG,IAAW;QACpD,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO;QAExD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAiC,EAAE,GAAG,IAAW;QACrD,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO;QAEzD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,OAAiC,EAAE,GAAG,IAAW;QACpD,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO;QAExD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAiC,EAAE,GAAG,IAAW;QACrD,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO;QAEzD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IAEO,OAAO,CAAC,aAAuC;QACrD,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,aAAa;SACjB,CAAC;IACJ,CAAC;CACF;AA3CD,sCA2CC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CommandBus, Command, CommandHandler } from "..";
|
|
2
|
+
export declare class AsyncInMemoryCommandBus implements CommandBus {
|
|
3
|
+
private readonly handlers;
|
|
4
|
+
register<C extends Command>(type: string, handler: CommandHandler<C>): void;
|
|
5
|
+
dispatch<C extends Command>(command: C): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=async-in-memory-command-bus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-in-memory-command-bus.d.ts","sourceRoot":"","sources":["../../../../src/cqrs/in-memory/async-in-memory-command-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAwB,MAAM,IAAI,CAAC;AAE/E,qBAAa,uBAAwB,YAAW,UAAU;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAE9D,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAIrE,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAS7D"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Query, QueryBus, QueryHandler } from "..";
|
|
2
|
+
export declare class AsyncInMemoryQueryBus implements QueryBus {
|
|
3
|
+
private readonly handlers;
|
|
4
|
+
register<Q extends Query, R>(type: string, handler: QueryHandler<Q, R>): void;
|
|
5
|
+
dispatch<Q extends Query, R>(query: Q): Promise<R>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=async-in-memory-query-bus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-in-memory-query-bus.d.ts","sourceRoot":"","sources":["../../../../src/cqrs/in-memory/async-in-memory-query-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAsB,MAAM,IAAI,CAAC;AAEvE,qBAAa,qBAAsB,YAAW,QAAQ;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAE5D,QAAQ,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IAIvE,QAAQ,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CASzD"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
1
|
+
export { AsyncInMemoryCommandBus } from "./async-in-memory-command-bus";
|
|
2
|
+
export { AsyncInMemoryQueryBus } from "./async-in-memory-query-bus";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cqrs/in-memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cqrs/in-memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DomainEventPrimitives } from "../domain-events";
|
|
2
|
+
export interface DeadLetterStore {
|
|
3
|
+
add(primitives: DomainEventPrimitives, reason: string): void;
|
|
4
|
+
all(): Array<{
|
|
5
|
+
primitives: DomainEventPrimitives;
|
|
6
|
+
reason: string;
|
|
7
|
+
}>;
|
|
8
|
+
clear(): void;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=dead-letter-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dead-letter-store.d.ts","sourceRoot":"","sources":["../../../src/event-bus/dead-letter-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,UAAU,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7D,GAAG,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,qBAAqB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,KAAK,IAAI,IAAI,CAAC;CACf"}
|
|
@@ -2,11 +2,13 @@ import { DomainEvent } from "../../domain-events";
|
|
|
2
2
|
import { EventStore } from "../event-store";
|
|
3
3
|
import { EventSubscriber } from "../event-subscriber";
|
|
4
4
|
import { EventBus } from "../event-bus";
|
|
5
|
+
import { DeadLetterStore } from "../dead-letter-store";
|
|
5
6
|
export declare class AsyncInMemoryEventBus implements EventBus {
|
|
6
7
|
private readonly subscribers;
|
|
7
8
|
private readonly store;
|
|
8
9
|
private readonly maxRetries;
|
|
9
|
-
|
|
10
|
+
private readonly deadLetterStore;
|
|
11
|
+
constructor(store?: EventStore, maxRetries?: number, deadLetterStore?: DeadLetterStore);
|
|
10
12
|
subscribe<Event extends DomainEvent>(eventName: string, subscriber: EventSubscriber<Event>): void;
|
|
11
13
|
publish<Event extends DomainEvent>(event: Event): Promise<void>;
|
|
12
14
|
private dispatch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-in-memory-event-bus.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/async-in-memory-event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"async-in-memory-event-bus.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/async-in-memory-event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,qBAAsB,YAAW,QAAQ;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwC;IACpE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8B;gBAG5D,KAAK,GAAE,UAAqC,EAC5C,UAAU,SAAI,EACd,eAAe,CAAC,EAAE,eAAe;IAOnC,SAAS,CAAC,KAAK,SAAS,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI;IAQ3F,OAAO,CAAC,KAAK,SAAS,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YAQvD,QAAQ;IAkChB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ9B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DeadLetterStore } from "../dead-letter-store";
|
|
2
|
+
import { DomainEventPrimitives } from "../../domain-events";
|
|
3
|
+
export declare class InMemoryDeadLetterStore implements DeadLetterStore {
|
|
4
|
+
private readonly failed;
|
|
5
|
+
add(primitives: DomainEventPrimitives, reason: string): void;
|
|
6
|
+
all(): Array<{
|
|
7
|
+
primitives: DomainEventPrimitives;
|
|
8
|
+
reason: string;
|
|
9
|
+
}>;
|
|
10
|
+
clear(): void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=in-memory-dead-letter-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-dead-letter-store.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/in-memory-dead-letter-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,qBAAa,uBAAwB,YAAW,eAAe;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoE;IAE3F,GAAG,CAAC,UAAU,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5D,GAAG,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,qBAAqB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAInE,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type { EventSubscriber } from "./event-subscriber";
|
|
2
2
|
export type { EventStore } from "./event-store";
|
|
3
3
|
export type { EventBus } from "./event-bus";
|
|
4
|
+
export type { DeadLetterStore } from "./dead-letter-store";
|
|
4
5
|
export * from "./in-memory";
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/event-bus/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/event-bus/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,cAAc,aAAa,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Logger } from "./";
|
|
2
2
|
export declare class ConsoleLogger extends Logger {
|
|
3
|
+
private readonly level;
|
|
4
|
+
constructor(level?: "LOG" | "ERROR" | "WARN" | "INFO" | "DEBUG");
|
|
3
5
|
log(context?: Record<string, unknown>, ...args: any[]): void;
|
|
4
6
|
info(context?: Record<string, unknown>, ...args: any[]): void;
|
|
5
7
|
debug(context?: Record<string, unknown>, ...args: any[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console-logger.d.ts","sourceRoot":"","sources":["../../../src/logger/console-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"console-logger.d.ts","sourceRoot":"","sources":["../../../src/logger/console-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAU5B,qBAAa,aAAc,SAAQ,MAAM;IAErC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,GAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAiB;IAK/E,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5D,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM7D,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM9D,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM7D,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM9D,OAAO,CAAC,OAAO;CAMhB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@schorts/shared-kernel",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.3.0",
|
|
4
4
|
"description": "A modular, type-safe foundation for building expressive, maintainable applications. This package provides core abstractions for domain modeling, HTTP integration, authentication, state management, and more — designed to be framework-agnostic and highly extensible.",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|