@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.
Files changed (174) hide show
  1. package/README.md +3 -0
  2. package/dist/application/base.command.js +5 -9
  3. package/dist/application/base.command.js.map +1 -1
  4. package/dist/application/base.query.d.ts +1 -1
  5. package/dist/application/base.query.d.ts.map +1 -1
  6. package/dist/application/base.query.js +7 -11
  7. package/dist/application/base.query.js.map +1 -1
  8. package/dist/application/command-base.handler.d.ts +2 -2
  9. package/dist/application/command-base.handler.d.ts.map +1 -1
  10. package/dist/application/command-base.handler.js +3 -7
  11. package/dist/application/command-base.handler.js.map +1 -1
  12. package/dist/application/index.d.ts +10 -10
  13. package/dist/application/index.d.ts.map +1 -1
  14. package/dist/application/index.js +10 -26
  15. package/dist/application/index.js.map +1 -1
  16. package/dist/application/ports/cache.port.js +1 -4
  17. package/dist/application/ports/cache.port.js.map +1 -1
  18. package/dist/application/ports/command-repository.port.js +1 -2
  19. package/dist/application/ports/command-repository.port.js.map +1 -1
  20. package/dist/application/ports/domain-event-publisher.port.d.ts +1 -1
  21. package/dist/application/ports/domain-event-publisher.port.d.ts.map +1 -1
  22. package/dist/application/ports/domain-event-publisher.port.js +1 -2
  23. package/dist/application/ports/domain-event-publisher.port.js.map +1 -1
  24. package/dist/application/ports/query-repository.port.d.ts +1 -1
  25. package/dist/application/ports/query-repository.port.d.ts.map +1 -1
  26. package/dist/application/ports/query-repository.port.js +1 -2
  27. package/dist/application/ports/query-repository.port.js.map +1 -1
  28. package/dist/application/ports/write-side-aggregate-repository.port.d.ts +1 -1
  29. package/dist/application/ports/write-side-aggregate-repository.port.d.ts.map +1 -1
  30. package/dist/application/ports/write-side-aggregate-repository.port.js +1 -2
  31. package/dist/application/ports/write-side-aggregate-repository.port.js.map +1 -1
  32. package/dist/application/query.options.js +1 -2
  33. package/dist/application/query.options.js.map +1 -1
  34. package/dist/application/request-fields.helper.js +2 -6
  35. package/dist/application/request-fields.helper.js.map +1 -1
  36. package/dist/application/tenant-resolver.js +5 -10
  37. package/dist/application/tenant-resolver.js.map +1 -1
  38. package/dist/domain/decorators/apply-mutation.decorator.d.ts +1 -1
  39. package/dist/domain/decorators/apply-mutation.decorator.d.ts.map +1 -1
  40. package/dist/domain/decorators/apply-mutation.decorator.js +1 -4
  41. package/dist/domain/decorators/apply-mutation.decorator.js.map +1 -1
  42. package/dist/domain/decorators/mutable.decorator.js +2 -6
  43. package/dist/domain/decorators/mutable.decorator.js.map +1 -1
  44. package/dist/domain/events/domain.event.d.ts +1 -1
  45. package/dist/domain/events/domain.event.d.ts.map +1 -1
  46. package/dist/domain/events/domain.event.js +3 -7
  47. package/dist/domain/events/domain.event.js.map +1 -1
  48. package/dist/domain/events/event.interface.js +1 -2
  49. package/dist/domain/events/event.interface.js.map +1 -1
  50. package/dist/domain/events/root-domain.event.d.ts +3 -3
  51. package/dist/domain/events/root-domain.event.d.ts.map +1 -1
  52. package/dist/domain/events/root-domain.event.js +3 -8
  53. package/dist/domain/events/root-domain.event.js.map +1 -1
  54. package/dist/domain/exceptions/concurrency-conflict.error.d.ts +1 -1
  55. package/dist/domain/exceptions/concurrency-conflict.error.d.ts.map +1 -1
  56. package/dist/domain/exceptions/concurrency-conflict.error.js +2 -6
  57. package/dist/domain/exceptions/concurrency-conflict.error.js.map +1 -1
  58. package/dist/domain/exceptions/domain.exception.js +1 -5
  59. package/dist/domain/exceptions/domain.exception.js.map +1 -1
  60. package/dist/domain/exceptions/entity-not-found.exception.d.ts +1 -1
  61. package/dist/domain/exceptions/entity-not-found.exception.d.ts.map +1 -1
  62. package/dist/domain/exceptions/entity-not-found.exception.js +2 -6
  63. package/dist/domain/exceptions/entity-not-found.exception.js.map +1 -1
  64. package/dist/domain/exceptions/invalid-value.exception.d.ts +2 -2
  65. package/dist/domain/exceptions/invalid-value.exception.d.ts.map +1 -1
  66. package/dist/domain/exceptions/invalid-value.exception.js +2 -6
  67. package/dist/domain/exceptions/invalid-value.exception.js.map +1 -1
  68. package/dist/domain/exceptions/missing-tenant-context.exception.d.ts +1 -1
  69. package/dist/domain/exceptions/missing-tenant-context.exception.d.ts.map +1 -1
  70. package/dist/domain/exceptions/missing-tenant-context.exception.js +2 -6
  71. package/dist/domain/exceptions/missing-tenant-context.exception.js.map +1 -1
  72. package/dist/domain/exceptions/transient-operation.error.js +2 -7
  73. package/dist/domain/exceptions/transient-operation.error.js.map +1 -1
  74. package/dist/domain/exceptions/unknown-mutable-field.error.js +1 -5
  75. package/dist/domain/exceptions/unknown-mutable-field.error.js.map +1 -1
  76. package/dist/domain/index.d.ts +19 -19
  77. package/dist/domain/index.d.ts.map +1 -1
  78. package/dist/domain/index.js +19 -35
  79. package/dist/domain/index.js.map +1 -1
  80. package/dist/domain/interfaces/aggregate-root.interface.d.ts +1 -1
  81. package/dist/domain/interfaces/aggregate-root.interface.d.ts.map +1 -1
  82. package/dist/domain/interfaces/aggregate-root.interface.js +1 -2
  83. package/dist/domain/interfaces/aggregate-root.interface.js.map +1 -1
  84. package/dist/domain/interfaces/root-entity-snapshot.interface.js +1 -2
  85. package/dist/domain/interfaces/root-entity-snapshot.interface.js.map +1 -1
  86. package/dist/domain/models/aggregate-root.d.ts +2 -2
  87. package/dist/domain/models/aggregate-root.d.ts.map +1 -1
  88. package/dist/domain/models/aggregate-root.js +1 -5
  89. package/dist/domain/models/aggregate-root.js.map +1 -1
  90. package/dist/domain/models/root.entity.d.ts +3 -3
  91. package/dist/domain/models/root.entity.d.ts.map +1 -1
  92. package/dist/domain/models/root.entity.js +9 -13
  93. package/dist/domain/models/root.entity.js.map +1 -1
  94. package/dist/domain/rules/number.rule.d.ts +1 -1
  95. package/dist/domain/rules/number.rule.d.ts.map +1 -1
  96. package/dist/domain/rules/number.rule.js +4 -7
  97. package/dist/domain/rules/number.rule.js.map +1 -1
  98. package/dist/domain/rules/rule-support.d.ts +1 -1
  99. package/dist/domain/rules/rule-support.d.ts.map +1 -1
  100. package/dist/domain/rules/rule-support.js +3 -7
  101. package/dist/domain/rules/rule-support.js.map +1 -1
  102. package/dist/domain/rules/text.rule.d.ts +1 -1
  103. package/dist/domain/rules/text.rule.d.ts.map +1 -1
  104. package/dist/domain/rules/text.rule.js +4 -7
  105. package/dist/domain/rules/text.rule.js.map +1 -1
  106. package/dist/domain/rules/value-violation.js +1 -2
  107. package/dist/domain/rules/value-violation.js.map +1 -1
  108. package/dist/http/domain-error-http-status.d.ts +1 -1
  109. package/dist/http/domain-error-http-status.d.ts.map +1 -1
  110. package/dist/http/domain-error-http-status.js +9 -12
  111. package/dist/http/domain-error-http-status.js.map +1 -1
  112. package/dist/http/index.d.ts +1 -1
  113. package/dist/http/index.d.ts.map +1 -1
  114. package/dist/http/index.js +1 -17
  115. package/dist/http/index.js.map +1 -1
  116. package/dist/index.d.ts +5 -5
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +5 -21
  119. package/dist/index.js.map +1 -1
  120. package/dist/persistence/cache/cache-logger.js +2 -6
  121. package/dist/persistence/cache/cache-logger.js.map +1 -1
  122. package/dist/persistence/cache/memory.cache.d.ts +1 -1
  123. package/dist/persistence/cache/memory.cache.d.ts.map +1 -1
  124. package/dist/persistence/cache/memory.cache.js +4 -8
  125. package/dist/persistence/cache/memory.cache.js.map +1 -1
  126. package/dist/persistence/command-repository.abstract.d.ts +2 -2
  127. package/dist/persistence/command-repository.abstract.d.ts.map +1 -1
  128. package/dist/persistence/command-repository.abstract.js +1 -5
  129. package/dist/persistence/command-repository.abstract.js.map +1 -1
  130. package/dist/persistence/decorators/acknowledge-persisted.decorator.js +1 -4
  131. package/dist/persistence/decorators/acknowledge-persisted.decorator.js.map +1 -1
  132. package/dist/persistence/decorators/cache.decorator.d.ts +1 -1
  133. package/dist/persistence/decorators/cache.decorator.d.ts.map +1 -1
  134. package/dist/persistence/decorators/cache.decorator.js +22 -26
  135. package/dist/persistence/decorators/cache.decorator.js.map +1 -1
  136. package/dist/persistence/decorators/from-cache.decorator.d.ts +3 -3
  137. package/dist/persistence/decorators/from-cache.decorator.d.ts.map +1 -1
  138. package/dist/persistence/decorators/from-cache.decorator.js +16 -20
  139. package/dist/persistence/decorators/from-cache.decorator.js.map +1 -1
  140. package/dist/persistence/decorators/map-persistence-errors.decorator.d.ts +1 -1
  141. package/dist/persistence/decorators/map-persistence-errors.decorator.d.ts.map +1 -1
  142. package/dist/persistence/decorators/map-persistence-errors.decorator.js +3 -6
  143. package/dist/persistence/decorators/map-persistence-errors.decorator.js.map +1 -1
  144. package/dist/persistence/decorators/persisted-write.decorator.d.ts +4 -4
  145. package/dist/persistence/decorators/persisted-write.decorator.d.ts.map +1 -1
  146. package/dist/persistence/decorators/persisted-write.decorator.js +7 -10
  147. package/dist/persistence/decorators/persisted-write.decorator.js.map +1 -1
  148. package/dist/persistence/helpers/cache-barrier.helper.js +4 -8
  149. package/dist/persistence/helpers/cache-barrier.helper.js.map +1 -1
  150. package/dist/persistence/helpers/cache-key.helper.d.ts +1 -1
  151. package/dist/persistence/helpers/cache-key.helper.d.ts.map +1 -1
  152. package/dist/persistence/helpers/cache-key.helper.js +11 -15
  153. package/dist/persistence/helpers/cache-key.helper.js.map +1 -1
  154. package/dist/persistence/helpers/cache-owner.helper.d.ts +1 -1
  155. package/dist/persistence/helpers/cache-owner.helper.d.ts.map +1 -1
  156. package/dist/persistence/helpers/cache-owner.helper.js +4 -7
  157. package/dist/persistence/helpers/cache-owner.helper.js.map +1 -1
  158. package/dist/persistence/helpers/cache-snapshot.helper.js +1 -4
  159. package/dist/persistence/helpers/cache-snapshot.helper.js.map +1 -1
  160. package/dist/persistence/helpers/cache-version.helper.js +5 -8
  161. package/dist/persistence/helpers/cache-version.helper.js.map +1 -1
  162. package/dist/persistence/index.d.ts +14 -14
  163. package/dist/persistence/index.d.ts.map +1 -1
  164. package/dist/persistence/index.js +14 -30
  165. package/dist/persistence/index.js.map +1 -1
  166. package/dist/persistence/persistence-dialect.js +2 -6
  167. package/dist/persistence/persistence-dialect.js.map +1 -1
  168. package/dist/persistence/query-repository.abstract.d.ts +3 -3
  169. package/dist/persistence/query-repository.abstract.d.ts.map +1 -1
  170. package/dist/persistence/query-repository.abstract.js +1 -5
  171. package/dist/persistence/query-repository.abstract.js.map +1 -1
  172. package/dist/types/Method.type.js +1 -2
  173. package/dist/types/Method.type.js.map +1 -1
  174. package/package.json +6 -4
