@cqrs-ddd/core 0.3.0 → 0.4.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 +3 -0
- package/dist/application/base.command.js +5 -9
- package/dist/application/base.command.js.map +1 -1
- package/dist/application/base.query.d.ts +1 -1
- package/dist/application/base.query.d.ts.map +1 -1
- package/dist/application/base.query.js +7 -11
- package/dist/application/base.query.js.map +1 -1
- package/dist/application/command-base.handler.d.ts +2 -2
- package/dist/application/command-base.handler.d.ts.map +1 -1
- package/dist/application/command-base.handler.js +3 -7
- package/dist/application/command-base.handler.js.map +1 -1
- package/dist/application/index.d.ts +10 -10
- package/dist/application/index.d.ts.map +1 -1
- package/dist/application/index.js +10 -26
- package/dist/application/index.js.map +1 -1
- package/dist/application/ports/cache.port.js +1 -4
- package/dist/application/ports/cache.port.js.map +1 -1
- package/dist/application/ports/command-repository.port.js +1 -2
- package/dist/application/ports/command-repository.port.js.map +1 -1
- package/dist/application/ports/domain-event-publisher.port.d.ts +1 -1
- package/dist/application/ports/domain-event-publisher.port.d.ts.map +1 -1
- package/dist/application/ports/domain-event-publisher.port.js +1 -2
- package/dist/application/ports/domain-event-publisher.port.js.map +1 -1
- package/dist/application/ports/query-repository.port.d.ts +1 -1
- package/dist/application/ports/query-repository.port.d.ts.map +1 -1
- package/dist/application/ports/query-repository.port.js +1 -2
- package/dist/application/ports/query-repository.port.js.map +1 -1
- package/dist/application/ports/write-side-aggregate-repository.port.d.ts +1 -1
- package/dist/application/ports/write-side-aggregate-repository.port.d.ts.map +1 -1
- package/dist/application/ports/write-side-aggregate-repository.port.js +1 -2
- package/dist/application/ports/write-side-aggregate-repository.port.js.map +1 -1
- package/dist/application/query.options.js +1 -2
- package/dist/application/query.options.js.map +1 -1
- package/dist/application/request-fields.helper.js +2 -6
- package/dist/application/request-fields.helper.js.map +1 -1
- package/dist/application/tenant-resolver.js +5 -10
- package/dist/application/tenant-resolver.js.map +1 -1
- package/dist/domain/decorators/apply-mutation.decorator.d.ts +1 -1
- package/dist/domain/decorators/apply-mutation.decorator.d.ts.map +1 -1
- package/dist/domain/decorators/apply-mutation.decorator.js +1 -4
- package/dist/domain/decorators/apply-mutation.decorator.js.map +1 -1
- package/dist/domain/decorators/mutable.decorator.js +2 -6
- package/dist/domain/decorators/mutable.decorator.js.map +1 -1
- package/dist/domain/events/domain.event.d.ts +1 -1
- package/dist/domain/events/domain.event.d.ts.map +1 -1
- package/dist/domain/events/domain.event.js +3 -7
- package/dist/domain/events/domain.event.js.map +1 -1
- package/dist/domain/events/event.interface.js +1 -2
- package/dist/domain/events/event.interface.js.map +1 -1
- package/dist/domain/events/root-domain.event.d.ts +3 -3
- package/dist/domain/events/root-domain.event.d.ts.map +1 -1
- package/dist/domain/events/root-domain.event.js +3 -8
- package/dist/domain/events/root-domain.event.js.map +1 -1
- package/dist/domain/exceptions/concurrency-conflict.error.d.ts +1 -1
- package/dist/domain/exceptions/concurrency-conflict.error.d.ts.map +1 -1
- package/dist/domain/exceptions/concurrency-conflict.error.js +2 -6
- package/dist/domain/exceptions/concurrency-conflict.error.js.map +1 -1
- package/dist/domain/exceptions/domain.exception.js +1 -5
- package/dist/domain/exceptions/domain.exception.js.map +1 -1
- package/dist/domain/exceptions/entity-not-found.exception.d.ts +1 -1
- package/dist/domain/exceptions/entity-not-found.exception.d.ts.map +1 -1
- package/dist/domain/exceptions/entity-not-found.exception.js +2 -6
- package/dist/domain/exceptions/entity-not-found.exception.js.map +1 -1
- package/dist/domain/exceptions/invalid-value.exception.d.ts +2 -2
- package/dist/domain/exceptions/invalid-value.exception.d.ts.map +1 -1
- package/dist/domain/exceptions/invalid-value.exception.js +2 -6
- package/dist/domain/exceptions/invalid-value.exception.js.map +1 -1
- package/dist/domain/exceptions/missing-tenant-context.exception.d.ts +1 -1
- package/dist/domain/exceptions/missing-tenant-context.exception.d.ts.map +1 -1
- package/dist/domain/exceptions/missing-tenant-context.exception.js +2 -6
- package/dist/domain/exceptions/missing-tenant-context.exception.js.map +1 -1
- package/dist/domain/exceptions/transient-operation.error.js +2 -7
- package/dist/domain/exceptions/transient-operation.error.js.map +1 -1
- package/dist/domain/exceptions/unknown-mutable-field.error.js +1 -5
- package/dist/domain/exceptions/unknown-mutable-field.error.js.map +1 -1
- package/dist/domain/index.d.ts +19 -19
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +19 -35
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/interfaces/aggregate-root.interface.d.ts +1 -1
- package/dist/domain/interfaces/aggregate-root.interface.d.ts.map +1 -1
- package/dist/domain/interfaces/aggregate-root.interface.js +1 -2
- package/dist/domain/interfaces/aggregate-root.interface.js.map +1 -1
- package/dist/domain/interfaces/root-entity-snapshot.interface.js +1 -2
- package/dist/domain/interfaces/root-entity-snapshot.interface.js.map +1 -1
- package/dist/domain/models/aggregate-root.d.ts +2 -2
- package/dist/domain/models/aggregate-root.d.ts.map +1 -1
- package/dist/domain/models/aggregate-root.js +1 -5
- package/dist/domain/models/aggregate-root.js.map +1 -1
- package/dist/domain/models/root.entity.d.ts +3 -3
- package/dist/domain/models/root.entity.d.ts.map +1 -1
- package/dist/domain/models/root.entity.js +9 -13
- package/dist/domain/models/root.entity.js.map +1 -1
- package/dist/domain/rules/number.rule.d.ts +1 -1
- package/dist/domain/rules/number.rule.d.ts.map +1 -1
- package/dist/domain/rules/number.rule.js +4 -7
- package/dist/domain/rules/number.rule.js.map +1 -1
- package/dist/domain/rules/rule-support.d.ts +1 -1
- package/dist/domain/rules/rule-support.d.ts.map +1 -1
- package/dist/domain/rules/rule-support.js +3 -7
- package/dist/domain/rules/rule-support.js.map +1 -1
- package/dist/domain/rules/text.rule.d.ts +1 -1
- package/dist/domain/rules/text.rule.d.ts.map +1 -1
- package/dist/domain/rules/text.rule.js +4 -7
- package/dist/domain/rules/text.rule.js.map +1 -1
- package/dist/domain/rules/value-violation.js +1 -2
- package/dist/domain/rules/value-violation.js.map +1 -1
- package/dist/http/domain-error-http-status.d.ts +1 -1
- package/dist/http/domain-error-http-status.d.ts.map +1 -1
- package/dist/http/domain-error-http-status.js +9 -12
- package/dist/http/domain-error-http-status.js.map +1 -1
- package/dist/http/index.d.ts +1 -1
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +1 -17
- package/dist/http/index.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -21
- package/dist/index.js.map +1 -1
- package/dist/persistence/cache/cache-logger.js +2 -6
- package/dist/persistence/cache/cache-logger.js.map +1 -1
- package/dist/persistence/cache/memory.cache.d.ts +1 -1
- package/dist/persistence/cache/memory.cache.d.ts.map +1 -1
- package/dist/persistence/cache/memory.cache.js +4 -8
- package/dist/persistence/cache/memory.cache.js.map +1 -1
- package/dist/persistence/command-repository.abstract.d.ts +2 -2
- package/dist/persistence/command-repository.abstract.d.ts.map +1 -1
- package/dist/persistence/command-repository.abstract.js +1 -5
- package/dist/persistence/command-repository.abstract.js.map +1 -1
- package/dist/persistence/decorators/acknowledge-persisted.decorator.js +1 -4
- package/dist/persistence/decorators/acknowledge-persisted.decorator.js.map +1 -1
- package/dist/persistence/decorators/cache.decorator.d.ts +1 -1
- package/dist/persistence/decorators/cache.decorator.d.ts.map +1 -1
- package/dist/persistence/decorators/cache.decorator.js +22 -26
- package/dist/persistence/decorators/cache.decorator.js.map +1 -1
- package/dist/persistence/decorators/from-cache.decorator.d.ts +3 -3
- package/dist/persistence/decorators/from-cache.decorator.d.ts.map +1 -1
- package/dist/persistence/decorators/from-cache.decorator.js +16 -20
- package/dist/persistence/decorators/from-cache.decorator.js.map +1 -1
- package/dist/persistence/decorators/map-persistence-errors.decorator.d.ts +1 -1
- package/dist/persistence/decorators/map-persistence-errors.decorator.d.ts.map +1 -1
- package/dist/persistence/decorators/map-persistence-errors.decorator.js +3 -6
- package/dist/persistence/decorators/map-persistence-errors.decorator.js.map +1 -1
- package/dist/persistence/decorators/persisted-write.decorator.d.ts +4 -4
- package/dist/persistence/decorators/persisted-write.decorator.d.ts.map +1 -1
- package/dist/persistence/decorators/persisted-write.decorator.js +7 -10
- package/dist/persistence/decorators/persisted-write.decorator.js.map +1 -1
- package/dist/persistence/helpers/cache-barrier.helper.js +4 -8
- package/dist/persistence/helpers/cache-barrier.helper.js.map +1 -1
- package/dist/persistence/helpers/cache-key.helper.d.ts +1 -1
- package/dist/persistence/helpers/cache-key.helper.d.ts.map +1 -1
- package/dist/persistence/helpers/cache-key.helper.js +11 -15
- package/dist/persistence/helpers/cache-key.helper.js.map +1 -1
- package/dist/persistence/helpers/cache-owner.helper.d.ts +1 -1
- package/dist/persistence/helpers/cache-owner.helper.d.ts.map +1 -1
- package/dist/persistence/helpers/cache-owner.helper.js +4 -7
- package/dist/persistence/helpers/cache-owner.helper.js.map +1 -1
- package/dist/persistence/helpers/cache-snapshot.helper.js +1 -4
- package/dist/persistence/helpers/cache-snapshot.helper.js.map +1 -1
- package/dist/persistence/helpers/cache-version.helper.js +5 -8
- package/dist/persistence/helpers/cache-version.helper.js.map +1 -1
- package/dist/persistence/index.d.ts +14 -14
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +14 -30
- package/dist/persistence/index.js.map +1 -1
- package/dist/persistence/persistence-dialect.js +2 -6
- package/dist/persistence/persistence-dialect.js.map +1 -1
- package/dist/persistence/query-repository.abstract.d.ts +3 -3
- package/dist/persistence/query-repository.abstract.d.ts.map +1 -1
- package/dist/persistence/query-repository.abstract.js +1 -5
- package/dist/persistence/query-repository.abstract.js.map +1 -1
- package/dist/types/Method.type.js +1 -2
- package/dist/types/Method.type.js.map +1 -1
- package/package.json +6 -4
package/README.md
CHANGED
|
@@ -42,6 +42,9 @@ Requires Node.js 22.12 or later. It installs `@cqrs-ddd/uuidv7` and
|
|
|
42
42
|
`@cqrs-ddd/safe-stringify`, which have no dependencies. To persist with MikroORM, add
|
|
43
43
|
`@cqrs-ddd/mikro-orm` and `@mikro-orm/core` 7.
|
|
44
44
|
|
|
45
|
+
Published as an ES module; a CommonJS application loads it with `require()`. Coming from
|
|
46
|
+
0.3.x, see [Upgrading from 0.3.x](https://github.com/aristoteliss/nestjs-pipeline#upgrading-from-03x).
|
|
47
|
+
|
|
45
48
|
## Entry points
|
|
46
49
|
|
|
47
50
|
Import from the entry point for the layer you are writing. Each one loads only what it
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* Copyright (C) 2026-present Aristotelis — see repository license. */
|
|
3
|
-
|
|
4
|
-
exports.BaseCommand = void 0;
|
|
5
|
-
const request_fields_helper_1 = require("./request-fields.helper");
|
|
2
|
+
import { definedFields, defineHidden } from './request-fields.helper.js';
|
|
6
3
|
/**
|
|
7
4
|
* Base class for application CQRS commands.
|
|
8
5
|
*
|
|
@@ -11,11 +8,11 @@ const request_fields_helper_1 = require("./request-fields.helper");
|
|
|
11
8
|
* {@link getUpdateFields}.
|
|
12
9
|
*/
|
|
13
10
|
// biome-ignore lint/suspicious/noExplicitAny: generic session principal default
|
|
14
|
-
class BaseCommand {
|
|
11
|
+
export class BaseCommand {
|
|
15
12
|
constructor(sessionPrincipal) {
|
|
16
13
|
if (sessionPrincipal !== undefined) {
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
defineHidden(this, 'sessionPrincipal', sessionPrincipal);
|
|
15
|
+
defineHidden(this, 'sessionUser', sessionPrincipal);
|
|
19
16
|
}
|
|
20
17
|
}
|
|
21
18
|
/**
|
|
@@ -28,7 +25,7 @@ class BaseCommand {
|
|
|
28
25
|
* @returns The command payload without pipeline/session metadata.
|
|
29
26
|
*/
|
|
30
27
|
toJSON() {
|
|
31
|
-
return
|
|
28
|
+
return definedFields(this);
|
|
32
29
|
}
|
|
33
30
|
/**
|
|
34
31
|
* Returns the declared updatable fields that are actually present on this command.
|
|
@@ -54,5 +51,4 @@ class BaseCommand {
|
|
|
54
51
|
return updatableFields.filter((field) => this[field] !== undefined);
|
|
55
52
|
}
|
|
56
53
|
}
|
|
57
|
-
exports.BaseCommand = BaseCommand;
|
|
58
54
|
//# sourceMappingURL=base.command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.command.js","sourceRoot":"","sources":["../../application/base.command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.command.js","sourceRoot":"","sources":["../../application/base.command.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEzE;;;;;;GAMG;AACH,gFAAgF;AAChF,MAAM,OAAgB,WAAW;IAI/B,YAAY,gBAAoC;QAC9C,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,YAAY,CAAC,IAAI,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;YACzD,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM;QACJ,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,eAAkC;QAChD,OAAO,eAAe,CAAC,MAAM,CAC3B,CAAC,KAAK,EAAE,EAAE,CAAE,IAAgC,CAAC,KAAK,CAAC,KAAK,SAAS,CAClE,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.query.d.ts","sourceRoot":"","sources":["../../application/base.query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"base.query.d.ts","sourceRoot":"","sources":["../../application/base.query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,8BAAsB,SAAS,CAAC,iBAAiB,GAAG,OAAO,CACzD,YAAW,aAAa;IAExB,SAAwB,OAAO,CAAC,EAAE,OAAO,CAAC;IAC1C,SAAwB,OAAO,CAAC,EAAE,OAAO,CAAC;IAC1C,SAAwB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IAC7D,SAAwB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAExD,YACE,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,EAChC,gBAAgB,CAAC,EAAE,iBAAiB,EAQrC;IAED;;;;;;;OAOG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhC;CACF"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* Copyright (C) 2026-present Aristotelis — see repository license. */
|
|
3
|
-
|
|
4
|
-
exports.BaseQuery = void 0;
|
|
5
|
-
const request_fields_helper_1 = require("./request-fields.helper");
|
|
2
|
+
import { definedFields, defineHidden } from './request-fields.helper.js';
|
|
6
3
|
/**
|
|
7
4
|
* Base class for application CQRS queries.
|
|
8
5
|
*
|
|
@@ -27,13 +24,13 @@ const request_fields_helper_1 = require("./request-fields.helper");
|
|
|
27
24
|
* const query = new GetUserQuery(userId, { hydrate: true }, sessionUser);
|
|
28
25
|
* ```
|
|
29
26
|
*/
|
|
30
|
-
class BaseQuery {
|
|
27
|
+
export class BaseQuery {
|
|
31
28
|
constructor(options, sessionPrincipal) {
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
defineHidden(this, 'hydrate', options?.hydrate ?? false);
|
|
30
|
+
defineHidden(this, 'refresh', options?.refresh ?? false);
|
|
34
31
|
if (sessionPrincipal !== undefined) {
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
defineHidden(this, 'sessionPrincipal', sessionPrincipal);
|
|
33
|
+
defineHidden(this, 'sessionUser', sessionPrincipal);
|
|
37
34
|
}
|
|
38
35
|
}
|
|
39
36
|
/**
|
|
@@ -45,8 +42,7 @@ class BaseQuery {
|
|
|
45
42
|
* @returns The query payload with `undefined` fields omitted.
|
|
46
43
|
*/
|
|
47
44
|
toJSON() {
|
|
48
|
-
return
|
|
45
|
+
return definedFields(this);
|
|
49
46
|
}
|
|
50
47
|
}
|
|
51
|
-
exports.BaseQuery = BaseQuery;
|
|
52
48
|
//# sourceMappingURL=base.query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.query.js","sourceRoot":"","sources":["../../application/base.query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.query.js","sourceRoot":"","sources":["../../application/base.query.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAGtE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAgB,SAAS;IAQ7B,YACE,OAAgC,EAChC,gBAAoC;QAEpC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;QACzD,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;QACzD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,YAAY,CAAC,IAAI,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;YACzD,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,MAAM;QACJ,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { IAggregateRoot } from '../domain/interfaces/aggregate-root.interface';
|
|
2
|
-
import type { IDomainEventPublisher } from './ports/domain-event-publisher.port';
|
|
1
|
+
import type { IAggregateRoot } from '../domain/interfaces/aggregate-root.interface.js';
|
|
2
|
+
import type { IDomainEventPublisher } from './ports/domain-event-publisher.port.js';
|
|
3
3
|
/**
|
|
4
4
|
* Result shapes that allow `CommandBaseHandler` to publish buffered aggregate events.
|
|
5
5
|
* Return either the aggregate itself or an application result with an `aggregate` field.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-base.handler.d.ts","sourceRoot":"","sources":["../../application/command-base.handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"command-base.handler.d.ts","sourceRoot":"","sources":["../../application/command-base.handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAEvF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAEpF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAC9B,cAAc,GACd;IAAE,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAA;CAAE,CAAC;AAY3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,8BAAsB,kBAAkB,CACtC,QAAQ,GAAG,OAAO,EAClB,OAAO,SAAS,sBAAsB,GAAG,sBAAsB;IAQzC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB;IANxE;;;;;OAKG;IACH,SAAS,aAAgC,QAAQ,EAAE,qBAAqB,EAAI;IAE5E;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBjD;CACF"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* Copyright (C) 2026-present Aristotelis — see repository license. */
|
|
3
|
-
|
|
4
|
-
exports.CommandBaseHandler = void 0;
|
|
5
|
-
const aggregate_root_1 = require("../domain/models/aggregate-root");
|
|
2
|
+
import { AggregateRoot } from '../domain/models/aggregate-root.js';
|
|
6
3
|
function isAggregate(obj) {
|
|
7
|
-
return (obj instanceof
|
|
4
|
+
return (obj instanceof AggregateRoot ||
|
|
8
5
|
(typeof obj === 'object' &&
|
|
9
6
|
obj !== null &&
|
|
10
7
|
typeof obj.getUncommittedEvents === 'function' &&
|
|
@@ -72,7 +69,7 @@ function isAggregate(obj) {
|
|
|
72
69
|
* }
|
|
73
70
|
* ```
|
|
74
71
|
*/
|
|
75
|
-
class CommandBaseHandler {
|
|
72
|
+
export class CommandBaseHandler {
|
|
76
73
|
eventBus;
|
|
77
74
|
/**
|
|
78
75
|
* Constructs the handler with the publisher of domain events.
|
|
@@ -126,5 +123,4 @@ class CommandBaseHandler {
|
|
|
126
123
|
return commandResult;
|
|
127
124
|
}
|
|
128
125
|
}
|
|
129
|
-
exports.CommandBaseHandler = CommandBaseHandler;
|
|
130
126
|
//# sourceMappingURL=command-base.handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-base.handler.js","sourceRoot":"","sources":["../../application/command-base.handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-base.handler.js","sourceRoot":"","sources":["../../application/command-base.handler.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAGtE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAWnE,SAAS,WAAW,CAAC,GAAY;IAC/B,OAAO,CACL,GAAG,YAAY,aAAa;QAC5B,CAAC,OAAO,GAAG,KAAK,QAAQ;YACtB,GAAG,KAAK,IAAI;YACZ,OAAQ,GAAsB,CAAC,oBAAoB,KAAK,UAAU;YAClE,OAAQ,GAAsB,CAAC,QAAQ,KAAK,UAAU,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,OAAgB,kBAAkB;IAUG,QAAQ;IANjD;;;;;OAKG;IACH,YAAyC,QAA+B;wBAA/B,QAAQ;IAA0B,CAAC;IAc5E;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,OAAO,CAAC,OAAiB;QAC7B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC;YAC1C,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,aAAa;gBACX,OAAO,aAAa,KAAK,QAAQ;gBACjC,WAAW,IAAI,aAAa;gBAC5B,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC;gBACtC,CAAC,CAAC,aAAa,CAAC,SAAS;gBACzB,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,oBAAoB,EAAE,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC9D,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,SAAS,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
* `ports/`, are the contracts a CQRS handler depends on; their adapters stay
|
|
4
4
|
* behind `@cqrs-ddd/core/persistence` or in an adapter package.
|
|
5
5
|
*/
|
|
6
|
-
export * from './base.command';
|
|
7
|
-
export * from './base.query';
|
|
8
|
-
export * from './command-base.handler';
|
|
9
|
-
export * from './ports/cache.port';
|
|
10
|
-
export * from './ports/command-repository.port';
|
|
11
|
-
export * from './ports/domain-event-publisher.port';
|
|
12
|
-
export * from './ports/query-repository.port';
|
|
13
|
-
export * from './ports/write-side-aggregate-repository.port';
|
|
14
|
-
export * from './query.options';
|
|
15
|
-
export * from './tenant-resolver';
|
|
6
|
+
export * from './base.command.js';
|
|
7
|
+
export * from './base.query.js';
|
|
8
|
+
export * from './command-base.handler.js';
|
|
9
|
+
export * from './ports/cache.port.js';
|
|
10
|
+
export * from './ports/command-repository.port.js';
|
|
11
|
+
export * from './ports/domain-event-publisher.port.js';
|
|
12
|
+
export * from './ports/query-repository.port.js';
|
|
13
|
+
export * from './ports/write-side-aggregate-repository.port.js';
|
|
14
|
+
export * from './query.options.js';
|
|
15
|
+
export * from './tenant-resolver.js';
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../application/index.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../application/index.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iDAAiD,CAAC;AAChE,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
|
|
@@ -1,33 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* Copyright (C) 2026-present Aristotelis — see repository license. */
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
|
-
};
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
2
|
/**
|
|
19
3
|
* Application-layer primitives and the ports handlers depend on. The ports, in
|
|
20
4
|
* `ports/`, are the contracts a CQRS handler depends on; their adapters stay
|
|
21
5
|
* behind `@cqrs-ddd/core/persistence` or in an adapter package.
|
|
22
6
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
7
|
+
export * from './base.command.js';
|
|
8
|
+
export * from './base.query.js';
|
|
9
|
+
export * from './command-base.handler.js';
|
|
10
|
+
export * from './ports/cache.port.js';
|
|
11
|
+
export * from './ports/command-repository.port.js';
|
|
12
|
+
export * from './ports/domain-event-publisher.port.js';
|
|
13
|
+
export * from './ports/query-repository.port.js';
|
|
14
|
+
export * from './ports/write-side-aggregate-repository.port.js';
|
|
15
|
+
export * from './query.options.js';
|
|
16
|
+
export * from './tenant-resolver.js';
|
|
33
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../application/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../application/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iDAAiD,CAAC;AAChE,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* Copyright (C) 2026-present Aristotelis — see repository license. */
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.isVersionedCache = isVersionedCache;
|
|
5
2
|
/**
|
|
6
3
|
* Capability guard verifying whether an adapter supports versioned coordination.
|
|
7
4
|
*/
|
|
8
|
-
function isVersionedCache(cache) {
|
|
5
|
+
export function isVersionedCache(cache) {
|
|
9
6
|
return (typeof cache === 'object' &&
|
|
10
7
|
cache !== null &&
|
|
11
8
|
(('isVersioned' in cache &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.port.js","sourceRoot":"","sources":["../../../application/ports/cache.port.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cache.port.js","sourceRoot":"","sources":["../../../application/ports/cache.port.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAwHtE;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,CAAC,CAAC,aAAa,IAAI,KAAK;YACrB,KAA4B,CAAC,WAAW,KAAK,IAAI,CAAC;YACnD,CAAC,OAAQ,KAA4B,CAAC,SAAS,KAAK,UAAU;gBAC5D,OAAQ,KAA4B,CAAC,UAAU,KAAK,UAAU;gBAC9D,OAAQ,KAA4B,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAClE,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-repository.port.js","sourceRoot":"","sources":["../../../application/ports/command-repository.port.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-repository.port.js","sourceRoot":"","sources":["../../../application/ports/command-repository.port.ts"],"names":[],"mappings":"AAAA,sEAAsE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-event-publisher.port.d.ts","sourceRoot":"","sources":["../../../application/ports/domain-event-publisher.port.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"domain-event-publisher.port.d.ts","sourceRoot":"","sources":["../../../application/ports/domain-event-publisher.port.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAC;AAErE;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-event-publisher.port.js","sourceRoot":"","sources":["../../../application/ports/domain-event-publisher.port.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domain-event-publisher.port.js","sourceRoot":"","sources":["../../../application/ports/domain-event-publisher.port.ts"],"names":[],"mappings":"AAAA,sEAAsE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-repository.port.d.ts","sourceRoot":"","sources":["../../../application/ports/query-repository.port.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"query-repository.port.d.ts","sourceRoot":"","sources":["../../../application/ports/query-repository.port.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,gBAAgB,CAAC,MAAM,GAAG,aAAa,EAAE,OAAO,GAAG,OAAO;IACzE,sCAAsC;IACtC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-repository.port.js","sourceRoot":"","sources":["../../../application/ports/query-repository.port.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query-repository.port.js","sourceRoot":"","sources":["../../../application/ports/query-repository.port.ts"],"names":[],"mappings":"AAAA,sEAAsE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-side-aggregate-repository.port.d.ts","sourceRoot":"","sources":["../../../application/ports/write-side-aggregate-repository.port.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"write-side-aggregate-repository.port.d.ts","sourceRoot":"","sources":["../../../application/ports/write-side-aggregate-repository.port.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,6BAA6B,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CAClE,SAAQ,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC;IAC5C;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-side-aggregate-repository.port.js","sourceRoot":"","sources":["../../../application/ports/write-side-aggregate-repository.port.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"write-side-aggregate-repository.port.js","sourceRoot":"","sources":["../../../application/ports/write-side-aggregate-repository.port.ts"],"names":[],"mappings":"AAAA,sEAAsE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.options.js","sourceRoot":"","sources":["../../application/query.options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query.options.js","sourceRoot":"","sources":["../../application/query.options.ts"],"names":[],"mappings":"AAAA,sEAAsE"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* Copyright (C) 2026-present Aristotelis — see repository license. */
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.defineHidden = defineHidden;
|
|
5
|
-
exports.definedFields = definedFields;
|
|
6
2
|
/** Defines a non-enumerable property, excluded from `toJSON()` and payload spreads. */
|
|
7
|
-
function defineHidden(target, key, value) {
|
|
3
|
+
export function defineHidden(target, key, value) {
|
|
8
4
|
Object.defineProperty(target, key, { value, enumerable: false });
|
|
9
5
|
}
|
|
10
6
|
/** Returns the enumerable own fields of a request whose value is not `undefined`. */
|
|
11
|
-
function definedFields(request) {
|
|
7
|
+
export function definedFields(request) {
|
|
12
8
|
const json = {};
|
|
13
9
|
for (const [key, value] of Object.entries(request)) {
|
|
14
10
|
if (value !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-fields.helper.js","sourceRoot":"","sources":["../../application/request-fields.helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request-fields.helper.js","sourceRoot":"","sources":["../../application/request-fields.helper.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,uFAAuF;AACvF,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,GAAW,EACX,KAAc;IAEd,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* Copyright (C) 2026-present Aristotelis — see repository license. */
|
|
3
|
-
|
|
4
|
-
exports.setTenantResolver = setTenantResolver;
|
|
5
|
-
exports.requireTenant = requireTenant;
|
|
6
|
-
exports.requireTenantId = requireTenantId;
|
|
7
|
-
const missing_tenant_context_exception_1 = require("../domain/exceptions/missing-tenant-context.exception");
|
|
2
|
+
import { MissingTenantContextError } from '../domain/exceptions/missing-tenant-context.exception.js';
|
|
8
3
|
let tenantResolver;
|
|
9
4
|
/**
|
|
10
5
|
* Registers where tenant-scoped helpers such as `cacheKey` and
|
|
@@ -26,7 +21,7 @@ let tenantResolver;
|
|
|
26
21
|
* requestTenant.run(tenantId, () => handle(request));
|
|
27
22
|
* ```
|
|
28
23
|
*/
|
|
29
|
-
function setTenantResolver(resolver) {
|
|
24
|
+
export function setTenantResolver(resolver) {
|
|
30
25
|
tenantResolver = resolver;
|
|
31
26
|
}
|
|
32
27
|
/**
|
|
@@ -53,12 +48,12 @@ function setTenantResolver(resolver) {
|
|
|
53
48
|
* const keyTenant = requireTenant('users.create idempotency key', ctx);
|
|
54
49
|
* ```
|
|
55
50
|
*/
|
|
56
|
-
function requireTenant(purpose, source) {
|
|
51
|
+
export function requireTenant(purpose, source) {
|
|
57
52
|
const tenantId = typeof source === 'string'
|
|
58
53
|
? source
|
|
59
54
|
: (source?.tenantId ?? tenantResolver?.());
|
|
60
55
|
if (!tenantId)
|
|
61
|
-
throw new
|
|
56
|
+
throw new MissingTenantContextError(purpose);
|
|
62
57
|
return tenantId;
|
|
63
58
|
}
|
|
64
59
|
/**
|
|
@@ -75,7 +70,7 @@ function requireTenant(purpose, source) {
|
|
|
75
70
|
* requireTenant('users.create idempotency key', ctx);
|
|
76
71
|
* ```
|
|
77
72
|
*/
|
|
78
|
-
function requireTenantId(source, purpose) {
|
|
73
|
+
export function requireTenantId(source, purpose) {
|
|
79
74
|
return requireTenant(purpose, source);
|
|
80
75
|
}
|
|
81
76
|
//# sourceMappingURL=tenant-resolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant-resolver.js","sourceRoot":"","sources":["../../application/tenant-resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tenant-resolver.js","sourceRoot":"","sources":["../../application/tenant-resolver.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AAcrG,IAAI,cAA0C,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAoC;IACpE,cAAc,GAAG,QAAQ,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,MAAqB;IAClE,MAAM,QAAQ,GACZ,OAAO,MAAM,KAAK,QAAQ;QACxB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,IAAI,cAAc,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC5D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAgC,EAChC,OAAe;IAEf,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IEvent } from '../events/event.interface';
|
|
1
|
+
import { IEvent } from '../events/event.interface.js';
|
|
2
2
|
/**
|
|
3
3
|
* The state change a domain method describes: mutable field keys mapped to
|
|
4
4
|
* their new values for `RootEntity.applyPatch()`. Undefined values are ignored.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-mutation.decorator.d.ts","sourceRoot":"","sources":["../../../domain/decorators/apply-mutation.decorator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"apply-mutation.decorator.d.ts","sourceRoot":"","sources":["../../../domain/decorators/apply-mutation.decorator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD;;;;;;GAMG;AAEH,MAAM,MAAM,aAAa,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AAE7D,0CAA0C;AAC1C,MAAM,MAAM,kBAAkB,GAC1B,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,GAC9B,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAE1B,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,OAAO;IAC3C;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,WAAW,GAAG,kBAAkB,CAAC;CACvE;AA4DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAG,OAAO,EAC7C,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,GACrC,eAAe,CA8BjB"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* Copyright (C) 2026-present Aristotelis — see repository license. */
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.ApplyMutation = ApplyMutation;
|
|
5
2
|
function assertLifecycleOperations(entity) {
|
|
6
3
|
for (const method of ['onUpdate', 'apply']) {
|
|
7
4
|
if (typeof entity?.[method] !== 'function') {
|
|
@@ -65,7 +62,7 @@ function completeMutation(entity, result, options) {
|
|
|
65
62
|
* }
|
|
66
63
|
* ```
|
|
67
64
|
*/
|
|
68
|
-
function ApplyMutation(options) {
|
|
65
|
+
export function ApplyMutation(options) {
|
|
69
66
|
if (!options || typeof options.event !== 'function') {
|
|
70
67
|
throw new TypeError('@ApplyMutation requires an event factory option: @ApplyMutation({ event: (entity) => ... }).');
|
|
71
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-mutation.decorator.js","sourceRoot":"","sources":["../../../domain/decorators/apply-mutation.decorator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apply-mutation.decorator.js","sourceRoot":"","sources":["../../../domain/decorators/apply-mutation.decorator.ts"],"names":[],"mappings":"AAAA,sEAAsE;AA4CtE,SAAS,yBAAyB,CAChC,MAAe;IAEf,KAAK,MAAM,MAAM,IAAI,CAAC,UAAU,EAAE,OAAO,CAAU,EAAE,CAAC;QACpD,IACE,OAAQ,MAAwC,EAAE,CAAC,MAAM,CAAC,KAAK,UAAU,EACzE,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,iEAAiE,MAAM,YAAY,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAqB,EACrB,MAAe,EACf,OAAsC;IAEtC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAElB,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,MAAiB,CAAC,CAAC;IAEvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,IAAI,aAAa,KAAK,IAAI,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YAChE,MAAM,IAAI,SAAS,CACjB,0GAA0G,MAAM,CAAC,aAAa,CAAC,GAAG,CACnI,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,SAAS,CACjB,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,SAAS,CACjB,mEAAmE,CAAC,yCAAyC,MAAM,CAAC,GAAG,CAAC,GAAG,CAC5H,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAsC;IAEtC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACpD,MAAM,IAAI,SAAS,CACjB,8FAA8F,CAC/F,CAAC;IACJ,CAAC;IAED,OAAO,CACL,OAAe,EACf,YAA6B,EAC7B,UAA8B,EAC9B,EAAE;QACF,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAe,CAAC;QAE5C,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAe;YAC7C,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,IAAqB,CAAC;YACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAE1C,IAAI,MAAM,IAAI,OAAQ,MAA2B,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACtE,OAAQ,MAA2B,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACjD,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CACzC,CAAC;YACJ,CAAC;YAED,OAAO,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* Copyright (C) 2026-present Aristotelis — see repository license. */
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.Mutable = Mutable;
|
|
5
|
-
exports.getMutableFields = getMutableFields;
|
|
6
2
|
const MUTABLE_FIELDS = Symbol('MUTABLE_FIELDS');
|
|
7
3
|
/**
|
|
8
4
|
* Declares an aggregate property as mutable through domain methods.
|
|
@@ -22,7 +18,7 @@ const MUTABLE_FIELDS = Symbol('MUTABLE_FIELDS');
|
|
|
22
18
|
* }
|
|
23
19
|
* ```
|
|
24
20
|
*/
|
|
25
|
-
function Mutable(options = {}) {
|
|
21
|
+
export function Mutable(options = {}) {
|
|
26
22
|
return (target, propertyKey) => {
|
|
27
23
|
if (typeof propertyKey !== 'string') {
|
|
28
24
|
throw new TypeError('@Mutable() supports string properties only.');
|
|
@@ -51,7 +47,7 @@ function Mutable(options = {}) {
|
|
|
51
47
|
* @param instance - The aggregate to inspect.
|
|
52
48
|
* @returns Patch key to field definition, nearest declaration winning.
|
|
53
49
|
*/
|
|
54
|
-
function getMutableFields(instance) {
|
|
50
|
+
export function getMutableFields(instance) {
|
|
55
51
|
const resolved = new Map();
|
|
56
52
|
const chain = [];
|
|
57
53
|
let current = instance.constructor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutable.decorator.js","sourceRoot":"","sources":["../../../domain/decorators/mutable.decorator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mutable.decorator.js","sourceRoot":"","sources":["../../../domain/decorators/mutable.decorator.ts"],"names":[],"mappings":"AAAA,sEAAsE;AA+BtE,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAMhD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,OAAO,CACrB,OAAO,GAA2B,EAAE;IAEpC,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACtD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;QACrE,CAAC;QAED,iFAAiF;QACjF,MAAM,KAAK,GAAI,MAAmC,CAAC,WAEtC,CAAC;QAEd,IAAI,CAAC,KAAK,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YAC3C,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC;YAC9C,CAAC,CAAE,KAAK,CAAC,cAAc,CAAyC;YAChE,CAAC,CAAC,IAAI,GAAG,EAAkC,CAAC;QAC9C,KAAK,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC;QAE5B,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7D,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE;YAChB,WAAW;YACX,QAAQ;YACR,SAAS,EAAE,OAAO,CAAC,SAAsD;SAC1E,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB;IAEhB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC3D,MAAM,KAAK,GAAqB,EAAE,CAAC;IAEnC,IAAI,OAAO,GAAY,QAAQ,CAAC,WAAW,CAAC;IAC5C,OAAO,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,OAAyB,CAAC,CAAC;QACtC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;YAC1C,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS;QACX,CAAC;QACD,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,EAAE,CAAC;YAC5C,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.event.d.ts","sourceRoot":"","sources":["../../../domain/events/domain.event.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"domain.event.d.ts","sourceRoot":"","sources":["../../../domain/events/domain.event.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;;;;;GAMG;AACH,8BAAsB,WAAY,YAAW,MAAM;IACjD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAE3B,SAAS,aAAa,EAAE,CAAC,EAAE,MAAM,EAEhC;CACF"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* Copyright (C) 2026-present Aristotelis — see repository license. */
|
|
3
|
-
|
|
4
|
-
exports.DomainEvent = void 0;
|
|
5
|
-
const uuidv7_1 = require("@cqrs-ddd/uuidv7");
|
|
2
|
+
import { uuidv7 } from '@cqrs-ddd/uuidv7';
|
|
6
3
|
/**
|
|
7
4
|
* Base class for all domain events.
|
|
8
5
|
*
|
|
@@ -10,11 +7,10 @@ const uuidv7_1 = require("@cqrs-ddd/uuidv7");
|
|
|
10
7
|
* unless one is supplied. Concrete events extend this to describe something that
|
|
11
8
|
* has happened in the domain.
|
|
12
9
|
*/
|
|
13
|
-
class DomainEvent {
|
|
10
|
+
export class DomainEvent {
|
|
14
11
|
id;
|
|
15
12
|
constructor(id) {
|
|
16
|
-
this.id = id ??
|
|
13
|
+
this.id = id ?? uuidv7();
|
|
17
14
|
}
|
|
18
15
|
}
|
|
19
|
-
exports.DomainEvent = DomainEvent;
|
|
20
16
|
//# sourceMappingURL=domain.event.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.event.js","sourceRoot":"","sources":["../../../domain/events/domain.event.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domain.event.js","sourceRoot":"","sources":["../../../domain/events/domain.event.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C;;;;;;GAMG;AACH,MAAM,OAAgB,WAAW;IACf,EAAE,CAAS;IAE3B,YAAsB,EAAW;QAC/B,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.interface.js","sourceRoot":"","sources":["../../../domain/events/event.interface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event.interface.js","sourceRoot":"","sources":["../../../domain/events/event.interface.ts"],"names":[],"mappings":"AAAA,sEAAsE"}
|