@cqrs-ddd/core 0.5.2 → 0.6.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.
Files changed (31) hide show
  1. package/dist/application/base.command.d.ts +1 -2
  2. package/dist/application/base.command.d.ts.map +1 -1
  3. package/dist/application/base.command.js +1 -2
  4. package/dist/application/base.command.js.map +1 -1
  5. package/dist/application/base.query.d.ts +6 -7
  6. package/dist/application/base.query.d.ts.map +1 -1
  7. package/dist/application/base.query.js +6 -7
  8. package/dist/application/base.query.js.map +1 -1
  9. package/dist/application/command-base.handler.d.ts +19 -0
  10. package/dist/application/command-base.handler.d.ts.map +1 -1
  11. package/dist/application/command-base.handler.js +28 -8
  12. package/dist/application/command-base.handler.js.map +1 -1
  13. package/dist/application/tenant-resolver.d.ts +0 -15
  14. package/dist/application/tenant-resolver.d.ts.map +1 -1
  15. package/dist/application/tenant-resolver.js +0 -17
  16. package/dist/application/tenant-resolver.js.map +1 -1
  17. package/dist/domain/models/aggregate-root.d.ts.map +1 -1
  18. package/dist/domain/models/aggregate-root.js +5 -6
  19. package/dist/domain/models/aggregate-root.js.map +1 -1
  20. package/dist/domain/models/root.entity.d.ts.map +1 -1
  21. package/dist/domain/models/root.entity.js +15 -21
  22. package/dist/domain/models/root.entity.js.map +1 -1
  23. package/dist/persistence/decorators/acknowledge-persisted.decorator.d.ts +2 -2
  24. package/dist/persistence/decorators/acknowledge-persisted.decorator.js +2 -2
  25. package/dist/persistence/decorators/cache.decorator.js +6 -4
  26. package/dist/persistence/decorators/cache.decorator.js.map +1 -1
  27. package/dist/persistence/decorators/from-cache.decorator.d.ts +0 -2
  28. package/dist/persistence/decorators/from-cache.decorator.d.ts.map +1 -1
  29. package/dist/persistence/decorators/from-cache.decorator.js +0 -1
  30. package/dist/persistence/decorators/from-cache.decorator.js.map +1 -1
  31. package/package.json +3 -3
@@ -8,14 +8,13 @@ import { REQUEST_KIND } from '../domain/request-kind.js';
8
8
  */
