@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
package/README.md CHANGED
@@ -727,3 +727,24 @@ MIT
727
727
  - [Documentação Completa](https://github.com/yourusername/rich-domain)
728
728
  - [Exemplos](./src/repository/examples)
729
729
  - [Issues](https://github.com/yourusername/rich-domain/issues)
730
+
731
+ ## Package Formats
732
+
733
+ This library is published as a **dual package** supporting both CommonJS and ES Modules:
734
+
735
+ ### CommonJS (Node.js)
736
+ ```javascript
737
+ const { Id, Entity, Aggregate } = require('@woltz/rich-domain');
738
+ ```
739
+
740
+ ### ES Modules (Modern bundlers & Node.js with ESM)
741
+ ```javascript
742
+ import { Id, Entity, Aggregate } from '@woltz/rich-domain';
743
+ ```
744
+
745
+ ### Benefits
746
+ - ✅ **Universal compatibility**: Works in any Node.js environment
747
+ - ✅ **Tree-shaking**: Modern bundlers (Vite, Rollup, Webpack 5+) can eliminate unused code
748
+ - ✅ **TypeScript support**: Full type definitions included
749
+ - ✅ **Zero configuration**: Automatically uses the correct format for your environment
750
+
@@ -1,5 +1,5 @@
1
- import { Operation, CreateOperation, UpdateOperation, DeleteOperation, BatchOperations } from "./types/change-tracker";
2
- import { EntityChanges } from "./entity-changes";
1
+ import { Operation, CreateOperation, UpdateOperation, DeleteOperation, BatchOperations } from "./types/change-tracker.js";
2
+ import { EntityChanges } from "./entity-changes.js";
3
3
  /**
4
4
  * Manages and organizes the changes of an Aggregate.
5
5
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-changes.d.ts","sourceRoot":"","sources":["../../src/aggregate-changes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EAGhB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,gBAAgB,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAmB;gBAElB,UAAU,GAAE,SAAS,EAAO;IAIxC;;;;;;;;;OASG;IACH,SAAS,CAAC,CAAC,EACT,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI;IAYP;;OAEG;IACH,SAAS,CAAC,CAAC,EACT,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,CAAC,EACP,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAClC,KAAK,EAAE,MAAM,GACZ,IAAI;IAWP;;;;;;;;;;OAUG;IACH,SAAS,CAAC,CAAC,EACT,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI;IAaP;;OAEG;IACH,OAAO,IAAI,eAAe,EAAE;IAM5B;;OAEG;IACH,OAAO,IAAI,eAAe,EAAE;IAI5B;;OAEG;IACH,OAAO,IAAI,eAAe,EAAE;IAM5B;;;;;OAKG;IACF,UAAU,IAAI,SAAS,CAAC,SAAS,CAAC;IAMnC;;OAEG;IACH,OAAO,IAAI,SAAS,EAAE;IAItB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,iBAAiB,IAAI,eAAe;IAQpC;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAsCpB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAuCpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoBpB;;;;;;;;;;;;;;;;OAgBG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,UAAU,EAAE,UAAU,EAAE,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAK5E;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC;IAOhE;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,SAAS,EAAE,CAE/B;IAED;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAM/B;;OAEG;IACH,oBAAoB,IAAI,MAAM,EAAE;IAUhC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,KAAK,IAAI,gBAAgB,CAAC,UAAU,CAAC;CAGtC"}
@@ -0,0 +1,365 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AggregateChanges = void 0;
4
+ const entity_changes_js_1 = require("./entity-changes.js");
5
+ /**
6
+ * Manages and organizes the changes of an Aggregate.
7
+ *
8
+ * Responsibilities:
9
+ * - Stores all operations (create, update, delete)
10
+ * - Orders operations respecting FK dependencies
11
+ * - Groups operations by entity for batch execution
12
+ * - Provides query and iteration methods
13
+ * - Includes relationField, parentId, parentEntity for N:N support
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // Define an entity map for type-safe operations
18
+ * type UserEntities = {
19
+ * User: User;
20
+ * Post: Post;
21
+ * Comment: Comment;
22
+ * };
23
+ *
24
+ * // Getting changes with types
25
+ * const changes = user.getChanges<UserEntities>();
26
+ *
27
+ * // Filtering by entity with autocompletion
28
+ * const postChanges = changes.for('Post');
29
+ * postChanges.creates.forEach(post => {
30
+ * console.log(post.title);
31
+ * });
32
+ * ```
33
+ */
34
+ class AggregateChanges {
35
+ ops = [];
36
+ constructor(operations = []) {
37
+ this.ops = [...operations];
38
+ }
39
+ /**
40
+ * Adds a create operation.
41
+ *
42
+ * @param entity - Entity name
43
+ * @param data - Entity data
44
+ * @param depth - Depth in the aggregate tree
45
+ * @param parentId - Parent entity ID (for FK)
46
+ * @param parentEntity - Parent entity name
47
+ * @param relationField - Name of the relation field in parent (e.g., 'tags', 'comments')
48
+ */
49
+ addCreate(entity, data, depth, parentId, parentEntity, relationField) {
50
+ this.ops.push({
51
+ type: "create",
52
+ entity,
53
+ data,
54
+ depth,
55
+ parentId,
56
+ parentEntity,
57
+ relationField,
58
+ });
59
+ }
60
+ /**
61
+ * Adds an update operation.
62
+ */
63
+ addUpdate(entity, id, data, changedFields, depth) {
64
+ this.ops.push({
65
+ type: "update",
66
+ entity,
67
+ id,
68
+ data,
69
+ changedFields,
70
+ depth,
71
+ });
72
+ }
73
+ /**
74
+ * Adds a delete operation.
75
+ *
76
+ * @param entity - Entity name
77
+ * @param id - Entity ID
78
+ * @param data - Entity data (for reference)
79
+ * @param depth - Depth in the aggregate tree
80
+ * @param relationField - Name of the relation field in parent (e.g., 'tags', 'comments')
81
+ * @param parentId - Parent entity ID (for N:N disconnect)
82
+ * @param parentEntity - Parent entity name (for N:N disconnect)
83
+ */
84
+ addDelete(entity, id, data, depth, relationField, parentId, parentEntity) {
85
+ this.ops.push({
86
+ type: "delete",
87
+ entity,
88
+ id,
89
+ data,
90
+ depth,
91
+ relationField,
92
+ parentId,
93
+ parentEntity,
94
+ });
95
+ }
96
+ /**
97
+ * Returns all create operations, sorted by ascending depth (root → leaf).
98
+ */
99
+ creates() {
100
+ return this.ops
101
+ .filter((op) => op.type === "create")
102
+ .sort((a, b) => a.depth - b.depth);
103
+ }
104
+ /**
105
+ * Returns all update operations.
106
+ */
107
+ updates() {
108
+ return this.ops.filter((op) => op.type === "update");
109
+ }
110
+ /**
111
+ * Returns all delete operations, sorted by descending depth (leaf → root).
112
+ */
113
+ deletes() {
114
+ return this.ops
115
+ .filter((op) => op.type === "delete")
116
+ .sort((a, b) => b.depth - a.depth);
117
+ }
118
+ /**
119
+ * Iterator that returns operations in the correct execution order:
120
+ * 1. Deletes (leaf → root)
121
+ * 2. Creates (root → leaf)
122
+ * 3. Updates
123
+ */
124
+ *operations() {
125
+ yield* this.deletes();
126
+ yield* this.creates();
127
+ yield* this.updates();
128
+ }
129
+ /**
130
+ * Returns all operations as an array in execution order.
131
+ */
132
+ toArray() {
133
+ return [...this.operations()];
134
+ }
135
+ /**
136
+ * Converts the changes into BatchOperations for optimized execution.
137
+ *
138
+ * Groups operations by entity and sorts by depth:
139
+ * - Deletes: depth DESC (leaf → root), grouped by entity + relationField + parentId
140
+ * - Creates: depth ASC (root → leaf), grouped by entity + relationField
141
+ * - Updates: grouped by entity
142
+ *
143
+ * @example
144
+ * ```typescript
145
+ * const batch = changes.toBatchOperations();
146
+ *
147
+ * // Run deletes
148
+ * for (const del of batch.deletes) {
149
+ * if (registry.isReferenceCollection(del.parentEntity, del.relationField)) {
150
+ * // N:N - disconnect only
151
+ * await prisma[del.parentEntity].update({
152
+ * where: { id: del.parentId },
153
+ * data: { [del.relationField]: { disconnect: del.ids.map(id => ({ id })) } }
154
+ * });
155
+ * } else {
156
+ * // 1:N - delete entities
157
+ * await prisma[del.entity].deleteMany({ where: { id: { in: del.ids } } });
158
+ * }
159
+ * }
160
+ * ```
161
+ */
162
+ toBatchOperations() {
163
+ return {
164
+ deletes: this.groupDeletes(),
165
+ creates: this.groupCreates(),
166
+ updates: this.groupUpdates(),
167
+ };
168
+ }
169
+ /**
170
+ * Groups deletes by entity + relationField + parentId, sorted by descending depth.
171
+ *
172
+ * For N:N relations, we need to group by parentId because disconnect
173
+ * operations are performed on the parent entity.
174
+ */
175
+ groupDeletes() {
176
+ const deleteOps = this.deletes();
177
+ const grouped = new Map();
178
+ for (const op of deleteOps) {
179
+ // Group by entity + relationField + parentId
180
+ // This ensures N:N disconnects are grouped per parent
181
+ const key = `${op.entity}:${op.relationField ?? ""}:${op.parentId ?? ""}`;
182
+ if (!grouped.has(key)) {
183
+ grouped.set(key, {
184
+ depth: op.depth,
185
+ ids: [],
186
+ relationField: op.relationField,
187
+ parentEntity: op.parentEntity,
188
+ parentId: op.parentId,
189
+ });
190
+ }
191
+ grouped.get(key).ids.push(op.id);
192
+ }
193
+ return Array.from(grouped.entries())
194
+ .map(([key, { depth, ids, relationField, parentEntity, parentId }]) => {
195
+ const entity = key.split(":")[0];
196
+ return { entity, depth, ids, parentId, relationField, parentEntity };
197
+ })
198
+ .sort((a, b) => b.depth - a.depth);
199
+ }
200
+ /**
201
+ * Groups creates by entity + relationField, sorted by ascending depth.
202
+ *
203
+ * Preserves parentEntity for N:N connect operations.
204
+ */
205
+ groupCreates() {
206
+ const createOps = this.creates();
207
+ const grouped = new Map();
208
+ for (const op of createOps) {
209
+ const key = `${op.entity}:${op.relationField ?? ""}`;
210
+ if (!grouped.has(key)) {
211
+ grouped.set(key, {
212
+ depth: op.depth,
213
+ items: [],
214
+ relationField: op.relationField,
215
+ parentEntity: op.parentEntity,
216
+ });
217
+ }
218
+ grouped.get(key).items.push({
219
+ data: op.data,
220
+ parentId: op.parentId,
221
+ parentEntity: op.parentEntity,
222
+ relationField: op.relationField,
223
+ });
224
+ }
225
+ return Array.from(grouped.entries())
226
+ .map(([key, { depth, items, relationField, parentEntity }]) => {
227
+ const entity = key.split(":")[0];
228
+ return { entity, depth, items, relationField, parentEntity };
229
+ })
230
+ .sort((a, b) => a.depth - b.depth);
231
+ }
232
+ /**
233
+ * Groups updates by entity.
234
+ */
235
+ groupUpdates() {
236
+ const updateOps = this.updates();
237
+ const grouped = new Map();
238
+ for (const op of updateOps) {
239
+ if (!grouped.has(op.entity)) {
240
+ grouped.set(op.entity, []);
241
+ }
242
+ grouped.get(op.entity).push({
243
+ id: op.id,
244
+ changedFields: op.changedFields,
245
+ });
246
+ }
247
+ return Array.from(grouped.entries()).map(([entity, items]) => ({
248
+ entity,
249
+ items,
250
+ }));
251
+ }
252
+ /**
253
+ * Filters changes by entity name.
254
+ *
255
+ * @param entityName - Name of the entity (e.g., 'Post', 'Comment')
256
+ * @returns EntityChanges containing only the operations for this entity
257
+ *
258
+ * @example
259
+ * ```typescript
260
+ * const postChanges = changes.for('Post');
261
+ *
262
+ * if (postChanges.hasCreates()) {
263
+ * postChanges.creates.forEach(post => {
264
+ * console.log('New post:', post.title);
265
+ * });
266
+ * }
267
+ * ```
268
+ */
269
+ for(entityName) {
270
+ const filtered = this.ops.filter((op) => op.entity === entityName);
271
+ return new entity_changes_js_1.EntityChanges(filtered);
272
+ }
273
+ /**
274
+ * Filters changes by relation field.
275
+ *
276
+ * @param relationField - Name of the relation field (e.g., 'tags', 'comments')
277
+ * @returns New AggregateChanges containing only operations for this relation
278
+ *
279
+ * @example
280
+ * ```typescript
281
+ * const tagChanges = changes.forRelation('tags');
282
+ * // Contains only creates/deletes for the 'tags' relation
283
+ * ```
284
+ */
285
+ forRelation(relationField) {
286
+ const filtered = this.ops.filter((op) => op.relationField === relationField);
287
+ return new AggregateChanges(filtered);
288
+ }
289
+ /**
290
+ * Checks if there are create operations.
291
+ */
292
+ hasCreates() {
293
+ return this.ops.some((op) => op.type === "create");
294
+ }
295
+ /**
296
+ * Checks if there are update operations.
297
+ */
298
+ hasUpdates() {
299
+ return this.ops.some((op) => op.type === "update");
300
+ }
301
+ /**
302
+ * Checks if there are delete operations.
303
+ */
304
+ hasDeletes() {
305
+ return this.ops.some((op) => op.type === "delete");
306
+ }
307
+ /**
308
+ * Checks if there are any operations.
309
+ */
310
+ hasChanges() {
311
+ return this.ops.length > 0;
312
+ }
313
+ /**
314
+ * Checks if there are no operations.
315
+ */
316
+ isEmpty() {
317
+ return this.ops.length === 0;
318
+ }
319
+ /**
320
+ * Returns the total number of operations.
321
+ */
322
+ get count() {
323
+ return this.ops.length;
324
+ }
325
+ /**
326
+ * Returns the raw operations (for debug/testing).
327
+ */
328
+ get rawOperations() {
329
+ return [...this.ops];
330
+ }
331
+ /**
332
+ * Lists all entities that have changes.
333
+ */
334
+ getAffectedEntities() {
335
+ const entities = new Set();
336
+ this.ops.forEach((op) => entities.add(op.entity));
337
+ return Array.from(entities);
338
+ }
339
+ /**
340
+ * Lists all relation fields that have changes.
341
+ */
342
+ getAffectedRelations() {
343
+ const relations = new Set();
344
+ this.ops.forEach((op) => {
345
+ if (op.relationField) {
346
+ relations.add(op.relationField);
347
+ }
348
+ });
349
+ return Array.from(relations);
350
+ }
351
+ /**
352
+ * Clears all operations.
353
+ */
354
+ clear() {
355
+ this.ops = [];
356
+ }
357
+ /**
358
+ * Creates a copy of the changes.
359
+ */
360
+ clone() {
361
+ return new AggregateChanges([...this.ops]);
362
+ }
363
+ }
364
+ exports.AggregateChanges = AggregateChanges;
365
+ //# sourceMappingURL=aggregate-changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-changes.js","sourceRoot":"","sources":["../../src/aggregate-changes.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { Id } from "./id";
2
- import { ValidationError } from "./validation-error";
1
+ import { Id } from "./id.js";
2
+ import { ValidationError } from "./validation-error.js";
3
3
  import { IDomainEvent } from ".";
4
- import { BaseProps, HistoryEntry, DeepJsonResult, EntityHooks, EntityValidation } from "./types";
5
- import { DomainEventBus } from "./domain-event-bus";
6
- import { AggregateChanges } from "./aggregate-changes";
4
+ import { BaseProps, HistoryEntry, DeepJsonResult, EntityHooks, EntityValidation } from "./types/index.js";
5
+ import { DomainEventBus } from "./domain-event-bus.js";
6
+ import { AggregateChanges } from "./aggregate-changes.js";
7
7
  export declare abstract class BaseEntity<T extends BaseProps> {
8
8
  private _props;
9
9
  private tracker;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-entity.d.ts","sourceRoot":"","sources":["../../src/base-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC;AACjC,OAAO,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,WAAW,EAGX,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS1D,8BAAsB,UAAU,CAAC,CAAC,SAAS,SAAS;IAClD,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,WAAW,CAAC,CAAsB;IAC1C,OAAO,CAAC,YAAY,CAAC,CAAoB;IACzC,OAAO,CAAC,YAAY,CAAsB;IAE1C,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpD,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAEnC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,EAAE,CAAA;KAAE;IAqD9C,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,cAAc;IAgBtB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA4E7B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,cAAc;IAkDtB,IAAI,EAAE,IAAI,EAAE,CAEX;IAEM,KAAK,IAAI,OAAO;IAIvB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,OAAO;IAoBnD,IAAW,KAAK,IAAI,CAAC,CAEpB;IAED;;OAEG;IACH,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,eAAe,GAAG,SAAS,CAElD;IAED;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,gBAAgB,CAAC,UAAU,CAAC;IAI5E;;OAEG;IACH,UAAU,IAAI,YAAY,EAAE;IAI5B;;;OAGG;IACH,WAAW,IAAI,IAAI;IAKnB;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAInD;;OAEG;IACU,WAAW,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D;;OAEG;IACH,oBAAoB,IAAI,YAAY,EAAE;IAItC;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IAI3B,OAAO,CAAC,UAAU;CAgBnB"}