@woltz/rich-domain 1.0.0 → 1.2.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 (129) hide show
  1. package/CHANGELOG.md +37 -86
  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 +24 -14
  10. package/dist/criteria.d.ts.map +1 -1
  11. package/dist/criteria.js +154 -67
  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 -40
  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 +17 -9
  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 +31 -7
  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/utils/criteria-operator-validation.d.ts +5 -0
  75. package/dist/utils/criteria-operator-validation.d.ts.map +1 -0
  76. package/dist/utils/criteria-operator-validation.js +143 -0
  77. package/dist/utils/criteria-operator-validation.js.map +1 -0
  78. package/dist/utils/helpers.d.ts +2 -0
  79. package/dist/utils/helpers.d.ts.map +1 -0
  80. package/dist/utils/helpers.js +10 -0
  81. package/dist/utils/helpers.js.map +1 -0
  82. package/dist/validation-error.js +3 -9
  83. package/dist/validation-error.js.map +1 -1
  84. package/dist/value-object.d.ts +1 -1
  85. package/dist/value-object.d.ts.map +1 -1
  86. package/dist/value-object.js +7 -14
  87. package/dist/value-object.js.map +1 -1
  88. package/eslint.config.js +9 -3
  89. package/jest.config.js +1 -1
  90. package/package.json +14 -20
  91. package/src/base-entity.ts +3 -3
  92. package/src/criteria.ts +268 -87
  93. package/src/deep-proxy.ts +50 -38
  94. package/src/domain-event-bus.ts +152 -166
  95. package/src/domain-event.ts +53 -90
  96. package/src/entity.ts +16 -16
  97. package/src/exceptions.ts +435 -0
  98. package/src/id.ts +107 -94
  99. package/src/index.ts +32 -8
  100. package/src/paginated-result.ts +15 -3
  101. package/src/repository/index.ts +1 -6
  102. package/src/repository/unit-of-work.ts +1 -44
  103. package/src/types/criteria.ts +95 -17
  104. package/src/types/domain-event.ts +38 -0
  105. package/src/types/domain.ts +2 -3
  106. package/src/types/history-tracker.ts +1 -1
  107. package/src/types/index.ts +1 -0
  108. package/src/utils/criteria-operator-validation.ts +171 -0
  109. package/src/utils/helpers.ts +6 -0
  110. package/src/validation-error.ts +97 -97
  111. package/src/value-object.ts +3 -6
  112. package/tests/criteria.test.ts +324 -1
  113. package/tests/domain-events.test.ts +431 -445
  114. package/tests/entity-validation.test.ts +1 -1
  115. package/tests/entity.test.ts +33 -33
  116. package/tests/repository.test.ts +4 -2
  117. package/tests/utils.ts +254 -151
  118. package/tests/value-object-validation.test.ts +0 -9
  119. package/tsconfig.json +2 -24
  120. package/.github/workflows/ci.yml +0 -40
  121. package/.husky/commit-msg +0 -1
  122. package/.husky/pre-commit +0 -1
  123. package/.vscode/settings.json +0 -3
  124. package/commitlint.config.js +0 -23
  125. package/dist/repository/in-memory-repository.d.ts +0 -50
  126. package/dist/repository/in-memory-repository.d.ts.map +0 -1
  127. package/dist/repository/in-memory-repository.js +0 -97
  128. package/dist/repository/in-memory-repository.js.map +0 -1
  129. package/src/repository/in-memory-repository.ts +0 -116
