@woltz/rich-domain 1.0.0 → 1.1.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 (119) hide show
  1. package/CHANGELOG.md +21 -103
  2. package/LICENSE +20 -20
  3. package/dist/base-entity.d.ts +1 -1
  4. package/dist/base-entity.d.ts.map +1 -1
  5. package/dist/base-entity.js +15 -19
  6. package/dist/base-entity.js.map +1 -1
  7. package/dist/constants.js +1 -4
  8. package/dist/constants.js.map +1 -1
  9. package/dist/criteria.d.ts +5 -11
  10. package/dist/criteria.d.ts.map +1 -1
  11. package/dist/criteria.js +5 -8
  12. package/dist/criteria.js.map +1 -1
  13. package/dist/deep-proxy.d.ts.map +1 -1
  14. package/dist/deep-proxy.js +19 -9
  15. package/dist/deep-proxy.js.map +1 -1
  16. package/dist/domain-event-bus.d.ts +5 -6
  17. package/dist/domain-event-bus.d.ts.map +1 -1
  18. package/dist/domain-event-bus.js +4 -17
  19. package/dist/domain-event-bus.js.map +1 -1
  20. package/dist/domain-event.d.ts +1 -31
  21. package/dist/domain-event.d.ts.map +1 -1
  22. package/dist/domain-event.js +4 -7
  23. package/dist/domain-event.js.map +1 -1
  24. package/dist/entity.d.ts +2 -2
  25. package/dist/entity.js +3 -8
  26. package/dist/entity.js.map +1 -1
  27. package/dist/exceptions.d.ts +251 -0
  28. package/dist/exceptions.d.ts.map +1 -0
  29. package/dist/exceptions.js +321 -0
  30. package/dist/exceptions.js.map +1 -0
  31. package/dist/id.d.ts.map +1 -1
  32. package/dist/id.js +14 -7
  33. package/dist/id.js.map +1 -1
  34. package/dist/index.d.ts +2 -4
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +11 -39
  37. package/dist/index.js.map +1 -1
  38. package/dist/mapper.js +1 -5
  39. package/dist/mapper.js.map +1 -1
  40. package/dist/paginated-result.d.ts.map +1 -1
  41. package/dist/paginated-result.js +15 -8
  42. package/dist/paginated-result.js.map +1 -1
  43. package/dist/repository/base-repository.js +4 -11
  44. package/dist/repository/base-repository.js.map +1 -1
  45. package/dist/repository/index.d.ts +1 -2
  46. package/dist/repository/index.d.ts.map +1 -1
  47. package/dist/repository/index.js +3 -26
  48. package/dist/repository/index.js.map +1 -1
  49. package/dist/repository/unit-of-work.d.ts +0 -11
  50. package/dist/repository/unit-of-work.d.ts.map +1 -1
  51. package/dist/repository/unit-of-work.js +2 -43
  52. package/dist/repository/unit-of-work.js.map +1 -1
  53. package/dist/types/criteria.d.ts +4 -0
  54. package/dist/types/criteria.d.ts.map +1 -1
  55. package/dist/types/criteria.js +1 -4
  56. package/dist/types/criteria.js.map +1 -1
  57. package/dist/types/domain-event.d.ts +32 -0
  58. package/dist/types/domain-event.d.ts.map +1 -0
  59. package/dist/types/domain-event.js +2 -0
  60. package/dist/types/domain-event.js.map +1 -0
  61. package/dist/types/domain.d.ts +2 -2
  62. package/dist/types/domain.d.ts.map +1 -1
  63. package/dist/types/domain.js +1 -2
  64. package/dist/types/history-tracker.d.ts +1 -1
  65. package/dist/types/history-tracker.d.ts.map +1 -1
  66. package/dist/types/history-tracker.js +1 -2
  67. package/dist/types/index.d.ts +1 -0
  68. package/dist/types/index.d.ts.map +1 -1
  69. package/dist/types/index.js +7 -22
  70. package/dist/types/index.js.map +1 -1
  71. package/dist/types/standard-schema.js +1 -2
  72. package/dist/types/unit-of-work.js +1 -2
  73. package/dist/types/utils.js +1 -2
  74. package/dist/validation-error.js +3 -9
  75. package/dist/validation-error.js.map +1 -1
  76. package/dist/value-object.d.ts +1 -1
  77. package/dist/value-object.d.ts.map +1 -1
  78. package/dist/value-object.js +7 -14
  79. package/dist/value-object.js.map +1 -1
  80. package/eslint.config.js +3 -3
  81. package/jest.config.js +1 -1
  82. package/package.json +14 -20
  83. package/src/base-entity.ts +3 -3
  84. package/src/criteria.ts +9 -9
  85. package/src/deep-proxy.ts +50 -38
  86. package/src/domain-event-bus.ts +152 -166
  87. package/src/domain-event.ts +53 -90
  88. package/src/entity.ts +16 -16
  89. package/src/exceptions.ts +435 -0
  90. package/src/id.ts +107 -94
  91. package/src/index.ts +25 -6
  92. package/src/paginated-result.ts +14 -1
  93. package/src/repository/index.ts +1 -6
  94. package/src/repository/unit-of-work.ts +1 -44
  95. package/src/types/criteria.ts +5 -0
  96. package/src/types/domain-event.ts +38 -0
  97. package/src/types/domain.ts +2 -3
  98. package/src/types/history-tracker.ts +1 -1
  99. package/src/types/index.ts +1 -0
  100. package/src/validation-error.ts +97 -97
  101. package/src/value-object.ts +3 -6
  102. package/tests/criteria.test.ts +8 -0
  103. package/tests/domain-events.test.ts +431 -445
  104. package/tests/entity-validation.test.ts +1 -1
  105. package/tests/entity.test.ts +33 -33
  106. package/tests/repository.test.ts +4 -2
  107. package/tests/utils.ts +254 -151
  108. package/tests/value-object-validation.test.ts +0 -9
  109. package/tsconfig.json +2 -24
  110. package/.github/workflows/ci.yml +0 -40
  111. package/.husky/commit-msg +0 -1
  112. package/.husky/pre-commit +0 -1
  113. package/.vscode/settings.json +0 -3
  114. package/commitlint.config.js +0 -23
  115. package/dist/repository/in-memory-repository.d.ts +0 -50
  116. package/dist/repository/in-memory-repository.d.ts.map +0 -1
  117. package/dist/repository/in-memory-repository.js +0 -97
  118. package/dist/repository/in-memory-repository.js.map +0 -1
  119. package/src/repository/in-memory-repository.ts +0 -116
@@ -113,6 +113,14 @@ describe("Criteria", () => {
113
113
  expect(result.data.every((u) => u.status === "inactive")).toBe(true);
114
114
  });
115
115
 
116
+ it("should filter by search", () => {
117
+ const criteria = Criteria.create<TestUser>().search(["name"], "Bob");
118
+
119
+ const result = PaginatedResult.fromArray(testUsers, criteria);
120
+ expect(result.data).toHaveLength(1);
121
+ expect(result.data[0].name).toBe("Bob");
122
+ });
123
+
116
124
  it("should filter by greaterThan", () => {
117
125
  const criteria = Criteria.create<TestUser>().where(
118
126
  "age",