react-deepwatch 1.6.3 → 1.7.1
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/Util.ts +89 -13
- package/dist/browser/Util.d.ts +11 -2
- package/dist/browser/Util.d.ts.map +1 -1
- package/dist/browser/Util.js +50 -12
- package/dist/browser/Util.js.map +1 -1
- package/dist/browser/preserve.d.ts +9 -5
- package/dist/browser/preserve.d.ts.map +1 -1
- package/dist/browser/preserve.js +58 -28
- package/dist/browser/preserve.js.map +1 -1
- package/dist/default/Util.d.ts +11 -2
- package/dist/default/Util.d.ts.map +1 -1
- package/dist/default/Util.js +50 -12
- package/dist/default/Util.js.map +1 -1
- package/dist/default/preserve.d.ts +9 -5
- package/dist/default/preserve.d.ts.map +1 -1
- package/dist/default/preserve.js +57 -27
- package/dist/default/preserve.js.map +1 -1
- package/package.json +1 -1
- package/preserve.ts +66 -34
package/dist/default/Util.d.ts
CHANGED
|
@@ -65,6 +65,16 @@ type VisitReplaceContext = {
|
|
|
65
65
|
parentObject?: object;
|
|
66
66
|
key?: unknown;
|
|
67
67
|
};
|
|
68
|
+
type VisitReplaceOptions = {
|
|
69
|
+
/**
|
|
70
|
+
* whether to pass on the context object. This hurts performance because the path is concatted every time, so use it only when needed. Setting this to "onError" re-executes the visitprelace with trackPath when an error was thrown
|
|
71
|
+
*/
|
|
72
|
+
trackPath?: boolean | "onError";
|
|
73
|
+
/**
|
|
74
|
+
* Keep the order of sets and maps when replacing elements. Default: false
|
|
75
|
+
*/
|
|
76
|
+
keepOrder?: boolean;
|
|
77
|
+
};
|
|
68
78
|
/**
|
|
69
79
|
* Usage:
|
|
70
80
|
* <pre><code>
|
|
@@ -75,9 +85,8 @@ type VisitReplaceContext = {
|
|
|
75
85
|
*
|
|
76
86
|
* @param value
|
|
77
87
|
* @param visitor
|
|
78
|
-
* @param trackPath whether to pass on the context object. This hurts performance because the path is concatted every time, so use it only when needed. Setting this to "onError" re-executes the visitprelace with the concetxt when an error was thrown
|
|
79
88
|
*/
|
|
80
|
-
export declare function visitReplace<O>(value: O, visitor: (value: unknown, visitChilds: (value: unknown, context: VisitReplaceContext) => unknown, context: VisitReplaceContext) => unknown,
|
|
89
|
+
export declare function visitReplace<O extends object>(value: O, visitor: (value: unknown, visitChilds: (value: unknown, context: VisitReplaceContext) => unknown, context: VisitReplaceContext) => unknown, options?: VisitReplaceOptions): O;
|
|
81
90
|
/**
|
|
82
91
|
* Just do something the runtime can't optimize away
|
|
83
92
|
* @param value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../Util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAE3C,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,QAK3C;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,QAUvD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAmB5C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,SAQ3C;AAID;;GAEG;AACH,eAAO,MAAM,cAAc;IACvB;;OAEG;;CAEN,CAAA;AAMD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,WAAW,UAAO,QAO3E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,UAAQ,QAgCtE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,mBAEtC;AAED;;GAEG;AACH,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC;IACpB,GAAG,iBAAuB;IAE1B,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IASpB,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAUvB,GAAG,CAAC,GAAG,EAAE,CAAC;CAGb;AAED;;GAEG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,CAAE,SAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9D,GAAG,EAA+B,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;CACpD;AAED,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,KAAK,OAAO,WAUlG;AACD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAC,GAAG;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,CAAC,CAAA;CAAC,GAAG;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,GAAG,CAAA;CAAC,CAAC;AAGvJ,KAAK,mBAAmB,GAAG;IACvB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AASD
|
|
1
|
+
{"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../Util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAE3C,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,QAK3C;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,QAUvD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAmB5C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,SAQ3C;AAID;;GAEG;AACH,eAAO,MAAM,cAAc;IACvB;;OAEG;;CAEN,CAAA;AAMD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,WAAW,UAAO,QAO3E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,UAAQ,QAgCtE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,mBAEtC;AAED;;GAEG;AACH,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC;IACpB,GAAG,iBAAuB;IAE1B,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IASpB,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAUvB,GAAG,CAAC,GAAG,EAAE,CAAC;CAGb;AAED;;GAEG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,CAAE,SAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9D,GAAG,EAA+B,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;CACpD;AAED,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,KAAK,OAAO,WAUlG;AACD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAC,GAAG;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,CAAC,CAAA;CAAC,GAAG;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,GAAG,CAAA;CAAC,CAAC;AAGvJ,KAAK,mBAAmB,GAAG;IACvB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AASD,KAAK,mBAAmB,GAAG;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,EAAG,OAAO,GAAE,mBAAuB,GAAG,CAAC,CAsGzO;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,GAAG,QAI9B;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,WAUjE;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,WAa5G;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,WAE/E;AAED;;GAEG;AACH,8BAAsB,UAAU,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,kBAAkB,IAAI,CAAC;IAEhC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;CAQjB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAMlF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAKhE"}
|
package/dist/default/Util.js
CHANGED
|
@@ -196,9 +196,8 @@ function diagnosis_jsonPath(key) {
|
|
|
196
196
|
*
|
|
197
197
|
* @param value
|
|
198
198
|
* @param visitor
|
|
199
|
-
* @param trackPath whether to pass on the context object. This hurts performance because the path is concatted every time, so use it only when needed. Setting this to "onError" re-executes the visitprelace with the concetxt when an error was thrown
|
|
200
199
|
*/
|
|
201
|
-
function visitReplace(value, visitor,
|
|
200
|
+
function visitReplace(value, visitor, options = {}) {
|
|
202
201
|
const visisitedObjects = new Set();
|
|
203
202
|
function visitChilds(value, context) {
|
|
204
203
|
if (value === null) {
|
|
@@ -210,27 +209,66 @@ function visitReplace(value, visitor, trackPath = false) {
|
|
|
210
209
|
return value; // don't iterate again
|
|
211
210
|
}
|
|
212
211
|
visisitedObjects.add(obj);
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
212
|
+
if (value instanceof Set) {
|
|
213
|
+
let set = obj;
|
|
214
|
+
if (options.keepOrder) {
|
|
215
|
+
throw new Error("Keep order not yet implemented");
|
|
216
|
+
}
|
|
217
|
+
for (const childValue of [...set.values()]) {
|
|
218
|
+
let newValue = visitor(childValue, visitChilds, Object.assign(Object.assign({}, context), { parentObject: value, key: childValue, diagnosis_path: (context.diagnosis_path !== undefined ? context.diagnosis_path : undefined) }));
|
|
219
|
+
if (newValue !== childValue) { // Only if childValue really has changed. We don't want to interfer with setting a readonly property and trigger a proxy
|
|
220
|
+
// Replace:
|
|
221
|
+
set.delete(childValue);
|
|
222
|
+
set.add(newValue);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
else if (value instanceof Map) {
|
|
227
|
+
let map = obj;
|
|
228
|
+
if (options.keepOrder) {
|
|
229
|
+
throw new Error("Keep order not yet implemented");
|
|
230
|
+
}
|
|
231
|
+
// Keys:
|
|
232
|
+
for (const key of [...map.keys()]) {
|
|
233
|
+
let newKey = visitor(key, visitChilds, Object.assign(Object.assign({}, context), { parentObject: value, key: key, diagnosis_path: (context.diagnosis_path !== undefined ? `${context.diagnosis_path}${diagnosis_jsonPath(key)}` : undefined) }));
|
|
234
|
+
if (newKey !== key) { // Only if key really has changed. We don't want to interfer with setting a readonly property and trigger a proxy
|
|
235
|
+
// Replace key:
|
|
236
|
+
let value = map.get(key);
|
|
237
|
+
map.delete(key);
|
|
238
|
+
map.set(newKey, value);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
// Values:
|
|
242
|
+
for (const [key, childValue] of [...map.entries()]) {
|
|
243
|
+
let newValue = visitor(childValue, visitChilds, Object.assign(Object.assign({}, context), { parentObject: value, key: key, diagnosis_path: (context.diagnosis_path !== undefined ? `${context.diagnosis_path}${diagnosis_jsonPath(key)}` : undefined) }));
|
|
244
|
+
if (newValue !== childValue) { // Only if childValue really has changed. We don't want to interfer with setting a readonly property and trigger a proxy
|
|
245
|
+
map.set(key, newValue);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
for (let k in obj) {
|
|
251
|
+
const keyInParent = k;
|
|
252
|
+
const childValue = obj[keyInParent];
|
|
253
|
+
let newValue = visitor(childValue, visitChilds, Object.assign(Object.assign({}, context), { parentObject: value, key: keyInParent, diagnosis_path: (context.diagnosis_path !== undefined ? `${context.diagnosis_path}${diagnosis_jsonPath(keyInParent)}` : undefined) }));
|
|
254
|
+
if (newValue !== childValue) { // Only if childValue really has changed. We don't want to interfer with setting a readonly property and trigger a proxy
|
|
255
|
+
// @ts-ignore
|
|
256
|
+
obj[keyInParent] = newValue;
|
|
257
|
+
}
|
|
220
258
|
}
|
|
221
259
|
}
|
|
222
260
|
}
|
|
223
261
|
return value;
|
|
224
262
|
}
|
|
225
|
-
if (trackPath === "onError") {
|
|
263
|
+
if (options.trackPath === "onError") {
|
|
226
264
|
try {
|
|
227
265
|
return visitor(value, visitChilds, {}); // Fast try without context
|
|
228
266
|
}
|
|
229
267
|
catch (e) {
|
|
230
|
-
return visitReplace(value, visitor, true); // Try again with context
|
|
268
|
+
return visitReplace(value, visitor, Object.assign(Object.assign({}, options), { trackPath: true })); // Try again with context
|
|
231
269
|
}
|
|
232
270
|
}
|
|
233
|
-
return visitor(value, visitChilds, { diagnosis_path: trackPath ? "" : undefined });
|
|
271
|
+
return visitor(value, visitChilds, { diagnosis_path: options.trackPath ? "" : undefined });
|
|
234
272
|
}
|
|
235
273
|
/**
|
|
236
274
|
* Just do something the runtime can't optimize away
|
package/dist/default/Util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Util.js","sourceRoot":"","sources":["../../Util.ts"],"names":[],"mappings":";;;AAEA,gCAKC;AAED,0CAUC;AAED,sCAmBC;AAMD,0CAQC;AAwBD,8DAOC;AAQD,gCAgCC;AAED,4BAEC;AAuCD,oEAUC;
|
|
1
|
+
{"version":3,"file":"Util.js","sourceRoot":"","sources":["../../Util.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,9 +19,10 @@ export type PreserveOptions = {
|
|
|
19
19
|
*/
|
|
20
20
|
ignoresKeys?: boolean;
|
|
21
21
|
/**
|
|
22
|
-
* Threats an object that was preserved and reoccurs on a completely
|
|
22
|
+
* Threats an object that was preserved and reoccurs on a completely different place (not the same parent) as the same = re-uses that instance.
|
|
23
23
|
* <p>Default: false</p>
|
|
24
24
|
* <p>Disabled by default because too much magic / behaviour flipping depending indirectly related data.</p>
|
|
25
|
+
* @deprecated Those are preserved (as logically expected) there will be an error on conflicts
|
|
25
26
|
*/
|
|
26
27
|
preserveCircular?: boolean;
|
|
27
28
|
/**
|
|
@@ -34,11 +35,14 @@ declare class PreserveCall {
|
|
|
34
35
|
/**
|
|
35
36
|
* preserved/old -> new (obsolete) object
|
|
36
37
|
*/
|
|
37
|
-
|
|
38
|
+
preservedToNew: Map<object, object>;
|
|
38
39
|
/**
|
|
39
40
|
* new (obsolete) object -> preserved/old object
|
|
40
41
|
*/
|
|
41
|
-
newToPreserved: Map<object,
|
|
42
|
+
newToPreserved: Map<object, {
|
|
43
|
+
preserved: object;
|
|
44
|
+
diag_newPath: string;
|
|
45
|
+
}>;
|
|
42
46
|
possiblyObsoleteObjects: Set<object>;
|
|
43
47
|
usedObjects: WeakSet<object>;
|
|
44
48
|
/**
|
|
@@ -55,14 +59,14 @@ export declare function preserve_inner<T>(oldValue: T, newValue: T, call: Preser
|
|
|
55
59
|
export declare function diagnisis_shortenValue(evil_value: any): string;
|
|
56
60
|
/**
|
|
57
61
|
*
|
|
58
|
-
* Scans root deeply for Arrays and for each found array, it
|
|
62
|
+
* Scans root deeply for Arrays and for each found array, it calls normalizeList, which makes identical items with the same id/key one (shared) object instance.
|
|
59
63
|
* @see normalizeList
|
|
60
64
|
* @param root
|
|
61
65
|
* @param options
|
|
62
66
|
*/
|
|
63
67
|
export declare function normalizeLists<T extends object>(root: T, options?: PreserveOptions): T;
|
|
64
68
|
/**
|
|
65
|
-
*
|
|
69
|
+
* Makes identical items with the same id/key one (shared) object instance
|
|
66
70
|
* @param list
|
|
67
71
|
* @param options
|
|
68
72
|
* @param diagnosis_path internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preserve.d.ts","sourceRoot":"","sources":["../../preserve.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB
|
|
1
|
+
{"version":3,"file":"preserve.d.ts","sourceRoot":"","sources":["../../preserve.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAE1B;;OAEG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACtC,CAAA;AAED,cAAM,YAAY;IACd,OAAO,EAAE,eAAe,CAAC;IACzB;;OAEG;IACH,cAAc,sBAA4B;IAE1C;;OAEG;IACH,cAAc;mBAA+B,MAAM;sBAAgB,MAAM;OAAK;IAE9E,uBAAuB,cAAqB;IAE5C,WAAW,kBAAyB;IAEpC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO;IAMvB,SAAS,CAAC,EAAE,iBAAiB,CAAA;gBAEjB,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,iBAAiB;CAItE;AA8FD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,GAAE,eAAoB,GAAG,CAAC,CAEtF;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,iBAAiB,GAAG,CAAC,CA+BjH;AAGD,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC,CA8FzG;AAkFD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,GAAG,GAAI,MAAM,CAqE/D;AA6BD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,GAAE,eAAoB,KAOtF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,GAAE,eAAoB,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,CAoBrH"}
|
package/dist/default/preserve.js
CHANGED
|
@@ -27,7 +27,7 @@ class PreserveCall {
|
|
|
27
27
|
/**
|
|
28
28
|
* preserved/old -> new (obsolete) object
|
|
29
29
|
*/
|
|
30
|
-
this.
|
|
30
|
+
this.preservedToNew = new Map();
|
|
31
31
|
/**
|
|
32
32
|
* new (obsolete) object -> preserved/old object
|
|
33
33
|
*/
|
|
@@ -43,15 +43,15 @@ class PreserveCall {
|
|
|
43
43
|
*/
|
|
44
44
|
class ObjRegistry {
|
|
45
45
|
constructor(preserveOptions) {
|
|
46
|
-
this.
|
|
47
|
-
this.
|
|
46
|
+
this.diag_objectsById = new Map();
|
|
47
|
+
this.diag_objectsByKey = new Map();
|
|
48
48
|
this.objectsByIdAndKey = new Map();
|
|
49
49
|
this.preserveOptions = preserveOptions;
|
|
50
50
|
}
|
|
51
51
|
getIdAndKey(obj, diagnosis_path) {
|
|
52
52
|
const diagnosis_getErrorDiag = () => `Trying to reidentify the object ${diagnisis_shortenValue(obj)} during a 'preserve' operation. Path: ${diagnosis_path}`;
|
|
53
53
|
const result = {};
|
|
54
|
-
for (const mode of [{ propName: "id", map: this.
|
|
54
|
+
for (const mode of [{ propName: "id", map: this.diag_objectsById, diag_other: this.diag_objectsByKey }, { propName: "key", map: this.diag_objectsByKey, diag_other: this.diag_objectsById }]) {
|
|
55
55
|
const throwInconsistent = (map) => { throw new PreserveError(`Objects must be consistent in either having an id or a key or both set, but found: ${diagnisis_shortenValue(obj)} and ${diagnisis_shortenValue(map.values().next().value)}. Path: ${diagnosis_path}`); };
|
|
56
56
|
//@ts-ignore
|
|
57
57
|
const value = obj[mode.propName];
|
|
@@ -89,10 +89,10 @@ class ObjRegistry {
|
|
|
89
89
|
// Add to maps:
|
|
90
90
|
this.objectsByIdAndKey.set(idAndKeyString, value);
|
|
91
91
|
if (idAndKey.id !== undefined) {
|
|
92
|
-
this.
|
|
92
|
+
this.diag_objectsById.set(idAndKey.id, value);
|
|
93
93
|
}
|
|
94
94
|
if (idAndKey.key !== undefined) {
|
|
95
|
-
this.
|
|
95
|
+
this.diag_objectsByKey.set(idAndKey.key, value);
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
get(value, diagnosis_path) {
|
|
@@ -115,6 +115,15 @@ function preserve(oldValue, newValue, options = {}) {
|
|
|
115
115
|
function _preserve(oldValue, newValue, options, diagnosis) {
|
|
116
116
|
let call = new PreserveCall(options, diagnosis);
|
|
117
117
|
let result = preserve_inner(oldValue, newValue, call, "<root>");
|
|
118
|
+
if ((0, Util_1.isObject)(result)) {
|
|
119
|
+
// Find all new objects in the result that were preserved in some other place and set them to that preserved instance:
|
|
120
|
+
result = (0, Util_1.visitReplace)(result, (value, visitChilds, context) => {
|
|
121
|
+
if ((0, Util_1.isObject)(value) && call.newToPreserved.has(value)) {
|
|
122
|
+
value = call.newToPreserved.get(value).preserved;
|
|
123
|
+
}
|
|
124
|
+
return visitChilds(value, context); // Should be necessary but not really thought about it much
|
|
125
|
+
});
|
|
126
|
+
}
|
|
118
127
|
// Invalidate obsolete objects
|
|
119
128
|
if (options.destroyObsolete !== false && call.possiblyObsoleteObjects.size > 0) {
|
|
120
129
|
const obsoleteCause = (diagnosis === null || diagnosis === void 0 ? void 0 : diagnosis.callStack) || new Error("Preserve was called");
|
|
@@ -138,29 +147,39 @@ function preserve_inner(oldValue, newValue, call, diagnosis_path) {
|
|
|
138
147
|
if (newValue === null || typeof newValue !== "object") {
|
|
139
148
|
return newValue;
|
|
140
149
|
}
|
|
141
|
-
if (call.options.preserveCircular) {
|
|
142
|
-
const preserved = call.newToPreserved.get(newValue);
|
|
143
|
-
if (preserved !== undefined) {
|
|
144
|
-
return preserved;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
150
|
if (!mergeable(oldValue, newValue)) {
|
|
151
|
+
if (call.newToPreserved.has(newValue)) {
|
|
152
|
+
return call.newToPreserved.get(newValue).preserved;
|
|
153
|
+
}
|
|
148
154
|
return newValue;
|
|
149
155
|
}
|
|
150
156
|
// Narrow types:
|
|
151
157
|
if (oldValue === null || typeof oldValue !== "object" || newValue === null || typeof newValue !== "object") {
|
|
158
|
+
if (call.newToPreserved.has(newValue)) {
|
|
159
|
+
return call.newToPreserved.get(newValue).preserved;
|
|
160
|
+
}
|
|
152
161
|
return newValue;
|
|
153
162
|
}
|
|
154
|
-
if (call.
|
|
163
|
+
if (call.preservedToNew.has(oldValue)) { // Already merged or currently merging?
|
|
155
164
|
// Safety check:
|
|
156
|
-
if (call.
|
|
157
|
-
throw new PreserveError(`Cannot replace object ${diagnisis_shortenValue(oldValue)} into ${diagnisis_shortenValue(newValue)} in: ${diagnosis_path}. It has already been replaced by another object: ${diagnisis_shortenValue(call.
|
|
165
|
+
if (call.preservedToNew.get(oldValue) !== newValue) {
|
|
166
|
+
throw new PreserveError(`Cannot replace object ${diagnisis_shortenValue(oldValue)} into ${diagnisis_shortenValue(newValue)} in: ${diagnosis_path}. It has already been replaced by another object: ${diagnisis_shortenValue(call.preservedToNew.get(oldValue))}. Please make sure, your objects have a proper id or key and are not used in multiple places where these can be mistaken.\n${normalizeListsHint}`);
|
|
158
167
|
}
|
|
159
168
|
return oldValue;
|
|
160
169
|
}
|
|
161
170
|
// *** Merge: ****
|
|
162
|
-
|
|
163
|
-
call.newToPreserved.
|
|
171
|
+
// Conflict check:
|
|
172
|
+
if (call.newToPreserved.has(newValue)) {
|
|
173
|
+
const otherPreserved = call.newToPreserved.get(newValue);
|
|
174
|
+
if (otherPreserved.preserved === oldValue) { // new -> old was exactly already preserved through other place?
|
|
175
|
+
return oldValue;
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
throw new PreserveError(`Conflict: The same object instance (used in 2 places) is about to be preserved to different objects. This is not meaningful, that an instance in the new data structure represents 2 different instances in the old structure.\nPlace a: ${otherPreserved.diag_newPath}; old/preserved object: ${diagnisis_shortenValue(otherPreserved.preserved)}\nPlace b: ${diagnosis_path}; old/preserved object: ${diagnisis_shortenValue(oldValue)}`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
call.preservedToNew.set(oldValue, newValue);
|
|
182
|
+
call.newToPreserved.set(newValue, { preserved: oldValue, diag_newPath: diagnosis_path });
|
|
164
183
|
if (Array.isArray(oldValue)) {
|
|
165
184
|
return preserve_array(oldValue, newValue, call, diagnosis_path);
|
|
166
185
|
}
|
|
@@ -188,16 +207,27 @@ function preserve_inner(oldValue, newValue, call, diagnosis_path) {
|
|
|
188
207
|
}
|
|
189
208
|
return oldValue;
|
|
190
209
|
};
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
if (
|
|
194
|
-
|
|
210
|
+
try {
|
|
211
|
+
const result = inner(); // "as T" because i don't get why inner is "T | object"
|
|
212
|
+
if (result !== newValue) { // old was preserved
|
|
213
|
+
if (newValue !== null && typeof newValue === "object") {
|
|
214
|
+
call.possiblyObsoleteObjects.add(newValue);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
call.markUsed(newValue);
|
|
195
219
|
}
|
|
220
|
+
return result;
|
|
196
221
|
}
|
|
197
|
-
|
|
198
|
-
|
|
222
|
+
catch (e) {
|
|
223
|
+
// Refine message. Adds more comfort to debugging:
|
|
224
|
+
if (e instanceof Error) {
|
|
225
|
+
if (e.message.indexOf("\nPath") === -1) {
|
|
226
|
+
e.message += `\nPath: ${diagnosis_path}`;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
throw e;
|
|
199
230
|
}
|
|
200
|
-
return result;
|
|
201
231
|
}
|
|
202
232
|
function preserve_array(oldArray, newArray, call, diagnosis_path) {
|
|
203
233
|
const oldObjectRegistry = new ObjRegistry(call.options);
|
|
@@ -343,7 +373,7 @@ function mergeable(oldValue, newValue) {
|
|
|
343
373
|
}
|
|
344
374
|
/**
|
|
345
375
|
*
|
|
346
|
-
* Scans root deeply for Arrays and for each found array, it
|
|
376
|
+
* Scans root deeply for Arrays and for each found array, it calls normalizeList, which makes identical items with the same id/key one (shared) object instance.
|
|
347
377
|
* @see normalizeList
|
|
348
378
|
* @param root
|
|
349
379
|
* @param options
|
|
@@ -354,10 +384,10 @@ function normalizeLists(root, options = {}) {
|
|
|
354
384
|
normalizeList(value, options, context.diagnosis_path);
|
|
355
385
|
}
|
|
356
386
|
return visitChilds(value, context);
|
|
357
|
-
}, "onError");
|
|
387
|
+
}, { trackPath: "onError" });
|
|
358
388
|
}
|
|
359
389
|
/**
|
|
360
|
-
*
|
|
390
|
+
* Makes identical items with the same id/key one (shared) object instance
|
|
361
391
|
* @param list
|
|
362
392
|
* @param options
|
|
363
393
|
* @param diagnosis_path internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preserve.js","sourceRoot":"","sources":["../../preserve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"preserve.js","sourceRoot":"","sources":["../../preserve.ts"],"names":[],"mappings":"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"}
|