9
9
  export declare abstract class BaseCommand<TSessionPrincipal = any> {
10
10
  readonly sessionPrincipal?: TSessionPrincipal;
11
- readonly sessionUser?: TSessionPrincipal;
12
11
  /** The kind a pipeline reads from this request: `'command'`. */
13
12
  get [REQUEST_KIND](): 'command';
14
13
  constructor(sessionPrincipal?: TSessionPrincipal);
15
14
  /**
16
15
  * Serializes enumerable command payload fields to a plain object.
17
16
  *
18
- * Non-enumerable metadata such as `sessionPrincipal` and `sessionUser` is excluded, and fields whose
17
+ * Non-enumerable metadata such as `sessionPrincipal` is excluded, and fields whose
19
18
  * value is `undefined` are omitted. This makes the result suitable for stable
20
19
  * cache/idempotency fingerprinting.
21
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"base.command.d.ts","sourceRoot":"","sources":["../../application/base.command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD;;;;;;GAMG;AAEH,8BAAsB,WAAW,CAAC,iBAAiB,GAAG,GAAG;IACvD,SAAwB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IAC7D,SAAwB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAExD,gEAAgE;IAChE,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAE9B;IAED,YAAY,gBAAgB,CAAC,EAAE,iBAAiB,EAK/C;IAED;;;;;;;;OAQG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAI5D;CACF"}
1
+ {"version":3,"file":"base.command.d.ts","sourceRoot":"","sources":["../../application/base.command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD;;;;;;GAMG;AAEH,8BAAsB,WAAW,CAAC,iBAAiB,GAAG,GAAG;IACvD,SAAwB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IAE7D,gEAAgE;IAChE,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAE9B;IAED,YAAY,gBAAgB,CAAC,EAAE,iBAAiB,EAI/C;IAED;;;;;;;;OAQG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAI5D;CACF"}
@@ -17,13 +17,12 @@ export class BaseCommand {
17
17
  constructor(sessionPrincipal) {
18
18
  if (sessionPrincipal !== undefined) {
19
19
  defineHidden(this, 'sessionPrincipal', sessionPrincipal);
20
- defineHidden(this, 'sessionUser', sessionPrincipal);
21
20
  }
22
21
  }
23
22
  /**
24
23
  * Serializes enumerable command payload fields to a plain object.
25
24
  *
26
- * Non-enumerable metadata such as `sessionPrincipal` and `sessionUser` is excluded, and fields whose
25
+ * Non-enumerable metadata such as `sessionPrincipal` is excluded, and fields whose
27
26
  * value is `undefined` are omitted. This makes the result suitable for stable
28
27
  * cache/idempotency fingerprinting.
29
28
  *
@@ -1 +1 @@
1
- {"version":3,"file":"base.command.js","sourceRoot":"","sources":["../../application/base.command.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEzE;;;;;;GAMG;AACH,gFAAgF;AAChF,MAAM,OAAgB,WAAW;IAI/B,gEAAgE;IAChE,IAAI,CAAC,YAAY,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,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
+ {"version":3,"file":"base.command.js","sourceRoot":"","sources":["../../application/base.command.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEzE;;;;;;GAMG;AACH,gFAAgF;AAChF,MAAM,OAAgB,WAAW;IAG/B,gEAAgE;IAChE,IAAI,CAAC,YAAY,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,YAAY,gBAAoC;QAC9C,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,YAAY,CAAC,IAAI,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAC3D,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"}
@@ -7,35 +7,34 @@ import type { IQueryOptions } from './query.options.js';
7
7
  * payload. They are stored as non-enumerable properties so Zod validation and
8
8
  * cache-key serialization operate only on the query payload.
9
9
  *
10
- * @typeParam TSessionUser - Application-specific principal/session metadata type.
10
+ * @typeParam TSessionPrincipal - Application-specific principal/session metadata type.
11
11
  *
12
12
  * @example
13
13
  * ```ts
14
- * export class GetUserQuery extends BaseQuery<SessionUser> {
14
+ * export class GetUserQuery extends BaseQuery<SessionPrincipal> {
15
15
  * constructor(
16
16
  * public readonly id: string,
17
17
  * options?: Partial<IQueryOptions>,
18
- * sessionUser?: SessionUser,
18
+ * sessionPrincipal?: SessionPrincipal,
19
19
  * ) {
20
- * super(options, sessionUser);
20
+ * super(options, sessionPrincipal);
21
21
  * }
22
22
  * }
23
23
  *
24
- * const query = new GetUserQuery(userId, { hydrate: true }, sessionUser);
24
+ * const query = new GetUserQuery(userId, { hydrate: true }, sessionPrincipal);
25
25
  * ```
26
26
  */
27
27
  export declare abstract class BaseQuery<TSessionPrincipal = unknown> implements IQueryOptions {
28
28
  readonly hydrate?: boolean;
29
29
  readonly refresh?: boolean;
30
30
  readonly sessionPrincipal?: TSessionPrincipal;
31
- readonly sessionUser?: TSessionPrincipal;
32
31
  /** The kind a pipeline reads from this request: `'query'`. */
33
32
  get [REQUEST_KIND](): 'query';
34
33
  constructor(options?: Partial<IQueryOptions>, sessionPrincipal?: TSessionPrincipal);
35
34
  /**
36
35
  * Serializes enumerable query payload fields to a plain object.
37
36
  *
38
- * `hydrate`, `refresh`, `sessionPrincipal` and `sessionUser` are non-enumerable metadata and stay
37
+ * `hydrate`, `refresh` and `sessionPrincipal` are non-enumerable metadata and stay
39
38
  * out of the payload.
40
39
  *
41
40
  * @returns The query payload with `undefined` fields omitted.
@@ -1 +1 @@
1
- {"version":3,"file":"base.query.d.ts","sourceRoot":"","sources":["../../application/base.query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,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,8DAA8D;IAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,OAAO,CAE5B;IAED,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
+ {"version":3,"file":"base.query.d.ts","sourceRoot":"","sources":["../../application/base.query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,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;IAE7D,8DAA8D;IAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,OAAO,CAE5B;IAED,YACE,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,EAChC,gBAAgB,CAAC,EAAE,iBAAiB,EAOrC;IAED;;;;;;;OAOG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhC;CACF"}
@@ -8,21 +8,21 @@ import { definedFields, defineHidden } from './request-fields.helper.js';
8
8
  * payload. They are stored as non-enumerable properties so Zod validation and
9
9
  * cache-key serialization operate only on the query payload.
10
10
  *
11
- * @typeParam TSessionUser - Application-specific principal/session metadata type.
11
+ * @typeParam TSessionPrincipal - Application-specific principal/session metadata type.
12
12
  *
13
13
  * @example
14
14
  * ```ts
15
- * export class GetUserQuery extends BaseQuery<SessionUser> {
15
+ * export class GetUserQuery extends BaseQuery<SessionPrincipal> {
16
16
  * constructor(
17
17
  * public readonly id: string,
18
18
  * options?: Partial<IQueryOptions>,
19
- * sessionUser?: SessionUser,
19
+ * sessionPrincipal?: SessionPrincipal,
20
20
  * ) {
21
- * super(options, sessionUser);
21
+ * super(options, sessionPrincipal);
22
22
  * }
23
23
  * }
24
24
  *
25
- * const query = new GetUserQuery(userId, { hydrate: true }, sessionUser);
25
+ * const query = new GetUserQuery(userId, { hydrate: true }, sessionPrincipal);
26
26
  * ```
27
27
  */
28
28
  export class BaseQuery {
@@ -35,13 +35,12 @@ export class BaseQuery {
35
35
  defineHidden(this, 'refresh', options?.refresh ?? false);
36
36
  if (sessionPrincipal !== undefined) {
37
37
  defineHidden(this, 'sessionPrincipal', sessionPrincipal);
38
- defineHidden(this, 'sessionUser', sessionPrincipal);
39
38
  }
40
39
  }
41
40
  /**
42
41
  * Serializes enumerable query payload fields to a plain object.
43
42
  *
44
- * `hydrate`, `refresh`, `sessionPrincipal` and `sessionUser` are non-enumerable metadata and stay
43
+ * `hydrate`, `refresh` and `sessionPrincipal` are non-enumerable metadata and stay
45
44
  * out of the payload.
46
45
  *
47
46
  * @returns The query payload with `undefined` fields omitted.
@@ -1 +1 @@
1
- {"version":3,"file":"base.query.js","sourceRoot":"","sources":["../../application/base.query.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAgB,SAAS;IAQ7B,8DAA8D;IAC9D,IAAI,CAAC,YAAY,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,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
+ {"version":3,"file":"base.query.js","sourceRoot":"","sources":["../../application/base.query.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAgB,SAAS;IAO7B,8DAA8D;IAC9D,IAAI,CAAC,YAAY,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,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;QAC3D,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,MAAM;QACJ,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -108,5 +108,24 @@ export declare abstract class CommandBaseHandler<TCommand = unknown, TResult ext
108
108
  * @throws The error of {@link handle}, or of a publisher that throws or rejects.
109
109
  */
110
110
  execute(command: TCommand): Promise<TResult>;
111
+ /**
112
+ * Publishes the uncommitted events of `aggregate` and clears them from it, as
113
+ * {@link execute} does for the aggregate that {@link handle} returns.
114
+ *
115
+ * Call it only for an aggregate that `handle` saved and does not return: one
116
+ * it saved before it throws. The events are cleared, so `execute` does not
117
+ * publish them a second time.
118
+ *
119
+ * @param aggregate - A persisted aggregate that still buffers its events.
120
+ * @throws What the publisher throws or rejects with.
121
+ *
122
+ * @example
123
+ * ```ts
124
+ * const revoked = await this.sessions.revoke(session);
125
+ * await this.publishEvents(revoked);
126
+ * throw new RefreshTokenReuseError();
127
+ * ```
128
+ */
129
+ protected publishEvents(aggregate: IAggregateRoot): Promise<void>;
111
130
  }
112
131
  //# sourceMappingURL=command-base.handler.d.ts.map
@@ -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,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;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;;;;;;;;;;;;;;;;;;;OAmBG;IACG,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAejD;CACF"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;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;;;;;;;;;;;;;;;;;;;OAmBG;IACG,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAOjD;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAgB,aAAa,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAOtE;CACF"}
@@ -101,16 +101,36 @@ export class CommandBaseHandler {
101
101
  async execute(command) {
102
102
  const commandResult = await this.handle(command);
103
103
  const aggregate = aggregateOf(commandResult);
104
- if (aggregate) {
105
- const events = [...aggregate.getUncommittedEvents()];
106
- if (events.length > 0) {
107
- const published = this.eventBus.publishAll(events, aggregate);
108
- aggregate.uncommit();
109
- await published;
110
- }
111
- }
104
+ if (aggregate)
105
+ await this.publishEvents(aggregate);
112
106
  return commandResult;
113
107
  }
108
+ /**
109
+ * Publishes the uncommitted events of `aggregate` and clears them from it, as
110
+ * {@link execute} does for the aggregate that {@link handle} returns.
111
+ *
112
+ * Call it only for an aggregate that `handle` saved and does not return: one
113
+ * it saved before it throws. The events are cleared, so `execute` does not
114
+ * publish them a second time.
115
+ *
116
+ * @param aggregate - A persisted aggregate that still buffers its events.
117
+ * @throws What the publisher throws or rejects with.
118
+ *
119
+ * @example
120
+ * ```ts
121
+ * const revoked = await this.sessions.revoke(session);
122
+ * await this.publishEvents(revoked);
123
+ * throw new RefreshTokenReuseError();
124
+ * ```
125
+ */
126
+ async publishEvents(aggregate) {
127
+ const events = [...aggregate.getUncommittedEvents()];
128
+ if (events.length === 0)
129
+ return;
130
+ const published = this.eventBus.publishAll(events, aggregate);
131
+ aggregate.uncommit();
132
+ await published;
133
+ }
114
134
  }
115
135
  /** The aggregate a handler returned, itself or as its result's `aggregate`. */
116
136
  function aggregateOf(result) {
@@ -1 +1 @@
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,MAAM,OAAgB,kBAAkB;IAUG,QAAQ;IANjD;;;;;OAKG;IACH,YAAyC,QAA+B;wBAA/B,QAAQ;IAA0B,CAAC;IAc5E;;;;;;;;;;;;;;;;;;;OAmBG;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,CAAC;QAE7C,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;AAED,+EAA+E;AAC/E,SAAS,WAAW,CAAC,MAAe;IAClC,IAAI,WAAW,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACvC,MAAM,OAAO,GACX,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,WAAW,IAAI,MAAM;QAC3D,CAAC,CAAC,MAAM,CAAC,SAAS;QAClB,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,MAAM,OAAgB,kBAAkB;IAUG,QAAQ;IANjD;;;;;OAKG;IACH,YAAyC,QAA+B;wBAA/B,QAAQ;IAA0B,CAAC;IAc5E;;;;;;;;;;;;;;;;;;;OAmBG;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,CAAC;QAC7C,IAAI,SAAS;YAAE,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEnD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACO,KAAK,CAAC,aAAa,CAAC,SAAyB;QACrD,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEhC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9D,SAAS,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,SAAS,CAAC;IAClB,CAAC;CACF;AAED,+EAA+E;AAC/E,SAAS,WAAW,CAAC,MAAe;IAClC,IAAI,WAAW,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACvC,MAAM,OAAO,GACX,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,WAAW,IAAI,MAAM;QAC3D,CAAC,CAAC,MAAM,CAAC,SAAS;QAClB,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC"}
@@ -56,19 +56,4 @@ export declare function setTenantResolver(resolver: TenantResolver | undefined):
56
56
  * ```
57
57
  */
58
58
  export declare function requireTenant(purpose: string, source?: TenantSource): string;
59
- /**
60
- * Returns the tenant for a security-sensitive operation, or fails closed; see
61
- * {@link requireTenant}, which it calls.
62
- *
63
- * @deprecated Use {@link requireTenant}, which takes the required `purpose`
64
- * first and the optional `source` last.
65
- *
66
- * @example
67
- * ```ts
68
- * requireTenantId(ctx, 'users.create idempotency key');
69
- * // becomes
70
- * requireTenant('users.create idempotency key', ctx);
71
- * ```
72
- */
73
- export declare function requireTenantId(source: TenantSource | undefined, purpose: string): string;
74
59
  //# sourceMappingURL=tenant-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-resolver.d.ts","sourceRoot":"","sources":["../../application/tenant-resolver.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAE/E;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,MAAM,GAAG,SAAS,CAAC;AAItD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAE5E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAO5E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,OAAO,EAAE,MAAM,GACd,MAAM,CAER"}
1
+ {"version":3,"file":"tenant-resolver.d.ts","sourceRoot":"","sources":["../../application/tenant-resolver.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAE/E;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,MAAM,GAAG,SAAS,CAAC;AAItD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAE5E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAO5E"}
@@ -56,21 +56,4 @@ export function requireTenant(purpose, source) {
56
56
  throw new MissingTenantContextError(purpose);
57
57
  return tenantId;
58
58
  }
59
- /**
60
- * Returns the tenant for a security-sensitive operation, or fails closed; see
61
- * {@link requireTenant}, which it calls.
62
- *
63
- * @deprecated Use {@link requireTenant}, which takes the required `purpose`
64
- * first and the optional `source` last.
65
- *
66
- * @example
67
- * ```ts
68
- * requireTenantId(ctx, 'users.create idempotency key');
69
- * // becomes
70
- * requireTenant('users.create idempotency key', ctx);
71
- * ```
72
- */
73
- export function requireTenantId(source, purpose) {
74
- return requireTenant(purpose, source);
75
- }
76
59
  //# sourceMappingURL=tenant-resolver.js.map
@@ -1 +1 @@
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
+ {"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate-root.d.ts","sourceRoot":"","sources":["../../../domain/models/aggregate-root.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACf,MAAM,2CAA2C,CAAC;AAEnD,QAAA,MAAM,eAAe,eAA4B,CAAC;AAClD,QAAA,MAAM,sBAAsB,eAAmC,CAAC;AAEhE;;;;;;;;;;;GAWG;AACH,8BAAsB,aAAa,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM,CACnE,YAAW,cAAc,CAAC,SAAS,CAAC;IAEpC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAmB;IAErD;;OAEG;IACH,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAE5B;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACrC,MAAM,EAAE,CAAC,EACT,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAET;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,EAAE,CAAC,EAAE,EACZ,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAET;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,OAAO,CAO3C;IAED;;OAEG;IACH,QAAQ,IAAI,IAAI,CAEf;IAED;;OAEG;IACH,oBAAoB,IAAI,SAAS,EAAE,CAElC;IAED;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAI1C;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACnC,KAAK,EAAE,CAAC,EACR,sBAAsB,GAAE,OAAO,GAAG,iBAAsB,GACvD,IAAI,CAyBN;IAED;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACvD,KAAK,EAAE,CAAC,GACP,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAMlC;IAED;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAG7C;CACF"}
1
+ {"version":3,"file":"aggregate-root.d.ts","sourceRoot":"","sources":["../../../domain/models/aggregate-root.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACf,MAAM,2CAA2C,CAAC;AAEnD,QAAA,MAAM,eAAe,eAA4B,CAAC;AAClD,QAAA,MAAM,sBAAsB,eAAmC,CAAC;AAEhE;;;;;;;;;;;GAWG;AACH,8BAAsB,aAAa,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM,CACnE,YAAW,cAAc,CAAC,SAAS,CAAC;IAEpC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAmB;IAErD;;OAEG;IACH,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAE5B;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACrC,MAAM,EAAE,CAAC,EACT,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAET;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,EAAE,CAAC,EAAE,EACZ,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAET;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,OAAO,CAO3C;IAED;;OAEG;IACH,QAAQ,IAAI,IAAI,CAEf;IAED;;OAEG;IACH,oBAAoB,IAAI,SAAS,EAAE,CAElC;IAED;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAI1C;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACnC,KAAK,EAAE,CAAC,EACR,sBAAsB,GAAE,OAAO,GAAG,iBAAsB,GACvD,IAAI,CAsBN;IAED;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACvD,KAAK,EAAE,CAAC,GACP,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAMlC;IAED;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAG7C;CACF"}
@@ -108,12 +108,11 @@ export class AggregateRoot {
108
108
  * @param optionsOrIsFromHistory Boolean indicating historical event or options object.
109
109
  */
110
110
  apply(event, optionsOrIsFromHistory = {}) {
111
- const isFromHistory = (typeof optionsOrIsFromHistory === 'boolean'
112
- ? optionsOrIsFromHistory
113
- : optionsOrIsFromHistory.fromHistory) ?? false;
114
- const skipHandler = (typeof optionsOrIsFromHistory === 'boolean'
115
- ? false
116
- : optionsOrIsFromHistory.skipHandler) ?? false;
111
+ const options = typeof optionsOrIsFromHistory === 'boolean'
112
+ ? { fromHistory: optionsOrIsFromHistory }
113
+ : optionsOrIsFromHistory;
114
+ const isFromHistory = options.fromHistory ?? false;
115
+ const skipHandler = options.skipHandler ?? false;
117
116
  if (!isFromHistory && !this.autoCommit) {
118
117
  this[INTERNAL_EVENTS].push(event);
119
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate-root.js","sourceRoot":"","sources":["../../../domain/models/aggregate-root.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregate-root.js","sourceRoot":"","sources":["../../../domain/models/aggregate-root.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"root.entity.d.ts","sourceRoot":"","sources":["../../../domain/models/root.entity.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,8BAAsB,UAAU,CAC5B,SAAS,SAAS,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAEpE,SAAQ,aACR,YAAW,kBAAkB;IAE7B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,UAAU,CAAO;IACzB,OAAO,CAAC,UAAU,CAAO;IACzB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAEpC,YAAY,QAAQ,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAsCjD;IAED,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAKhD;IAED,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAe1D;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CACT,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,EAC/B,SAAS,SAAS,OAAO,CAAC,kBAAkB,CAAC,EAE7C,IAAI,EACA;QAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAA;KAAE,GACpC,CAAC,QAAQ,MACP,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,CAAC,CAAC,EACX,SAAS,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAC1C,CAAC,GAAG,IAAI,CA2BV;IAED,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;;OAGG;IACH,OAAO,KAAK,EAAE,QAEb;IAED,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED;;;OAGG;IACH,OAAO,KAAK,SAAS,QAEpB;IAED,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED;;;OAGG;IACH,OAAO,KAAK,SAAS,QAEpB;IAED;;;;;;;;;;;OAWG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;;OAKG;IACH,OAAO,KAAK,OAAO,QAKlB;IAED;;;;;;;;;;;;;;OAcG;IACH,kBAAkB,IAAI,MAAM,CAE3B;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAY3C;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,UAAU,CAAC,OAAO,SAAS,MAAM,EACzC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAC5B,IAAI,CAsCN;IAED,SAAS,CAAC,QAAQ,IAAI,IAAI,CAIzB;IAED,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAE7D;IAED;;;;OAIG;IACH,SAAS,CAAC,WAAW,IAAI,IAAI,CAAG;IAEhC,QAAQ,CAAC,MAAM,IAAI,kBAAkB,GAAG,SAAS,CAAC;CACnD"}
1
+ {"version":3,"file":"root.entity.d.ts","sourceRoot":"","sources":["../../../domain/models/root.entity.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,8BAAsB,UAAU,CAC5B,SAAS,SAAS,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAEpE,SAAQ,aACR,YAAW,kBAAkB;IAE7B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,UAAU,CAAO;IACzB,OAAO,CAAC,UAAU,CAAO;IACzB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAEpC,YAAY,QAAQ,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAmCjD;IAED,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAKhD;IAED,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAe1D;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CACT,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,EAC/B,SAAS,SAAS,OAAO,CAAC,kBAAkB,CAAC,EAE7C,IAAI,EACA;QAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAA;KAAE,GACpC,CAAC,QAAQ,MACP,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,CAAC,CAAC,EACX,SAAS,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAC1C,CAAC,GAAG,IAAI,CAsBV;IAED,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;;OAGG;IACH,OAAO,KAAK,EAAE,QAEb;IAED,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED;;;OAGG;IACH,OAAO,KAAK,SAAS,QAEpB;IAED,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED;;;OAGG;IACH,OAAO,KAAK,SAAS,QAEpB;IAED;;;;;;;;;;;OAWG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;;OAKG;IACH,OAAO,KAAK,OAAO,QAKlB;IAED;;;;;;;;;;;;;;OAcG;IACH,kBAAkB,IAAI,MAAM,CAE3B;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAY3C;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,UAAU,CAAC,OAAO,SAAS,MAAM,EACzC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAC5B,IAAI,CAsCN;IAED,SAAS,CAAC,QAAQ,IAAI,IAAI,CAIzB;IAED,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAE7D;IAED;;;;OAIG;IACH,SAAS,CAAC,WAAW,IAAI,IAAI,CAAG;IAEhC,QAAQ,CAAC,MAAM,IAAI,kBAAkB,GAAG,SAAS,CAAC;CACnD"}
@@ -3,6 +3,9 @@ import { isUuidV7, uuidv7 } from '@cqrs-ddd/uuidv7';
3
3
  import { getMutableFields } from '../decorators/mutable.decorator.js';
4
4
  import { UnknownMutableFieldError } from '../exceptions/unknown-mutable-field.error.js';
5
5
  import { AggregateRoot } from './aggregate-root.js';
6
+ function isPositiveInteger(value) {
7
+ return typeof value === 'number' && Number.isInteger(value) && value > 0;
8
+ }
6
9
  /**
7
10
  * Abstract base entity for DDD domain aggregates and entities.
8
11
  *
@@ -81,10 +84,7 @@ export class RootEntity extends AggregateRoot {
81
84
  const createdAt = snapshot?.createdAt;
82
85
  const updatedAt = snapshot?.updatedAt;
83
86
  const version = snapshot?.version;
84
- this._version =
85
- typeof version === 'number' && Number.isInteger(version) && version > 0
86
- ? version
87
- : 1;
87
+ this._version = isPositiveInteger(version) ? version : 1;
88
88
  this._persistedVersion = this._version;
89
89
  if (id !== undefined &&
90
90
  createdAt !== undefined &&
@@ -135,24 +135,18 @@ export class RootEntity extends AggregateRoot {
135
135
  return null;
136
136
  }
137
137
  // biome-ignore lint/complexity/noThisInStatic: Polymorphic static rehydration
138
- const targetClass = this;
139
- if (typeof targetClass === 'function') {
140
- if (candidate instanceof targetClass) {
138
+ const target = this;
139
+ if (candidate instanceof RootEntity) {
140
+ if (typeof target !== 'function' || candidate instanceof target) {
141
141
  return candidate;
142
142
  }
143
- if (candidate instanceof RootEntity) {
144
- const expectedName = targetClass.name || 'TargetEntity';
145
- const actualName = candidate.constructor?.name || 'RootEntity';
146
- throw new TypeError(`Cannot rehydrate entity: expected instance of ${expectedName}, received incompatible aggregate ${actualName}.`);
147
- }
143
+ const expectedName = target.name || 'TargetEntity';
144
+ const actualName = candidate.constructor?.name || 'RootEntity';
145
+ throw new TypeError(`Cannot rehydrate entity: expected instance of ${expectedName}, received incompatible aggregate ${actualName}.`);
148
146
  }
149
- else if (candidate instanceof RootEntity) {
150
- return candidate;
151
- }
152
- // biome-ignore lint/complexity/noThisInStatic: Polymorphic static rehydration
153
- const ctor = this;
154
- if (typeof ctor.fromJSON === 'function') {
155
- return ctor.fromJSON(candidate);
147
+ const { fromJSON } = target;
148
+ if (typeof fromJSON === 'function') {
149
+ return fromJSON.call(target, candidate);
156
150
  }
157
151
  throw new Error('Cannot rehydrate entity: missing fromJSON factory.');
158
152
  }
@@ -208,7 +202,7 @@ export class RootEntity extends AggregateRoot {
208
202
  * positive integer is ignored.
209
203
  */
210
204
  set version(value) {
211
- if (typeof value === 'number' && Number.isInteger(value) && value > 0) {
205
+ if (isPositiveInteger(value)) {
212
206
  this._version = value;
213
207
  this._persistedVersion = value;
214
208
  }
@@ -268,7 +262,7 @@ export class RootEntity extends AggregateRoot {
268
262
  */
269
263
  acknowledgePersisted(version) {
270
264
  if (typeof version === 'number') {
271
- if (!Number.isInteger(version) || version <= 0) {
265
+ if (!isPositiveInteger(version)) {
272
266
  throw new Error('Persisted version must be a positive integer.');
273
267
  }
274
268
  this._persistedVersion = version;
@@ -1 +1 @@
1
- {"version":3,"file":"root.entity.js","sourceRoot":"","sources":["../../../domain/models/root.entity.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAExF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,MAAM,OAAgB,UAGpB,SAAQ,aAAa;IAGb,GAAG,CAAS;IACZ,UAAU,CAAO;IACjB,UAAU,CAAO;IACf,QAAQ,CAAS;IACjB,iBAAiB,CAAS;IAEpC,YAAY,QAAsC;QAChD,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,GAAG,QAAQ,EAAE,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,QAAQ,EAAE,SAAS,CAAC;QACtC,MAAM,SAAS,GAAG,QAAQ,EAAE,SAAS,CAAC;QACtC,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,CAAC;QAElC,IAAI,CAAC,QAAQ;YACX,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;gBACrE,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,CAAC,CAAC;QACR,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEvC,IACE,EAAE,KAAK,SAAS;YAChB,SAAS,KAAK,SAAS;YACvB,SAAS,KAAK,SAAS,EACvB,CAAC;YACD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,IACE,EAAE,KAAK,SAAS;YAChB,SAAS,KAAK,SAAS;YACvB,SAAS,KAAK,SAAS,EACvB,CAAC;YACD,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IACxB,CAAC;IAES,MAAM,CAAC,WAAW,CAAC,EAAW;QACtC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAES,MAAM,CAAC,aAAa,CAAC,KAAqB;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAST,SAA2C;QAE3C,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,8EAA8E;QAC9E,MAAM,WAAW,GAAG,IAAuD,CAAC;QAC5E,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;YACtC,IAAI,SAAS,YAAY,WAAW,EAAE,CAAC;gBACrC,OAAO,SAAc,CAAC;YACxB,CAAC;YACD,IAAI,SAAS,YAAY,UAAU,EAAE,CAAC;gBACpC,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,IAAI,cAAc,CAAC;gBACxD,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,IAAI,IAAI,YAAY,CAAC;gBAC/D,MAAM,IAAI,SAAS,CACjB,iDAAiD,YAAY,qCAAqC,UAAU,GAAG,CAChH,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,YAAY,UAAU,EAAE,CAAC;YAC3C,OAAO,SAAc,CAAC;QACxB,CAAC;QAED,8EAA8E;QAC9E,MAAM,IAAI,GAAG,IAAuD,CAAC;QACrE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAsB,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,IAAY,EAAE,CAAC,KAAa;QAC1B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,IAAY,SAAS,CAAC,KAAoB;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,IAAY,SAAS,CAAC,KAAoB;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,IAAY,OAAO,CAAC,KAAa;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,oBAAoB,CAAC,OAAgB;QACnC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;YACjC,IAAI,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YAC1B,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACO,UAAU,CAClB,KAA6B;QAE7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CACjB,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAGP,EAAE,CAAC;QAER,2EAA2E;QAC3E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE;oBAC7D,GAAG,MAAM,CAAC,IAAI,EAAE;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC;gBACV,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,KAAK,EAAE,eAAe;aACvB,CAAC,CAAC;QACL,CAAC;QAED,yDAAyD;QACzD,KAAK,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC;YAC3C,IAA2C,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;QACpE,CAAC;IACH,CAAC;IAES,QAAQ;QAChB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAES,WAAW,CAAmB,KAAQ;QAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACO,WAAW,KAAU,CAAC;CAGjC"}
1
+ {"version":3,"file":"root.entity.js","sourceRoot":"","sources":["../../../domain/models/root.entity.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ export interface PersistedAggregate {
46
46
  * @AcknowledgePersisted<[Role]>({ entity: ([role]) => role })
47
47
  * @MapPersistenceErrors<[Role], Role>({
48
48
  * entity: ([role]) => role,
49
- * unique: [{ constraint: 'roles_name_unique', columns: 'roles.name', error: (r) => new UniqueRoleNameException(r) }],
49
+ * unique: { name: (role) => new UniqueRoleNameException(role) },
50
50
  * })
51
51
  * async save(role: Role): Promise<RoleSnapshot> {
52
52
  * const snapshot = role.toJSON();
@@ -63,7 +63,7 @@ export interface PersistedAggregate {
63
63
  * @AcknowledgePersisted<[Role]>({ entity: ([role]) => role })
64
64
  * @MapPersistenceErrors<[Role], Role>({
65
65
  * entity: ([role]) => role,
66
- * unique: [{ constraint: 'roles_name_unique', columns: 'roles.name', error: (r) => new UniqueRoleNameException(r) }],
66
+ * unique: { name: (role) => new UniqueRoleNameException(role) },
67
67
  * })
68
68
  * async save(role: Role): Promise<RoleSnapshot> {
69
69
  * const created = this.store.em.create(Role, role);
@@ -32,7 +32,7 @@
32
32
  * @AcknowledgePersisted<[Role]>({ entity: ([role]) => role })
33
33
  * @MapPersistenceErrors<[Role], Role>({
34
34
  * entity: ([role]) => role,
35
- * unique: [{ constraint: 'roles_name_unique', columns: 'roles.name', error: (r) => new UniqueRoleNameException(r) }],
35
+ * unique: { name: (role) => new UniqueRoleNameException(role) },
36
36
  * })
37
37
  * async save(role: Role): Promise<RoleSnapshot> {
38
38
  * const snapshot = role.toJSON();
@@ -49,7 +49,7 @@
49
49
  * @AcknowledgePersisted<[Role]>({ entity: ([role]) => role })
50
50
  * @MapPersistenceErrors<[Role], Role>({
51
51
  * entity: ([role]) => role,
52
- * unique: [{ constraint: 'roles_name_unique', columns: 'roles.name', error: (r) => new UniqueRoleNameException(r) }],
52
+ * unique: { name: (role) => new UniqueRoleNameException(role) },
53
53
  * })
54
54
  * async save(role: Role): Promise<RoleSnapshot> {
55
55
  * const created = this.store.em.create(Role, role);
@@ -207,7 +207,7 @@ function setKeyOf(entity, setKey, logger) {
207
207
  /**
208
208
  * Writes the save's snapshot under `setKey`: `set` with `isNewer` on an
209
209
  * unversioned adapter, a fenced `tryFill` when the key's revision was observed
210
- * before persistence, and an invalidation otherwise.
210
+ * before persistence, and an invalidation otherwise or when that fill is rejected.
211
211
  */
212
212
  async function writeThrough(run, setKey, resolved) {
213
213
  const { cache, observed } = run;
@@ -226,9 +226,11 @@ async function writeThrough(run, setKey, resolved) {
226
226
  // Skip the write-through when the snapshot observed before
227
227
  // persistence is already newer; otherwise commit it only if
228
228
  // the revision still matches, so a concurrent mutation wins.
229
- await cache.tryFill(setKey, observed.revision, snapshot, {
230
- ttl,
231
- });
229
+ const committed = await cache.tryFill(setKey, observed.revision, snapshot, { ttl });
230
+ // A rejected fill means the key changed during the write, possibly to
231
+ // a reader's pre-write snapshot; drop it instead of serving it.
232
+ if (!committed)
233
+ await cache.invalidate(setKey);
232
234
  }
233
235
  }
234
236
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"cache.decorator.js","sourceRoot":"","sources":["../../../persistence/decorators/cache.decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.decorator.js","sourceRoot":"","sources":["../../../persistence/decorators/cache.decorator.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAGL,gBAAgB,GACjB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAEL,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,MAAM,aAAa,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;AAE3D,SAAS,YAAY,CAAC,GAAY;IAChC,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AASD;;;;;;;;;GASG;AACH,KAAK,UAAU,QAAQ,CACrB,KAAsB,EACtB,GAAW,EACX,QAAkB;IAElB,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7E,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;AAC9D,CAAC;AAsDD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,UAAU,KAAK,CACnB,eAA6E,EAC7E,YAAqD,EACrD,gBAAyD;IAEzD,MAAM,OAAO,GACX,OAAO,eAAe,KAAK,UAAU,IAAI,eAAe,KAAK,IAAI;QAC/D,CAAC,CAAC;YACE,MAAM,EAAE,eAAe;YACvB,UAAU,EAAE,YAAY;YACxB,cAAc,EAAE,gBAAgB;SACjC;QACH,CAAC,CAAC,eAAe,CAAC;IACtB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CACb,kGAAkG,CACnG,CAAC;IACJ,CAAC;IAED,OAAO,CACL,OAAe,EACf,YAA6B,EAC7B,UAA8B,EAC9B,EAAE;QACF,UAAU,CAAC,KAAK,GAAG,QAAQ,CACzB,UAAU,CAAC,KAAK,EAChB,OAAO,EACP,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AA8BD,SAAS,cAAc,CACrB,OAA8B;IAE9B,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;QACtC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;QAC9C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,sBAAsB;QACxD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,aAAa;QACvC,OAAO,EACL,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CACf,QAAsD,EACtD,OAA8B,EAC9B,QAAuC;IAEvC,OAAO,KAAK,WAEV,MAAe;QAEf,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,qEAAqE;QACrE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC5B,MAAM,UAAU,GAAG,KAAK,IAAI,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,UAAU;YACzB,CAAC,CAAC,MAAM,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;YACzC,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,0BAA0B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,aAAa,CACjB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAC/C,QAAQ,CACT,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,KAA+B,EAC/B,MAAmC,EACnC,MAAe;IAEf,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO;YACL,GAAG;YACH,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SACxD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAC1B,GAA8B,EAC9B,QAAuC;IAEvC,oEAAoE;IACpE,4DAA4D;IAC5D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC;QACjE,MAAM,QAAQ,GAAa;YACzB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;YAC5C,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC;QACF,MAAM,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QAEzC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,MAAM;YAAE,MAAM,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CACN,QAAQ,CAAC,MAAM,EACf,8CAA8C,YAAY,CAAC,GAAG,CAAC,EAAE,CAClE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,GAA8B,EAC9B,QAAiB,EACjB,QAAkB,EAClB,QAAuC;IAEvC,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,cAAc,CAAC;YAC/D,QAAQ,CACN,QAAQ,CAAC,MAAM,EACf,UAAU,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,EAAE,CACtD,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAClB,MAAe,EACf,QAAiB,EACjB,QAAuC;IAEvC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;IACxE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC7D,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACpE,QAAQ,CACN,QAAQ,CAAC,MAAM,EACf,oBAAoB,SAAS,WAAW,SAAS,KAAK,YAAY,CAAC,GAAG,CAAC,EAAE,CAC1E,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CACf,MAAe,EACf,MAAmC,EACnC,MAAoB;IAEpB,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CACN,MAAM,EACN,qDAAqD,YAAY,CAAC,GAAG,CAAC,EAAE,CACzE,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,YAAY,CACzB,GAA8B,EAC9B,MAAc,EACd,QAAuC;IAEvC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;IAChC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,QAAQ,EAAE,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC;YACvE,6DAA6D;YAC7D,6DAA6D;YAC7D,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAChD,2DAA2D;YAC3D,4DAA4D;YAC5D,6DAA6D;YAC7D,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CACnC,MAAM,EACN,QAAQ,CAAC,QAAQ,EACjB,QAAiB,EACjB,EAAE,GAAG,EAAE,CACR,CAAC;YACF,sEAAsE;YACtE,gEAAgE;YAChE,IAAI,CAAC,SAAS;gBAAE,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CACN,QAAQ,CAAC,MAAM,EACf,6BAA6B,MAAM,MAAM,YAAY,CAAC,GAAG,CAAC,EAAE,CAC7D,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,7 +1,5 @@
1
1
  import { IQueryOptions } from '../../application/query.options.js';
2
2
  import type { ICacheLogger } from '../cache/cache-logger.js';
3
- import { isCacheNewer } from '../helpers/cache-version.helper.js';
4
- export { isCacheNewer };
5
3
  /**
6
4
  * Options for configuring read-through caching and rehydration via {@link FromCache}.
7
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"from-cache.decorator.d.ts","sourceRoot":"","sources":["../../../persistence/decorators/from-cache.decorator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAK7D,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAMlE,OAAO,EAAE,YAAY,EAAE,CAAC;AA8BxB;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACnE;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAElD;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;IAElD;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;IAEpD;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC;IAE1D;;;;OAIG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AA4BD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CACvB,MAAM,SAAS,aAAa,GAAG,aAAa,EAC5C,OAAO,GAAG,OAAO,EAEjB,cAAc,EACV,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC,GAClC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,kBAAkB,CAAC,EACf,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,GAC9B,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,YAAY,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/C,eAAe,CAoCjB"}
1
+ {"version":3,"file":"from-cache.decorator.d.ts","sourceRoot":"","sources":["../../../persistence/decorators/from-cache.decorator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAuC7D;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACnE;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAElD;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;IAElD;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;IAEpD;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC;IAE1D;;;;OAIG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AA4BD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CACvB,MAAM,SAAS,aAAa,GAAG,aAAa,EAC5C,OAAO,GAAG,OAAO,EAEjB,cAAc,EACV,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC,GAClC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,kBAAkB,CAAC,EACf,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,GAC9B,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,YAAY,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/C,eAAe,CAoCjB"}
@@ -5,7 +5,6 @@ import { isCacheMutationBarrier } from '../helpers/cache-barrier.helper.js';
5
5
  import { reportMissingCacheProperty } from '../helpers/cache-owner.helper.js';
6
6
  import { toCacheSnapshot } from '../helpers/cache-snapshot.helper.js';
7
7
  import { isCacheNewer } from '../helpers/cache-version.helper.js';
8
- export { isCacheNewer };
9
8
  const defaultLogger = consoleCacheLogger('FromCacheDecorator');
10
9
  const warnedUnversionedAdapters = new WeakSet();
11
10
  const reportedUncacheable = new WeakSet();
@@ -1 +1 @@
1
- {"version":3,"file":"from-cache.decorator.js","sourceRoot":"","sources":["../../../persistence/decorators/from-cache.decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"from-cache.decorator.js","sourceRoot":"","sources":["../../../persistence/decorators/from-cache.decorator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cqrs-ddd/core",
3
- "version": "0.5.2",
3
+ "version": "0.6.0",
4
4
  "description": "Framework- and ORM-neutral DDD building blocks for TypeScript: aggregates and domain events, CQRS base classes and repository ports, and a revision-fenced repository cache, as separate entry points.",
5
5
  "author": "Aristotelis",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -61,8 +61,8 @@
61
61
  "access": "public"
62
62
  },
63
63
  "dependencies": {
64
- "@cqrs-ddd/safe-stringify": "^0.5.2",
65
- "@cqrs-ddd/uuidv7": "^0.5.2"
64
+ "@cqrs-ddd/safe-stringify": "^0.6.0",
65
+ "@cqrs-ddd/uuidv7": "^0.6.0"
66
66
  },
67
67
  "devDependencies": {
68
68
  "@vitest/coverage-v8": "^5.0.5",