@woltz/rich-domain 1.8.4 → 1.8.5
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.
- package/dist/cjs/core/aggregate-changes.d.ts +1 -1
- package/dist/cjs/core/aggregate-changes.d.ts.map +1 -1
- package/dist/cjs/core/change-tracker.d.ts +2 -1
- package/dist/cjs/core/change-tracker.d.ts.map +1 -1
- package/dist/cjs/core/change-tracker.js +53 -17
- package/dist/cjs/core/change-tracker.js.map +1 -1
- package/dist/cjs/criteria.d.ts +4 -2
- package/dist/cjs/criteria.d.ts.map +1 -1
- package/dist/cjs/criteria.js +71 -36
- package/dist/cjs/criteria.js.map +1 -1
- package/dist/cjs/exceptions.d.ts +90 -0
- package/dist/cjs/exceptions.d.ts.map +1 -1
- package/dist/cjs/exceptions.js +120 -1
- package/dist/cjs/exceptions.js.map +1 -1
- package/dist/cjs/types/criteria.d.ts +25 -3
- package/dist/cjs/types/criteria.d.ts.map +1 -1
- package/dist/cjs/utils/helpers.d.ts +1 -1
- package/dist/cjs/utils/helpers.d.ts.map +1 -1
- package/dist/cjs/utils/helpers.js +20 -7
- package/dist/cjs/utils/helpers.js.map +1 -1
- package/dist/esm/core/aggregate-changes.d.ts +1 -1
- package/dist/esm/core/aggregate-changes.d.ts.map +1 -1
- package/dist/esm/core/change-tracker.d.ts +2 -1
- package/dist/esm/core/change-tracker.d.ts.map +1 -1
- package/dist/esm/core/change-tracker.js +53 -17
- package/dist/esm/core/change-tracker.js.map +1 -1
- package/dist/esm/criteria.d.ts +4 -2
- package/dist/esm/criteria.d.ts.map +1 -1
- package/dist/esm/criteria.js +72 -37
- package/dist/esm/criteria.js.map +1 -1
- package/dist/esm/exceptions.d.ts +90 -0
- package/dist/esm/exceptions.d.ts.map +1 -1
- package/dist/esm/exceptions.js +113 -0
- package/dist/esm/exceptions.js.map +1 -1
- package/dist/esm/types/criteria.d.ts +25 -3
- package/dist/esm/types/criteria.d.ts.map +1 -1
- package/dist/esm/utils/helpers.d.ts +1 -1
- package/dist/esm/utils/helpers.d.ts.map +1 -1
- package/dist/esm/utils/helpers.js +20 -7
- package/dist/esm/utils/helpers.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.types.tsbuildinfo +1 -1
- package/dist/types/core/aggregate-changes.d.ts +1 -1
- package/dist/types/core/aggregate-changes.d.ts.map +1 -1
- package/dist/types/core/change-tracker.d.ts +2 -1
- package/dist/types/core/change-tracker.d.ts.map +1 -1
- package/dist/types/criteria.d.ts +4 -2
- package/dist/types/criteria.d.ts.map +1 -1
- package/dist/types/exceptions.d.ts +90 -0
- package/dist/types/exceptions.d.ts.map +1 -1
- package/dist/types/types/criteria.d.ts +25 -3
- package/dist/types/types/criteria.d.ts.map +1 -1
- package/dist/types/utils/helpers.d.ts +1 -1
- package/dist/types/utils/helpers.d.ts.map +1 -1
- package/package.json +4 -3
package/dist/cjs/exceptions.d.ts
CHANGED
|
@@ -26,6 +26,96 @@ declare abstract class DomainException extends Error {
|
|
|
26
26
|
export declare class DomainError extends DomainException {
|
|
27
27
|
constructor(message: string, code?: string);
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Thrown for general application errors that don't fit other domain exceptions.
|
|
31
|
+
*/
|
|
32
|
+
export declare class ApplicationError extends DomainException {
|
|
33
|
+
constructor(message: string, code?: string);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Thrown when authentication is required but not provided or invalid
|
|
37
|
+
*/
|
|
38
|
+
export declare class UnauthorizedError extends DomainException {
|
|
39
|
+
readonly resource?: string;
|
|
40
|
+
readonly action?: string;
|
|
41
|
+
constructor(message?: string, resource?: string, action?: string);
|
|
42
|
+
toJSON(): {
|
|
43
|
+
resource: string | undefined;
|
|
44
|
+
action: string | undefined;
|
|
45
|
+
name: string;
|
|
46
|
+
message: string;
|
|
47
|
+
code: string;
|
|
48
|
+
timestamp: string;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Thrown when the user is authenticated but doesn't have permission to perform an action
|
|
53
|
+
*/
|
|
54
|
+
export declare class ForbiddenError extends DomainException {
|
|
55
|
+
readonly resource?: string;
|
|
56
|
+
readonly action?: string;
|
|
57
|
+
readonly userId?: string;
|
|
58
|
+
constructor(message?: string, resource?: string, action?: string, userId?: string);
|
|
59
|
+
toJSON(): {
|
|
60
|
+
resource: string | undefined;
|
|
61
|
+
action: string | undefined;
|
|
62
|
+
userId: string | undefined;
|
|
63
|
+
name: string;
|
|
64
|
+
message: string;
|
|
65
|
+
code: string;
|
|
66
|
+
timestamp: string;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Thrown when a request is malformed or contains invalid data
|
|
71
|
+
*/
|
|
72
|
+
export declare class BadRequestError extends DomainException {
|
|
73
|
+
readonly field?: string;
|
|
74
|
+
readonly reason?: string;
|
|
75
|
+
constructor(message: string, field?: string, reason?: string);
|
|
76
|
+
toJSON(): {
|
|
77
|
+
field: string | undefined;
|
|
78
|
+
reason: string | undefined;
|
|
79
|
+
name: string;
|
|
80
|
+
message: string;
|
|
81
|
+
code: string;
|
|
82
|
+
timestamp: string;
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Thrown when an operation exceeds the allowed time limit
|
|
87
|
+
*/
|
|
88
|
+
export declare class TimeoutError extends DomainException {
|
|
89
|
+
readonly operation: string;
|
|
90
|
+
readonly timeoutMs?: number;
|
|
91
|
+
constructor(operation: string, timeoutMs?: number, message?: string);
|
|
92
|
+
toJSON(): {
|
|
93
|
+
operation: string;
|
|
94
|
+
timeoutMs: number | undefined;
|
|
95
|
+
name: string;
|
|
96
|
+
message: string;
|
|
97
|
+
code: string;
|
|
98
|
+
timestamp: string;
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Thrown when rate limit is exceeded
|
|
103
|
+
*/
|
|
104
|
+
export declare class RateLimitError extends DomainException {
|
|
105
|
+
readonly limit: number;
|
|
106
|
+
readonly windowMs: number;
|
|
107
|
+
readonly retryAfter?: number;
|
|
108
|
+
constructor(limit: number, windowMs: number, retryAfter?: number, message?: string);
|
|
109
|
+
toJSON(): {
|
|
110
|
+
limit: number;
|
|
111
|
+
windowMs: number;
|
|
112
|
+
retryAfter: number | undefined;
|
|
113
|
+
name: string;
|
|
114
|
+
message: string;
|
|
115
|
+
code: string;
|
|
116
|
+
timestamp: string;
|
|
117
|
+
};
|
|
118
|
+
}
|
|
29
119
|
/**
|
|
30
120
|
* Thrown when an entity or aggregate is not found
|
|
31
121
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../../src/exceptions.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,uBAAe,eAAgB,SAAQ,KAAK;IAC1C,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,SAAS,EAAE,IAAI,CAAC;IAChC,SAAgB,mBAAmB,QAAQ;gBAE/B,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAW1C;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe;IASlE;;OAEG;IACH,MAAM,IAAI;QACR,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB;CAQF;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,eAAe;gBAClC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAG3C;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAEtB,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAUnE,MAAM;;;
|
|
1
|
+
{"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../../src/exceptions.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/exceptions.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MapperError = exports.ConfigurationError = exports.NotImplementedError = exports.UnknownError = exports.TransactionError = exports.InvalidCriteriaError = exports.EventHandlerError = exports.DomainEventError = exports.InvalidValueObjectError = exports.ConstraintViolationError = exports.ConcurrencyError = exports.PersistenceError = exports.RepositoryError = exports.EntityAlreadyExistsError = exports.EntityNotFoundError = exports.DomainError = void 0;
|
|
3
|
+
exports.MapperError = exports.ConfigurationError = exports.NotImplementedError = exports.UnknownError = exports.TransactionError = exports.InvalidCriteriaError = exports.EventHandlerError = exports.DomainEventError = exports.InvalidValueObjectError = exports.ConstraintViolationError = exports.ConcurrencyError = exports.PersistenceError = exports.RepositoryError = exports.EntityAlreadyExistsError = exports.EntityNotFoundError = exports.RateLimitError = exports.TimeoutError = exports.BadRequestError = exports.ForbiddenError = exports.UnauthorizedError = exports.ApplicationError = exports.DomainError = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Base exception class for all Rich Domain exceptions
|
|
6
6
|
*/
|
|
@@ -47,6 +47,125 @@ class DomainError extends DomainException {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
exports.DomainError = DomainError;
|
|
50
|
+
/**
|
|
51
|
+
* Thrown for general application errors that don't fit other domain exceptions.
|
|
52
|
+
*/
|
|
53
|
+
class ApplicationError extends DomainException {
|
|
54
|
+
constructor(message, code) {
|
|
55
|
+
super(message, code || "APPLICATION_ERROR");
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.ApplicationError = ApplicationError;
|
|
59
|
+
/**
|
|
60
|
+
* Thrown when authentication is required but not provided or invalid
|
|
61
|
+
*/
|
|
62
|
+
class UnauthorizedError extends DomainException {
|
|
63
|
+
resource;
|
|
64
|
+
action;
|
|
65
|
+
constructor(message, resource, action) {
|
|
66
|
+
const defaultMessage = message || "Authentication required to access this resource";
|
|
67
|
+
super(defaultMessage, "UNAUTHORIZED");
|
|
68
|
+
this.resource = resource;
|
|
69
|
+
this.action = action;
|
|
70
|
+
}
|
|
71
|
+
toJSON() {
|
|
72
|
+
return {
|
|
73
|
+
...super.toJSON(),
|
|
74
|
+
resource: this.resource,
|
|
75
|
+
action: this.action,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.UnauthorizedError = UnauthorizedError;
|
|
80
|
+
/**
|
|
81
|
+
* Thrown when the user is authenticated but doesn't have permission to perform an action
|
|
82
|
+
*/
|
|
83
|
+
class ForbiddenError extends DomainException {
|
|
84
|
+
resource;
|
|
85
|
+
action;
|
|
86
|
+
userId;
|
|
87
|
+
constructor(message, resource, action, userId) {
|
|
88
|
+
const defaultMessage = message || "You don't have permission to perform this action";
|
|
89
|
+
super(defaultMessage, "FORBIDDEN");
|
|
90
|
+
this.resource = resource;
|
|
91
|
+
this.action = action;
|
|
92
|
+
this.userId = userId;
|
|
93
|
+
}
|
|
94
|
+
toJSON() {
|
|
95
|
+
return {
|
|
96
|
+
...super.toJSON(),
|
|
97
|
+
resource: this.resource,
|
|
98
|
+
action: this.action,
|
|
99
|
+
userId: this.userId,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.ForbiddenError = ForbiddenError;
|
|
104
|
+
/**
|
|
105
|
+
* Thrown when a request is malformed or contains invalid data
|
|
106
|
+
*/
|
|
107
|
+
class BadRequestError extends DomainException {
|
|
108
|
+
field;
|
|
109
|
+
reason;
|
|
110
|
+
constructor(message, field, reason) {
|
|
111
|
+
super(message, "BAD_REQUEST");
|
|
112
|
+
this.field = field;
|
|
113
|
+
this.reason = reason;
|
|
114
|
+
}
|
|
115
|
+
toJSON() {
|
|
116
|
+
return {
|
|
117
|
+
...super.toJSON(),
|
|
118
|
+
field: this.field,
|
|
119
|
+
reason: this.reason,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.BadRequestError = BadRequestError;
|
|
124
|
+
/**
|
|
125
|
+
* Thrown when an operation exceeds the allowed time limit
|
|
126
|
+
*/
|
|
127
|
+
class TimeoutError extends DomainException {
|
|
128
|
+
operation;
|
|
129
|
+
timeoutMs;
|
|
130
|
+
constructor(operation, timeoutMs, message) {
|
|
131
|
+
const defaultMessage = `Operation '${operation}' timed out${timeoutMs ? ` after ${timeoutMs}ms` : ""}`;
|
|
132
|
+
super(message || defaultMessage, "TIMEOUT_ERROR");
|
|
133
|
+
this.operation = operation;
|
|
134
|
+
this.timeoutMs = timeoutMs;
|
|
135
|
+
}
|
|
136
|
+
toJSON() {
|
|
137
|
+
return {
|
|
138
|
+
...super.toJSON(),
|
|
139
|
+
operation: this.operation,
|
|
140
|
+
timeoutMs: this.timeoutMs,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
exports.TimeoutError = TimeoutError;
|
|
145
|
+
/**
|
|
146
|
+
* Thrown when rate limit is exceeded
|
|
147
|
+
*/
|
|
148
|
+
class RateLimitError extends DomainException {
|
|
149
|
+
limit;
|
|
150
|
+
windowMs;
|
|
151
|
+
retryAfter;
|
|
152
|
+
constructor(limit, windowMs, retryAfter, message) {
|
|
153
|
+
const defaultMessage = `Rate limit exceeded: ${limit} requests per ${windowMs}ms`;
|
|
154
|
+
super(message || defaultMessage, "RATE_LIMIT_ERROR");
|
|
155
|
+
this.limit = limit;
|
|
156
|
+
this.windowMs = windowMs;
|
|
157
|
+
this.retryAfter = retryAfter;
|
|
158
|
+
}
|
|
159
|
+
toJSON() {
|
|
160
|
+
return {
|
|
161
|
+
...super.toJSON(),
|
|
162
|
+
limit: this.limit,
|
|
163
|
+
windowMs: this.windowMs,
|
|
164
|
+
retryAfter: this.retryAfter,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
exports.RateLimitError = RateLimitError;
|
|
50
169
|
/**
|
|
51
170
|
* Thrown when an entity or aggregate is not found
|
|
52
171
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../src/exceptions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../src/exceptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,27 @@ export type ArrayOperators = "in" | "notIn" | "isNull" | "isNotNull";
|
|
|
9
9
|
export type OperatorsForType<T> = T extends string ? StringOperators : T extends number ? NumberOperators : T extends Date ? DateOperators : T extends boolean ? BooleanOperators : T extends Array<any> ? ArrayOperators : FilterOperator;
|
|
10
10
|
export type FilterValueFor<T> = T | (T extends number | Date ? [T, T] : never) | T[] | null;
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* Resolve individual entity prop types for criteria:
|
|
13
|
+
* - Date → Date (preserved, so DateOperators are used)
|
|
14
|
+
* - Array<U> → recurse into elements
|
|
15
|
+
* - Id / ValueObject (value + equals) → unwrap to primitive value
|
|
16
|
+
* - Everything else → keep as-is
|
|
17
|
+
*/
|
|
18
|
+
type ResolveEntityProp<T> = T extends Date ? Date : T extends Array<infer U> ? ResolveEntityProp<U>[] : T extends {
|
|
19
|
+
value: infer V;
|
|
20
|
+
equals(...args: any[]): any;
|
|
21
|
+
} ? V : T;
|
|
22
|
+
/**
|
|
23
|
+
* Extract the plain object type from an entity for criteria field resolution.
|
|
24
|
+
* - For entities (with `props`), resolves from raw props preserving Date types.
|
|
25
|
+
* - For objects with toJSON(), uses the return type of toJSON().
|
|
26
|
+
* - Otherwise, uses the type as is.
|
|
15
27
|
*/
|
|
16
28
|
type ExtractPlainType<T> = T extends {
|
|
29
|
+
props: infer P;
|
|
30
|
+
} ? {
|
|
31
|
+
[K in keyof P]: ResolveEntityProp<P[K]>;
|
|
32
|
+
} : T extends {
|
|
17
33
|
toJSON(): infer R;
|
|
18
34
|
} ? R : T;
|
|
19
35
|
export type PathValue<T, P extends string> = P extends `${infer K}.${infer Rest}` ? K extends keyof ExtractPlainType<T> ? ExtractPlainType<T>[K] extends Array<infer U> ? PathValue<U, Rest> : PathValue<ExtractPlainType<T>[K], Rest> : never : P extends keyof ExtractPlainType<T> ? ExtractPlainType<T>[P] : never;
|
|
@@ -49,6 +65,12 @@ export interface Pagination {
|
|
|
49
65
|
offset: number;
|
|
50
66
|
}
|
|
51
67
|
export type Search = string;
|
|
68
|
+
export type QueryParamsObject = {
|
|
69
|
+
filters?: Record<string, unknown>;
|
|
70
|
+
pagination?: Omit<Pagination, "offset">;
|
|
71
|
+
orderBy?: string[];
|
|
72
|
+
search?: string;
|
|
73
|
+
};
|
|
52
74
|
export interface PaginationMeta {
|
|
53
75
|
page: number;
|
|
54
76
|
limit: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../../src/types/criteria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,QAAA,MAAM,gBAAgB,6LAeZ,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,WAAW,GACX,UAAU,GACV,YAAY,GACZ,UAAU,GACV,IAAI,GACJ,OAAO,GACP,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,WAAW,GACX,aAAa,GACb,oBAAoB,GACpB,UAAU,GACV,iBAAiB,GACjB,IAAI,GACJ,OAAO,GACP,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,WAAW,GACX,aAAa,GACb,oBAAoB,GACpB,UAAU,GACV,iBAAiB,GACjB,IAAI,GACJ,OAAO,GACP,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;AAErE,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC9C,eAAe,GACf,CAAC,SAAS,MAAM,GACd,eAAe,GACf,CAAC,SAAS,IAAI,GACZ,aAAa,GACb,CAAC,SAAS,OAAO,GACf,gBAAgB,GAChB,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAClB,cAAc,GACd,cAAc,CAAC;AAE3B,MAAM,MAAM,cAAc,CAAC,CAAC,IACxB,CAAC,GACD,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAC1C,CAAC,EAAE,GACH,IAAI,CAAC;AAET
|
|
1
|
+
{"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../../src/types/criteria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,QAAA,MAAM,gBAAgB,6LAeZ,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,WAAW,GACX,UAAU,GACV,YAAY,GACZ,UAAU,GACV,IAAI,GACJ,OAAO,GACP,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,WAAW,GACX,aAAa,GACb,oBAAoB,GACpB,UAAU,GACV,iBAAiB,GACjB,IAAI,GACJ,OAAO,GACP,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,WAAW,GACX,aAAa,GACb,oBAAoB,GACpB,UAAU,GACV,iBAAiB,GACjB,IAAI,GACJ,OAAO,GACP,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;AAErE,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC9C,eAAe,GACf,CAAC,SAAS,MAAM,GACd,eAAe,GACf,CAAC,SAAS,IAAI,GACZ,aAAa,GACb,CAAC,SAAS,OAAO,GACf,gBAAgB,GAChB,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAClB,cAAc,GACd,cAAc,CAAC;AAE3B,MAAM,MAAM,cAAc,CAAC,CAAC,IACxB,CAAC,GACD,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAC1C,CAAC,EAAE,GACH,IAAI,CAAC;AAET;;;;;;GAMG;AACH,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GACtC,IAAI,GACJ,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,iBAAiB,CAAC,CAAC,CAAC,EAAE,GACtB,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;CAAE,GACvD,CAAC,GACD,CAAC,CAAC;AAEV;;;;;GAKG;AACH,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,GACnD;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC3C,CAAC,SAAS;IAAE,MAAM,IAAI,MAAM,CAAC,CAAA;CAAE,GAC7B,CAAC,GACD,CAAC,CAAC;AAER,MAAM,MAAM,SAAS,CACnB,CAAC,EACD,CAAC,SAAS,MAAM,IACd,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,GACpC,CAAC,SAAS,MAAM,gBAAgB,CAAC,CAAC,CAAC,GACjC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAC3C,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAClB,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GACzC,KAAK,GACP,CAAC,SAAS,MAAM,gBAAgB,CAAC,CAAC,CAAC,GACjC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACtB,KAAK,CAAC;AAEZ,MAAM,WAAW,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,OAAO;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,SAAS,MAAM,GAAG,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG;QACnB,KAAK,EAAE,CAAC,CAAC;QACT,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,EAAE,eAAe,CAAC;KAC3B;CACF,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhB,MAAM,MAAM,eAAe,CAAC,KAAK,EAAE,MAAM,IAAI;KAC1C,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACxC;AAED,KAAK,kBAAkB,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAE7E,MAAM,MAAM,SAAS,CAAC,CAAC,IACrB,gBAAgB,CAAC,CAAC,CAAC,SAAS,SAAS,GACjC,KAAK,GACL;KACG,CAAC,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,WAAW,CAClE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvB,SAAS,SAAS,GACf,CAAC,GACD,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACxD,CAAC,SAAS,SAAS,GACjB,CAAC,GACD,CAAC,GAAG,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,GAC5B,GAAG,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;CAC/D,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAcnD;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA0BhE"}
|
|
@@ -3,13 +3,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.parseQueryValue = parseQueryValue;
|
|
4
4
|
exports.levenshteinDistance = levenshteinDistance;
|
|
5
5
|
function parseQueryValue(value) {
|
|
6
|
-
if (
|
|
7
|
-
return
|
|
8
|
-
if (
|
|
9
|
-
return value
|
|
10
|
-
if (
|
|
11
|
-
return
|
|
12
|
-
|
|
6
|
+
if (value === null || value === undefined)
|
|
7
|
+
return value;
|
|
8
|
+
if (typeof value === "boolean")
|
|
9
|
+
return value;
|
|
10
|
+
if (typeof value === "number")
|
|
11
|
+
return value;
|
|
12
|
+
if (value instanceof Date)
|
|
13
|
+
return value;
|
|
14
|
+
if (Array.isArray(value))
|
|
15
|
+
return value;
|
|
16
|
+
if (typeof value === "object")
|
|
17
|
+
return value;
|
|
18
|
+
const str = String(value);
|
|
19
|
+
if (str === "true" || str === "false")
|
|
20
|
+
return str === "true";
|
|
21
|
+
if (str.trim() !== "" && !isNaN(Number(str)))
|
|
22
|
+
return Number(str);
|
|
23
|
+
if (!isNaN(Date.parse(str)))
|
|
24
|
+
return new Date(str);
|
|
25
|
+
return str;
|
|
13
26
|
}
|
|
14
27
|
function levenshteinDistance(a, b) {
|
|
15
28
|
const matrix = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":";;AAAA,0CAcC;AAED,kDA0BC;AA1CD,SAAgB,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE5C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,GAAG,KAAK,MAAM,CAAC;IAC7D,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAElD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,mBAAmB,CAAC,CAAS,EAAE,CAAS;IACtD,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CACrB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,eAAe;gBACzC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY;gBAClC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW;iBACjC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -77,7 +77,7 @@ export declare class AggregateChanges<TEntityMap = Record<string, any>> {
|
|
|
77
77
|
* 2. Creates (root → leaf)
|
|
78
78
|
* 3. Updates
|
|
79
79
|
*/
|
|
80
|
-
operations(): Generator<Operation>;
|
|
80
|
+
operations(): Generator<Operation, void, undefined>;
|
|
81
81
|
/**
|
|
82
82
|
* Returns all operations as an array in execution order.
|
|
83
83
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate-changes.d.ts","sourceRoot":"","sources":["../../../src/core/aggregate-changes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EAGhB,MAAM,4BAA4B,CAAC;AACpC,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;
|
|
1
|
+
{"version":3,"file":"aggregate-changes.d.ts","sourceRoot":"","sources":["../../../src/core/aggregate-changes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EAGhB,MAAM,4BAA4B,CAAC;AACpC,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,EAAE,IAAI,EAAE,SAAS,CAAC;IAMpD;;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"}
|
|
@@ -100,9 +100,10 @@ export declare class ChangeTracker {
|
|
|
100
100
|
private isEqual;
|
|
101
101
|
private deepEqual;
|
|
102
102
|
private hasChanged;
|
|
103
|
+
private toCanonicalString;
|
|
104
|
+
private throwCircularReferenceError;
|
|
103
105
|
private cloneArray;
|
|
104
106
|
private deepClone;
|
|
105
|
-
private normalizeAndStringify;
|
|
106
107
|
getHistory(): HistoryEntry[];
|
|
107
108
|
clearHistory(): void;
|
|
108
109
|
markAsClean(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-tracker.d.ts","sourceRoot":"","sources":["../../../src/core/change-tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"change-tracker.d.ts","sourceRoot":"","sources":["../../../src/core/change-tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,OAAO,GAAG,IAAI,CAAC;AAEhF;;;;;;;;;;GAUG;AACH,qBAAa,aAAa;IAQtB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;IAEb,OAAO,CAAC,QAAQ,CAAC;IAEjB,OAAO,CAAC,YAAY,CAAC;IACrB,OAAO,CAAC,WAAW,CAAC;IAftB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,eAAe,CAAuC;IAC9D,OAAO,CAAC,iBAAiB,CAAC,CAAoB;gBAGpC,MAAM,EAAE,GAAG,EACX,cAAc,EAAE,MAAM,EACtB,IAAI,GAAE,MAAW,EACjB,KAAK,GAAE,MAAU,EAEjB,QAAQ,CAAC,EAAE,MAAM,YAAA,EAEjB,YAAY,CAAC,EAAE,MAAM,YAAA,EACrB,WAAW,CAAC,EAAE,aAAa,YAAA;IAQrC;;;;;;OAMG;IACH,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAIxD,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,kBAAkB;IAgD1B,OAAO,CAAC,iBAAiB;IAyCzB,WAAW,IAAI,GAAG;IA2FlB,OAAO,CAAC,gBAAgB;IAuHxB;;OAEG;IACH,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,gBAAgB,CAAC,UAAU,CAAC;IA0B5E;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmC1B;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,wBAAwB;IAyFhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA8ChC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA8ChC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IA0DnC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAmBlC,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,oBAAoB;IA0F5B,OAAO,CAAC,uBAAuB;IA0B/B,OAAO,CAAC,kBAAkB;IA2C1B,OAAO,CAAC,mBAAmB;IA8B3B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,SAAS;IA4CjB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAsCjB,UAAU,IAAI,YAAY,EAAE;IAI5B,YAAY,IAAI,IAAI;IASpB,WAAW,IAAI,IAAI;IAInB,SAAS,IAAI,GAAG;CAGjB"}
|
|
@@ -2,6 +2,7 @@ import { Id } from "./id.js";
|
|
|
2
2
|
import { Entity } from "./entity.js";
|
|
3
3
|
import { ValueObject } from "./value-object.js";
|
|
4
4
|
import { AggregateChanges } from "./aggregate-changes.js";
|
|
5
|
+
import { DomainError } from "../exceptions.js";
|
|
5
6
|
/**
|
|
6
7
|
* Tracks changes in Aggregates using Proxy.
|
|
7
8
|
*
|
|
@@ -117,6 +118,9 @@ export class ChangeTracker {
|
|
|
117
118
|
const handler = {
|
|
118
119
|
get: (target, prop, receiver) => {
|
|
119
120
|
const value = Reflect.get(target, prop, receiver);
|
|
121
|
+
if (typeof prop === "symbol") {
|
|
122
|
+
return value;
|
|
123
|
+
}
|
|
120
124
|
if (this.shouldSkipProperty(prop)) {
|
|
121
125
|
return value;
|
|
122
126
|
}
|
|
@@ -134,6 +138,9 @@ export class ChangeTracker {
|
|
|
134
138
|
return value;
|
|
135
139
|
},
|
|
136
140
|
set: (target, prop, newValue, receiver) => {
|
|
141
|
+
if (typeof prop === "symbol") {
|
|
142
|
+
return Reflect.set(target, prop, newValue, receiver);
|
|
143
|
+
}
|
|
137
144
|
const currentPath = this.buildPath(String(prop));
|
|
138
145
|
const oldValue = Reflect.get(target, prop, receiver);
|
|
139
146
|
if (!Array.isArray(newValue) && oldValue === newValue) {
|
|
@@ -184,6 +191,9 @@ export class ChangeTracker {
|
|
|
184
191
|
return new Proxy(array, {
|
|
185
192
|
get(target, prop, receiver) {
|
|
186
193
|
const value = Reflect.get(target, prop, receiver);
|
|
194
|
+
if (typeof prop === "symbol") {
|
|
195
|
+
return value;
|
|
196
|
+
}
|
|
187
197
|
if (typeof value === "function") {
|
|
188
198
|
const mutatingMethods = [
|
|
189
199
|
"push",
|
|
@@ -231,6 +241,9 @@ export class ChangeTracker {
|
|
|
231
241
|
return value;
|
|
232
242
|
},
|
|
233
243
|
set(target, prop, newValue, receiver) {
|
|
244
|
+
if (typeof prop === "symbol") {
|
|
245
|
+
return Reflect.set(target, prop, newValue, receiver);
|
|
246
|
+
}
|
|
234
247
|
if (!isNaN(Number(prop))) {
|
|
235
248
|
const oldArray = target.slice();
|
|
236
249
|
if (rootTracker.onChangeValidator) {
|
|
@@ -722,7 +735,9 @@ export class ChangeTracker {
|
|
|
722
735
|
try {
|
|
723
736
|
return this.hasChanged(a, b) === false;
|
|
724
737
|
}
|
|
725
|
-
catch {
|
|
738
|
+
catch (error) {
|
|
739
|
+
if (error instanceof DomainError)
|
|
740
|
+
throw error;
|
|
726
741
|
return this.deepEqual(a, b);
|
|
727
742
|
}
|
|
728
743
|
}
|
|
@@ -771,9 +786,43 @@ export class ChangeTracker {
|
|
|
771
786
|
return true;
|
|
772
787
|
}
|
|
773
788
|
hasChanged(obj1, obj2) {
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
789
|
+
return this.toCanonicalString(obj1) !== this.toCanonicalString(obj2);
|
|
790
|
+
}
|
|
791
|
+
toCanonicalString(obj, visited = new WeakSet()) {
|
|
792
|
+
if (obj === null || typeof obj !== "object") {
|
|
793
|
+
return JSON.stringify(obj);
|
|
794
|
+
}
|
|
795
|
+
if (visited.has(obj)) {
|
|
796
|
+
this.throwCircularReferenceError(obj);
|
|
797
|
+
}
|
|
798
|
+
visited.add(obj);
|
|
799
|
+
if (obj instanceof Id || obj instanceof ValueObject) {
|
|
800
|
+
return JSON.stringify(obj.value);
|
|
801
|
+
}
|
|
802
|
+
if (typeof obj.toJSON === "function") {
|
|
803
|
+
try {
|
|
804
|
+
return this.toCanonicalString(obj.toJSON(), visited);
|
|
805
|
+
}
|
|
806
|
+
catch (error) {
|
|
807
|
+
if (error instanceof DomainError)
|
|
808
|
+
throw error;
|
|
809
|
+
this.throwCircularReferenceError(obj);
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
if (Array.isArray(obj)) {
|
|
813
|
+
const entries = obj.map((item) => this.toCanonicalString(item, visited));
|
|
814
|
+
return `[${entries.join(",")}]`;
|
|
815
|
+
}
|
|
816
|
+
const sortedKeys = Object.keys(obj).sort();
|
|
817
|
+
const resultParts = sortedKeys.map((key) => {
|
|
818
|
+
const value = this.toCanonicalString(obj[key], visited);
|
|
819
|
+
return `${JSON.stringify(key)}:${value}`;
|
|
820
|
+
});
|
|
821
|
+
return `{${resultParts.join(",")}}`;
|
|
822
|
+
}
|
|
823
|
+
throwCircularReferenceError(obj) {
|
|
824
|
+
const className = obj.constructor?.name || "Unknown";
|
|
825
|
+
throw new DomainError(`Circular reference detected in object comparison: ${className}`, "CIRCULAR_REFERENCE_ERROR");
|
|
777
826
|
}
|
|
778
827
|
cloneArray(arr) {
|
|
779
828
|
return arr.map((item) => this.deepClone(item));
|
|
@@ -810,19 +859,6 @@ export class ChangeTracker {
|
|
|
810
859
|
return cloned;
|
|
811
860
|
}
|
|
812
861
|
}
|
|
813
|
-
normalizeAndStringify(obj) {
|
|
814
|
-
if (obj === null || typeof obj !== "object") {
|
|
815
|
-
return JSON.stringify(obj);
|
|
816
|
-
}
|
|
817
|
-
if (Array.isArray(obj)) {
|
|
818
|
-
return `[${obj
|
|
819
|
-
.map((item) => this.normalizeAndStringify(item))
|
|
820
|
-
.join(",")}]`;
|
|
821
|
-
}
|
|
822
|
-
const keys = Object.keys(obj).sort();
|
|
823
|
-
const parts = keys.map((key) => `"${key}":${this.normalizeAndStringify(obj[key])}`);
|
|
824
|
-
return `{${parts.join(",")}}`;
|
|
825
|
-
}
|
|
826
862
|
getHistory() {
|
|
827
863
|
return [...this.getRootTracker().history];
|
|
828
864
|
}
|