@woltz/rich-domain 1.7.0 → 1.8.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 (204) hide show
  1. package/dist/cjs/core/aggregate-changes.d.ts +206 -0
  2. package/dist/cjs/core/aggregate-changes.d.ts.map +1 -0
  3. package/dist/cjs/core/aggregate-changes.js +365 -0
  4. package/dist/cjs/core/aggregate-changes.js.map +1 -0
  5. package/dist/cjs/core/base-entity.d.ts +88 -0
  6. package/dist/cjs/core/base-entity.d.ts.map +1 -0
  7. package/dist/cjs/core/base-entity.js +329 -0
  8. package/dist/cjs/core/base-entity.js.map +1 -0
  9. package/dist/cjs/core/change-tracker.d.ts +96 -0
  10. package/dist/cjs/core/change-tracker.d.ts.map +1 -0
  11. package/dist/cjs/core/change-tracker.js +789 -0
  12. package/dist/cjs/core/change-tracker.js.map +1 -0
  13. package/dist/cjs/core/domain-event.d.ts +23 -0
  14. package/dist/cjs/core/domain-event.d.ts.map +1 -0
  15. package/dist/cjs/core/domain-event.js +36 -0
  16. package/dist/cjs/core/domain-event.js.map +1 -0
  17. package/dist/cjs/core/entity-changes.d.ts +84 -0
  18. package/dist/cjs/core/entity-changes.d.ts.map +1 -0
  19. package/dist/cjs/core/entity-changes.js +136 -0
  20. package/dist/cjs/core/entity-changes.js.map +1 -0
  21. package/dist/cjs/core/entity.d.ts +7 -0
  22. package/dist/cjs/core/entity.d.ts.map +1 -0
  23. package/dist/cjs/core/entity.js +11 -0
  24. package/dist/cjs/core/entity.js.map +1 -0
  25. package/dist/cjs/core/id.d.ts +59 -0
  26. package/dist/cjs/core/id.d.ts.map +1 -0
  27. package/dist/cjs/core/id.js +92 -0
  28. package/dist/cjs/core/id.js.map +1 -0
  29. package/dist/cjs/core/index.d.ts +9 -0
  30. package/dist/cjs/core/index.d.ts.map +1 -0
  31. package/dist/cjs/core/index.js +25 -0
  32. package/dist/cjs/core/index.js.map +1 -0
  33. package/dist/cjs/core/value-object.d.ts +49 -0
  34. package/dist/cjs/core/value-object.d.ts.map +1 -0
  35. package/dist/cjs/core/value-object.js +129 -0
  36. package/dist/cjs/core/value-object.js.map +1 -0
  37. package/dist/cjs/index.d.ts +5 -11
  38. package/dist/cjs/index.d.ts.map +1 -1
  39. package/dist/cjs/index.js +21 -19
  40. package/dist/cjs/index.js.map +1 -1
  41. package/dist/cjs/repository/base-repository.d.ts +49 -3
  42. package/dist/cjs/repository/base-repository.d.ts.map +1 -1
  43. package/dist/cjs/repository/base-repository.js.map +1 -1
  44. package/dist/cjs/repository/entity-schema-registry.d.ts +281 -0
  45. package/dist/cjs/repository/entity-schema-registry.d.ts.map +1 -0
  46. package/dist/cjs/repository/entity-schema-registry.js +370 -0
  47. package/dist/cjs/repository/entity-schema-registry.js.map +1 -0
  48. package/dist/cjs/repository/index.d.ts +4 -2
  49. package/dist/cjs/repository/index.d.ts.map +1 -1
  50. package/dist/cjs/repository/index.js +4 -6
  51. package/dist/cjs/repository/index.js.map +1 -1
  52. package/dist/cjs/repository/mapper.d.ts +4 -0
  53. package/dist/cjs/repository/mapper.d.ts.map +1 -0
  54. package/dist/cjs/repository/mapper.js +7 -0
  55. package/dist/cjs/repository/mapper.js.map +1 -0
  56. package/dist/cjs/repository/paginated-result.d.ts +54 -0
  57. package/dist/cjs/repository/paginated-result.d.ts.map +1 -0
  58. package/dist/cjs/repository/paginated-result.js +197 -0
  59. package/dist/cjs/repository/paginated-result.js.map +1 -0
  60. package/dist/cjs/types/change-tracker.d.ts +1 -2
  61. package/dist/cjs/types/change-tracker.d.ts.map +1 -1
  62. package/dist/cjs/types/criteria.d.ts +13 -5
  63. package/dist/cjs/types/criteria.d.ts.map +1 -1
  64. package/dist/cjs/types/criteria.js +2 -2
  65. package/dist/cjs/types/criteria.js.map +1 -1
  66. package/dist/cjs/types/domain.d.ts +1 -1
  67. package/dist/cjs/types/domain.d.ts.map +1 -1
  68. package/dist/cjs/types/unit-of-work.d.ts +1 -1
  69. package/dist/cjs/types/unit-of-work.d.ts.map +1 -1
  70. package/dist/cjs/types/utils.d.ts +1 -2
  71. package/dist/cjs/types/utils.d.ts.map +1 -1
  72. package/dist/cjs/utils/criteria-operator-validation.d.ts.map +1 -1
  73. package/dist/cjs/utils/criteria-operator-validation.js +1 -1
  74. package/dist/cjs/utils/criteria-operator-validation.js.map +1 -1
  75. package/dist/cjs/utils/crypto.d.ts +3 -0
  76. package/dist/cjs/utils/crypto.d.ts.map +1 -0
  77. package/dist/cjs/utils/crypto.js +32 -0
  78. package/dist/cjs/utils/crypto.js.map +1 -0
  79. package/dist/esm/core/aggregate-changes.d.ts +206 -0
  80. package/dist/esm/core/aggregate-changes.d.ts.map +1 -0
  81. package/dist/esm/core/aggregate-changes.js +361 -0
  82. package/dist/esm/core/aggregate-changes.js.map +1 -0
  83. package/dist/esm/core/base-entity.d.ts +88 -0
  84. package/dist/esm/core/base-entity.d.ts.map +1 -0
  85. package/dist/esm/core/base-entity.js +325 -0
  86. package/dist/esm/core/base-entity.js.map +1 -0
  87. package/dist/esm/core/change-tracker.d.ts +96 -0
  88. package/dist/esm/core/change-tracker.d.ts.map +1 -0
  89. package/dist/esm/core/change-tracker.js +785 -0
  90. package/dist/esm/core/change-tracker.js.map +1 -0
  91. package/dist/esm/core/domain-event.d.ts +23 -0
  92. package/dist/esm/core/domain-event.d.ts.map +1 -0
  93. package/dist/esm/core/domain-event.js +32 -0
  94. package/dist/esm/core/domain-event.js.map +1 -0
  95. package/dist/esm/core/entity-changes.d.ts +84 -0
  96. package/dist/esm/core/entity-changes.d.ts.map +1 -0
  97. package/dist/esm/core/entity-changes.js +132 -0
  98. package/dist/esm/core/entity-changes.js.map +1 -0
  99. package/dist/esm/core/entity.d.ts +7 -0
  100. package/dist/esm/core/entity.d.ts.map +1 -0
  101. package/dist/esm/core/entity.js +6 -0
  102. package/dist/esm/core/entity.js.map +1 -0
  103. package/dist/esm/core/id.d.ts +59 -0
  104. package/dist/esm/core/id.d.ts.map +1 -0
  105. package/dist/esm/core/id.js +85 -0
  106. package/dist/esm/core/id.js.map +1 -0
  107. package/dist/esm/core/index.d.ts +9 -0
  108. package/dist/esm/core/index.d.ts.map +1 -0
  109. package/dist/esm/core/index.js +9 -0
  110. package/dist/esm/core/index.js.map +1 -0
  111. package/dist/esm/core/value-object.d.ts +49 -0
  112. package/dist/esm/core/value-object.d.ts.map +1 -0
  113. package/dist/esm/core/value-object.js +125 -0
  114. package/dist/esm/core/value-object.js.map +1 -0
  115. package/dist/esm/index.d.ts +5 -11
  116. package/dist/esm/index.d.ts.map +1 -1
  117. package/dist/esm/index.js +4 -10
  118. package/dist/esm/index.js.map +1 -1
  119. package/dist/esm/repository/base-repository.d.ts +49 -3
  120. package/dist/esm/repository/base-repository.d.ts.map +1 -1
  121. package/dist/esm/repository/base-repository.js.map +1 -1
  122. package/dist/esm/repository/entity-schema-registry.d.ts +281 -0
  123. package/dist/esm/repository/entity-schema-registry.d.ts.map +1 -0
  124. package/dist/esm/repository/entity-schema-registry.js +366 -0
  125. package/dist/esm/repository/entity-schema-registry.js.map +1 -0
  126. package/dist/esm/repository/index.d.ts +4 -2
  127. package/dist/esm/repository/index.d.ts.map +1 -1
  128. package/dist/esm/repository/index.js +4 -2
  129. package/dist/esm/repository/index.js.map +1 -1
  130. package/dist/esm/repository/mapper.d.ts +4 -0
  131. package/dist/esm/repository/mapper.d.ts.map +1 -0
  132. package/dist/esm/repository/mapper.js +3 -0
  133. package/dist/esm/repository/mapper.js.map +1 -0
  134. package/dist/esm/repository/paginated-result.d.ts +54 -0
  135. package/dist/esm/repository/paginated-result.d.ts.map +1 -0
  136. package/dist/esm/repository/paginated-result.js +193 -0
  137. package/dist/esm/repository/paginated-result.js.map +1 -0
  138. package/dist/esm/types/change-tracker.d.ts +1 -2
  139. package/dist/esm/types/change-tracker.d.ts.map +1 -1
  140. package/dist/esm/types/criteria.d.ts +13 -5
  141. package/dist/esm/types/criteria.d.ts.map +1 -1
  142. package/dist/esm/types/criteria.js +3 -1
  143. package/dist/esm/types/criteria.js.map +1 -1
  144. package/dist/esm/types/domain.d.ts +1 -1
  145. package/dist/esm/types/domain.d.ts.map +1 -1
  146. package/dist/esm/types/unit-of-work.d.ts +1 -1
  147. package/dist/esm/types/unit-of-work.d.ts.map +1 -1
  148. package/dist/esm/types/utils.d.ts +1 -2
  149. package/dist/esm/types/utils.d.ts.map +1 -1
  150. package/dist/esm/utils/criteria-operator-validation.d.ts.map +1 -1
  151. package/dist/esm/utils/criteria-operator-validation.js +1 -1
  152. package/dist/esm/utils/criteria-operator-validation.js.map +1 -1
  153. package/dist/esm/utils/crypto.d.ts +3 -0
  154. package/dist/esm/utils/crypto.d.ts.map +1 -0
  155. package/dist/esm/utils/crypto.js +29 -0
  156. package/dist/esm/utils/crypto.js.map +1 -0
  157. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  158. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  159. package/dist/tsconfig.types.tsbuildinfo +1 -1
  160. package/dist/types/core/aggregate-changes.d.ts +206 -0
  161. package/dist/types/core/aggregate-changes.d.ts.map +1 -0
  162. package/dist/types/core/base-entity.d.ts +88 -0
  163. package/dist/types/core/base-entity.d.ts.map +1 -0
  164. package/dist/types/core/change-tracker.d.ts +96 -0
  165. package/dist/types/core/change-tracker.d.ts.map +1 -0
  166. package/dist/types/core/domain-event.d.ts +23 -0
  167. package/dist/types/core/domain-event.d.ts.map +1 -0
  168. package/dist/types/core/entity-changes.d.ts +84 -0
  169. package/dist/types/core/entity-changes.d.ts.map +1 -0
  170. package/dist/types/core/entity.d.ts +7 -0
  171. package/dist/types/core/entity.d.ts.map +1 -0
  172. package/dist/types/core/id.d.ts +59 -0
  173. package/dist/types/core/id.d.ts.map +1 -0
  174. package/dist/types/core/index.d.ts +9 -0
  175. package/dist/types/core/index.d.ts.map +1 -0
  176. package/dist/types/core/value-object.d.ts +49 -0
  177. package/dist/types/core/value-object.d.ts.map +1 -0
  178. package/dist/types/index.d.ts +5 -11
  179. package/dist/types/index.d.ts.map +1 -1
  180. package/dist/types/paginated-result.d.ts +54 -46
  181. package/dist/types/repository/base-repository.d.ts +49 -3
  182. package/dist/types/repository/base-repository.d.ts.map +1 -1
  183. package/dist/types/repository/entity-schema-registry.d.ts +281 -0
  184. package/dist/types/repository/entity-schema-registry.d.ts.map +1 -0
  185. package/dist/types/repository/index.d.ts +4 -2
  186. package/dist/types/repository/index.d.ts.map +1 -1
  187. package/dist/types/repository/mapper.d.ts +4 -0
  188. package/dist/types/repository/mapper.d.ts.map +1 -0
  189. package/dist/types/repository/paginated-result.d.ts +54 -0
  190. package/dist/types/repository/paginated-result.d.ts.map +1 -0
  191. package/dist/types/types/change-tracker.d.ts +1 -2
  192. package/dist/types/types/change-tracker.d.ts.map +1 -1
  193. package/dist/types/types/criteria.d.ts +13 -5
  194. package/dist/types/types/criteria.d.ts.map +1 -1
  195. package/dist/types/types/domain.d.ts +1 -1
  196. package/dist/types/types/domain.d.ts.map +1 -1
  197. package/dist/types/types/unit-of-work.d.ts +1 -1
  198. package/dist/types/types/unit-of-work.d.ts.map +1 -1
  199. package/dist/types/types/utils.d.ts +1 -2
  200. package/dist/types/types/utils.d.ts.map +1 -1
  201. package/dist/types/utils/criteria-operator-validation.d.ts.map +1 -1
  202. package/dist/types/utils/crypto.d.ts +3 -0
  203. package/dist/types/utils/crypto.d.ts.map +1 -0
  204. package/package.json +1 -1
