@schorts/shared-kernel 5.2.5 → 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/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/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/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 @@
|
|
|
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 @@
|
|
|
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,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",
|