@cqrs-ddd/core 0.3.0 → 0.4.1

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 +2 -705
  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 +4 -4
  91. package/dist/domain/models/root.entity.d.ts.map +1 -1
  92. package/dist/domain/models/root.entity.js +10 -14
  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 +3 -3
  127. package/dist/persistence/command-repository.abstract.d.ts.map +1 -1
  128. package/dist/persistence/command-repository.abstract.js +2 -6
  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 +2 -2
  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 +4 -4
  169. package/dist/persistence/query-repository.abstract.d.ts.map +1 -1
  170. package/dist/persistence/query-repository.abstract.js +2 -6
  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,11 +1,7 @@
1
- "use strict";
2
1
  /* Copyright (C) 2026-present Aristotelis — see repository license. */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.cacheKey = cacheKey;
5
- exports.cacheKeyTemplate = cacheKeyTemplate;
6
- const node_crypto_1 = require("node:crypto");
7
- const safe_stringify_1 = require("@cqrs-ddd/safe-stringify");
8
- const tenant_resolver_1 = require("../../application/tenant-resolver");
2
+ import { createHash } from 'node:crypto';
3
+ import { escapeKeySegment, stableStringify } from '@cqrs-ddd/safe-stringify';
4
+ import { requireTenant, } from '../../application/tenant-resolver.js';
9
5
  /**
10
6
  * Normalizes filter conditions for canonical tuple construction:
11
7
  * - Omits undefined properties.
@@ -50,8 +46,8 @@ function normalizeFilterConditions(conditions) {
50
46
  * @throws {MissingTenantContextError} When tenant identity cannot be resolved.
51
47
  * @throws {TypeError} When conditions contain non-serializable values.
52
48
  */
53
- function cacheKey(resourceOrEntity, conditions, tenantOrContext) {
54
- const schema = (0, tenant_resolver_1.requireTenant)('cache key derivation', tenantOrContext);
49
+ export function cacheKey(resourceOrEntity, conditions, tenantOrContext) {
50
+ const schema = requireTenant('cache key derivation', tenantOrContext);
55
51
  let resource;
56
52
  if (typeof resourceOrEntity === 'string') {
57
53
  resource = resourceOrEntity;
@@ -67,8 +63,8 @@ function cacheKey(resourceOrEntity, conditions, tenantOrContext) {
67
63
  resource = resource.replace(/:+$/, '');
68
64
  const normalizedFilter = normalizeFilterConditions(conditions);
69
65
  const tuple = [schema, resource, normalizedFilter];
70
- const serializedTuple = (0, safe_stringify_1.stableStringify)(tuple);
71
- const hash = (0, node_crypto_1.createHash)('sha256').update(serializedTuple).digest('hex');
66
+ const serializedTuple = stableStringify(tuple);
67
+ const hash = createHash('sha256').update(serializedTuple).digest('hex');
72
68
  return `${schema}:${resource}:v1:${hash}`;
73
69
  }
74
70
  /**
@@ -81,9 +77,9 @@ function cacheKey(resourceOrEntity, conditions, tenantOrContext) {
81
77
  */
82
78
  function canonicalizeValue(val) {
83
79
  if (typeof val === 'object') {
84
- return (0, safe_stringify_1.stableStringify)(val);
80
+ return stableStringify(val);
85
81
  }
86
- return (0, safe_stringify_1.escapeKeySegment)(String(val));
82
+ return escapeKeySegment(String(val));
87
83
  }
88
84
  /**
89
85
  * Resolves a template string (e.g. `user:{userId}`) against a query/command payload,
@@ -109,13 +105,13 @@ function canonicalizeValue(val) {
109
105
  * // tenant-a:user:019...
110
106
  * ```
111
107
  */
112
- function cacheKeyTemplate(template, tenantOrContext) {
108
+ export function cacheKeyTemplate(template, tenantOrContext) {
113
109
  return (source) => {
114
110
  const ctx = source && typeof source === 'object' && 'request' in source
115
111
  ? source
116
112
  : undefined;
117
113
  const data = (ctx ? ctx.request : source);
118
- const schema = (0, tenant_resolver_1.requireTenant)('cache key derivation', tenantOrContext ?? ctx);
114
+ const schema = requireTenant('cache key derivation', tenantOrContext ?? ctx);
119
115
  const resolved = template.replace(/\{(\w+)(\?)?\}/g, (_, prop, optional) => {
120
116
  const val = data?.[prop];
121
117
  if (val !== undefined && val !== null) {
@@ -1 +1 @@
1
- {"version":3,"file":"cache-key.helper.js","sourceRoot":"","sources":["../../../persistence/helpers/cache-key.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache-key.helper.js","sourceRoot":"","sources":["../../../persistence/helpers/cache-key.helper.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ICacheLogger } from '../cache/cache-logger';
1
+ import type { ICacheLogger } from '../cache/cache-logger.js';
2
2
  /**
3
3
  * Reports, once per repository class, a cache decorator running on an instance
4
4
  * that has no `cache` property. Such a repository is miswired: cache
@@ -1 +1 @@
1
- {"version":3,"file":"cache-owner.helper.d.ts","sourceRoot":"","sources":["../../../persistence/helpers/cache-owner.helper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAM1D;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,QAAQ,GAAG,YAAY,EAClC,MAAM,GAAE,YAA4B,GACnC,IAAI,CASN"}
1
+ {"version":3,"file":"cache-owner.helper.d.ts","sourceRoot":"","sources":["../../../persistence/helpers/cache-owner.helper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAM7D;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,QAAQ,GAAG,YAAY,EAClC,MAAM,GAAE,YAA4B,GACnC,IAAI,CASN"}
@@ -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`.
@@ -24,7 +24,7 @@ export interface QueryRepositoryHydration<TResult> {
24
24
  * @typeParam TQuery - The query/options type accepted by {@link find}.
25
25
  * @typeParam TResult - The result type returned by {@link find}.
26
26
  *
27
- * @example Creating a query repository with @FromCache
27
+ * @example Creating a query repository with the FromCache decorator
28
28
  * ```typescript
29
29
  * @Injectable()
30
30
  * export class GetUserQueryRepository extends QueryRepository<GetUserQuery, User | null> {
@@ -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
  *
@@ -12,7 +9,7 @@ exports.QueryRepository = void 0;
12
9
  * @typeParam TQuery - The query/options type accepted by {@link find}.
13
10
  * @typeParam TResult - The result type returned by {@link find}.
14
11
  *
15
- * @example Creating a query repository with @FromCache
12
+ * @example Creating a query repository with the FromCache decorator
16
13
  * ```typescript
17
14
  * @Injectable()
18
15
  * export class GetUserQueryRepository extends QueryRepository<GetUserQuery, User | null> {
@@ -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.1",
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/uuidv7": "^0.4.1",
65
+ "@cqrs-ddd/safe-stringify": "^0.4.1"
64
66
  },
65
67
  "devDependencies": {
66
68
  "@vitest/coverage-v8": "^5.0.2",