@@ -1,28 +1,74 @@
1
- import type { Aggregate } from "../entity.js";
1
+ import type { Aggregate } from "../core/entity.js";
2
2
  import type { Criteria } from "../criteria.js";
3
- import { PaginatedResult } from "../paginated-result.js";
4
- import { Mapper } from "../mapper.js";
3
+ import { PaginatedResult } from "./paginated-result.js";
4
+ import { Mapper } from "./mapper.js";
5
5
  export declare abstract class ReadRepository<Agg extends Aggregate<any>> {
6
+ /**
7
+ * Find entities based on criteria.
8
+ * @param criteria - The criteria to use for the search. If not provided, all entities will be returned. (optional)
9
+ * @returns A promise that resolves to a paginated result of entities.
10
+ */
6
11
  abstract find(criteria?: Criteria<Agg>): Promise<PaginatedResult<Agg>>;
7
12
  abstract findById(id: string): Promise<Agg | null>;
13
+ /**
14
+ * Count the number of entities based on criteria.
15
+ * @param criteria - The criteria to use for the count. If not provided, all entities will be counted. (optional)
16
+ * @returns A promise that resolves to the number of entities.
17
+ */
8
18
  abstract count(criteria?: Criteria<Agg>): Promise<number>;
19
+ /**
20
+ * Check if an entity exists based on its identifier.
21
+ * @param id - The identifier of the entity to check.
22
+ * @returns A promise that resolves to a boolean.
23
+ */
9
24
  abstract exists(id: string): Promise<boolean>;
10
25
  }
