@woltz/rich-domain 1.2.1 → 1.2.2
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/CHANGELOG.md +25 -0
- package/dist/base-entity.d.ts +1 -1
- package/dist/base-entity.d.ts.map +1 -1
- package/dist/base-entity.js +3 -41
- package/dist/base-entity.js.map +1 -1
- package/dist/{history-tracker.d.ts → change-tracker.d.ts} +3 -3
- package/dist/change-tracker.d.ts.map +1 -0
- package/dist/{history-tracker.js → change-tracker.js} +9 -56
- package/dist/change-tracker.js.map +1 -0
- package/dist/constants.d.ts +7 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +65 -0
- package/dist/constants.js.map +1 -1
- package/dist/criteria.d.ts.map +1 -1
- package/dist/criteria.js +6 -4
- package/dist/criteria.js.map +1 -1
- package/dist/domain-event.d.ts.map +1 -1
- package/dist/domain-event.js +0 -3
- package/dist/domain-event.js.map +1 -1
- package/dist/entity-changes.d.ts.map +1 -1
- package/dist/entity-changes.js +0 -4
- package/dist/entity-changes.js.map +1 -1
- package/dist/entity-schema-registry.d.ts.map +1 -1
- package/dist/entity-schema-registry.js +2 -8
- package/dist/entity-schema-registry.js.map +1 -1
- package/dist/entity.d.ts +0 -6
- package/dist/entity.d.ts.map +1 -1
- package/dist/entity.js +0 -9
- package/dist/entity.js.map +1 -1
- package/dist/index.d.ts +9 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -12
- package/dist/index.js.map +1 -1
- package/dist/paginated-result.d.ts.map +1 -1
- package/dist/paginated-result.js +0 -15
- package/dist/paginated-result.js.map +1 -1
- package/dist/repository/base-repository.d.ts +1 -1
- package/dist/repository/base-repository.d.ts.map +1 -1
- package/dist/repository/index.d.ts.map +1 -1
- package/dist/repository/index.js +0 -6
- package/dist/repository/index.js.map +1 -1
- package/dist/repository/unit-of-work.d.ts.map +1 -1
- package/dist/repository/unit-of-work.js +0 -3
- package/dist/repository/unit-of-work.js.map +1 -1
- package/dist/types/change-tracker.d.ts +10 -0
- package/dist/types/change-tracker.d.ts.map +1 -1
- package/dist/types/domain.d.ts +4 -6
- package/dist/types/domain.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/criteria-operator-validation.d.ts +1 -0
- package/dist/utils/criteria-operator-validation.d.ts.map +1 -1
- package/dist/utils/criteria-operator-validation.js +39 -17
- package/dist/utils/criteria-operator-validation.js.map +1 -1
- package/dist/validation-error.d.ts.map +1 -1
- package/dist/validation-error.js +1 -3
- package/dist/validation-error.js.map +1 -1
- package/dist/value-object.d.ts +1 -1
- package/dist/value-object.d.ts.map +1 -1
- package/dist/value-object.js +0 -1
- package/dist/value-object.js.map +1 -1
- package/package.json +1 -1
- package/src/base-entity.ts +4 -51
- package/src/{history-tracker.ts → change-tracker.ts} +20 -72
- package/src/constants.ts +75 -1
- package/src/criteria.ts +9 -3
- package/src/domain-event.ts +0 -4
- package/src/entity-changes.ts +0 -5
- package/src/entity-schema-registry.ts +2 -22
- package/src/entity.ts +0 -11
- package/src/index.ts +15 -20
- package/src/paginated-result.ts +0 -21
- package/src/repository/base-repository.ts +1 -1
- package/src/repository/index.ts +0 -9
- package/src/repository/unit-of-work.ts +0 -4
- package/src/types/change-tracker.ts +16 -4
- package/src/types/domain.ts +4 -8
- package/src/types/index.ts +1 -1
- package/src/utils/criteria-operator-validation.ts +57 -19
- package/src/validation-error.ts +1 -3
- package/src/value-object.ts +1 -2
- package/tests/history-tracker.spec.ts +1 -1
- package/dist/history-tracker.d.ts.map +0 -1
- package/dist/history-tracker.js.map +0 -1
- package/dist/types/history-tracker.d.ts +0 -47
- package/dist/types/history-tracker.d.ts.map +0 -1
- package/dist/types/history-tracker.js +0 -2
- package/dist/types/history-tracker.js.map +0 -1
- package/src/types/history-tracker.ts +0 -58
package/src/paginated-result.ts
CHANGED
|
@@ -2,10 +2,6 @@ import { Id } from "./id";
|
|
|
2
2
|
import type { Criteria } from "./criteria";
|
|
3
3
|
import type { Pagination, PaginationMeta, Filter } from "./types";
|
|
4
4
|
|
|
5
|
-
// ============================================================================
|
|
6
|
-
// Type Utilities
|
|
7
|
-
// ============================================================================
|
|
8
|
-
|
|
9
5
|
/**
|
|
10
6
|
* Infers the JSON result type from T
|
|
11
7
|
* - If T has toJson(), returns its return type
|
|
@@ -21,10 +17,6 @@ export type PaginatedJsonResult<T> = {
|
|
|
21
17
|
meta: PaginationMeta;
|
|
22
18
|
};
|
|
23
19
|
|
|
24
|
-
// ============================================================================
|
|
25
|
-
// PaginatedResult Class
|
|
26
|
-
// ============================================================================
|
|
27
|
-
|
|
28
20
|
export class PaginatedResult<T> {
|
|
29
21
|
constructor(
|
|
30
22
|
public readonly data: T[],
|
|
@@ -78,13 +70,11 @@ export class PaginatedResult<T> {
|
|
|
78
70
|
total = result.length;
|
|
79
71
|
}
|
|
80
72
|
|
|
81
|
-
// Apply filters
|
|
82
73
|
for (const filter of criteria.getFilters()) {
|
|
83
74
|
result = result.filter((item) => applyFilter(item, filter));
|
|
84
75
|
total = result.length;
|
|
85
76
|
}
|
|
86
77
|
|
|
87
|
-
// Apply ordering
|
|
88
78
|
for (const order of criteria.getOrders().reverse()) {
|
|
89
79
|
result.sort((a, b) => {
|
|
90
80
|
const aVal = getNestedValue(a, order.field);
|
|
@@ -98,7 +88,6 @@ export class PaginatedResult<T> {
|
|
|
98
88
|
});
|
|
99
89
|
}
|
|
100
90
|
|
|
101
|
-
// Apply pagination
|
|
102
91
|
const pagination = criteria.getPagination();
|
|
103
92
|
if (pagination && !criteria.hasSearch()) {
|
|
104
93
|
result = result.slice(
|
|
@@ -108,7 +97,6 @@ export class PaginatedResult<T> {
|
|
|
108
97
|
return PaginatedResult.create(result, pagination, total);
|
|
109
98
|
}
|
|
110
99
|
|
|
111
|
-
// No pagination - return all with default meta
|
|
112
100
|
return PaginatedResult.create(
|
|
113
101
|
result,
|
|
114
102
|
{ page: 1, limit: result.length, offset: 0 },
|
|
@@ -140,20 +128,16 @@ export class PaginatedResult<T> {
|
|
|
140
128
|
private deepSerialize(obj: any): any {
|
|
141
129
|
if (obj === null || obj === undefined) return obj;
|
|
142
130
|
|
|
143
|
-
// Id → string
|
|
144
131
|
if (obj instanceof Id) return obj.value;
|
|
145
132
|
|
|
146
|
-
// Arrays → map recursively
|
|
147
133
|
if (Array.isArray(obj)) {
|
|
148
134
|
return obj.map((item) => this.deepSerialize(item));
|
|
149
135
|
}
|
|
150
136
|
|
|
151
|
-
// Objects with toJson() method (Entity/Aggregate/ValueObject)
|
|
152
137
|
if (obj && typeof obj.toJson === "function") {
|
|
153
138
|
return obj.toJson();
|
|
154
139
|
}
|
|
155
140
|
|
|
156
|
-
// Plain objects → serialize properties recursively
|
|
157
141
|
if (typeof obj === "object") {
|
|
158
142
|
const result: any = {};
|
|
159
143
|
for (const key in obj) {
|
|
@@ -164,7 +148,6 @@ export class PaginatedResult<T> {
|
|
|
164
148
|
return result;
|
|
165
149
|
}
|
|
166
150
|
|
|
167
|
-
// Primitives
|
|
168
151
|
return obj;
|
|
169
152
|
}
|
|
170
153
|
|
|
@@ -190,10 +173,6 @@ export class PaginatedResult<T> {
|
|
|
190
173
|
}
|
|
191
174
|
}
|
|
192
175
|
|
|
193
|
-
// ============================================================================
|
|
194
|
-
// Helper Functions (moved from criteria.ts)
|
|
195
|
-
// ============================================================================
|
|
196
|
-
|
|
197
176
|
function applyFilter<T>(item: T, filter: Filter): boolean {
|
|
198
177
|
const value = getNestedValue(item, filter.field);
|
|
199
178
|
|
|
@@ -29,5 +29,5 @@ export abstract class Repository<
|
|
|
29
29
|
> extends WriteAndRead<TDomain> {
|
|
30
30
|
protected abstract readonly mapperToDomain: Mapper<unknown, TDomain>;
|
|
31
31
|
protected abstract readonly mapperToPersistence: Mapper<TDomain, unknown>;
|
|
32
|
-
abstract get model(): any;
|
|
32
|
+
protected abstract get model(): any;
|
|
33
33
|
}
|
package/src/repository/index.ts
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
// ============================================================================
|
|
2
|
-
// Repository Module - Clean exports
|
|
3
|
-
// ============================================================================
|
|
4
|
-
|
|
5
|
-
// Mapper
|
|
6
1
|
export { Mapper } from "../mapper";
|
|
7
|
-
|
|
8
|
-
// Base implementations
|
|
9
2
|
export * from "./base-repository";
|
|
10
|
-
|
|
11
|
-
// Unit of Work
|
|
12
3
|
export { UnitOfWork, BaseTransactionContext } from "./unit-of-work";
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
// ============================================================================
|
|
2
|
-
// Unit of Work - Simple transaction management
|
|
3
|
-
// ============================================================================
|
|
4
|
-
|
|
5
1
|
import type { IUnitOfWork, TransactionContext } from "../types";
|
|
6
2
|
|
|
7
3
|
/**
|
|
@@ -126,10 +126,10 @@ export interface CollectionChanges<T = any> {
|
|
|
126
126
|
* Possible states for a 1:1 relationship.
|
|
127
127
|
*/
|
|
128
128
|
export type EntityChangeState =
|
|
129
|
-
| "created"
|
|
130
|
-
| "updated"
|
|
131
|
-
| "deleted"
|
|
132
|
-
| "replaced"
|
|
129
|
+
| "created" // null → Entity
|
|
130
|
+
| "updated" // Entity(id:1) → Entity(id:1) with changes
|
|
131
|
+
| "deleted" // Entity → null
|
|
132
|
+
| "replaced" // Entity(id:1) → Entity(id:2)
|
|
133
133
|
| "unchanged"; // No changes
|
|
134
134
|
|
|
135
135
|
/**
|
|
@@ -219,3 +219,15 @@ export interface TrackedEntityMetadata {
|
|
|
219
219
|
/** Path in the object (e.g., 'posts[0].comments[1]') */
|
|
220
220
|
path: string;
|
|
221
221
|
}
|
|
222
|
+
|
|
223
|
+
export interface TrackedItem {
|
|
224
|
+
entity: any;
|
|
225
|
+
metadata: TrackedEntityMetadata;
|
|
226
|
+
originalState: any;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
export interface ArrayState {
|
|
230
|
+
cloned: any[];
|
|
231
|
+
original: any[];
|
|
232
|
+
metadata: TrackedEntityMetadata;
|
|
233
|
+
}
|
package/src/types/domain.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { ValidationConfig } from "..";
|
|
2
1
|
import { Id } from "../id";
|
|
3
2
|
import { StandardSchema } from "./standard-schema";
|
|
4
3
|
|
|
5
|
-
export type EntityId = string | number;
|
|
6
|
-
|
|
7
4
|
export interface BaseProps {
|
|
8
5
|
id: Id;
|
|
9
6
|
}
|
|
@@ -22,15 +19,14 @@ export interface VOHooks<T, E> {
|
|
|
22
19
|
rules?: (entity: E) => void;
|
|
23
20
|
}
|
|
24
21
|
|
|
25
|
-
// Specialized hooks for entities (with BaseProps)
|
|
26
22
|
export interface EntityHooks<T extends BaseProps, E> {
|
|
27
23
|
onBeforeUpdate?: (entity: E, snapshot: T) => boolean;
|
|
28
24
|
onCreate?: (entity: E) => void;
|
|
29
25
|
rules?: (entity: E) => void;
|
|
30
26
|
}
|
|
31
27
|
|
|
32
|
-
export interface
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
export interface ValidationConfig {
|
|
29
|
+
onCreate?: boolean;
|
|
30
|
+
onUpdate?: boolean;
|
|
31
|
+
throwOnError?: boolean;
|
|
36
32
|
}
|
package/src/types/index.ts
CHANGED
|
@@ -8,28 +8,71 @@ import {
|
|
|
8
8
|
StringOperators,
|
|
9
9
|
} from "../types";
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
const FORCE_STRING_OPERATORS = new Set(["contains", "startsWith", "endsWith"]);
|
|
12
|
+
|
|
13
|
+
export function sanitizeFieldValue(
|
|
12
14
|
value: unknown,
|
|
13
15
|
operator: FilterOperator
|
|
14
|
-
):
|
|
15
|
-
// Handle null/undefined
|
|
16
|
+
): unknown {
|
|
16
17
|
if (value === null || value === undefined) {
|
|
17
|
-
return
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (Array.isArray(value)) {
|
|
22
|
+
return value.map((item) => sanitizeFieldValue(item, operator));
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (value instanceof Date) {
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const stringValue = String(value).trim();
|
|
30
|
+
|
|
31
|
+
if (stringValue === "") {
|
|
32
|
+
return "";
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (operator && FORCE_STRING_OPERATORS.has(operator)) {
|
|
36
|
+
return stringValue;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (stringValue === "true" || stringValue === "false") {
|
|
40
|
+
return stringValue === "true";
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const numberValue = Number(stringValue);
|
|
44
|
+
if (!Number.isNaN(numberValue)) {
|
|
45
|
+
return numberValue;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const dateObj = new Date(stringValue);
|
|
49
|
+
if (!Number.isNaN(dateObj.getTime())) {
|
|
50
|
+
return dateObj;
|
|
18
51
|
}
|
|
19
52
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
53
|
+
return stringValue;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function isValidOperatorForType(
|
|
57
|
+
value: unknown,
|
|
58
|
+
operator: FilterOperator
|
|
59
|
+
): boolean {
|
|
60
|
+
const sanitizedValue = sanitizeFieldValue(value, operator);
|
|
61
|
+
|
|
62
|
+
if (
|
|
63
|
+
operator === "between" &&
|
|
64
|
+
Array.isArray(sanitizedValue) &&
|
|
65
|
+
sanitizedValue.length === 2
|
|
66
|
+
) {
|
|
67
|
+
const elementType = typeof sanitizedValue[0];
|
|
68
|
+
if (elementType === "number" || sanitizedValue[0] instanceof Date) {
|
|
25
69
|
return true;
|
|
26
70
|
}
|
|
27
71
|
return false;
|
|
28
72
|
}
|
|
29
73
|
|
|
30
|
-
const valueType = typeof
|
|
74
|
+
const valueType = typeof sanitizedValue;
|
|
31
75
|
|
|
32
|
-
// String operators
|
|
33
76
|
if (valueType === "string") {
|
|
34
77
|
const validOps: StringOperators[] = [
|
|
35
78
|
"equals",
|
|
@@ -45,7 +88,6 @@ export function isValidOperatorForType(
|
|
|
45
88
|
return validOps.includes(operator as StringOperators);
|
|
46
89
|
}
|
|
47
90
|
|
|
48
|
-
// Number operators
|
|
49
91
|
if (valueType === "number") {
|
|
50
92
|
const validOps: NumberOperators[] = [
|
|
51
93
|
"equals",
|
|
@@ -63,7 +105,6 @@ export function isValidOperatorForType(
|
|
|
63
105
|
return validOps.includes(operator as NumberOperators);
|
|
64
106
|
}
|
|
65
107
|
|
|
66
|
-
// Boolean operators
|
|
67
108
|
if (valueType === "boolean") {
|
|
68
109
|
const validOps: BooleanOperators[] = [
|
|
69
110
|
"equals",
|
|
@@ -74,8 +115,7 @@ export function isValidOperatorForType(
|
|
|
74
115
|
return validOps.includes(operator as BooleanOperators);
|
|
75
116
|
}
|
|
76
117
|
|
|
77
|
-
|
|
78
|
-
if (value instanceof Date) {
|
|
118
|
+
if (sanitizedValue instanceof Date) {
|
|
79
119
|
const validOps: DateOperators[] = [
|
|
80
120
|
"equals",
|
|
81
121
|
"notEquals",
|
|
@@ -92,13 +132,11 @@ export function isValidOperatorForType(
|
|
|
92
132
|
return validOps.includes(operator as DateOperators);
|
|
93
133
|
}
|
|
94
134
|
|
|
95
|
-
|
|
96
|
-
if (Array.isArray(value)) {
|
|
135
|
+
if (Array.isArray(sanitizedValue)) {
|
|
97
136
|
const validOps: ArrayOperators[] = ["in", "notIn", "isNull", "isNotNull"];
|
|
98
137
|
return validOps.includes(operator as ArrayOperators);
|
|
99
138
|
}
|
|
100
139
|
|
|
101
|
-
// For unknown types, allow all operators
|
|
102
140
|
return true;
|
|
103
141
|
}
|
|
104
142
|
|
|
@@ -168,4 +206,4 @@ export function getValidOperatorsForType(value: unknown): FilterOperator[] {
|
|
|
168
206
|
|
|
169
207
|
export function isOperator(value: string): value is FilterOperator {
|
|
170
208
|
return FILTER_OPERATORS.includes(value as FilterOperator);
|
|
171
|
-
}
|
|
209
|
+
}
|
package/src/validation-error.ts
CHANGED
|
@@ -5,7 +5,7 @@ export interface ValidationIssue {
|
|
|
5
5
|
|
|
6
6
|
export class ValidationError extends Error {
|
|
7
7
|
public readonly issues: ValidationIssue[];
|
|
8
|
-
public readonly __isValidationError = true;
|
|
8
|
+
public readonly __isValidationError = true;
|
|
9
9
|
|
|
10
10
|
constructor(issues: ValidationIssue[], message?: string) {
|
|
11
11
|
const errorMessage =
|
|
@@ -14,7 +14,6 @@ export class ValidationError extends Error {
|
|
|
14
14
|
this.name = 'ValidationError';
|
|
15
15
|
this.issues = issues;
|
|
16
16
|
|
|
17
|
-
// Maintain proper stack trace
|
|
18
17
|
if (Error.captureStackTrace) {
|
|
19
18
|
Error.captureStackTrace(this, ValidationError);
|
|
20
19
|
}
|
|
@@ -27,7 +26,6 @@ export class ValidationError extends Error {
|
|
|
27
26
|
if (error instanceof ValidationError) {
|
|
28
27
|
return true;
|
|
29
28
|
}
|
|
30
|
-
// Check by duck typing for cross-module compatibility
|
|
31
29
|
return (
|
|
32
30
|
error instanceof Error &&
|
|
33
31
|
error.name === 'ValidationError' &&
|
package/src/value-object.ts
CHANGED
|
@@ -9,7 +9,6 @@ import {
|
|
|
9
9
|
import { DEFAULT_VALIDATION_CONFIG } from "./constants";
|
|
10
10
|
import { DomainError } from "./exceptions";
|
|
11
11
|
|
|
12
|
-
// Helper to get static properties from constructor
|
|
13
12
|
function getStaticProperty<T>(
|
|
14
13
|
instance: any,
|
|
15
14
|
propertyName: string
|
|
@@ -34,7 +33,7 @@ export abstract class ValueObject<T> {
|
|
|
34
33
|
|
|
35
34
|
/**
|
|
36
35
|
* Identity key for identification in collections.
|
|
37
|
-
* Used by
|
|
36
|
+
* Used by ChangeTracker to track changes in arrays of Value Objects.
|
|
38
37
|
*
|
|
39
38
|
* @example
|
|
40
39
|
* ```typescript
|
|
@@ -62,7 +62,7 @@ function createAddress(street = "123 Main St", city = "Test City"): Address {
|
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
describe("
|
|
65
|
+
describe("ChangeTracker.getChanges()", () => {
|
|
66
66
|
describe("no changes", () => {
|
|
67
67
|
it("should return empty changes when nothing modified", () => {
|
|
68
68
|
const user = createUser();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"history-tracker.d.ts","sourceRoot":"","sources":["../src/history-tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,YAAY,EAAe,MAAM,SAAS,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,GAAG,KACV,OAAO,GAAG,IAAI,CAAC;AAEpB;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc;IAQvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,YAAY,CAAC;IACrB,OAAO,CAAC,WAAW,CAAC;IAbtB,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,EACjB,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjB,YAAY,CAAC,EAAE,MAAM,YAAA,EACrB,WAAW,CAAC,EAAE,cAAc,YAAA;IAQtC;;;;;;OAMG;IACH,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAQxD,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,kBAAkB;IAgD1B,OAAO,CAAC,iBAAiB;IAwCzB,WAAW,IAAI,GAAG;IA6FlB,OAAO,CAAC,gBAAgB;IA0HxB;;OAEG;IACH,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,gBAAgB,CAAC,UAAU,CAAC;IAW5E,OAAO,CAAC,kBAAkB;IAgC1B,OAAO,CAAC,wBAAwB;IAuEhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAwChC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAyChC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAoDnC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAuBlC,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,oBAAoB;IA4E5B,OAAO,CAAC,uBAAuB;IA0B/B,OAAO,CAAC,kBAAkB;IA2C1B,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,OAAO;IAaf,OAAO,CAAC,SAAS;IA4CjB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAkCjB,OAAO,CAAC,qBAAqB;IAkB7B,UAAU,IAAI,YAAY,EAAE;IAI5B,YAAY,IAAI,IAAI;IASpB,WAAW,IAAI,IAAI;IAInB,SAAS,IAAI,GAAG;CAGjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"history-tracker.js","sourceRoot":"","sources":["../src/history-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { TrackedEntityMetadata } from "./change-tracker";
|
|
2
|
-
import { BaseProps } from "./domain";
|
|
3
|
-
import { IsArray, NonUndefined, UnwrapArray } from "./utils";
|
|
4
|
-
export interface ChangeEvent<T> {
|
|
5
|
-
previous: T | undefined;
|
|
6
|
-
current: T;
|
|
7
|
-
path: string;
|
|
8
|
-
}
|
|
9
|
-
export interface TrackedItem {
|
|
10
|
-
entity: any;
|
|
11
|
-
metadata: TrackedEntityMetadata;
|
|
12
|
-
originalState: any;
|
|
13
|
-
}
|
|
14
|
-
export interface ArrayState {
|
|
15
|
-
cloned: any[];
|
|
16
|
-
original: any[];
|
|
17
|
-
metadata: TrackedEntityMetadata;
|
|
18
|
-
}
|
|
19
|
-
export interface ArrayChangeEvent<T> {
|
|
20
|
-
toCreate: T[];
|
|
21
|
-
toUpdate: T[];
|
|
22
|
-
toDelete: T[];
|
|
23
|
-
path: string;
|
|
24
|
-
}
|
|
25
|
-
export type PropertySubscriber<T> = (event: ChangeEvent<T>) => void;
|
|
26
|
-
export type ArraySubscriber<T> = (event: ArrayChangeEvent<T>) => void;
|
|
27
|
-
export interface PropertySubscription<T> {
|
|
28
|
-
onChange: PropertySubscriber<T>;
|
|
29
|
-
}
|
|
30
|
-
export interface ArraySubscription<T> {
|
|
31
|
-
onChange: ArraySubscriber<T>;
|
|
32
|
-
}
|
|
33
|
-
export type SubscriptionConfig<T extends BaseProps> = {
|
|
34
|
-
[K in keyof T]?: IsArray<NonUndefined<T[K]>> extends true ? ArraySubscription<UnwrapArray<NonUndefined<T[K]>>> : PropertySubscription<NonUndefined<T[K]>>;
|
|
35
|
-
};
|
|
36
|
-
export interface ValidationConfig {
|
|
37
|
-
onCreate?: boolean;
|
|
38
|
-
onUpdate?: boolean;
|
|
39
|
-
throwOnError?: boolean;
|
|
40
|
-
}
|
|
41
|
-
export interface HistoryEntry {
|
|
42
|
-
path: string;
|
|
43
|
-
previousValue: any;
|
|
44
|
-
currentValue: any;
|
|
45
|
-
timestamp: number;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=history-tracker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"history-tracker.d.ts","sourceRoot":"","sources":["../../src/types/history-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE7D,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,qBAAqB,CAAC;IAChC,aAAa,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,qBAAqB,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAEtE,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;CAC9B;AAED,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,SAAS,IAAI;KACnD,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GACrD,iBAAiB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAClD,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"history-tracker.js","sourceRoot":"","sources":["../../src/types/history-tracker.ts"],"names":[],"mappings":""}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { TrackedEntityMetadata } from "./change-tracker";
|
|
2
|
-
import { BaseProps } from "./domain";
|
|
3
|
-
import { IsArray, NonUndefined, UnwrapArray } from "./utils";
|
|
4
|
-
|
|
5
|
-
export interface ChangeEvent<T> {
|
|
6
|
-
previous: T | undefined;
|
|
7
|
-
current: T;
|
|
8
|
-
path: string;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface TrackedItem {
|
|
12
|
-
entity: any;
|
|
13
|
-
metadata: TrackedEntityMetadata;
|
|
14
|
-
originalState: any;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export interface ArrayState {
|
|
18
|
-
cloned: any[];
|
|
19
|
-
original: any[];
|
|
20
|
-
metadata: TrackedEntityMetadata;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export interface ArrayChangeEvent<T> {
|
|
24
|
-
toCreate: T[];
|
|
25
|
-
toUpdate: T[];
|
|
26
|
-
toDelete: T[];
|
|
27
|
-
path: string;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export type PropertySubscriber<T> = (event: ChangeEvent<T>) => void;
|
|
31
|
-
export type ArraySubscriber<T> = (event: ArrayChangeEvent<T>) => void;
|
|
32
|
-
|
|
33
|
-
export interface PropertySubscription<T> {
|
|
34
|
-
onChange: PropertySubscriber<T>;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export interface ArraySubscription<T> {
|
|
38
|
-
onChange: ArraySubscriber<T>;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export type SubscriptionConfig<T extends BaseProps> = {
|
|
42
|
-
[K in keyof T]?: IsArray<NonUndefined<T[K]>> extends true
|
|
43
|
-
? ArraySubscription<UnwrapArray<NonUndefined<T[K]>>>
|
|
44
|
-
: PropertySubscription<NonUndefined<T[K]>>;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export interface ValidationConfig {
|
|
48
|
-
onCreate?: boolean;
|
|
49
|
-
onUpdate?: boolean;
|
|
50
|
-
throwOnError?: boolean;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export interface HistoryEntry {
|
|
54
|
-
path: string;
|
|
55
|
-
previousValue: any;
|
|
56
|
-
currentValue: any;
|
|
57
|
-
timestamp: number;
|
|
58
|
-
}
|