@woltz/rich-domain 1.3.2 → 1.5.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 (373) hide show
  1. package/README.md +21 -0
  2. package/dist/{aggregate-changes.d.ts → cjs/aggregate-changes.d.ts} +2 -2
  3. package/dist/cjs/aggregate-changes.d.ts.map +1 -0
  4. package/dist/cjs/aggregate-changes.js +365 -0
  5. package/dist/cjs/aggregate-changes.js.map +1 -0
  6. package/dist/{base-entity.d.ts → cjs/base-entity.d.ts} +5 -5
  7. package/dist/cjs/base-entity.d.ts.map +1 -0
  8. package/dist/cjs/base-entity.js +328 -0
  9. package/dist/cjs/base-entity.js.map +1 -0
  10. package/dist/{change-tracker.d.ts → cjs/change-tracker.d.ts} +2 -2
  11. package/dist/cjs/change-tracker.d.ts.map +1 -0
  12. package/dist/cjs/change-tracker.js +789 -0
  13. package/dist/cjs/change-tracker.js.map +1 -0
  14. package/dist/cjs/constants.d.ts.map +1 -0
  15. package/dist/cjs/constants.js +74 -0
  16. package/dist/cjs/constants.js.map +1 -0
  17. package/dist/{criteria.d.ts → cjs/criteria.d.ts} +1 -1
  18. package/dist/cjs/criteria.d.ts.map +1 -0
  19. package/dist/cjs/criteria.js +335 -0
  20. package/dist/{criteria.js.map → cjs/criteria.js.map} +1 -1
  21. package/dist/cjs/crypto.d.ts.map +1 -0
  22. package/dist/cjs/crypto.js +32 -0
  23. package/dist/cjs/crypto.js.map +1 -0
  24. package/dist/cjs/domain-event-bus.d.ts.map +1 -0
  25. package/dist/cjs/domain-event-bus.js +108 -0
  26. package/dist/cjs/domain-event-bus.js.map +1 -0
  27. package/dist/{domain-event.d.ts → cjs/domain-event.d.ts} +1 -1
  28. package/dist/cjs/domain-event.d.ts.map +1 -0
  29. package/dist/cjs/domain-event.js +47 -0
  30. package/dist/cjs/domain-event.js.map +1 -0
  31. package/dist/{entity-changes.d.ts → cjs/entity-changes.d.ts} +1 -1
  32. package/dist/cjs/entity-changes.d.ts.map +1 -0
  33. package/dist/cjs/entity-changes.js +136 -0
  34. package/dist/cjs/entity-changes.js.map +1 -0
  35. package/dist/{entity-schema-registry.d.ts → cjs/entity-schema-registry.d.ts} +2 -2
  36. package/dist/cjs/entity-schema-registry.d.ts.map +1 -0
  37. package/dist/cjs/entity-schema-registry.js +370 -0
  38. package/dist/cjs/entity-schema-registry.js.map +1 -0
  39. package/dist/{entity.d.ts → cjs/entity.d.ts} +2 -2
  40. package/dist/cjs/entity.d.ts.map +1 -0
  41. package/dist/cjs/entity.js +11 -0
  42. package/dist/cjs/entity.js.map +1 -0
  43. package/dist/cjs/exceptions.d.ts.map +1 -0
  44. package/dist/cjs/exceptions.js +365 -0
  45. package/dist/cjs/exceptions.js.map +1 -0
  46. package/dist/cjs/id.d.ts.map +1 -0
  47. package/dist/cjs/id.js +80 -0
  48. package/dist/cjs/id.js.map +1 -0
  49. package/dist/{index.d.ts → cjs/index.d.ts} +16 -16
  50. package/dist/cjs/index.d.ts.map +1 -0
  51. package/dist/cjs/index.js +47 -0
  52. package/dist/cjs/index.js.map +1 -0
  53. package/dist/cjs/mapper.d.ts.map +1 -0
  54. package/dist/cjs/mapper.js +7 -0
  55. package/dist/cjs/mapper.js.map +1 -0
  56. package/dist/{paginated-result.d.ts → cjs/paginated-result.d.ts} +2 -2
  57. package/dist/cjs/paginated-result.d.ts.map +1 -0
  58. package/dist/cjs/paginated-result.js +194 -0
  59. package/dist/cjs/paginated-result.js.map +1 -0
  60. package/dist/{repository → cjs/repository}/base-repository.d.ts +6 -6
  61. package/dist/cjs/repository/base-repository.d.ts.map +1 -0
  62. package/dist/cjs/repository/base-repository.js +16 -0
  63. package/dist/cjs/repository/base-repository.js.map +1 -0
  64. package/dist/cjs/repository/index.d.ts +4 -0
  65. package/dist/cjs/repository/index.d.ts.map +1 -0
  66. package/dist/cjs/repository/index.js +24 -0
  67. package/dist/cjs/repository/index.js.map +1 -0
  68. package/dist/{repository → cjs/repository}/unit-of-work.d.ts +1 -1
  69. package/dist/cjs/repository/unit-of-work.d.ts.map +1 -0
  70. package/dist/cjs/repository/unit-of-work.js +60 -0
  71. package/dist/cjs/repository/unit-of-work.js.map +1 -0
  72. package/dist/cjs/types/change-tracker.d.ts +226 -0
  73. package/dist/cjs/types/change-tracker.d.ts.map +1 -0
  74. package/dist/cjs/types/change-tracker.js +3 -0
  75. package/dist/cjs/types/change-tracker.js.map +1 -0
  76. package/dist/cjs/types/criteria.d.ts +60 -0
  77. package/dist/cjs/types/criteria.d.ts.map +1 -0
  78. package/dist/cjs/types/criteria.js +20 -0
  79. package/dist/cjs/types/criteria.js.map +1 -0
  80. package/dist/cjs/types/domain-event.d.ts +32 -0
  81. package/dist/cjs/types/domain-event.d.ts.map +1 -0
  82. package/dist/cjs/types/domain-event.js +3 -0
  83. package/dist/{types → cjs/types}/domain-event.js.map +1 -1
  84. package/dist/{types → cjs/types}/domain.d.ts +2 -2
  85. package/dist/cjs/types/domain.d.ts.map +1 -0
  86. package/dist/cjs/types/domain.js +3 -0
  87. package/dist/{types → cjs/types}/domain.js.map +1 -1
  88. package/dist/cjs/types/index.d.ts +8 -0
  89. package/dist/cjs/types/index.d.ts.map +1 -0
  90. package/dist/cjs/types/index.js +24 -0
  91. package/dist/cjs/types/index.js.map +1 -0
  92. package/dist/cjs/types/standard-schema.d.ts.map +1 -0
  93. package/dist/cjs/types/standard-schema.js +3 -0
  94. package/dist/cjs/types/standard-schema.js.map +1 -0
  95. package/dist/{types → cjs/types}/unit-of-work.d.ts +2 -2
  96. package/dist/cjs/types/unit-of-work.d.ts.map +1 -0
  97. package/dist/cjs/types/unit-of-work.js +3 -0
  98. package/dist/{types → cjs/types}/unit-of-work.js.map +1 -1
  99. package/dist/{types → cjs/types}/utils.d.ts +1 -1
  100. package/dist/cjs/types/utils.d.ts.map +1 -0
  101. package/dist/cjs/types/utils.js +3 -0
  102. package/dist/{types → cjs/types}/utils.js.map +1 -1
  103. package/dist/{utils → cjs/utils}/criteria-operator-validation.d.ts +1 -1
  104. package/dist/cjs/utils/criteria-operator-validation.d.ts.map +1 -0
  105. package/dist/cjs/utils/criteria-operator-validation.js +171 -0
  106. package/dist/cjs/utils/criteria-operator-validation.js.map +1 -0
  107. package/dist/cjs/utils/helpers.d.ts.map +1 -0
  108. package/dist/cjs/utils/helpers.js +37 -0
  109. package/dist/cjs/utils/helpers.js.map +1 -0
  110. package/dist/cjs/validation-error.d.ts.map +1 -0
  111. package/dist/cjs/validation-error.js +117 -0
  112. package/dist/cjs/validation-error.js.map +1 -0
  113. package/dist/{value-object.d.ts → cjs/value-object.d.ts} +2 -2
  114. package/dist/cjs/value-object.d.ts.map +1 -0
  115. package/dist/cjs/value-object.js +192 -0
  116. package/dist/cjs/value-object.js.map +1 -0
  117. package/dist/esm/aggregate-changes.d.ts +206 -0
  118. package/dist/esm/aggregate-changes.d.ts.map +1 -0
  119. package/dist/{aggregate-changes.js → esm/aggregate-changes.js} +1 -1
  120. package/dist/esm/aggregate-changes.js.map +1 -0
  121. package/dist/esm/base-entity.d.ts +91 -0
  122. package/dist/esm/base-entity.d.ts.map +1 -0
  123. package/dist/{base-entity.js → esm/base-entity.js} +5 -5
  124. package/dist/esm/base-entity.js.map +1 -0
  125. package/dist/esm/change-tracker.d.ts +98 -0
  126. package/dist/esm/change-tracker.d.ts.map +1 -0
  127. package/dist/{change-tracker.js → esm/change-tracker.js} +4 -4
  128. package/dist/esm/change-tracker.js.map +1 -0
  129. package/dist/esm/constants.d.ts +9 -0
  130. package/dist/esm/constants.d.ts.map +1 -0
  131. package/dist/esm/constants.js.map +1 -0
  132. package/dist/esm/criteria.d.ts +62 -0
  133. package/dist/esm/criteria.d.ts.map +1 -0
  134. package/dist/{criteria.js → esm/criteria.js} +3 -3
  135. package/dist/esm/criteria.js.map +1 -0
  136. package/dist/esm/crypto.d.ts +3 -0
  137. package/dist/esm/crypto.d.ts.map +1 -0
  138. package/dist/esm/crypto.js.map +1 -0
  139. package/dist/esm/domain-event-bus.d.ts +56 -0
  140. package/dist/esm/domain-event-bus.d.ts.map +1 -0
  141. package/dist/esm/domain-event-bus.js.map +1 -0
  142. package/dist/esm/domain-event.d.ts +25 -0
  143. package/dist/esm/domain-event.d.ts.map +1 -0
  144. package/dist/{domain-event.js → esm/domain-event.js} +1 -1
  145. package/dist/esm/domain-event.js.map +1 -0
  146. package/dist/esm/entity-changes.d.ts +84 -0
  147. package/dist/esm/entity-changes.d.ts.map +1 -0
  148. package/dist/esm/entity-changes.js.map +1 -0
  149. package/dist/esm/entity-schema-registry.d.ts +282 -0
  150. package/dist/esm/entity-schema-registry.d.ts.map +1 -0
  151. package/dist/{entity-schema-registry.js → esm/entity-schema-registry.js} +5 -5
  152. package/dist/esm/entity-schema-registry.js.map +1 -0
  153. package/dist/esm/entity.d.ts +7 -0
  154. package/dist/esm/entity.d.ts.map +1 -0
  155. package/dist/{entity.js → esm/entity.js} +1 -1
  156. package/dist/esm/entity.js.map +1 -0
  157. package/dist/esm/exceptions.d.ts +251 -0
  158. package/dist/esm/exceptions.d.ts.map +1 -0
  159. package/dist/esm/exceptions.js.map +1 -0
  160. package/dist/esm/id.d.ts +52 -0
  161. package/dist/esm/id.d.ts.map +1 -0
  162. package/dist/{id.js → esm/id.js} +1 -1
  163. package/dist/esm/id.js.map +1 -0
  164. package/dist/esm/index.d.ts +17 -0
  165. package/dist/esm/index.d.ts.map +1 -0
  166. package/dist/esm/index.js +16 -0
  167. package/dist/esm/index.js.map +1 -0
  168. package/dist/esm/mapper.d.ts +4 -0
  169. package/dist/esm/mapper.d.ts.map +1 -0
  170. package/dist/esm/mapper.js.map +1 -0
  171. package/dist/esm/package.json +3 -0
  172. package/dist/esm/paginated-result.d.ts +62 -0
  173. package/dist/esm/paginated-result.d.ts.map +1 -0
  174. package/dist/{paginated-result.js → esm/paginated-result.js} +1 -1
  175. package/dist/esm/paginated-result.js.map +1 -0
  176. package/dist/esm/repository/base-repository.d.ts +28 -0
  177. package/dist/esm/repository/base-repository.d.ts.map +1 -0
  178. package/dist/esm/repository/base-repository.js.map +1 -0
  179. package/dist/esm/repository/index.d.ts +4 -0
  180. package/dist/esm/repository/index.d.ts.map +1 -0
  181. package/dist/esm/repository/index.js +4 -0
  182. package/dist/esm/repository/index.js.map +1 -0
  183. package/dist/esm/repository/unit-of-work.d.ts +34 -0
  184. package/dist/esm/repository/unit-of-work.d.ts.map +1 -0
  185. package/dist/esm/repository/unit-of-work.js.map +1 -0
  186. package/dist/esm/types/change-tracker.d.ts +226 -0
  187. package/dist/esm/types/change-tracker.d.ts.map +1 -0
  188. package/dist/esm/types/change-tracker.js.map +1 -0
  189. package/dist/esm/types/criteria.d.ts +60 -0
  190. package/dist/esm/types/criteria.d.ts.map +1 -0
  191. package/dist/esm/types/criteria.js.map +1 -0
  192. package/dist/esm/types/domain-event.d.ts +32 -0
  193. package/dist/esm/types/domain-event.d.ts.map +1 -0
  194. package/dist/esm/types/domain-event.js.map +1 -0
  195. package/dist/esm/types/domain.d.ts +29 -0
  196. package/dist/esm/types/domain.d.ts.map +1 -0
  197. package/dist/esm/types/domain.js.map +1 -0
  198. package/dist/esm/types/index.d.ts +8 -0
  199. package/dist/esm/types/index.d.ts.map +1 -0
  200. package/dist/esm/types/index.js +8 -0
  201. package/dist/esm/types/index.js.map +1 -0
  202. package/dist/esm/types/standard-schema.d.ts +15 -0
  203. package/dist/esm/types/standard-schema.d.ts.map +1 -0
  204. package/dist/esm/types/standard-schema.js.map +1 -0
  205. package/dist/esm/types/unit-of-work.d.ts +39 -0
  206. package/dist/esm/types/unit-of-work.d.ts.map +1 -0
  207. package/dist/esm/types/unit-of-work.js.map +1 -0
  208. package/dist/esm/types/utils.d.ts +13 -0
  209. package/dist/esm/types/utils.d.ts.map +1 -0
  210. package/dist/esm/types/utils.js.map +1 -0
  211. package/dist/esm/utils/criteria-operator-validation.d.ts +6 -0
  212. package/dist/esm/utils/criteria-operator-validation.d.ts.map +1 -0
  213. package/dist/{utils → esm/utils}/criteria-operator-validation.js +1 -1
  214. package/dist/esm/utils/criteria-operator-validation.js.map +1 -0
  215. package/dist/esm/utils/helpers.d.ts +3 -0
  216. package/dist/esm/utils/helpers.d.ts.map +1 -0
  217. package/dist/esm/utils/helpers.js.map +1 -0
  218. package/dist/esm/validation-error.d.ts +56 -0
  219. package/dist/esm/validation-error.d.ts.map +1 -0
  220. package/dist/esm/validation-error.js.map +1 -0
  221. package/dist/esm/value-object.d.ts +96 -0
  222. package/dist/esm/value-object.d.ts.map +1 -0
  223. package/dist/{value-object.js → esm/value-object.js} +3 -3
  224. package/dist/esm/value-object.js.map +1 -0
  225. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  226. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  227. package/dist/tsconfig.types.tsbuildinfo +1 -0
  228. package/dist/types/aggregate-changes.d.ts +206 -0
  229. package/dist/types/aggregate-changes.d.ts.map +1 -0
  230. package/dist/types/base-entity.d.ts +91 -0
  231. package/dist/types/base-entity.d.ts.map +1 -0
  232. package/dist/types/change-tracker.d.ts +90 -218
  233. package/dist/types/change-tracker.d.ts.map +1 -1
  234. package/dist/types/constants.d.ts +9 -0
  235. package/dist/types/constants.d.ts.map +1 -0
  236. package/dist/types/criteria.d.ts +59 -57
  237. package/dist/types/criteria.d.ts.map +1 -1
  238. package/dist/types/crypto.d.ts +3 -0
  239. package/dist/types/crypto.d.ts.map +1 -0
  240. package/dist/types/domain-event-bus.d.ts +56 -0
  241. package/dist/types/domain-event-bus.d.ts.map +1 -0
  242. package/dist/types/domain-event.d.ts +14 -21
  243. package/dist/types/domain-event.d.ts.map +1 -1
  244. package/dist/types/entity-changes.d.ts +84 -0
  245. package/dist/types/entity-changes.d.ts.map +1 -0
  246. package/dist/types/entity-schema-registry.d.ts +282 -0
  247. package/dist/types/entity-schema-registry.d.ts.map +1 -0
  248. package/dist/types/entity.d.ts +7 -0
  249. package/dist/types/entity.d.ts.map +1 -0
  250. package/dist/types/exceptions.d.ts +251 -0
  251. package/dist/types/exceptions.d.ts.map +1 -0
  252. package/dist/types/id.d.ts +52 -0
  253. package/dist/types/id.d.ts.map +1 -0
  254. package/dist/types/index.d.ts +16 -7
  255. package/dist/types/index.d.ts.map +1 -1
  256. package/dist/types/mapper.d.ts +4 -0
  257. package/dist/types/mapper.d.ts.map +1 -0
  258. package/dist/types/paginated-result.d.ts +62 -0
  259. package/dist/types/paginated-result.d.ts.map +1 -0
  260. package/dist/types/repository/base-repository.d.ts +28 -0
  261. package/dist/types/repository/base-repository.d.ts.map +1 -0
  262. package/dist/types/repository/index.d.ts +4 -0
  263. package/dist/types/repository/index.d.ts.map +1 -0
  264. package/dist/types/repository/unit-of-work.d.ts +34 -0
  265. package/dist/types/repository/unit-of-work.d.ts.map +1 -0
  266. package/dist/types/types/change-tracker.d.ts +226 -0
  267. package/dist/types/types/change-tracker.d.ts.map +1 -0
  268. package/dist/types/types/criteria.d.ts +60 -0
  269. package/dist/types/types/criteria.d.ts.map +1 -0
  270. package/dist/types/types/domain-event.d.ts +32 -0
  271. package/dist/types/types/domain-event.d.ts.map +1 -0
  272. package/dist/types/types/domain.d.ts +29 -0
  273. package/dist/types/types/domain.d.ts.map +1 -0
  274. package/dist/types/types/index.d.ts +8 -0
  275. package/dist/types/types/index.d.ts.map +1 -0
  276. package/dist/types/types/standard-schema.d.ts +15 -0
  277. package/dist/types/types/standard-schema.d.ts.map +1 -0
  278. package/dist/types/types/unit-of-work.d.ts +39 -0
  279. package/dist/types/types/unit-of-work.d.ts.map +1 -0
  280. package/dist/types/types/utils.d.ts +13 -0
  281. package/dist/types/types/utils.d.ts.map +1 -0
  282. package/dist/types/utils/criteria-operator-validation.d.ts +6 -0
  283. package/dist/types/utils/criteria-operator-validation.d.ts.map +1 -0
  284. package/dist/types/utils/helpers.d.ts +3 -0
  285. package/dist/types/utils/helpers.d.ts.map +1 -0
  286. package/dist/types/validation-error.d.ts +56 -0
  287. package/dist/types/validation-error.d.ts.map +1 -0
  288. package/dist/types/value-object.d.ts +96 -0
  289. package/dist/types/value-object.d.ts.map +1 -0
  290. package/package.json +13 -8
  291. package/dist/aggregate-changes.d.ts.map +0 -1
  292. package/dist/aggregate-changes.js.map +0 -1
  293. package/dist/base-entity.d.ts.map +0 -1
  294. package/dist/base-entity.js.map +0 -1
  295. package/dist/change-tracker.d.ts.map +0 -1
  296. package/dist/change-tracker.js.map +0 -1
  297. package/dist/constants.d.ts.map +0 -1
  298. package/dist/constants.js.map +0 -1
  299. package/dist/criteria.d.ts.map +0 -1
  300. package/dist/crypto.d.ts.map +0 -1
  301. package/dist/crypto.js.map +0 -1
  302. package/dist/domain-event-bus.d.ts.map +0 -1
  303. package/dist/domain-event-bus.js.map +0 -1
  304. package/dist/domain-event.d.ts.map +0 -1
  305. package/dist/domain-event.js.map +0 -1
  306. package/dist/entity-changes.d.ts.map +0 -1
  307. package/dist/entity-changes.js.map +0 -1
  308. package/dist/entity-schema-registry.d.ts.map +0 -1
  309. package/dist/entity-schema-registry.js.map +0 -1
  310. package/dist/entity.d.ts.map +0 -1
  311. package/dist/entity.js.map +0 -1
  312. package/dist/exceptions.d.ts.map +0 -1
  313. package/dist/exceptions.js.map +0 -1
  314. package/dist/id.d.ts.map +0 -1
  315. package/dist/id.js.map +0 -1
  316. package/dist/index.d.ts.map +0 -1
  317. package/dist/index.js +0 -16
  318. package/dist/index.js.map +0 -1
  319. package/dist/mapper.d.ts.map +0 -1
  320. package/dist/mapper.js.map +0 -1
  321. package/dist/paginated-result.d.ts.map +0 -1
  322. package/dist/paginated-result.js.map +0 -1
  323. package/dist/repository/base-repository.d.ts.map +0 -1
  324. package/dist/repository/base-repository.js.map +0 -1
  325. package/dist/repository/index.d.ts +0 -4
  326. package/dist/repository/index.d.ts.map +0 -1
  327. package/dist/repository/index.js +0 -4
  328. package/dist/repository/index.js.map +0 -1
  329. package/dist/repository/unit-of-work.d.ts.map +0 -1
  330. package/dist/repository/unit-of-work.js.map +0 -1
  331. package/dist/types/change-tracker.js.map +0 -1
  332. package/dist/types/criteria.js.map +0 -1
  333. package/dist/types/domain.d.ts.map +0 -1
  334. package/dist/types/index.js +0 -8
  335. package/dist/types/index.js.map +0 -1
  336. package/dist/types/standard-schema.d.ts.map +0 -1
  337. package/dist/types/standard-schema.js.map +0 -1
  338. package/dist/types/unit-of-work.d.ts.map +0 -1
  339. package/dist/types/utils.d.ts.map +0 -1
  340. package/dist/utils/criteria-operator-validation.d.ts.map +0 -1
  341. package/dist/utils/criteria-operator-validation.js.map +0 -1
  342. package/dist/utils/helpers.d.ts.map +0 -1
  343. package/dist/utils/helpers.js.map +0 -1
  344. package/dist/validation-error.d.ts.map +0 -1
  345. package/dist/validation-error.js.map +0 -1
  346. package/dist/value-object.d.ts.map +0 -1
  347. package/dist/value-object.js.map +0 -1
  348. /package/dist/{constants.d.ts → cjs/constants.d.ts} +0 -0
  349. /package/dist/{crypto.d.ts → cjs/crypto.d.ts} +0 -0
  350. /package/dist/{domain-event-bus.d.ts → cjs/domain-event-bus.d.ts} +0 -0
  351. /package/dist/{exceptions.d.ts → cjs/exceptions.d.ts} +0 -0
  352. /package/dist/{id.d.ts → cjs/id.d.ts} +0 -0
  353. /package/dist/{mapper.d.ts → cjs/mapper.d.ts} +0 -0
  354. /package/dist/{types → cjs/types}/standard-schema.d.ts +0 -0
  355. /package/dist/{utils → cjs/utils}/helpers.d.ts +0 -0
  356. /package/dist/{validation-error.d.ts → cjs/validation-error.d.ts} +0 -0
  357. /package/dist/{constants.js → esm/constants.js} +0 -0
  358. /package/dist/{crypto.js → esm/crypto.js} +0 -0
  359. /package/dist/{domain-event-bus.js → esm/domain-event-bus.js} +0 -0
  360. /package/dist/{entity-changes.js → esm/entity-changes.js} +0 -0
  361. /package/dist/{exceptions.js → esm/exceptions.js} +0 -0
  362. /package/dist/{mapper.js → esm/mapper.js} +0 -0
  363. /package/dist/{repository → esm/repository}/base-repository.js +0 -0
  364. /package/dist/{repository → esm/repository}/unit-of-work.js +0 -0
  365. /package/dist/{types → esm/types}/change-tracker.js +0 -0
  366. /package/dist/{types → esm/types}/criteria.js +0 -0
  367. /package/dist/{types → esm/types}/domain-event.js +0 -0
  368. /package/dist/{types → esm/types}/domain.js +0 -0
  369. /package/dist/{types → esm/types}/standard-schema.js +0 -0
  370. /package/dist/{types → esm/types}/unit-of-work.js +0 -0
  371. /package/dist/{types → esm/types}/utils.js +0 -0
  372. /package/dist/{utils → esm/utils}/helpers.js +0 -0
  373. /package/dist/{validation-error.js → esm/validation-error.js} +0 -0
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PaginatedResult = void 0;
4
+ const id_js_1 = require("./id.js");
5
+ class PaginatedResult {
6
+ data;
7
+ meta;
8
+ constructor(data, meta) {
9
+ this.data = data;
10
+ this.meta = meta;
11
+ }
12
+ /**
13
+ * Creates a PaginatedResult with calculated metadata
14
+ */
15
+ static create(data, pagination, total) {
16
+ const meta = this.createMeta(pagination, total);
17
+ return new PaginatedResult(data, meta);
18
+ }
19
+ /**
20
+ * Creates pagination metadata from total count
21
+ */
22
+ static createMeta(pagination, total) {
23
+ const totalPages = Math.ceil(total / pagination.limit);
24
+ return {
25
+ page: pagination.page,
26
+ limit: pagination.limit,
27
+ total,
28
+ totalPages,
29
+ hasNext: pagination.page < totalPages,
30
+ hasPrevious: pagination.page > 1,
31
+ };
32
+ }
33
+ /**
34
+ * Applies criteria to an in-memory array (useful for testing)
35
+ */
36
+ static fromArray(items, criteria) {
37
+ let result = [...items];
38
+ let total = result.length;
39
+ for (const filter of criteria.getFilters()) {
40
+ result = result.filter((item) => applyFilter(item, filter));
41
+ total = result.length;
42
+ }
43
+ for (const order of criteria.getOrders().reverse()) {
44
+ result.sort((a, b) => {
45
+ const aVal = getNestedValue(a, order.field);
46
+ const bVal = getNestedValue(b, order.field);
47
+ let comparison = 0;
48
+ if (aVal < bVal)
49
+ comparison = -1;
50
+ if (aVal > bVal)
51
+ comparison = 1;
52
+ return order.direction === "desc" ? -comparison : comparison;
53
+ });
54
+ }
55
+ const pagination = criteria.getPagination();
56
+ result = result.slice(pagination.offset, pagination.offset + pagination.limit);
57
+ const search = criteria.getSearch();
58
+ if (search) {
59
+ result = result.filter((item) => {
60
+ const values = Object.values(item);
61
+ return values.some((val) => String(val).toLowerCase().includes(search.toLowerCase()));
62
+ });
63
+ }
64
+ return PaginatedResult.create(result, pagination, total);
65
+ }
66
+ /**
67
+ * Converts the result to JSON, deeply serializing all entities/aggregates/value objects
68
+ * - Entities/Aggregates → calls toJSON() recursively
69
+ * - Value Objects → calls toJSON()
70
+ * - Id → converts to string
71
+ * - Arrays → maps recursively
72
+ * - Plain objects → serializes properties recursively
73
+ * - Primitives → returns as-is
74
+ */
75
+ toJSON() {
76
+ return {
77
+ data: this.data.map((item) => this.deepSerialize(item)),
78
+ meta: this.meta,
79
+ };
80
+ }
81
+ /**
82
+ * Deep serialization logic (similar to BaseEntity.deepToJson)
83
+ */
84
+ deepSerialize(obj) {
85
+ if (obj === null || obj === undefined)
86
+ return obj;
87
+ if (obj instanceof id_js_1.Id)
88
+ return obj.value;
89
+ if (Array.isArray(obj)) {
90
+ return obj.map((item) => this.deepSerialize(item));
91
+ }
92
+ if (obj && typeof obj.toJSON === "function") {
93
+ return obj.toJSON();
94
+ }
95
+ if (typeof obj === "object") {
96
+ const result = {};
97
+ for (const key in obj) {
98
+ if (obj.hasOwnProperty(key)) {
99
+ result[key] = this.deepSerialize(obj[key]);
100
+ }
101
+ }
102
+ return result;
103
+ }
104
+ return obj;
105
+ }
106
+ /**
107
+ * Transform each item in the result using a mapper function
108
+ */
109
+ map(fn) {
110
+ return new PaginatedResult(this.data.map(fn), this.meta);
111
+ }
112
+ /**
113
+ * Check if result has no data
114
+ */
115
+ get isEmpty() {
116
+ return this.data.length === 0;
117
+ }
118
+ /**
119
+ * Check if there are more pages available
120
+ */
121
+ get hasMore() {
122
+ return this.meta.hasNext;
123
+ }
124
+ }
125
+ exports.PaginatedResult = PaginatedResult;
126
+ function applyFilter(item, filter) {
127
+ const value = getNestedValue(item, filter.field);
128
+ const isValueDate = value instanceof Date;
129
+ const parseValue = (v) => {
130
+ if (isValueDate && typeof v === "string")
131
+ return new Date(v);
132
+ if (isValueDate && typeof v === "number")
133
+ return new Date(v);
134
+ return v;
135
+ };
136
+ switch (filter.operator) {
137
+ case "equals":
138
+ return value === filter.value;
139
+ case "notEquals":
140
+ return value !== filter.value;
141
+ case "greaterThan": {
142
+ const compareTo = parseValue(filter.value);
143
+ return isValueDate ? value > compareTo : value > filter.value;
144
+ }
145
+ case "greaterThanOrEqual": {
146
+ const compareTo = parseValue(filter.value);
147
+ return isValueDate ? value >= compareTo : value >= filter.value;
148
+ }
149
+ case "lessThan":
150
+ const lt = parseValue(filter.value);
151
+ return isValueDate ? value < lt : value < filter.value;
152
+ case "lessThanOrEqual":
153
+ const lte = parseValue(filter.value);
154
+ return isValueDate ? value <= lte : value <= filter.value;
155
+ case "contains":
156
+ return String(value)
157
+ .toLowerCase()
158
+ .includes(String(filter.value).toLowerCase());
159
+ case "startsWith":
160
+ return String(value)
161
+ .toLowerCase()
162
+ .startsWith(String(filter.value).toLowerCase());
163
+ case "endsWith":
164
+ return String(value)
165
+ .toLowerCase()
166
+ .endsWith(String(filter.value).toLowerCase());
167
+ case "in":
168
+ return Array.isArray(filter.value) && filter.value.includes(value);
169
+ case "notIn":
170
+ return Array.isArray(filter.value) && !filter.value.includes(value);
171
+ case "between":
172
+ if (Array.isArray(filter.value) && filter.value.length === 2) {
173
+ const [min, max] = filter.value.map(parseValue);
174
+ return isValueDate
175
+ ? value >= min && value <= max
176
+ : value >= filter.value[0] && value <= filter.value[1];
177
+ }
178
+ return false;
179
+ case "isNull":
180
+ return value === null || value === undefined;
181
+ case "isNotNull":
182
+ return value !== null && value !== undefined;
183
+ default:
184
+ return true;
185
+ }
186
+ }
187
+ function getNestedValue(obj, path) {
188
+ return path.split(".").reduce((current, key) => {
189
+ if (current === null || current === undefined)
190
+ return undefined;
191
+ return current[key];
192
+ }, obj);
193
+ }
194
+ //# sourceMappingURL=paginated-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginated-result.js","sourceRoot":"","sources":["../../src/paginated-result.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { Aggregate } from "../entity";
2
- import type { Criteria } from "../criteria";
3
- import { PaginatedResult } from "../paginated-result";
4
- import { Mapper } from "../mapper";
1
+ import type { Aggregate } from "../entity.js";
2
+ import type { Criteria } from "../criteria.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
6
  abstract find(criteria?: Criteria<Agg>): Promise<PaginatedResult<Agg>>;