11
26
  export declare abstract class WriteRepository<Agg extends Aggregate<any>> {
27
+ /**
28
+ *
29
+ * Save or update an entity.
30
+ * @param entity - The entity to save.
31
+ * @returns void
32
+ */
12
33
  abstract save(entity: Agg): Promise<void>;
13
34
  abstract delete(entity: Agg): Promise<void>;
14
35
  }
15
36
  export declare abstract class WriteAndRead<Agg extends Aggregate<any>> {
37
+ /**
38
+ * Find entities based on criteria.
39
+ * @param criteria - The criteria to use for the search. If not provided, all entities will be returned. (optional)
40
+ * @returns A promise that resolves to a paginated result of entities.
41
+ */
16
42
  abstract find(criteria?: Criteria<Agg>): Promise<PaginatedResult<Agg>>;
17
43
  abstract findById(id: string): Promise<Agg | null>;
44
+ /**
45
+ *
46
+ * Save or update an entity.
47
+ * @param entity - The entity to save.
48
+ * @returns void
49
+ */
18
50
  abstract save(entity: Agg): Promise<void>;
19
51
  abstract delete(entity: Agg): Promise<void>;
52
+ /**
53
+ * Count the number of entities based on criteria.
54
+ * @param criteria - The criteria to use for the count. If not provided, all entities will be counted. (optional)
55
+ * @returns A promise that resolves to the number of entities.
56
+ */
20
57
  abstract count(criteria?: Criteria<Agg>): Promise<number>;
58
+ /**
59
+ * Check if an entity exists based on its identifier.
60
+ * @param id - The identifier of the entity to check.
61
+ * @returns A promise that resolves to a boolean.
62
+ */
21
63
  abstract exists(id: string): Promise<boolean>;
22
64
  }
23
65
  export declare abstract class Repository<TDomain extends Aggregate<any>> extends WriteAndRead<TDomain> {
24
66
  protected abstract readonly toDomainMapper: Mapper<unknown, TDomain>;
25
67
  protected abstract readonly toPersistenceMapper: Mapper<TDomain, unknown>;
68
+ /**
69
+ * Provide the model name of the repository. Usually the table name in the database.
70
+ * @returns The model name of the repository.
71
+ */
26
72
  protected abstract get model(): any;
27
73
  }
28
74
  //# sourceMappingURL=base-repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-repository.d.ts","sourceRoot":"","sources":["../../../src/repository/base-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,8BAAsB,cAAc,CAAC,GAAG,SAAS,SAAS,CAAC,GAAG,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAC9C;AAED,8BAAsB,eAAe,CAAC,GAAG,SAAS,SAAS,CAAC,GAAG,CAAC;IAC9D,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAC5C;AAED,8BAAsB,YAAY,CAAC,GAAG,SAAS,SAAS,CAAC,GAAG,CAAC;IAC3D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAC9C;AAED,8BAAsB,UAAU,CAC9B,OAAO,SAAS,SAAS,CAAC,GAAG,CAAC,CAC9B,SAAQ,YAAY,CAAC,OAAO,CAAC;IAC7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1E,SAAS,CAAC,QAAQ,KAAK,KAAK,IAAI,GAAG,CAAC;CACrC"}