@@ -1,9 +1,6 @@
1
- "use strict";
2
1
  /* Copyright (C) 2026-present Aristotelis — see repository license. */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.reportMissingCacheProperty = reportMissingCacheProperty;
5
- const cache_logger_1 = require("../cache/cache-logger");
6
- const defaultLogger = (0, cache_logger_1.consoleCacheLogger)('CacheDecorators');
2
+ import { consoleCacheLogger, safeWarn } from '../cache/cache-logger.js';
3
+ const defaultLogger = consoleCacheLogger('CacheDecorators');
7
4
  const reportedOwners = new WeakSet();
8
5
  /**
9
6
  * Reports, once per repository class, a cache decorator running on an instance
@@ -11,12 +8,12 @@ const reportedOwners = new WeakSet();
11
8
  * maintenance and read-through are skipped. An instance that declares `cache`
12
9
  * and leaves it unset is intentionally uncached and is not reported.
13
10
  */
14
- function reportMissingCacheProperty(instance, decorator, logger = defaultLogger) {
11
+ export function reportMissingCacheProperty(instance, decorator, logger = defaultLogger) {
15
12
  const owner = instance.constructor;
16
13
  if ('cache' in instance || reportedOwners.has(owner))
17
14
  return;
18
15
  reportedOwners.add(owner);
19
- (0, cache_logger_1.safeWarn)(logger, `${owner.name} uses ${decorator} but has no \`cache\` property, so caching is skipped. ` +
16
+ safeWarn(logger, `${owner.name} uses ${decorator} but has no \`cache\` property, so caching is skipped. ` +
20
17
  'Extend CommandRepository/QueryRepository or declare a `cache` property.');
21
18
  }
22
19
  //# sourceMappingURL=cache-owner.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache-owner.helper.js","sourceRoot":"","sources":["../../../persistence/helpers/cache-owner.helper.ts"],"names":[],"mappings":";AAAA,sEAAsE;;;AAGtE,wDAAqE;AAErE,MAAM,aAAa,GAAG,IAAA,iCAAkB,EAAC,iBAAiB,CAAC,CAAC;AAC5D,MAAM,cAAc,GAAG,IAAI,OAAO,EAAU,CAAC;AAE7C;;;;;GAKG;AACH,oCACE,QAAgB,EAChB,SAAkC,EAClC,MAAM,GAAiB,aAAa;IAEpC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC;IACnC,IAAI,OAAO,IAAI,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO;IAC7D,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAA,uBAAQ,EACN,MAAM,EACN,GAAG,KAAK,CAAC,IAAI,SAAS,SAAS,yDAAyD;QACtF,yEAAyE,CAC5E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cache-owner.helper.js","sourceRoot":"","sources":["../../../persistence/helpers/cache-owner.helper.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAGtE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAExE,MAAM,aAAa,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;AAC5D,MAAM,cAAc,GAAG,IAAI,OAAO,EAAU,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAAgB,EAChB,SAAkC,EAClC,MAAM,GAAiB,aAAa;IAEpC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC;IACnC,IAAI,OAAO,IAAI,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO;IAC7D,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1B,QAAQ,CACN,MAAM,EACN,GAAG,KAAK,CAAC,IAAI,SAAS,SAAS,yDAAyD;QACtF,yEAAyE,CAC5E,CAAC;AACJ,CAAC"}
@@ -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.toCacheSnapshot = toCacheSnapshot;
5
2
  /**
6
3
  * Extracts a detached, serializable snapshot from a domain entity, aggregate root,
7
4
  * or arbitrary value before storing in cache or performing version comparisons.
@@ -28,7 +25,7 @@ exports.toCacheSnapshot = toCacheSnapshot;
28
25
  * @param serializeFn - Optional custom serialization function.
29
26
  * @returns Pure, detached serializable snapshot.
30
27
  */
31
- function toCacheSnapshot(value, serializeFn) {
28
+ export function toCacheSnapshot(value, serializeFn) {
32
29
  if (serializeFn) {
33
30
  return serializeFn(value);
34
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cache-snapshot.helper.js","sourceRoot":"","sources":["../../../persistence/helpers/cache-snapshot.helper.ts"],"names":[],"mappings":";AAAA,sEAAsE;;;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,yBACE,KAAQ,EACR,WAA4C;IAE5C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,OAAQ,KAA8B,CAAC,MAAM,KAAK,UAAU;QACjE,CAAC,CAAE,KAA0C,CAAC,MAAM,EAAE;QACtD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"cache-snapshot.helper.js","sourceRoot":"","sources":["../../../persistence/helpers/cache-snapshot.helper.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAQ,EACR,WAA4C;IAE5C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,OAAQ,KAA8B,CAAC,MAAM,KAAK,UAAU;QACjE,CAAC,CAAE,KAA0C,CAAC,MAAM,EAAE;QACtD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC"}
@@ -1,8 +1,5 @@
1
- "use strict";
2
1
  /* Copyright (C) 2026-present Aristotelis — see repository license. */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.isCacheNewer = isCacheNewer;
5
- const cache_barrier_helper_1 = require("./cache-barrier.helper");
2
+ import { isCacheMutationBarrier } from './cache-barrier.helper.js';
6
3
  /**
7
4
  * Checks whether a cached snapshot or record is strictly newer than an incoming
8
5
  * record based on explicit version numbers, generation counters, or updatedAt timestamps.
@@ -30,7 +27,7 @@ const cache_barrier_helper_1 = require("./cache-barrier.helper");
30
27
  * @param incoming - The incoming data being written or compared.
31
28
  * @returns `true` if `cached` is strictly newer than `incoming`, `false` otherwise.
32
29
  */
33
- function isCacheNewer(cached, incoming) {
30
+ export function isCacheNewer(cached, incoming) {
34
31
  if (!cached ||
35
32
  typeof cached !== 'object' ||
36
33
  !incoming ||
@@ -41,15 +38,15 @@ function isCacheNewer(cached, incoming) {
41
38
  // outranks any snapshot: a write-through that started before a concurrent
42
39
  // delete must not overwrite it, or the deleted aggregate would reappear in the
43
40
  // cache as an ordinary hit.
44
- if ((0, cache_barrier_helper_1.isCacheMutationBarrier)(cached)) {
45
- if (!(0, cache_barrier_helper_1.isCacheMutationBarrier)(incoming))
41
+ if (isCacheMutationBarrier(cached)) {
42
+ if (!isCacheMutationBarrier(incoming))
46
43
  return true;
47
44
  // Between two barriers the later one wins, so a fresh mutation can still
48
45
  // supersede an older one.
49
46
  return incoming.createdAt <= cached.createdAt;
50
47
  }
51
48
  // A barrier arriving over a snapshot must always be applied.
52
- if ((0, cache_barrier_helper_1.isCacheMutationBarrier)(incoming))
49
+ if (isCacheMutationBarrier(incoming))
53
50
  return false;
54
51
  const c = cached;
55
52
  const inc = incoming;
@@ -1 +1 @@
1
- {"version":3,"file":"cache-version.helper.js","sourceRoot":"","sources":["../../../persistence/helpers/cache-version.helper.ts"],"names":[],"mappings":";AAAA,sEAAsE;;;AAEtE,iEAAgE;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,sBAA6B,MAAe,EAAE,QAAiB;IAC7D,IACE,CAAC,MAAM;QACP,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,QAAQ;QACT,OAAO,QAAQ,KAAK,QAAQ,EAC5B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,+EAA+E;IAC/E,4BAA4B;IAC5B,IAAI,IAAA,6CAAsB,EAAC,MAAM,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,IAAA,6CAAsB,EAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACnD,yEAAyE;QACzE,0BAA0B;QAC1B,OAAO,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;IAChD,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAA,6CAAsB,EAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnD,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,MAAM,GAAG,GAAG,QAAmC,CAAC;IAEhD,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrE,OAAO,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjE,OAAO,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAmC,CAAC,CAAC,OAAO,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,SAAmC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,OAAO,KAAK,GAAG,OAAO,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"cache-version.helper.js","sourceRoot":"","sources":["../../../persistence/helpers/cache-version.helper.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,YAAY,CAAC,MAAe,EAAE,QAAiB;IAC7D,IACE,CAAC,MAAM;QACP,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,QAAQ;QACT,OAAO,QAAQ,KAAK,QAAQ,EAC5B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,+EAA+E;IAC/E,4BAA4B;IAC5B,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACnD,yEAAyE;QACzE,0BAA0B;QAC1B,OAAO,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;IAChD,CAAC;IAED,6DAA6D;IAC7D,IAAI,sBAAsB,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnD,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,MAAM,GAAG,GAAG,QAAmC,CAAC;IAEhD,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrE,OAAO,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjE,OAAO,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAmC,CAAC,CAAC,OAAO,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,SAAmC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,OAAO,KAAK,GAAG,OAAO,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -6,18 +6,18 @@
6
6
  * should import those and leave this entry point to the adapters. ORM adapters
7
7
  * live in their own packages, such as `@cqrs-ddd/mikro-orm`.
8
8
  */
9
- export * from './cache/cache-logger';
10
- export * from './cache/memory.cache';
11
- export * from './command-repository.abstract';
12
- export * from './decorators/acknowledge-persisted.decorator';
13
- export * from './decorators/cache.decorator';
14
- export * from './decorators/from-cache.decorator';
15
- export * from './decorators/map-persistence-errors.decorator';
16
- export * from './decorators/persisted-write.decorator';
17
- export * from './helpers/cache-barrier.helper';
18
- export * from './helpers/cache-key.helper';
19
- export * from './helpers/cache-snapshot.helper';
20
- export * from './helpers/cache-version.helper';
21
- export * from './persistence-dialect';
22
- export * from './query-repository.abstract';
9
+ export * from './cache/cache-logger.js';
10
+ export * from './cache/memory.cache.js';
11
+ export * from './command-repository.abstract.js';
12
+ export * from './decorators/acknowledge-persisted.decorator.js';
13
+ export * from './decorators/cache.decorator.js';
14
+ export * from './decorators/from-cache.decorator.js';
15
+ export * from './decorators/map-persistence-errors.decorator.js';
16
+ export * from './decorators/persisted-write.decorator.js';
17
+ export * from './helpers/cache-barrier.helper.js';
18
+ export * from './helpers/cache-key.helper.js';
19
+ export * from './helpers/cache-snapshot.helper.js';
20
+ export * from './helpers/cache-version.helper.js';
21
+ export * from './persistence-dialect.js';
22
+ export * from './query-repository.abstract.js';
23
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../persistence/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../persistence/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iDAAiD,CAAC;AAChE,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC;AACjE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC"}
@@ -1,20 +1,4 @@
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
  * ORM-neutral persistence building blocks: the repository base classes, the
20
4
  * lifecycle decorators, the cache protocol and its in-memory adapter.
@@ -23,18 +7,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
23
7
  * should import those and leave this entry point to the adapters. ORM adapters
24
8
  * live in their own packages, such as `@cqrs-ddd/mikro-orm`.
25
9
  */
26
- __exportStar(require("./cache/cache-logger"), exports);
27
- __exportStar(require("./cache/memory.cache"), exports);
28
- __exportStar(require("./command-repository.abstract"), exports);
29
- __exportStar(require("./decorators/acknowledge-persisted.decorator"), exports);
30
- __exportStar(require("./decorators/cache.decorator"), exports);
31
- __exportStar(require("./decorators/from-cache.decorator"), exports);
32
- __exportStar(require("./decorators/map-persistence-errors.decorator"), exports);
33
- __exportStar(require("./decorators/persisted-write.decorator"), exports);
34
- __exportStar(require("./helpers/cache-barrier.helper"), exports);
35
- __exportStar(require("./helpers/cache-key.helper"), exports);
36
- __exportStar(require("./helpers/cache-snapshot.helper"), exports);
37
- __exportStar(require("./helpers/cache-version.helper"), exports);
38
- __exportStar(require("./persistence-dialect"), exports);
39
- __exportStar(require("./query-repository.abstract"), exports);
10
+ export * from './cache/cache-logger.js';
11
+ export * from './cache/memory.cache.js';
12
+ export * from './command-repository.abstract.js';
13
+ export * from './decorators/acknowledge-persisted.decorator.js';
14
+ export * from './decorators/cache.decorator.js';
15
+ export * from './decorators/from-cache.decorator.js';
16
+ export * from './decorators/map-persistence-errors.decorator.js';
17
+ export * from './decorators/persisted-write.decorator.js';
18
+ export * from './helpers/cache-barrier.helper.js';
19
+ export * from './helpers/cache-key.helper.js';
20
+ export * from './helpers/cache-snapshot.helper.js';
21
+ export * from './helpers/cache-version.helper.js';
22
+ export * from './persistence-dialect.js';
23
+ export * from './query-repository.abstract.js';
40
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../persistence/index.ts"],"names":[],"mappings":";AAAA,sEAAsE;;;;;;;;;;;;;;;;AAEtE;;;;;;;GAOG;AAEH,uDAAqC;AACrC,uDAAqC;AACrC,gEAA8C;AAC9C,+EAA6D;AAC7D,+DAA6C;AAC7C,oEAAkD;AAClD,gFAA8D;AAC9D,yEAAuD;AACvD,iEAA+C;AAC/C,6DAA2C;AAC3C,kEAAgD;AAChD,iEAA+C;AAC/C,wDAAsC;AACtC,8DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../persistence/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE;;;;;;;GAOG;AAEH,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iDAAiD,CAAC;AAChE,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC;AACjE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,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.setPersistenceDialect = setPersistenceDialect;
5
- exports.persistenceDialect = persistenceDialect;
6
2
  let registered;
7
3
  /**
8
4
  * Registers the dialect that `@MapPersistenceErrors` and `@PersistedWrite` use
@@ -14,7 +10,7 @@ let registered;
14
10
  * setPersistenceDialect(new MikroOrmDialect(orm));
15
11
  * ```
16
12
  */
17
- function setPersistenceDialect(dialect) {
13
+ export function setPersistenceDialect(dialect) {
18
14
  registered = dialect;
19
15
  }
20
16
  /**
@@ -25,7 +21,7 @@ function setPersistenceDialect(dialect) {
25
21
  * const dialect = options.dialect ?? persistenceDialect();
26
22
  * ```
27
23
  */
28
- function persistenceDialect() {
24
+ export function persistenceDialect() {
29
25
  return registered;
30
26
  }
31
27
  //# sourceMappingURL=persistence-dialect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistence-dialect.js","sourceRoot":"","sources":["../../persistence/persistence-dialect.ts"],"names":[],"mappings":";AAAA,sEAAsE;;;;AAiBtE,IAAI,UAA2C,CAAC;AAEhD;;;;;;;;;GASG;AACH,+BACE,OAAwC;IAExC,UAAU,GAAG,OAAO,CAAC;AACvB,CAAC;AAED;;;;;;;GAOG;AACH;IACE,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"persistence-dialect.js","sourceRoot":"","sources":["../../persistence/persistence-dialect.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAiBtE,IAAI,UAA2C,CAAC;AAEhD;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAwC;IAExC,UAAU,GAAG,OAAO,CAAC;AACvB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1,6 +1,6 @@
1
- import { ICache } from '../application/ports/cache.port';
2
- import { IQueryRepository } from '../application/ports/query-repository.port';
3
- import { IQueryOptions } from '../application/query.options';
1
+ import { ICache } from '../application/ports/cache.port.js';
2
+ import { IQueryRepository } from '../application/ports/query-repository.port.js';
3
+ import { IQueryOptions } from '../application/query.options.js';
4
4
  /**
5
5
  * Repository-wide snapshot policy applied by {@link FromCache} to methods that
6
6
  * do not declare their own `hydrateFn` / `serializeFn`.
@@ -1 +1 @@
1
- {"version":3,"file":"query-repository.abstract.d.ts","sourceRoot":"","sources":["../../persistence/query-repository.abstract.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,wBAAwB,CAAC,OAAO;IAC/C;;;OAGG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IAExC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;CAC5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,8BAAsB,eAAe,CAAC,MAAM,GAAG,aAAa,EAAE,OAAO,GAAG,OAAO,CAC7E,YAAW,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;IAG1C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,wBAAwB,CAAC,OAAO,CAAC;IAFlE,YACqB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EACtB,SAAS,CAAC,EAAE,wBAAwB,CAAC,OAAO,CAAC,YAAA,EAC9D;IAEJ,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChD"}
1
+ {"version":3,"file":"query-repository.abstract.d.ts","sourceRoot":"","sources":["../../persistence/query-repository.abstract.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,wBAAwB,CAAC,OAAO;IAC/C;;;OAGG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IAExC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;CAC5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,8BAAsB,eAAe,CAAC,MAAM,GAAG,aAAa,EAAE,OAAO,GAAG,OAAO,CAC7E,YAAW,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;IAG1C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,wBAAwB,CAAC,OAAO,CAAC;IAFlE,YACqB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EACtB,SAAS,CAAC,EAAE,wBAAwB,CAAC,OAAO,CAAC,YAAA,EAC9D;IAEJ,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChD"}
@@ -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.QueryRepository = void 0;
5
2
  /**
6
3
  * Base class for read-side (query) repositories.
7
4
  *
@@ -55,7 +52,7 @@ exports.QueryRepository = void 0;
55
52
  * A method that declares `hydrateFn` (including `null`) or `serializeFn`
56
53
  * uses its own value instead of the repository default.
57
54
  */
58
- class QueryRepository {
55
+ export class QueryRepository {
59
56
  cache;
60
57
  hydration;
61
58
  constructor(cache, hydration) {
@@ -63,5 +60,4 @@ class QueryRepository {
63
60
  this.hydration = hydration;
64
61
  }
65
62
  }
66
- exports.QueryRepository = QueryRepository;
67
63
  //# sourceMappingURL=query-repository.abstract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-repository.abstract.js","sourceRoot":"","sources":["../../persistence/query-repository.abstract.ts"],"names":[],"mappings":";AAAA,sEAAsE;;;AAqBtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH;IAIuB,KAAK;IACL,SAAS;IAF9B,YACqB,KAAsB,EACtB,SAA6C;qBAD7C,KAAK;yBACL,SAAS;IAC3B,CAAC;CAGL"}
1
+ {"version":3,"file":"query-repository.abstract.js","sourceRoot":"","sources":["../../persistence/query-repository.abstract.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAqBtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,OAAgB,eAAe;IAId,KAAK;IACL,SAAS;IAF9B,YACqB,KAAsB,EACtB,SAA6C;qBAD7C,KAAK;yBACL,SAAS;IAC3B,CAAC;CAGL"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /* Copyright (C) 2026-present Aristotelis — see repository license. */
3
- Object.defineProperty(exports, "__esModule", { value: true });
2
+ export {};
4
3
  //# sourceMappingURL=Method.type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Method.type.js","sourceRoot":"","sources":["../../types/Method.type.ts"],"names":[],"mappings":";AAAA,sEAAsE"}
1
+ {"version":3,"file":"Method.type.js","sourceRoot":"","sources":["../../types/Method.type.ts"],"names":[],"mappings":"AAAA,sEAAsE"}
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@cqrs-ddd/core",
3
- "version": "0.3.0",
3
+ "version": "0.4.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",
7
+ "type": "module",
7
8
  "engines": {
8
9
  "node": ">=22.12.0"
9
10
  },
@@ -47,7 +48,8 @@
47
48
  "./http": {
48
49
  "types": "./dist/http/index.d.ts",
49
50
  "default": "./dist/http/index.js"
50
- }
51
+ },
52
+ "./package.json": "./package.json"
51
53
  },
52
54
  "files": [
53
55
  "dist",
@@ -59,8 +61,8 @@
59
61
  "access": "public"
60
62
  },
61
63
  "dependencies": {
62
- "@cqrs-ddd/safe-stringify": "^0.3.0",
63
- "@cqrs-ddd/uuidv7": "^0.3.0"
64
+ "@cqrs-ddd/safe-stringify": "^0.4.0",
65
+ "@cqrs-ddd/uuidv7": "^0.4.0"
64
66
  },
65
67
  "devDependencies": {
66
68
  "@vitest/coverage-v8": "^5.0.2",