7
7
  abstract findById(id: string): Promise<Agg | null>;
@@ -21,8 +21,8 @@ export declare abstract class WriteAndRead<Agg extends Aggregate<any>> {
21
21
  abstract exists(id: string): Promise<boolean>;
22
22
  }
23
23
  export declare abstract class Repository<TDomain extends Aggregate<any>> extends WriteAndRead<TDomain> {
24
- protected abstract readonly mapperToDomain: Mapper<unknown, TDomain>;
25
- protected abstract readonly mapperToPersistence: Mapper<TDomain, unknown>;
24
+ protected abstract readonly toDomainMapper: Mapper<unknown, TDomain>;
25
+ protected abstract readonly toPersistenceMapper: Mapper<TDomain, unknown>;
26
26
  protected abstract get model(): any;
27
27
  }
28
28
  //# sourceMappingURL=base-repository.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Repository = exports.WriteAndRead = exports.WriteRepository = exports.ReadRepository = void 0;
4
+ class ReadRepository {
5
+ }
6
+ exports.ReadRepository = ReadRepository;
7
+ class WriteRepository {
8
+ }
9
+ exports.WriteRepository = WriteRepository;
10
+ class WriteAndRead {
11
+ }
12
+ exports.WriteAndRead = WriteAndRead;
13
+ class Repository extends WriteAndRead {
14
+ }
15
+ exports.Repository = Repository;
16
+ //# sourceMappingURL=base-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-repository.js","sourceRoot":"","sources":["../../../src/repository/base-repository.ts"],"names":[],"mappings":";;;AAKA,MAAsB,cAAc;CAKnC;AALD,wCAKC;AAED,MAAsB,eAAe;CAGpC;AAHD,0CAGC;AAED,MAAsB,YAAY;CAOjC;AAPD,oCAOC;AAED,MAAsB,UAEpB,SAAQ,YAAqB;CAI9B;AAND,gCAMC"}
@@ -0,0 +1,4 @@
1
+ export { Mapper } from "../mapper.js";
2
+ export * from "./base-repository.js";
3
+ export { UnitOfWork, BaseTransactionContext } from "./unit-of-work.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.BaseTransactionContext = exports.UnitOfWork = exports.Mapper = void 0;
18
+ var mapper_js_1 = require("../mapper.js");
19
+ Object.defineProperty(exports, "Mapper", { enumerable: true, get: function () { return mapper_js_1.Mapper; } });
20
+ __exportStar(require("./base-repository.js"), exports);
21
+ var unit_of_work_js_1 = require("./unit-of-work.js");
22
+ Object.defineProperty(exports, "UnitOfWork", { enumerable: true, get: function () { return unit_of_work_js_1.UnitOfWork; } });
23
+ Object.defineProperty(exports, "BaseTransactionContext", { enumerable: true, get: function () { return unit_of_work_js_1.BaseTransactionContext; } });
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAsC;AAA7B,mGAAA,MAAM,OAAA;AACf,uDAAqC;AACrC,qDAAuE;AAA9D,6GAAA,UAAU,OAAA;AAAE,yHAAA,sBAAsB,OAAA"}
@@ -1,4 +1,4 @@
1
- import type { IUnitOfWork, TransactionContext } from "../types";
1
+ import type { IUnitOfWork, TransactionContext } from "../types/index.js";
2
2
  /**
3
3
  * Abstract Unit of Work
4
4
  * Provides transaction management across multiple repositories
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit-of-work.d.ts","sourceRoot":"","sources":["../../../src/repository/unit-of-work.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEzE;;;GAGG;AACH,8BAAsB,UAAW,YAAW,WAAW;IACrD,SAAS,CAAC,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAC3D,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAa;IAExD,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAE7C;;;OAGG;IACG,WAAW,CAAC,CAAC,EACjB,IAAI,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,CAAC,CAAC;IAkBb;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,KAAK;IAY3E;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EACvC,eAAe,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,GAC7C,KAAK;CACT;AAED;;GAEG;AACH,8BAAsB,sBAAuB,YAAW,kBAAkB;IACxE,SAAS,CAAC,SAAS,UAAQ;IAE3B,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAChC,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAElC,QAAQ,IAAI,OAAO;IAInB,SAAS,CAAC,YAAY,IAAI,IAAI;CAG/B"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseTransactionContext = exports.UnitOfWork = void 0;
4
+ /**
5
+ * Abstract Unit of Work
6
+ * Provides transaction management across multiple repositories
7
+ */
8
+ class UnitOfWork {
9
+ currentContext = null;
10
+ repositoryCache = new Map();
11
+ /**
12
+ * Execute work within a transaction
13
+ * Auto-commits on success, rolls back on error
14
+ */
15
+ async transaction(work) {
16
+ const ctx = await this.begin();
17
+ try {
18
+ const result = await work(ctx);
19
+ await ctx.commit();
20
+ return result;
21
+ }
22
+ catch (error) {
23
+ if (ctx.isActive()) {
24
+ await ctx.rollback();
25
+ }
26
+ throw error;
27
+ }
28
+ finally {
29
+ this.currentContext = null;
30
+ this.repositoryCache.clear();
31
+ }
32
+ }
33
+ /**
34
+ * Get repository instance (cached per transaction)
35
+ */
36
+ getRepository(RepositoryClass) {
37
+ const key = RepositoryClass.name;
38
+ if (this.repositoryCache.has(key)) {
39
+ return this.repositoryCache.get(key);
40
+ }
41
+ const repo = this.createRepository(RepositoryClass);
42
+ this.repositoryCache.set(key, repo);
43
+ return repo;
44
+ }
45
+ }
46
+ exports.UnitOfWork = UnitOfWork;
47
+ /**
48
+ * Base Transaction Context
49
+ */
50
+ class BaseTransactionContext {
51
+ _isActive = true;
52
+ isActive() {
53
+ return this._isActive;
54
+ }
55
+ markInactive() {
56
+ this._isActive = false;
57
+ }
58
+ }
59
+ exports.BaseTransactionContext = BaseTransactionContext;
60
+ //# sourceMappingURL=unit-of-work.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit-of-work.js","sourceRoot":"","sources":["../../../src/repository/unit-of-work.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAsB,UAAU;IACpB,cAAc,GAA8B,IAAI,CAAC;IACjD,eAAe,GAAqB,IAAI,GAAG,EAAE,CAAC;IAIxD;;;OAGG;IACH,KAAK,CAAC,WAAW,CACf,IAA6C;QAE7C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACnB,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAQ,eAA8C;QACjE,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;CAQF;AAnDD,gCAmDC;AAED;;GAEG;AACH,MAAsB,sBAAsB;IAChC,SAAS,GAAG,IAAI,CAAC;IAK3B,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;CACF;AAbD,wDAaC"}
@@ -0,0 +1,226 @@
1
+ import { Entity } from "../entity.js";
2
+ import { ValueObject } from "../value-object.js";
3
+ /**
4
+ * Base operation with common information.
5
+ */
6
+ export interface BaseOperation {
7
+ /** Entity name in the domain (e.g., 'User', 'Post', 'Comment') */
8
+ entity: string;
9
+ /** Depth in the aggregate tree (0 = root, 1 = direct children, etc.) */
10
+ depth: number;
11
+ /** Name of the relation field in the parent entity (e.g., 'tags', 'comments') */
12
+ relationField?: string;
13
+ }
14
+ /**
15
+ * Create operation.
16
+ */
17
+ export interface CreateOperation<T = any> extends BaseOperation {
18
+ type: "create";
19
+ /** Entity data to be created */
20
+ data: T;
21
+ /** Parent ID (for FK) */
22
+ parentId?: string;
23
+ /** Parent entity name */
24
+ parentEntity?: string;
25
+ }
26
+ /**
27
+ * Update operation.
28
+ */
29
+ export interface UpdateOperation<T = any> extends BaseOperation {
30
+ type: "update";
31
+ /** Entity ID */
32
+ id: string;
33
+ /** Current entity instance */
34
+ data: T;
35
+ /** Only fields that have changed */
36
+ changedFields: Record<string, any>;
37
+ }
38
+ /**
39
+ * Delete operation.
40
+ */
41
+ export interface DeleteOperation<T = any> extends BaseOperation {
42
+ type: "delete";
43
+ /** Entity ID to be deleted */
44
+ id: string;
45
+ /** Entity data (for reference) */
46
+ data: T;
47
+ /** Parent entity name */
48
+ parentEntity?: string;
49
+ /** Parent ID */
50
+ parentId?: string;
51
+ }
52
+ /**
53
+ * Union of all possible operations.
54
+ */
55
+ export type Operation<T = any> = CreateOperation<T> | UpdateOperation<T> | DeleteOperation<T>;
56
+ /**
57
+ * Item for batch creation.
58
+ */
59
+ export interface BatchCreateItem<T = any> {
60
+ /** Entity data */
61
+ data: T;
62
+ /** Parent ID (for FK) */
63
+ parentId?: string;
64
+ /** Parent entity name */
65
+ parentEntity?: string;
66
+ /** Relation field name */
67
+ relationField?: string;
68
+ }
69
+ /**
70
+ * Item for batch update.
71
+ */
72
+ export interface BatchUpdateItem {
73
+ /** Entity ID */
74
+ id: string;
75
+ /** Fields that have changed */
76
+ changedFields: Record<string, any>;
77
+ }
78
+ /**
79
+ * Item for batch delete.
80
+ */
81
+ export interface BatchDeleteItem {
82
+ /** Entity ID */
83
+ id: string;
84
+ /** Relation field name */
85
+ relationField?: string;
86
+ }
87
+ /**
88
+ * Grouped and ordered operations for batch execution.
89
+ */
90
+ export interface BatchOperations {
91
+ /**
92
+ * Deletes grouped by entity, ordered by depth descending (leaf → root).
93
+ */
94
+ deletes: Array<{
95
+ entity: string;
96
+ depth: number;
97
+ ids: string[];
98
+ parentId?: string;
99
+ /** Relation field name (for determining owned vs reference) */
100
+ relationField?: string;
101
+ /** Parent entity name */
102
+ parentEntity?: string;
103
+ /** Individual items with their relation fields (when mixed) */
104
+ items?: BatchDeleteItem[];
105
+ }>;
106
+ /**
107
+ * Creates grouped by entity, ordered by depth ascending (root → leaf).
108
+ */
109
+ creates: Array<{
110
+ entity: string;
111
+ depth: number;
112
+ items: BatchCreateItem[];
113
+ /** Relation field name (for determining owned vs reference) */
114
+ relationField?: string;
115
+ /** Parent entity name */
116
+ parentEntity?: string;
117
+ }>;
118
+ /**
119
+ * Updates grouped by entity.
120
+ */
121
+ updates: Array<{
122
+ entity: string;
123
+ items: BatchUpdateItem[];
124
+ }>;
125
+ }
126
+ /**
127
+ * Changes detected in a collection (1:N).
128
+ */
129
+ export interface CollectionChanges<T = any> {
130
+ /** Created items */
131
+ created: T[];
132
+ /** Updated items with their changes */
133
+ updated: Array<{
134
+ entity: T;
135
+ changes: Record<string, {
136
+ from: any;
137
+ to: any;
138
+ }>;
139
+ }>;
140
+ /** Deleted items */
141
+ deleted: T[];
142
+ }
143
+ /**
144
+ * Possible states for a 1:1 relationship.
145
+ */
146
+ export type EntityChangeState = "created" | "updated" | "deleted" | "replaced" | "unchanged";
147
+ /**
148
+ * Change in a 1:1 entity relationship.
149
+ */
150
+ export interface EntityChange<T = any> {
151
+ /** State of the change */
152
+ state: EntityChangeState;
153
+ /** Current entity (null if deleted) */
154
+ current: T | null;
155
+ /** Previous entity (null if created) */
156
+ previous: T | null;
157
+ /** Field changes (if state === 'updated') */
158
+ changes?: Record<string, {
159
+ from: any;
160
+ to: any;
161
+ }>;
162
+ }
163
+ /**
164
+ * Change in a primitive field.
165
+ */
166
+ export interface FieldChange<T = any> {
167
+ from: T;
168
+ to: T;
169
+ }
170
+ /**
171
+ * Extracts the props type from an Entity or ValueObject.
172
+ */
173
+ export type ExtractProps<T> = T extends Entity<infer P> ? P : T extends ValueObject<infer P> ? P : never;
174
+ /**
175
+ * Keys of primitive properties (not Entity, ValueObject or Array).
176
+ */
177
+ export type PrimitiveKeys<T> = {
178
+ [K in keyof T]: T[K] extends Entity<any> | ValueObject<any> | Array<any> | undefined ? never : K;
179
+ }[keyof T];
180
+ /**
181
+ * Keys of collections (arrays).
182
+ */
183
+ export type CollectionKeys<T> = {
184
+ [K in keyof T]: T[K] extends Array<any> ? K : never;
185
+ }[keyof T];
186
+ /**
187
+ * Keys of single entities (1:1).
188
+ */
189
+ export type SingleEntityKeys<T> = {
190
+ [K in keyof T]: T[K] extends Entity<any> | ValueObject<any> | null | undefined ? T[K] extends Array<any> ? never : K : never;
191
+ }[keyof T];
192
+ /**
193
+ * Change history entry.
194
+ */
195
+ export interface HistoryEntry {
196
+ path: string;
197
+ previousValue: any;
198
+ currentValue: any;
199
+ timestamp: number;
200
+ }
201
+ /**
202
+ * Metadata from a tracked entity/VO.
203
+ */
204
+ export interface TrackedEntityMetadata {
205
+ /** Entity name */
206
+ entityName: string;
207
+ /** Depth in the tree */
208
+ depth: number;
209
+ /** Parent ID */
210
+ parentId?: string;
211
+ /** Parent entity name */
212
+ parentEntity?: string;
213
+ /** Path in the object (e.g., 'posts[0].comments[1]') */
214
+ path: string;
215
+ }
216
+ export interface TrackedItem {
217
+ entity: any;
218
+ metadata: TrackedEntityMetadata;
219
+ originalState: any;
220
+ }
221
+ export interface ArrayState {
222
+ cloned: any[];
223
+ original: any[];
224
+ metadata: TrackedEntityMetadata;
225
+ }
226
+ //# sourceMappingURL=change-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-tracker.d.ts","sourceRoot":"","sources":["../../../src/types/change-tracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=change-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-tracker.js","sourceRoot":"","sources":["../../../src/types/change-tracker.ts"],"names":[],"mappings":""}