package/dist/criteria.js CHANGED
@@ -1,34 +1,32 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Criteria = void 0;
4
- const types_1 = require("./types");
5
- // ============================================================================
6
- // Filter Types
7
- // ============================================================================
8
- class Criteria {
1
+ import { InvalidCriteriaError } from "./exceptions";
2
+ import { isValidOperatorForType, getValidOperatorsForType, isOperator, } from "./utils/criteria-operator-validation";
3
+ import { parseQueryValue } from "./utils/helpers";
4
+ export class Criteria {
9
5
  constructor() {
10
6
  this._filters = [];
11
7
  this._orders = [];
12
8
  this._pagination = { page: 1, limit: 20, offset: 0 };
13
9
  }
14
- /**
15
- * Create a new Criteria instance
16
- */
17
10
  static create() {
18
11
  return new Criteria();
19
12
  }
20
- /**
21
- * Add a filter condition
22
- */
23
- where(field, operator, value) {
13
+ useAdapter(map) {
14
+ this._adapter = map;
15
+ return this;
16
+ }
17
+ getAdapter() {
18
+ return this._adapter;
19
+ }
20
+ where(field, operator, value, options) {
21
+ this.validateOperator(operator, value);
24
22
  this._filters.push({
25
- field,
23
+ field: this.resolveFieldPath(field),
26
24
  operator,
27
25
  value,
26
+ options,
28
27
  });
29
28
  return this;
30
29
  }
31
- // === Shorthand methods (tipados) ===
32
30
  whereEquals(field, value) {
33
31
  return this.where(field, "equals", value);
34
32
  }
@@ -47,10 +45,18 @@ class Criteria {
47
45
  whereNotNull(field) {
48
46
  return this.where(field, "isNotNull");
49
47
  }
50
- // === OrderBy ===
48
+ whereSome(field, operator, value) {
49
+ return this.where(field, operator, value, { quantifier: "some" });
50
+ }
51
+ whereEvery(field, operator, value) {
52
+ return this.where(field, operator, value, { quantifier: "every" });
53
+ }
54
+ whereNone(field, operator, value) {
55
+ return this.where(field, operator, value, { quantifier: "none" });
56
+ }
51
57
  orderBy(field, direction = "asc") {
52
58
  this._orders.push({
53
- field: String(field),
59
+ field: this.resolveFieldPath(field),
54
60
  direction,
55
61
  });
56
62
  return this;
@@ -61,12 +67,9 @@ class Criteria {
61
67
  orderByDesc(field) {
62
68
  return this.orderBy(field, "desc");
63
69
  }
64
- // --------------------------------------------------------------------------
65
- // Search (tipado)
66
- // --------------------------------------------------------------------------
67
70
  search(fields, value) {
68
71
  this._search = {
69
- fields,
72
+ fields: fields.map(this.resolveFieldPath),
70
73
  value,
71
74
  };
72
75
  return this;
@@ -75,9 +78,13 @@ class Criteria {
75
78
  return !!this._search;
76
79
  }
77
80
  getSearch() {
78
- return this._search;
81
+ return this._search
82
+ ? {
83
+ fields: this._search.fields.map(this.resolveFieldPath),
84
+ value: this._search.value,
85
+ }
86
+ : undefined;
79
87
  }
80
- // === Pagination ===
81
88
  paginate(page, limit) {
82
89
  if (page < 1)
83
90
  page = 1;
@@ -93,12 +100,19 @@ class Criteria {
93
100
  limit(limit) {
94
101
  return this.paginate(1, limit);
95
102
  }
96
- // === Getters ===
97
103
  getFilters() {
98
- return this._filters;
104
+ return this._filters.map((filter) => ({
105
+ field: this.resolveFieldPath(filter.field),
106
+ operator: filter.operator,
107
+ value: filter.value,
108
+ options: filter.options,
109
+ }));
99
110
  }
100
111
  getOrders() {
101
- return this._orders;
112
+ return this._orders.map((order) => ({
113
+ field: this.resolveFieldPath(order.field),
114
+ direction: order.direction,
115
+ }));
102
116
  }
103
117
  getPagination() {
104
118
  return this._pagination;
@@ -112,40 +126,109 @@ class Criteria {
112
126
  hasPagination() {
113
127
  return this._pagination !== undefined;
114
128
  }
115
- // === Utilities ===
116
129
  clone() {
117
130
  const cloned = Criteria.create();
118
- cloned._filters = [...this._filters];
119
- cloned._orders = [...this._orders];
131
+ cloned._filters = [
132
+ ...this._filters.map((filter) => ({
133
+ field: this.resolveFieldPath(filter.field),
134
+ operator: filter.operator,
135
+ value: filter.value,
136
+ options: filter.options,
137
+ })),
138
+ ];
139
+ cloned._orders = [
140
+ ...this._orders.map((order) => ({
141
+ field: this.resolveFieldPath(order.field),
142
+ direction: order.direction,
143
+ })),
144
+ ];
120
145
  cloned._pagination = { ...this._pagination };
146
+ cloned._search = this._search
147
+ ? {
148
+ fields: this._search.fields.map(this.resolveFieldPath),
149
+ value: this._search.value,
150
+ }
151
+ : undefined;
152
+ if (this._adapter) {
153
+ cloned.useAdapter(this._adapter);
154
+ }
121
155
  return cloned;
122
156
  }
123
157
  toJSON() {
124
158
  return {
125
- filters: this._filters,
126
- orders: this._orders,
159
+ filters: this._filters.map((filter) => ({
160
+ field: this.resolveFieldPath(filter.field),
161
+ operator: filter.operator,
162
+ value: filter.value,
163
+ options: filter.options,
164
+ })),
165
+ orders: this._orders.map((order) => ({
166
+ field: this.resolveFieldPath(order.field),
167
+ direction: order.direction,
168
+ })),
127
169
  pagination: this._pagination,
128
- search: this._search,
170
+ search: this._search
171
+ ? {
172
+ fields: this._search.fields.map(this.resolveFieldPath),
173
+ value: this._search.value,
174
+ }
175
+ : undefined,
129
176
  };
130
177
  }
131
- static fromObject(obj) {
178
+ static fromObject(obj, adapter) {
132
179
  const criteria = Criteria.create();
133
- if (obj.filters)
180
+ if (adapter) {
181
+ criteria.useAdapter(adapter);
182
+ }
183
+ if (obj.filters) {
184
+ for (const filter of obj.filters) {
185
+ filter.field = criteria.resolveFieldPath(filter.field);
186
+ criteria.validateOperator(filter.operator, filter.value);
187
+ }
134
188
  criteria._filters = [...obj.filters];
189
+ }
135
190
  if (obj.orders)
136
- criteria._orders = [...obj.orders];
191
+ criteria._orders = [
192
+ ...obj.orders.map((order) => ({
193
+ field: criteria.resolveFieldPath(order.field),
194
+ direction: order.direction,
195
+ })),
196
+ ];
137
197
  if (obj.pagination)
138
198
  criteria._pagination = { ...obj.pagination };
139
199
  if (obj.search)
140
- criteria._search = { ...obj.search };
200
+ criteria._search = {
201
+ ...obj.search,
202
+ fields: obj.search.fields.map(criteria.resolveFieldPath),
203
+ };
141
204
  return criteria;
142
205
  }
143
- static fromQueryParams(query) {
206
+ resolveFieldPath(field) {
207
+ if (!this?._adapter)
208
+ return field;
209
+ if (this._adapter[field]) {
210
+ return this._adapter[field];
211
+ }
212
+ const parts = field.split(".");
213
+ for (let i = parts.length; i > 0; i--) {
214
+ const prefix = parts.slice(0, i).join(".");
215
+ if (this._adapter[prefix]) {
216
+ const rest = parts.slice(i).join(".");
217
+ return rest
218
+ ? `${this._adapter[prefix]}.${rest}`
219
+ : this._adapter[prefix];
220
+ }
221
+ }
222
+ return field;
223
+ }
224
+ static fromQueryParams(query, adapter) {
144
225
  const criteria = Criteria.create();
226
+ if (adapter) {
227
+ criteria.useAdapter(adapter);
228
+ }
145
229
  for (const [key, value] of Object.entries(query)) {
146
- // Pagination
147
230
  if (key === "page") {
148
- continue; // We'll handle pagination after
231
+ continue;
149
232
  }
150
233
  if (key === "limit") {
151
234
  continue;
@@ -153,36 +236,49 @@ class Criteria {
153
236
  if (key === "sort") {
154
237
  continue;
155
238
  }
156
- const [field, operatorRaw] = key.split(":");
157
- if (!operatorRaw || !field)
239
+ const [field, operatorWithQuantifier] = key.split(":");
240
+ if (!operatorWithQuantifier || !field)
158
241
  continue;
242
+ const [operatorRaw, quantifierRaw] = operatorWithQuantifier.split("@");
159
243
  const operator = isOperator(operatorRaw) ? operatorRaw : null;
160
- if (!operator)
161
- throw new Error(`Invalid filter operator: ${operatorRaw}`);
244
+ if (!operator) {
245
+ throw new InvalidCriteriaError(`Invalid filter operator`, operatorRaw);
246
+ }
247
+ const validQuantifiers = ["some", "every", "none"];
248
+ const quantifier = quantifierRaw && validQuantifiers.includes(quantifierRaw)
249
+ ? quantifierRaw
250
+ : undefined;
251
+ if (quantifierRaw && !quantifier) {
252
+ throw new InvalidCriteriaError(`Invalid quantifier. Valid values: ${validQuantifiers.join(", ")}`, quantifierRaw);
253
+ }
254
+ const options = quantifier
255
+ ? { quantifier }
256
+ : undefined;
162
257
  let parsedValue = value;
258
+ const resolvedField = criteria.resolveFieldPath(field);
163
259
  if (operator === "between") {
164
260
  parsedValue = value
165
261
  .split(",")
166
262
  .map((v) => parseQueryValue(v.trim()));
167
263
  if (parsedValue.length === 2) {
168
- criteria.whereBetween(field, parsedValue[0], parsedValue[1]);
264
+ criteria.where(resolvedField, "between", [parsedValue[0], parsedValue[1]], options);
169
265
  }
170
266
  continue;
171
267
  }
172
268
  if (operator === "in" || operator === "notIn") {
173
269
  parsedValue = value.split(",").map(parseQueryValue);
174
- criteria.where(field, operator, parsedValue);
270
+ criteria.where(field, operator, parsedValue, options);
175
271
  continue;
176
272
  }
177
- criteria.where(field, operator, parseQueryValue(value));
273
+ const parsedFinalValue = parseQueryValue(value);
274
+ criteria.validateOperator(operator, parsedFinalValue);
275
+ criteria.where(field, operator, parsedFinalValue, options);
178
276
  }
179
- // Pagination
180
277
  const page = query.page ? parseInt(query.page) : undefined;
181
278
  const limit = query.limit ? parseInt(query.limit) : undefined;
182
279
  if (page && limit) {
183
280
  criteria.paginate(page, limit);
184
281
  }
185
- // Sorting
186
282
  if (query.orderBy) {
187
283
  const sortParts = query.orderBy.split(",");
188
284
  sortParts.forEach((part) => {
@@ -194,25 +290,16 @@ class Criteria {
194
290
  const fields = query.searchFields
195
291
  .split(",")
196
292
  .filter(Boolean);
197
- criteria.search(fields, query.search);
293
+ const resolvedFields = fields.map(criteria.resolveFieldPath);
294
+ criteria.search(resolvedFields, query.search);
198
295
  }
199
296
  return criteria;
200
297
  }
201
- }
202
- exports.Criteria = Criteria;
203
- // ============================================================================
204
- // Helper Functions
205
- // ============================================================================
206
- function parseQueryValue(value) {
207
- if (!isNaN(Number(value)))
208
- return Number(value); // number
209
- if (value === "true" || value === "false")
210
- return value === "true"; // boolean
211
- if (!isNaN(Date.parse(value)))
212
- return new Date(value); // Date
213
- return value; // string
214
- }
215
- function isOperator(value) {
216
- return types_1.FILTER_OPERATORS.includes(value);
298
+ validateOperator(operator, value) {
299
+ if (value !== undefined && !isValidOperatorForType(value, operator)) {
300
+ const validOps = getValidOperatorsForType(value);
301
+ throw new InvalidCriteriaError(`Operator "${operator}" is not valid for type "${typeof value}". Valid operators: ${validOps.join(", ")}`, operator);
302
+ }
303
+ }
217
304
  }
218
305
  //# sourceMappingURL=criteria.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"criteria.js","sourceRoot":"","sources":["../src/criteria.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"criteria.js","sourceRoot":"","sources":["../src/criteria.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deep-proxy.d.ts","sourceRoot":"","sources":["../src/deep-proxy.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,qBAAa,SAAS;IAWlB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,SAAS,CAAC;IAZpB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,qBAAqB,CAAiC;IAC9D,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,oBAAoB,CAAyB;gBAG3C,MAAM,EAAE,GAAG,EACX,IAAI,GAAE,MAAW,EACjB,SAAS,CAAC,EAAE,SAAS,YAAA;IAK/B,WAAW,IAAI,GAAG;IA0FlB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,gBAAgB;IA0ExB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAyDjD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAYnD,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,kBAAkB;IA2C1B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,qBAAqB;IAsB7B,UAAU,IAAI,YAAY,EAAE;IAI5B,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAS5D,YAAY,IAAI,IAAI;IAOpB,SAAS,IAAI,GAAG;CAGjB"}
1
+ {"version":3,"file":"deep-proxy.d.ts","sourceRoot":"","sources":["../src/deep-proxy.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,qBAAa,SAAS;IAWlB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,SAAS,CAAC;IAZpB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,qBAAqB,CAAiC;IAC9D,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,oBAAoB,CAAyB;gBAG3C,MAAM,EAAE,GAAG,EACX,IAAI,GAAE,MAAW,EACjB,SAAS,CAAC,EAAE,SAAS,YAAA;IAK/B,WAAW,IAAI,GAAG;IA8FlB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,gBAAgB;IA8ExB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA4DjD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAanD,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,kBAAkB;IA2C1B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,qBAAqB;IAsB7B,UAAU,IAAI,YAAY,EAAE;IAI5B,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAS5D,YAAY,IAAI,IAAI;IAOpB,SAAS,IAAI,GAAG;CAGjB"}
@@ -1,11 +1,8 @@
1
- "use strict";
2
1
  // ============================================================================
3
2
  // Deep Proxy - Core Change Tracking
4
3
  // ============================================================================
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DeepProxy = void 0;
7
- const id_1 = require("./id");
8
- class DeepProxy {
4
+ import { Id } from "./id";
5
+ export class DeepProxy {
9
6
  constructor(target, path = "", rootProxy) {
10
7
  this.target = target;
11
8
  this.path = path;
@@ -25,6 +22,8 @@ class DeepProxy {
25
22
  const handler = {
26
23
  get: (target, prop, receiver) => {
27
24
  const value = Reflect.get(target, prop, receiver);
25
+ if (!this.rootProxy)
26
+ throw new Error("Root proxy is required");
28
27
  const currentPath = this.path
29
28
  ? `${this.path}.${String(prop)}`
30
29
  : String(prop);
@@ -53,6 +52,8 @@ class DeepProxy {
53
52
  const currentPath = this.path
54
53
  ? `${this.path}.${String(prop)}`
55
54
  : String(prop);
55
+ if (!this.rootProxy)
56
+ throw new Error("Root proxy is required");
56
57
  const oldValue = Reflect.get(target, prop, receiver);
57
58
  const isArrayAssignment = Array.isArray(newValue);
58
59
  if (!isArrayAssignment && oldValue === newValue)
@@ -116,6 +117,8 @@ class DeepProxy {
116
117
  return new Proxy(array, {
117
118
  get(target, prop, receiver) {
118
119
  const value = Reflect.get(target, prop, receiver);
120
+ if (!self.rootProxy)
121
+ throw new Error("Root proxy is required");
119
122
  if (typeof value === "function") {
120
123
  const mutatingMethods = [
121
124
  "push",
@@ -129,6 +132,8 @@ class DeepProxy {
129
132
  if (mutatingMethods.includes(String(prop))) {
130
133
  return function (...args) {
131
134
  // Capture state before mutation
135
+ if (!self.rootProxy)
136
+ throw new Error("Root proxy is required");
132
137
  const oldArray = target.slice();
133
138
  const result = value.apply(target, args);
134
139
  // Add to history
@@ -157,6 +162,8 @@ class DeepProxy {
157
162
  },
158
163
  set(target, prop, newValue, receiver) {
159
164
  if (!isNaN(Number(prop))) {
165
+ if (!self.rootProxy)
166
+ throw new Error("Root proxy is required");
160
167
  // Capture state before change
161
168
  const oldArray = target.slice();
162
169
  const result = Reflect.set(target, prop, newValue, receiver);
@@ -179,6 +186,8 @@ class DeepProxy {
179
186
  });
180
187
  }
181
188
  subscribe(path, callback) {
189
+ if (!this.rootProxy)
190
+ throw new Error("Root proxy is required");
182
191
  if (path === "*") {
183
192
  this.rootProxy.globalSubscribers.add(callback);
184
193
  return;
@@ -226,6 +235,8 @@ class DeepProxy {
226
235
  }
227
236
  }
228
237
  unsubscribe(path, callback) {
238
+ if (!this.rootProxy)
239
+ throw new Error("Root proxy is required");
229
240
  if (path === "*") {
230
241
  this.rootProxy.globalSubscribers.delete(callback);
231
242
  return;
@@ -303,7 +314,7 @@ class DeepProxy {
303
314
  return obj;
304
315
  if (obj instanceof Date)
305
316
  return new Date(obj.getTime());
306
- if (obj instanceof id_1.Id)
317
+ if (obj instanceof Id)
307
318
  return obj.value;
308
319
  if (obj.toJson && typeof obj.toJson === "function")
309
320
  return obj.toJson();
@@ -319,13 +330,13 @@ class DeepProxy {
319
330
  getItemId(item) {
320
331
  if (!item)
321
332
  return undefined;
322
- if (item.id instanceof id_1.Id)
333
+ if (item.id instanceof Id)
323
334
  return item.id.value;
324
335
  if (item.id !== undefined)
325
336
  return String(item.id);
326
337
  if (typeof item === "object" && "id" in item) {
327
338
  const id = item.id;
328
- return id instanceof id_1.Id ? id.value : String(id);
339
+ return id instanceof Id ? id.value : String(id);
329
340
  }
330
341
  return undefined;
331
342
  }
@@ -370,5 +381,4 @@ class DeepProxy {
370
381
  return this.target;
371
382
  }
372
383
  }
373
- exports.DeepProxy = DeepProxy;
374
384
  //# sourceMappingURL=deep-proxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deep-proxy.js","sourceRoot":"","sources":["../src/deep-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deep-proxy.js","sourceRoot":"","sources":["../src/deep-proxy.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IDomainEvent, DomainEventHandler, IDomainEventHandler } from "./domain-event";
1
+ import { IDomainEvent, DomainEventHandler, IDomainEventHandler } from ".";
2
2
  type EventConstructor<T extends IDomainEvent = IDomainEvent> = new (...args: any[]) => T;
3
3
  /**
4
4
  * Domain Event Bus - Singleton pattern for event pub/sub
@@ -15,7 +15,10 @@ export declare class DomainEventBus {
15
15
  /**
16
16
  * Subscribe to a specific event type
17
17
  */
18
- subscribe<T extends IDomainEvent>(eventType: EventConstructor<T> | string, handler: DomainEventHandler<T> | IDomainEventHandler<T>): void;
18
+ subscribe<T extends IDomainEvent>(props: {
19
+ event: EventConstructor<T> | string;
20
+ handler: DomainEventHandler<T> | IDomainEventHandler<T>;
21
+ }): void;
19
22
  /**
20
23
  * Subscribe to all events (wildcard)
21
24
  */
@@ -49,9 +52,5 @@ export declare class DomainEventBus {
49
52
  */
50
53
  private executeHandler;
51
54
  }
52
- /**
53
- * Convenience function to get the event bus instance
54
- */
55
- export declare function getEventBus(): DomainEventBus;
56
55
  export {};
57
56
  //# sourceMappingURL=domain-event-bus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"domain-event-bus.d.ts","sourceRoot":"","sources":["../src/domain-event-bus.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAExB,KAAK,gBAAgB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,IAAI,KAC7D,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,CAAC,CAAC;AAEP;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAGF;IACd,OAAO,CAAC,gBAAgB,CAEV;IAEd,OAAO;IAEP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,cAAc;IAOpC;;OAEG;IACH,SAAS,CAAC,CAAC,SAAS,YAAY,EAC9B,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,EACvC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GACtD,IAAI;IAWP;;OAEG;IACH,YAAY,CACV,OAAO,EAAE,kBAAkB,CAAC,YAAY,CAAC,GAAG,mBAAmB,CAAC,YAAY,CAAC,GAC5E,IAAI;IAIP;;OAEG;IACH,WAAW,CAAC,CAAC,SAAS,YAAY,EAChC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,EACvC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GACtD,IAAI;IAaP;;OAEG;IACH,cAAc,CACZ,OAAO,EAAE,kBAAkB,CAAC,YAAY,CAAC,GAAG,mBAAmB,CAAC,YAAY,CAAC,GAC5E,IAAI;IAIP;;OAEG;IACG,OAAO,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB9D;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAKxB;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,GAAG,MAAM;IAM7D;;OAEG;YACW,cAAc;CAkB7B;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,cAAc,CAE5C"}
1
+ {"version":3,"file":"domain-event-bus.d.ts","sourceRoot":"","sources":["../src/domain-event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,GAAG,CAAC;AAE1E,KAAK,gBAAgB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,IAAI,KAC7D,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,CAAC,CAAC;AAEP;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAGF;IACd,OAAO,CAAC,gBAAgB,CAEV;IAEd,OAAO;IAEP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,cAAc;IAOpC;;OAEG;IACH,SAAS,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE;QACvC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QACpC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;KACzD,GAAG,IAAI;IAWR;;OAEG;IACH,YAAY,CACV,OAAO,EACH,kBAAkB,CAAC,YAAY,CAAC,GAChC,mBAAmB,CAAC,YAAY,CAAC,GACpC,IAAI;IAIP;;OAEG;IACH,WAAW,CAAC,CAAC,SAAS,YAAY,EAChC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,EACvC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GACtD,IAAI;IAaP;;OAEG;IACH,cAAc,CACZ,OAAO,EACH,kBAAkB,CAAC,YAAY,CAAC,GAChC,mBAAmB,CAAC,YAAY,CAAC,GACpC,IAAI;IAIP;;OAEG;IACG,OAAO,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB9D;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAKxB;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,GAAG,MAAM;IAM7D;;OAEG;YACW,cAAc;CAe7B"}
@@ -1,14 +1,7 @@
1
- "use strict";
2
- // ============================================================================
3
- // Domain Event Bus - Pub/Sub for Domain Events
4
- // ============================================================================
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DomainEventBus = void 0;
7
- exports.getEventBus = getEventBus;
8
1
  /**
9
2
  * Domain Event Bus - Singleton pattern for event pub/sub
10
3
  */
11
- class DomainEventBus {
4
+ export class DomainEventBus {
12
5
  constructor() {
13
6
  this.handlers = new Map();
14
7
  this.wildcardHandlers = new Set();
@@ -25,8 +18,9 @@ class DomainEventBus {
25
18
  /**
26
19
  * Subscribe to a specific event type
27
20
  */
28
- subscribe(eventType, handler) {
29
- const eventName = typeof eventType === "string" ? eventType : eventType.name;
21
+ subscribe(props) {
22
+ const { event, handler } = props;
23
+ const eventName = typeof event === "string" ? event : event.name;
30
24
  if (!this.handlers.has(eventName)) {
31
25
  this.handlers.set(eventName, new Set());
32
26
  }
@@ -107,11 +101,4 @@ class DomainEventBus {
107
101
  }
108
102
  }
109
103
  }
110
- exports.DomainEventBus = DomainEventBus;
111
- /**
112
- * Convenience function to get the event bus instance
113
- */
114
- function getEventBus() {
115
- return DomainEventBus.getInstance();
116
- }
117
104
  //# sourceMappingURL=domain-event-bus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"domain-event-bus.js","sourceRoot":"","sources":["../src/domain-event-bus.ts"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,+CAA+C;AAC/C,+EAA+E;;;AAiK/E,kCAEC;AAvJD;;GAEG;AACH,MAAa,cAAc;IAUzB;QARQ,aAAQ,GAGZ,IAAI,GAAG,EAAE,CAAC;QACN,qBAAgB,GAEpB,IAAI,GAAG,EAAE,CAAC;IAES,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC7B,cAAc,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,SAAS,CACP,SAAuC,EACvC,OAAuD;QAEvD,MAAM,SAAS,GACb,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QAE7D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,YAAY,CACV,OAA6E;QAE7E,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,WAAW,CACT,SAAuC,EACvC,OAAuD;QAEvD,MAAM,SAAS,GACb,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc,CACZ,OAA6E;QAE7E,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAyB,KAAQ;QAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAE3D,4BAA4B;QAC5B,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5D,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CACpC,CAAC;QAEF,4BAA4B;QAC5B,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACzE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CACpC,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAsB;QACrC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,SAAoC;QAClD,MAAM,SAAS,GACb,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAC1B,OAA2D,EAC3D,KAAmB;QAEnB,IAAI,CAAC;YACH,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;gBAClC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,wBAAwB,KAAK,CAAC,SAAS,GAAG,EAC1C,KAAK,CACN,CAAC;YACF,kEAAkE;QACpE,CAAC;IACH,CAAC;CACF;AA7ID,wCA6IC;AAED;;GAEG;AACH,SAAgB,WAAW;IACzB,OAAO,cAAc,CAAC,WAAW,EAAE,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"domain-event-bus.js","sourceRoot":"","sources":["../src/domain-event-bus.ts"],"names":[],"mappings":"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"}