1
+ {"version":3,"file":"base-repository.d.ts","sourceRoot":"","sources":["../../../src/repository/base-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,8BAAsB,cAAc,CAAC,GAAG,SAAS,SAAS,CAAC,GAAG,CAAC;IAC7D;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAClD;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACzD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAC9C;AAED,8BAAsB,eAAe,CAAC,GAAG,SAAS,SAAS,CAAC,GAAG,CAAC;IAC9D;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAC5C;AAED,8BAAsB,YAAY,CAAC,GAAG,SAAS,SAAS,CAAC,GAAG,CAAC;IAC3D;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAClD;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACzD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAC9C;AAED,8BAAsB,UAAU,CAC9B,OAAO,SAAS,SAAS,CAAC,GAAG,CAAC,CAC9B,SAAQ,YAAY,CAAC,OAAO,CAAC;IAC7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1E;;;OAGG;IACH,SAAS,CAAC,QAAQ,KAAK,KAAK,IAAI,GAAG,CAAC;CACrC"}
@@ -0,0 +1,281 @@
1
+ import { Entity, ValueObject } from "../core/index";
2
+ /**
3
+ * Type of collection relationship.
4
+ * - 'owned': Parent owns the children (1:N). Delete parent = delete children.
5
+ * - 'reference': Parent references existing entities (N:N). Delete parent = unlink only.
6
+ */
7
+ export type CollectionType = "owned" | "reference";
8
+ /**
9
+ * Configuration for a collection (1:N or N:N relationship).
10
+ */
11
+ export interface CollectionConfig {
12
+ /**
13
+ * Type of relationship.
14
+ * - 'owned': Children are created/deleted with the parent (default for 1:N)
15
+ * - 'reference': Only the link is created/removed (for N:N)
16
+ * @default 'owned'
17
+ */
18
+ type: CollectionType;
19
+ /**
20
+ * Target entity name (required for 'reference' type).
21
+ * @example 'Tag'
22
+ */
23
+ entity?: string;
24
+ /**
25
+ * Junction table configuration (optional, for ORMs that need it like Drizzle).
26
+ * Prisma handles this automatically, so it's optional.
27
+ */
28
+ junction?: {
29
+ /** Junction table name (e.g., 'post_tags', '_PostToTag') */
30
+ table: string;
31
+ /** FK field pointing to the source entity (e.g., 'post_id') */
32
+ sourceKey: string;
33
+ /** FK field pointing to the target entity (e.g., 'tag_id') */
34
+ targetKey: string;
35
+ };
36
+ }
37
+ /**
38
+ * Mapping schema for a domain entity.
39
+ */
40
+ export interface EntitySchema {
41
+ /** Entity name in the domain (e.g., 'User', 'Post') */
42
+ entity: string;
43
+ /** Table name in the database (e.g., 'users', 'blog_posts') */
44
+ table: string;
45
+ /**
46
+ * Field mapping: domain → database.
47
+ * Only include fields with different names.
48
+ * @example { email: 'user_email', createdAt: 'created_at' }
49
+ */
50
+ fields?: Record<string, string>;
51
+ /**
52
+ * FK configuration for parent relation (1:N owned).
53
+ */
54
+ parentFk?: {
55
+ /** Name of the FK field in the database (e.g., 'author_id') */
56
+ field: string;
57
+ /** Name of the parent entity (e.g., 'User') */
58
+ parentEntity: string;
59
+ };
60
+ /**
61
+ * Collection configurations for this entity's relations.
62
+ * Key is the property name in the domain entity.
63
+ * @example
64
+ * ```typescript
65
+ * collections: {
66
+ * comments: { type: 'owned' },
67
+ * tags: { type: 'reference', entity: 'Tag' }
68
+ * }
69
+ * ```
70
+ */
71
+ collections?: Record<string, CollectionConfig>;
72
+ }
73
+ /**
74
+ * Result of entity mapping.
75
+ */
76
+ export interface MappedEntityData {
77
+ [key: string]: any;
78
+ }
79
+ /**
80
+ * Registry for mapping domain entities to database tables and fields.
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * const registry = new EntitySchemaRegistry()
85
+ * .register({
86
+ * entity: 'User',
87
+ * table: 'users',
88
+ * fields: { email: 'user_email', name: 'user_name' },
89
+ * })
90
+ * .register({
91
+ * entity: 'Post',
92
+ * table: 'blog_posts',
93
+ * fields: { content: 'post_content' },
94
+ * parentFk: { field: 'author_id', parentEntity: 'User' },
95
+ * collections: {
96
+ * comments: { type: 'owned' },
97
+ * tags: { type: 'reference', entity: 'Tag' }
98
+ * }
99
+ * });
100
+ *
101
+ * const table = registry.getTable('Post'); // 'blog_posts'
102
+ * const tagConfig = registry.getCollectionConfig('Post', 'tags');
103
+ * // { type: 'reference', entity: 'Tag' }
104
+ * ```
105
+ */
106
+ export declare class EntitySchemaRegistry {
107
+ private schemas;
108
+ /**
109
+ * Registers an entity schema.
110
+ * @param schema - Schema to be registered.
111
+ * @returns this (for chaining)
112
+ */
113
+ register(schema: EntitySchema): this;
114
+ /**
115
+ * Registers multiple schemas at once.
116
+ * @param schemas - Array of schemas.
117
+ * @returns this (for chaining)
118
+ */
119
+ registerAll(schemas: EntitySchema[]): this;
120
+ /**
121
+ * Gets the schema of an entity.
122
+ * @param entity - Entity name.
123
+ * @throws Error if the entity is not registered.
124
+ */
125
+ getSchema(entity: string): EntitySchema;
126
+ /**
127
+ * Gets all registered schemas.
128
+ */
129
+ getAllSchemas(): EntitySchema[];
130
+ /**
131
+ * Tries to get the schema of an entity, returns null if not found.
132
+ * @param entity - Entity name.
133
+ */
134
+ tryGetSchema(entity: string): EntitySchema | null;
135
+ /**
136
+ * Checks if an entity is registered.
137
+ * @param entity - Entity name.
138
+ */
139
+ has(entity: string): boolean;
140
+ /**
141
+ * Gets the table name for an entity.
142
+ * @param entity - Entity name.
143
+ */
144
+ getTable(entity: string): string;
145
+ /**
146
+ * Gets the field mapping for an entity.
147
+ * @param entity - Entity name.
148
+ */
149
+ getFieldsMap(entity: string): Record<string, string>;
150
+ /**
151
+ * Maps a domain field name to the database field name.
152
+ * @param entity - Entity name.
153
+ * @param fieldName - Domain field name.
154
+ */
155
+ mapFieldName(entity: string, fieldName: string): string;
156
+ /**
157
+ * Maps fields of a domain object to database field names.
158
+ * Ignores values that are Entity, ValueObject, or Arrays.
159
+ *
160
+ * @param entity - Entity name.
161
+ * @param data - Data to be mapped.
162
+ */
163
+ mapFields(entity: string, data: Record<string, any>): MappedEntityData;
164
+ /**
165
+ * Maps a complete domain entity to database data.
166
+ * Used for CREATE operations.
167
+ *
168
+ * @param entity - Entity name.
169
+ * @param domainEntity - Domain entity instance.
170
+ */
171
+ mapEntity(entity: string, domainEntity: Entity<any> | ValueObject<any>): MappedEntityData;
172
+ /**
173
+ * Gets the FK object to relate with the parent.
174
+ *
175
+ * @param entity - Entity name.
176
+ * @param parentId - Parent ID.
177
+ * @returns Object with the FK field or null if there is no parent.
178
+ */
179
+ getParentFk(entity: string, parentId: string): Record<string, string> | null;
180
+ /**
181
+ * Gets the name of the parent entity.
182
+ * @param entity - Entity name.
183
+ */
184
+ getParentEntity(entity: string): string | null;
185
+ /**
186
+ * Gets the FK field name.
187
+ * @param entity - Entity name.
188
+ */
189
+ getParentFkField(entity: string): string | null;
190
+ /**
191
+ * Gets the collection configuration for a specific field.
192
+ *
193
+ * @param entity - Parent entity name (e.g., 'Post')
194
+ * @param fieldName - Collection field name (e.g., 'tags')
195
+ * @returns CollectionConfig or null if not configured
196
+ *
197
+ * @example
198
+ * ```typescript
199
+ * const config = registry.getCollectionConfig('Post', 'tags');
200
+ * if (config?.type === 'reference') {
201
+ * // Handle N:N relation - use connect/disconnect
202
+ * } else {
203
+ * // Handle 1:N relation - use create/delete
204
+ * }
205
+ * ```
206
+ */
207
+ getCollectionConfig(entity: string, fieldName: string): CollectionConfig | null;
208
+ /**
209
+ * Checks if a collection is a reference type (N:N).
210
+ *
211
+ * @param entity - Parent entity name
212
+ * @param fieldName - Collection field name
213
+ * @returns true if the collection is a reference (N:N), false otherwise
214
+ *
215
+ * @example
216
+ * ```typescript
217
+ * if (registry.isReferenceCollection('Post', 'tags')) {
218
+ * // Use connect/disconnect instead of create/delete
219
+ * }
220
+ * ```
221
+ */
222
+ isReferenceCollection(entity: string, fieldName: string): boolean;
223
+ /**
224
+ * Checks if a collection is owned (1:N).
225
+ * Returns true if explicitly configured as 'owned' or if not configured at all.
226
+ *
227
+ * @param entity - Parent entity name
228
+ * @param fieldName - Collection field name
229
+ * @returns true if the collection is owned (1:N), false if reference
230
+ */
231
+ isOwnedCollection(entity: string, fieldName: string): boolean;
232
+ /**
233
+ * Gets all collections configured for an entity.
234
+ *
235
+ * @param entity - Entity name
236
+ * @returns Record of field names to collection configs, or empty object
237
+ */
238
+ getCollections(entity: string): Record<string, CollectionConfig>;
239
+ /**
240
+ * Gets all reference (N:N) collections for an entity.
241
+ *
242
+ * @param entity - Entity name
243
+ * @returns Array of field names that are reference collections
244
+ */
245
+ getReferenceCollections(entity: string): string[];
246
+ /**
247
+ * Gets the junction table configuration for a reference collection.
248
+ *
249
+ * @param entity - Parent entity name
250
+ * @param fieldName - Collection field name
251
+ * @returns Junction config or null
252
+ */
253
+ getJunctionConfig(entity: string, fieldName: string): CollectionConfig["junction"] | null;
254
+ /**
255
+ * Lists all registered entities.
256
+ */
257
+ getRegisteredEntities(): string[];
258
+ /**
259
+ * Clears all registered schemas.
260
+ */
261
+ clear(): void;
262
+ /**
263
+ * Checks if a value is Entity, ValueObject, or Array.
264
+ */
265
+ private isEntityOrCollection;
266
+ /**
267
+ * Normalizes a value for persistence.
268
+ */
269
+ private normalizeValue;
270
+ /**
271
+ * Validates that a relation field exists in the entity's collections.
272
+ *
273
+ * @param entity - Parent entity name
274
+ * @param relationField - Relation field to validate
275
+ * @throws ConfigurationError if the field doesn't exist
276
+ *
277
+ */
278
+ validateRelationField(entity: string, relationField: string): void;
279
+ private findSimilarNames;
280
+ }
281
+ //# sourceMappingURL=entity-schema-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-schema-registry.d.ts","sourceRoot":"","sources":["../../../src/repository/entity-schema-registry.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- export { Mapper } from "../mapper.js";
2
1
  export * from "./base-repository.js";
3
- export { UnitOfWork, BaseTransactionContext } from "./unit-of-work.js";
2
+ export * from "./mapper.js";
3
+ export * from "./unit-of-work.js";
4
+ export * from "./entity-schema-registry.js";
5
+ export * from "./paginated-result.js";
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/repository/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare abstract class Mapper<Input, Output> {
2
+ abstract build(input: Input, ...args: unknown[]): Output | Promise<Output>;
3
+ }
4
+ //# sourceMappingURL=mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../src/repository/mapper.ts"],"names":[],"mappings":"AAAA,8BAAsB,MAAM,CAAC,KAAK,EAAE,MAAM;aACxB,KAAK,CACnB,KAAK,EAAE,KAAK,EACZ,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAC5B"}
@@ -0,0 +1,54 @@
1
+ import type { Criteria } from "../criteria.js";
2
+ import type { Pagination, PaginationMeta, DeepJsonResult } from "../types/index.js";
3
+ /**
4
+ * Type for the serialized result of PaginatedResult.toJSON()
5
+ * Uses DeepJsonResult to ensure all nested entities are converted to plain objects
6
+ */
7
+ export type PaginatedJsonResult<T> = {
8
+ data: DeepJsonResult<T>[];
9
+ meta: PaginationMeta;
10
+ };
11
+ export declare class PaginatedResult<T> {
12
+ readonly data: T[];
13
+ readonly meta: PaginationMeta;
14
+ constructor(data: T[], meta: PaginationMeta);
15
+ /**
16
+ * Creates a PaginatedResult with calculated metadata
17
+ */
18
+ static create<T>(data: T[], pagination: Pagination, total: number): PaginatedResult<T>;
19
+ /**
20
+ * Creates pagination metadata from total count
21
+ */
22
+ static createMeta(pagination: Pagination, total: number): PaginationMeta;
23
+ /**
24
+ * Applies criteria to an in-memory array (useful for testing)
25
+ */
26
+ static fromArray<T>(items: T[], criteria: Criteria<T>): PaginatedResult<T>;
27
+ /**
28
+ * Converts the result to JSON, deeply serializing all entities/aggregates/value objects
29
+ * - Entities/Aggregates → calls toJSON() recursively
30
+ * - Value Objects → converts to value
31
+ * - Id → converts to string
32
+ * - Arrays → maps recursively
33
+ * - Plain objects → serializes properties recursively
34
+ * - Primitives → returns as-is
35
+ */
36
+ toJSON(): PaginatedJsonResult<T>;
37
+ /**
38
+ * Deep serialization logic (similar to BaseEntity.deepToJson)
39
+ */
40
+ private deepSerialize;
41
+ /**
42
+ * Transform each item in the result using a mapper function
43
+ */
44
+ map<U>(fn: (item: T) => U): PaginatedResult<U>;
45
+ /**
46
+ * Check if result has no data
47
+ */
48
+ get isEmpty(): boolean;
49
+ /**
50
+ * Check if there are more pages available
51
+ */
52
+ get hasMore(): boolean;
53
+ }
54
+ //# sourceMappingURL=paginated-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginated-result.d.ts","sourceRoot":"","sources":["../../../src/repository/paginated-result.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EAEd,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;IACnC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AAEF,qBAAa,eAAe,CAAC,CAAC;aAEV,IAAI,EAAE,CAAC,EAAE;aACT,IAAI,EAAE,cAAc;gBADpB,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,cAAc;IAGtC;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EACb,IAAI,EAAE,CAAC,EAAE,EACT,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,GACZ,eAAe,CAAC,CAAC,CAAC;IAKrB;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc;IAaxE;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IA0C1E;;;;;;;;OAQG;IACH,MAAM,IAAI,mBAAmB,CAAC,CAAC,CAAC;IAShC;;OAEG;IACH,OAAO,CAAC,aAAa;IA2BrB;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAI9C;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}
@@ -1,5 +1,4 @@
1
- import { Entity } from "../entity.js";
2
- import { ValueObject } from "../value-object.js";
1
+ import { Entity, ValueObject } from "../core/index";
3
2
  /**
4
3
  * Base operation with common information.
5
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"change-tracker.d.ts","sourceRoot":"","sources":["../../../src/types/change-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,aAAa;IAC7D,IAAI,EAAE,QAAQ,CAAC;IACf,gCAAgC;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,aAAa;IAC7D,IAAI,EAAE,QAAQ,CAAC;IACf,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,8BAA8B;IAC9B,IAAI,EAAE,CAAC,CAAC;IACR,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,aAAa;IAC7D,IAAI,EAAE,QAAQ,CAAC;IACf,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,IAAI,EAAE,CAAC,CAAC;IACR,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IACzB,eAAe,CAAC,CAAC,CAAC,GAClB,eAAe,CAAC,CAAC,CAAC,GAClB,eAAe,CAAC,CAAC,CAAC,CAAC;AAEvB;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,kBAAkB;IAClB,IAAI,EAAE,CAAC,CAAC;IACR,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,EAAE,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,+DAA+D;QAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,yBAAyB;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,+DAA+D;QAC/D,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;KAC3B,CAAC,CAAC;IAEH;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,eAAe,EAAE,CAAC;QACzB,+DAA+D;QAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,yBAAyB;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IAEH;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,eAAe,EAAE,CAAC;KAC1B,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG;IACxC,oBAAoB;IACpB,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,uCAAuC;IACvC,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,CAAC,CAAC;QACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,GAAG,CAAC;YAAC,EAAE,EAAE,GAAG,CAAA;SAAE,CAAC,CAAC;KACjD,CAAC,CAAC;IACH,oBAAoB;IACpB,OAAO,EAAE,CAAC,EAAE,CAAC;CACd;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,SAAS,GACT,SAAS,GACT,UAAU,GACV,WAAW,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,0BAA0B;IAC1B,KAAK,EAAE,iBAAiB,CAAC;IACzB,uCAAuC;IACvC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAClB,wCAAwC;IACxC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;IACnB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,EAAE,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,IAAI,EAAE,CAAC,CAAC;IACR,EAAE,EAAE,CAAC,CAAC;CACP;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GACnD,CAAC,GACD,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC9B,CAAC,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;KAC5B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAChB,MAAM,CAAC,GAAG,CAAC,GACX,WAAW,CAAC,GAAG,CAAC,GAChB,KAAK,CAAC,GAAG,CAAC,GACV,SAAS,GACT,KAAK,GACL,CAAC;CACN,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;KAC7B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;CACpD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;KAC/B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,GAC1E,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GACrB,KAAK,GACL,CAAC,GACH,KAAK;CACV,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,qBAAqB,CAAC;IAChC,aAAa,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,qBAAqB,CAAC;CACjC"}
1
+ {"version":3,"file":"change-tracker.d.ts","sourceRoot":"","sources":["../../../src/types/change-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,aAAa;IAC7D,IAAI,EAAE,QAAQ,CAAC;IACf,gCAAgC;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,aAAa;IAC7D,IAAI,EAAE,QAAQ,CAAC;IACf,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,8BAA8B;IAC9B,IAAI,EAAE,CAAC,CAAC;IACR,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,aAAa;IAC7D,IAAI,EAAE,QAAQ,CAAC;IACf,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,IAAI,EAAE,CAAC,CAAC;IACR,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IACzB,eAAe,CAAC,CAAC,CAAC,GAClB,eAAe,CAAC,CAAC,CAAC,GAClB,eAAe,CAAC,CAAC,CAAC,CAAC;AAEvB;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,kBAAkB;IAClB,IAAI,EAAE,CAAC,CAAC;IACR,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,EAAE,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,+DAA+D;QAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,yBAAyB;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,+DAA+D;QAC/D,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;KAC3B,CAAC,CAAC;IAEH;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,eAAe,EAAE,CAAC;QACzB,+DAA+D;QAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,yBAAyB;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IAEH;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,eAAe,EAAE,CAAC;KAC1B,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG;IACxC,oBAAoB;IACpB,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,uCAAuC;IACvC,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,CAAC,CAAC;QACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,GAAG,CAAC;YAAC,EAAE,EAAE,GAAG,CAAA;SAAE,CAAC,CAAC;KACjD,CAAC,CAAC;IACH,oBAAoB;IACpB,OAAO,EAAE,CAAC,EAAE,CAAC;CACd;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,SAAS,GACT,SAAS,GACT,UAAU,GACV,WAAW,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,0BAA0B;IAC1B,KAAK,EAAE,iBAAiB,CAAC;IACzB,uCAAuC;IACvC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAClB,wCAAwC;IACxC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;IACnB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,EAAE,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,IAAI,EAAE,CAAC,CAAC;IACR,EAAE,EAAE,CAAC,CAAC;CACP;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GACnD,CAAC,GACD,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC9B,CAAC,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;KAC5B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAChB,MAAM,CAAC,GAAG,CAAC,GACX,WAAW,CAAC,GAAG,CAAC,GAChB,KAAK,CAAC,GAAG,CAAC,GACV,SAAS,GACT,KAAK,GACL,CAAC;CACN,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;KAC7B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;CACpD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;KAC/B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,GAC1E,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GACrB,KAAK,GACL,CAAC,GACH,KAAK;CACV,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,qBAAqB,CAAC;IAChC,aAAa,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,qBAAqB,CAAC;CACjC"}
@@ -1,5 +1,5 @@
1
1
  import { Primitive } from "./utils.js";
2
- export declare const FILTER_OPERATORS: readonly ["equals", "notEquals", "greaterThan", "greaterThanOrEqual", "lessThan", "lessThanOrEqual", "contains", "startsWith", "endsWith", "in", "notIn", "between", "isNull", "isNotNull"];
2
+ declare const FILTER_OPERATORS: readonly ["equals", "notEquals", "greaterThan", "greaterThanOrEqual", "lessThan", "lessThanOrEqual", "contains", "startsWith", "endsWith", "in", "notIn", "between", "isNull", "isNotNull"];
3
3
  export type FilterOperator = (typeof FILTER_OPERATORS)[number];
4
4
  export type StringOperators = "equals" | "notEquals" | "contains" | "startsWith" | "endsWith" | "in" | "notIn" | "isNull" | "isNotNull";
5
5
  export type NumberOperators = "equals" | "notEquals" | "greaterThan" | "greaterThanOrEqual" | "lessThan" | "lessThanOrEqual" | "in" | "notIn" | "between" | "isNull" | "isNotNull";
@@ -8,7 +8,15 @@ export type BooleanOperators = "equals" | "notEquals" | "isNull" | "isNotNull";
8
8
  export type ArrayOperators = "in" | "notIn" | "isNull" | "isNotNull";
9
9
  export type OperatorsForType<T> = T extends string ? StringOperators : T extends number ? NumberOperators : T extends Date ? DateOperators : T extends boolean ? BooleanOperators : T extends Array<any> ? ArrayOperators : FilterOperator;
10
10
  export type FilterValueFor<T> = T | (T extends number | Date ? [T, T] : never) | T[] | null;
11
- export type PathValue<T, P extends string> = P extends `${infer K}.${infer Rest}` ? K extends keyof T ? T[K] extends Array<infer U> ? PathValue<U, Rest> : PathValue<T[K], Rest> : never : P extends keyof T ? T[P] : never;
11
+ /**
12
+ * Extract the plain object type from an entity
13
+ * For entities with toJSON(), uses the return type of toJSON()
14
+ * Otherwise, uses the type as is
15
+ */
16
+ type ExtractPlainType<T> = T extends {
17
+ toJSON(): infer R;
18
+ } ? R : T;
19
+ export type PathValue<T, P extends string> = P extends `${infer K}.${infer Rest}` ? K extends keyof ExtractPlainType<T> ? ExtractPlainType<T>[K] extends Array<infer U> ? PathValue<U, Rest> : PathValue<ExtractPlainType<T>[K], Rest> : never : P extends keyof ExtractPlainType<T> ? ExtractPlainType<T>[P] : never;
12
20
  export interface Filter<TField = string, TValue = unknown> {
13
21
  field: TField;
14
22
  operator: unknown extends TValue ? FilterOperator : OperatorsForType<TValue>;
@@ -53,8 +61,8 @@ export interface CriteriaOptions {
53
61
  quantifier?: "some" | "every" | "none";
54
62
  }
55
63
  type ExcludeBuiltInKeys<T> = Exclude<keyof T, keyof any[] | number | symbol>;
56
- export type FieldPath<T> = T extends Primitive ? never : {
57
- [K in ExcludeBuiltInKeys<T> & string]: NonNullable<T[K]> extends Primitive ? K : NonNullable<T[K]> extends Array<infer U> ? U extends Primitive ? K : K | `${K}.${FieldPath<U>}` : `${K}.${FieldPath<NonNullable<T[K]>>}`;
58
- }[ExcludeBuiltInKeys<T> & string];
64
+ export type FieldPath<T> = ExtractPlainType<T> extends Primitive ? never : {
65
+ [K in ExcludeBuiltInKeys<ExtractPlainType<T>> & string]: NonNullable<ExtractPlainType<T>[K]> extends Primitive ? K : NonNullable<ExtractPlainType<T>[K]> extends Array<infer U> ? U extends Primitive ? K : K | `${K}.${FieldPath<U>}` : `${K}.${FieldPath<NonNullable<ExtractPlainType<T>[K]>>}`;
66
+ }[ExcludeBuiltInKeys<ExtractPlainType<T>> & string];
59
67
  export {};
60
68
  //# sourceMappingURL=criteria.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../../src/types/criteria.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../../src/types/criteria.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Id } from "../id.js";
1
+ import { Id } from "../core/index";
2
2
  import { StandardSchema } from "./standard-schema.js";
3
3
  export interface BaseProps {
4
4
  id: Id;
@@ -1 +1 @@
1
- {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/types/domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,EAAE,CAAC;CACR;AAED,UAAU,gBAAgB,CAAC,CAAC;IAC1B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAElD,MAAM,WAAW,OAAO,CAAC,CAAC,EAAE,EAAE;IAC5B,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC;IACjD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,OAAO,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/types/domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,EAAE,CAAC;CACR;AAED,UAAU,gBAAgB,CAAC,CAAC;IAC1B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAElD,MAAM,WAAW,OAAO,CAAC,CAAC,EAAE,EAAE;IAC5B,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC;IACjD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,OAAO,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
@@ -1,4 +1,4 @@
1
- import { Aggregate } from "../entity.js";
1
+ import { Aggregate } from "../core/index";
2
2
  import { Repository } from "../repository/base-repository.js";
3
3
  /**
4
4
  * Transaction context for Unit of Work
@@ -1 +1 @@
1
- {"version":3,"file":"unit-of-work.d.ts","sourceRoot":"","sources":["../../../src/types/unit-of-work.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAErC;;;OAGG;IACH,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE1E;;OAEG;IACH,aAAa,CAAC,OAAO,SAAS,SAAS,CAAC,GAAG,CAAC,EAC1C,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,UAAU,CAAC,OAAO,CAAC,GACtD,UAAU,CAAC,OAAO,CAAC,CAAC;CACxB"}
1
+ {"version":3,"file":"unit-of-work.d.ts","sourceRoot":"","sources":["../../../src/types/unit-of-work.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAErC;;;OAGG;IACH,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE1E;;OAEG;IACH,aAAa,CAAC,OAAO,SAAS,SAAS,CAAC,GAAG,CAAC,EAC1C,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,UAAU,CAAC,OAAO,CAAC,GACtD,UAAU,CAAC,OAAO,CAAC,CAAC;CACxB"}
@@ -1,5 +1,4 @@
1
- import { Id } from "../id.js";
2
- import { ValueObject } from "../value-object.js";
1
+ import { Id, ValueObject } from "../core/index";
3
2
  type JsonPrimitive = string | number | boolean | null;
4
3
  export type DeepJsonResult<T> = T extends Id ? string : T extends ValueObject<infer U> ? U : T extends Date ? string : T extends Array<infer U> ? DeepJsonResult<U>[] : T extends {
5
4
  toJSON(): infer R;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAEtD,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GACxC,MAAM,GACN,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC9B,CAAC,GACD,CAAC,SAAS,IAAI,GACd,MAAM,GACN,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACxB,cAAc,CAAC,CAAC,CAAC,EAAE,GACnB,CAAC,SAAS;IAAE,MAAM,IAAI,MAAM,CAAC,CAAA;CAAE,GAC/B,cAAc,CAAC,CAAC,CAAC,GACjB,CAAC,SAAS,MAAM,GAChB;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACxC,CAAC,SAAS,aAAa,GACvB,CAAC,GACD,KAAK,CAAC;AAEV,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAC5E,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAClE,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAC7D,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEhD,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAEtD,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GACxC,MAAM,GACN,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC9B,CAAC,GACD,CAAC,SAAS,IAAI,GACd,MAAM,GACN,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACxB,cAAc,CAAC,CAAC,CAAC,EAAE,GACnB,CAAC,SAAS;IAAE,MAAM,IAAI,MAAM,CAAC,CAAA;CAAE,GAC/B,cAAc,CAAC,CAAC,CAAC,GACjB,CAAC,SAAS,MAAM,GAChB;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACxC,CAAC,SAAS,aAAa,GACvB,CAAC,GACD,KAAK,CAAC;AAEV,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAC5E,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAClE,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAC7D,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"criteria-operator-validation.d.ts","sourceRoot":"","sources":["../../../src/utils/criteria-operator-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,cAAc,EAGf,MAAM,mBAAmB,CAAC;AAI3B,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,cAAc,GACvB,OAAO,CAsCT;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,cAAc,GACvB,OAAO,CAkFT;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,EAAE,CA8DzE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAEjE"}
1
+ {"version":3,"file":"criteria-operator-validation.d.ts","sourceRoot":"","sources":["../../../src/utils/criteria-operator-validation.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,cAAc,EAGf,MAAM,mBAAmB,CAAC;AAI3B,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,cAAc,GACvB,OAAO,CAsCT;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,cAAc,GACvB,OAAO,CAkFT;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,EAAE,CA8DzE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAEjE"}
@@ -0,0 +1,3 @@
1
+ export declare const UUID: () => string;
2
+ export default UUID;
3
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/utils/crypto.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,IAAI,cAA0B,CAAC;AAC5C,eAAe,IAAI,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@woltz/rich-domain",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "Rich Domain Library with Standard Schema validation support",
5
5
  "homepage": "https://woltz.mintlify.app",
6
6
  "main": "./dist/cjs/index.js",