proxy-facades 1.0.6 → 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.
- package/RecordedReadOnProxiedObjectExt.js +4 -4
- package/RecordedReadOnProxiedObjectExt.js.map +1 -1
- package/RecordedReadOnProxiedObjectExt.ts +4 -4
- package/class-trackers/Array.d.ts +2 -2
- package/class-trackers/Array.d.ts.map +1 -1
- package/class-trackers/Array.js +1 -4
- package/class-trackers/Array.js.map +1 -1
- package/class-trackers/Array.ts +3 -5
- package/class-trackers/Map.d.ts +10 -10
- package/class-trackers/Map.d.ts.map +1 -1
- package/class-trackers/Map.js +10 -10
- package/class-trackers/Map.js.map +1 -1
- package/class-trackers/Map.ts +20 -20
- package/class-trackers/Set.d.ts +4 -4
- package/class-trackers/Set.d.ts.map +1 -1
- package/class-trackers/Set.js +4 -4
- package/class-trackers/Set.js.map +1 -1
- package/class-trackers/Set.ts +8 -8
- package/dist/mjs/RecordedReadOnProxiedObjectExt.js +4 -4
- package/dist/mjs/RecordedReadOnProxiedObjectExt.js.map +1 -1
- package/dist/mjs/class-trackers/Array.d.ts +2 -2
- package/dist/mjs/class-trackers/Array.d.ts.map +1 -1
- package/dist/mjs/class-trackers/Array.js +1 -4
- package/dist/mjs/class-trackers/Array.js.map +1 -1
- package/dist/mjs/class-trackers/Map.d.ts +10 -10
- package/dist/mjs/class-trackers/Map.d.ts.map +1 -1
- package/dist/mjs/class-trackers/Map.js +10 -10
- package/dist/mjs/class-trackers/Map.js.map +1 -1
- package/dist/mjs/class-trackers/Set.d.ts +4 -4
- package/dist/mjs/class-trackers/Set.d.ts.map +1 -1
- package/dist/mjs/class-trackers/Set.js +4 -4
- package/dist/mjs/class-trackers/Set.js.map +1 -1
- package/dist/mjs/proxyFacade.d.ts +12 -1
- package/dist/mjs/proxyFacade.d.ts.map +1 -1
- package/dist/mjs/proxyFacade.js +22 -1
- package/dist/mjs/proxyFacade.js.map +1 -1
- package/dist/mjs/watchedProxyFacade.d.ts +3 -3
- package/dist/mjs/watchedProxyFacade.d.ts.map +1 -1
- package/dist/mjs/watchedProxyFacade.js +9 -9
- package/dist/mjs/watchedProxyFacade.js.map +1 -1
- package/package.json +1 -1
- package/proxyFacade.d.ts +12 -1
- package/proxyFacade.d.ts.map +1 -1
- package/proxyFacade.js +24 -2
- package/proxyFacade.js.map +1 -1
- package/proxyFacade.ts +34 -2
- package/watchedProxyFacade.d.ts +3 -3
- package/watchedProxyFacade.d.ts.map +1 -1
- package/watchedProxyFacade.js +9 -9
- package/watchedProxyFacade.js.map +1 -1
- package/watchedProxyFacade.ts +12 -12
|
@@ -18,14 +18,14 @@ export declare class RecordedPropertyRead extends RecordedReadOnProxiedObjectExt
|
|
|
18
18
|
value: unknown;
|
|
19
19
|
constructor(key: ObjKey, value: unknown);
|
|
20
20
|
get isChanged(): boolean;
|
|
21
|
-
getAffectingChangeHooks(target: this["
|
|
21
|
+
getAffectingChangeHooks(target: this["origObj"]): EventHook[];
|
|
22
22
|
equals(other: RecordedRead): boolean;
|
|
23
23
|
}
|
|
24
24
|
export declare class RecordedOwnKeysRead extends RecordedReadOnProxiedObjectExt {
|
|
25
25
|
value: ArrayLike<string | symbol>;
|
|
26
26
|
constructor(value: RecordedOwnKeysRead["value"]);
|
|
27
27
|
get isChanged(): boolean;
|
|
28
|
-
getAffectingChangeHooks(target: this["
|
|
28
|
+
getAffectingChangeHooks(target: this["origObj"]): EventHook[];
|
|
29
29
|
equals(other: RecordedRead): boolean;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
@@ -33,7 +33,7 @@ export declare class RecordedOwnKeysRead extends RecordedReadOnProxiedObjectExt
|
|
|
33
33
|
*/
|
|
34
34
|
export declare class RecordedUnspecificRead extends RecordedReadOnProxiedObjectExt {
|
|
35
35
|
get isChanged(): boolean;
|
|
36
|
-
getAffectingChangeHooks(target: this["
|
|
36
|
+
getAffectingChangeHooks(target: this["origObj"]): EventHook[];
|
|
37
37
|
equals(other: RecordedRead): boolean;
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchedProxyFacade.d.ts","sourceRoot":"","sources":["../../watchedProxyFacade.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,EAClB,2BAA2B,EAC3B,WAAW,EACX,2BAA2B,EAE9B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAK,iBAAiB,EACzB,cAAc,EACW,SAAS,EAGlC,MAAM,EACN,YAAY,EAEf,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAC,8BAA8B,EAAC,MAAM,kCAAkC,CAAC;AAGhF;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IAC/C,KAAK,EAAE,OAAO,CAAC;gBAEH,KAAK,EAAE,OAAO;IAK1B,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,aAAa,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,aAAa,UAAQ;IAIzD,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI;IAGnC,MAAM,CAAC,KAAK,EAAE,YAAY;CAO7B;AAED,qBAAa,oBAAqB,SAAQ,8BAA8B;IACpE,GAAG,EAAG,MAAM,CAAC;IACb,KAAK,EAAG,OAAO,CAAC;gBAGJ,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAMvC,IAAI,SAAS,YAGZ;IAED,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"watchedProxyFacade.d.ts","sourceRoot":"","sources":["../../watchedProxyFacade.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,13 +37,13 @@ export class RecordedPropertyRead extends RecordedReadOnProxiedObjectExt {
|
|
|
37
37
|
}
|
|
38
38
|
get isChanged() {
|
|
39
39
|
//@ts-ignore
|
|
40
|
-
return this.
|
|
40
|
+
return this.origObj[this.key] !== this.value;
|
|
41
41
|
}
|
|
42
42
|
getAffectingChangeHooks(target) {
|
|
43
43
|
const result = [
|
|
44
44
|
getChangeHooksForObject(target).changeSpecificProperty.get(this.key)
|
|
45
45
|
];
|
|
46
|
-
if (Array.isArray(this.
|
|
46
|
+
if (Array.isArray(this.origObj)) {
|
|
47
47
|
result.push(getChangeHooksForObject(target).unspecificChange);
|
|
48
48
|
}
|
|
49
49
|
return result;
|
|
@@ -52,7 +52,7 @@ export class RecordedPropertyRead extends RecordedReadOnProxiedObjectExt {
|
|
|
52
52
|
if (!(other instanceof RecordedPropertyRead)) {
|
|
53
53
|
return false;
|
|
54
54
|
}
|
|
55
|
-
return this.proxyHandler === other.proxyHandler && this.
|
|
55
|
+
return this.proxyHandler === other.proxyHandler && this.origObj === other.origObj && this.key === other.key && this.value === other.value;
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
export class RecordedOwnKeysRead extends RecordedReadOnProxiedObjectExt {
|
|
@@ -61,13 +61,13 @@ export class RecordedOwnKeysRead extends RecordedReadOnProxiedObjectExt {
|
|
|
61
61
|
this.value = value;
|
|
62
62
|
}
|
|
63
63
|
get isChanged() {
|
|
64
|
-
return !_.isEqual(Reflect.ownKeys(this.
|
|
64
|
+
return !_.isEqual(Reflect.ownKeys(this.origObj), this.value);
|
|
65
65
|
}
|
|
66
66
|
getAffectingChangeHooks(target) {
|
|
67
67
|
const result = [
|
|
68
68
|
getChangeHooksForObject(target).changeOwnKeys
|
|
69
69
|
];
|
|
70
|
-
if (Array.isArray(this.
|
|
70
|
+
if (Array.isArray(this.origObj)) {
|
|
71
71
|
result.push(getChangeHooksForObject(target).unspecificChange);
|
|
72
72
|
}
|
|
73
73
|
return result;
|
|
@@ -76,7 +76,7 @@ export class RecordedOwnKeysRead extends RecordedReadOnProxiedObjectExt {
|
|
|
76
76
|
if (!(other instanceof RecordedOwnKeysRead)) {
|
|
77
77
|
return false;
|
|
78
78
|
}
|
|
79
|
-
return this.proxyHandler === other.proxyHandler && this.
|
|
79
|
+
return this.proxyHandler === other.proxyHandler && this.origObj === other.origObj && _.isEqual(this.value, other.value);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
@@ -151,7 +151,7 @@ export class WatchedProxyHandler extends FacadeProxyHandler {
|
|
|
151
151
|
}
|
|
152
152
|
fireAfterRead(read) {
|
|
153
153
|
read.proxyHandler = this;
|
|
154
|
-
read.
|
|
154
|
+
read.origObj = this.target;
|
|
155
155
|
this.facade._afterReadListeners.forEach(l => l(read)); // Inform listeners
|
|
156
156
|
}
|
|
157
157
|
getFacade() {
|
|
@@ -163,10 +163,10 @@ export class WatchedProxyHandler extends FacadeProxyHandler {
|
|
|
163
163
|
const proxy = this.proxy;
|
|
164
164
|
const thisHandler = this;
|
|
165
165
|
const receiverMustBeNonProxied = ((_a = this.trackingConfig) === null || _a === void 0 ? void 0 : _a.receiverMustBeNonProxied) === true;
|
|
166
|
-
if (key === "_watchedProxyHandler") {
|
|
166
|
+
if (key === "_watchedProxyHandler") {
|
|
167
167
|
return this;
|
|
168
168
|
}
|
|
169
|
-
if (key === "_target") {
|
|
169
|
+
if (key === "_target") {
|
|
170
170
|
return this.target;
|
|
171
171
|
}
|
|
172
172
|
// Check for and use supervisor class:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchedProxyFacade.js","sourceRoot":"","sources":["../../watchedProxyFacade.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,EAElB,WAAW,EAEX,kBAAkB,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,UAAU,EAAC,MAAM,QAAQ,CAAC;AAClC,OAAO,EAEH,uBAAuB,EACvB,qBAAqB,EAGrB,YAAY,EACZ,sBAAsB,GACzB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAC,uBAAuB,EAAE,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AACrF,OAAO,CAAC,MAAM,YAAY,CAAA;AAC1B,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,8BAA8B,EAAC,MAAM,kCAAkC,CAAC;AAGhF;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IAG/C,YAAY,KAAc;QACtB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,SAAS;QACT,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IACjF,CAAC;IAED,aAAa,CAAC,QAAoB,EAAE,aAAa,GAAG,KAAK;QACrD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IACjF,CAAC;IAED,cAAc,CAAC,QAAoB;IACnC,CAAC;IAED,MAAM,CAAC,KAAmB;QACtB,IAAG,CAAE,CAAC,KAAK,YAAY,iBAAiB,CAAC,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;IACtC,CAAC;CACJ;AAED,MAAM,OAAO,oBAAqB,SAAQ,8BAA8B;IAKpE,YAAY,GAAW,EAAE,KAAc;QACnC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,SAAS;QACT,YAAY;QACZ,OAAO,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"watchedProxyFacade.js","sourceRoot":"","sources":["../../watchedProxyFacade.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/proxyFacade.d.ts
CHANGED
|
@@ -8,7 +8,12 @@ export declare abstract class ProxyFacade<HANDLER extends FacadeProxyHandler<any
|
|
|
8
8
|
* Treats them like functions, meaning, they get a proxied 'this'. WatchProxies will see the access to the real properties
|
|
9
9
|
*/
|
|
10
10
|
propertyAccessorsAsWhiteBox: boolean;
|
|
11
|
+
trackGetterCalls: boolean;
|
|
11
12
|
protected objectsToProxyHandlers: WeakMap<object, HANDLER>;
|
|
13
|
+
/**
|
|
14
|
+
* For react-deepwatch's binding function. Only, when trackGetterCalls is enabled
|
|
15
|
+
*/
|
|
16
|
+
currentOutermostGetter?: GetterCall;
|
|
12
17
|
debug_id: number;
|
|
13
18
|
protected abstract crateHandler(target: object, facade: any): HANDLER;
|
|
14
19
|
getProxyFor<O>(value: O): O;
|
|
@@ -49,7 +54,8 @@ export declare abstract class RecordedReadOnProxiedObject extends RecordedRead {
|
|
|
49
54
|
/**
|
|
50
55
|
* A bit redundant with proxyhandler. But for performance reasons, we leave it
|
|
51
56
|
*/
|
|
52
|
-
|
|
57
|
+
origObj: object;
|
|
58
|
+
get proxy(): object;
|
|
53
59
|
}
|
|
54
60
|
export interface IWatchedProxyHandler_common {
|
|
55
61
|
/**
|
|
@@ -101,5 +107,10 @@ export interface ForWatchedProxyHandler<T> extends DualUseTracker<T> {
|
|
|
101
107
|
* @param key
|
|
102
108
|
*/
|
|
103
109
|
export declare function deleteProperty<O extends object>(obj: O, key: keyof O): boolean;
|
|
110
|
+
export declare class GetterCall {
|
|
111
|
+
proxy: object;
|
|
112
|
+
key: ObjKey;
|
|
113
|
+
constructor(proxy: object, key: ObjKey);
|
|
114
|
+
}
|
|
104
115
|
export declare const changeTrackedOrigObjects: PartialGraph;
|
|
105
116
|
//# sourceMappingURL=proxyFacade.d.ts.map
|
package/proxyFacade.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxyFacade.d.ts","sourceRoot":"","sources":["proxyFacade.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAEH,eAAe,EACf,SAAS,EAIT,MAAM,EACN,YAAY,EACZ,YAAY,EAEf,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAGzD,8BAAsB,WAAW,CAAC,OAAO,SAAS,kBAAkB,CAAC,GAAG,CAAC,CAAE,SAAQ,YAAY;IAE3F;;OAEG;IACI,2BAA2B,UAAQ;
|
|
1
|
+
{"version":3,"file":"proxyFacade.d.ts","sourceRoot":"","sources":["proxyFacade.ts"],"names":[],"mappings":"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"}
|
package/proxyFacade.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.changeTrackedOrigObjects = exports.RecordedReadOnProxiedObject = exports.FacadeProxyHandler = exports.ProxyFacade = void 0;
|
|
3
|
+
exports.changeTrackedOrigObjects = exports.GetterCall = exports.RecordedReadOnProxiedObject = exports.FacadeProxyHandler = exports.ProxyFacade = void 0;
|
|
4
4
|
exports.isProxyForAFacade = isProxyForAFacade;
|
|
5
5
|
exports.invalidateObject = invalidateObject;
|
|
6
6
|
exports.getGlobalOrig = getGlobalOrig;
|
|
@@ -22,6 +22,7 @@ class ProxyFacade extends common_1.PartialGraph {
|
|
|
22
22
|
* Treats them like functions, meaning, they get a proxied 'this'. WatchProxies will see the access to the real properties
|
|
23
23
|
*/
|
|
24
24
|
this.propertyAccessorsAsWhiteBox = true;
|
|
25
|
+
this.trackGetterCalls = false;
|
|
25
26
|
// *** State: ***
|
|
26
27
|
this.objectsToProxyHandlers = new WeakMap();
|
|
27
28
|
this.debug_id = ++idGenerator;
|
|
@@ -89,7 +90,18 @@ class FacadeProxyHandler {
|
|
|
89
90
|
const getter = (_a = (0, common_1.getPropertyDescriptor)(this.target, p)) === null || _a === void 0 ? void 0 : _a.get;
|
|
90
91
|
let value;
|
|
91
92
|
if (this.facade.propertyAccessorsAsWhiteBox && getter !== undefined && getter.origHadGetter !== false) { // Access via real property accessor ?
|
|
92
|
-
|
|
93
|
+
const isInner = this.facade.currentOutermostGetter !== undefined;
|
|
94
|
+
if (this.facade.trackGetterCalls && !isInner) {
|
|
95
|
+
this.facade.currentOutermostGetter = new GetterCall(this.proxy, p);
|
|
96
|
+
}
|
|
97
|
+
try {
|
|
98
|
+
return value = getter.apply(this.proxy, []); // Call the accessor with a proxied this
|
|
99
|
+
}
|
|
100
|
+
finally {
|
|
101
|
+
if (this.facade.trackGetterCalls && isInner) {
|
|
102
|
+
this.facade.currentOutermostGetter = undefined;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
93
105
|
}
|
|
94
106
|
else {
|
|
95
107
|
//@ts-ignore
|
|
@@ -194,6 +206,9 @@ function getGlobalOrig(obj) {
|
|
|
194
206
|
return obj;
|
|
195
207
|
}
|
|
196
208
|
class RecordedReadOnProxiedObject extends common_1.RecordedRead {
|
|
209
|
+
get proxy() {
|
|
210
|
+
return this.proxyHandler.proxy;
|
|
211
|
+
}
|
|
197
212
|
}
|
|
198
213
|
exports.RecordedReadOnProxiedObject = RecordedReadOnProxiedObject;
|
|
199
214
|
//@ts-ignore
|
|
@@ -288,5 +303,12 @@ function deleteProperty(obj, key) {
|
|
|
288
303
|
return delete obj[key];
|
|
289
304
|
});
|
|
290
305
|
}
|
|
306
|
+
class GetterCall {
|
|
307
|
+
constructor(proxy, key) {
|
|
308
|
+
this.proxy = proxy;
|
|
309
|
+
this.key = key;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
exports.GetterCall = GetterCall;
|
|
291
313
|
exports.changeTrackedOrigObjects = new common_1.PartialGraph();
|
|
292
314
|
//# sourceMappingURL=proxyFacade.js.map
|
package/proxyFacade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxyFacade.js","sourceRoot":"","sources":["proxyFacade.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"proxyFacade.js","sourceRoot":"","sources":["proxyFacade.ts"],"names":[],"mappings":"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"}
|
package/proxyFacade.ts
CHANGED
|
@@ -24,10 +24,17 @@ export abstract class ProxyFacade<HANDLER extends FacadeProxyHandler<any>> exten
|
|
|
24
24
|
* Treats them like functions, meaning, they get a proxied 'this'. WatchProxies will see the access to the real properties
|
|
25
25
|
*/
|
|
26
26
|
public propertyAccessorsAsWhiteBox = true;
|
|
27
|
+
public trackGetterCalls = false;
|
|
27
28
|
|
|
28
29
|
// *** State: ***
|
|
29
30
|
protected objectsToProxyHandlers = new WeakMap<object, HANDLER>();
|
|
30
31
|
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* For react-deepwatch's binding function. Only, when trackGetterCalls is enabled
|
|
35
|
+
*/
|
|
36
|
+
public currentOutermostGetter?: GetterCall;
|
|
37
|
+
|
|
31
38
|
debug_id = ++idGenerator;
|
|
32
39
|
|
|
33
40
|
protected abstract crateHandler(target: object, facade: any): HANDLER;
|
|
@@ -112,7 +119,18 @@ export abstract class FacadeProxyHandler<FACADE extends ProxyFacade<any>> implem
|
|
|
112
119
|
const getter = getPropertyDescriptor(this.target, p)?.get;
|
|
113
120
|
let value;
|
|
114
121
|
if(this.facade.propertyAccessorsAsWhiteBox && getter !== undefined && (getter as GetterFlags).origHadGetter !== false) { // Access via real property accessor ?
|
|
115
|
-
|
|
122
|
+
const isInner = this.facade.currentOutermostGetter !== undefined;
|
|
123
|
+
if(this.facade.trackGetterCalls && !isInner) {
|
|
124
|
+
this.facade.currentOutermostGetter = new GetterCall(this.proxy, p);
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
return value = getter.apply(this.proxy, []); // Call the accessor with a proxied this
|
|
128
|
+
}
|
|
129
|
+
finally {
|
|
130
|
+
if(this.facade.trackGetterCalls && isInner) {
|
|
131
|
+
this.facade.currentOutermostGetter = undefined
|
|
132
|
+
}
|
|
133
|
+
}
|
|
116
134
|
}
|
|
117
135
|
else {
|
|
118
136
|
//@ts-ignore
|
|
@@ -238,7 +256,11 @@ export abstract class RecordedReadOnProxiedObject extends RecordedRead {
|
|
|
238
256
|
/**
|
|
239
257
|
* A bit redundant with proxyhandler. But for performance reasons, we leave it
|
|
240
258
|
*/
|
|
241
|
-
|
|
259
|
+
origObj!: object;
|
|
260
|
+
|
|
261
|
+
get proxy() {
|
|
262
|
+
return this.proxyHandler.proxy
|
|
263
|
+
}
|
|
242
264
|
}
|
|
243
265
|
|
|
244
266
|
export interface IWatchedProxyHandler_common {
|
|
@@ -380,4 +402,14 @@ export function deleteProperty<O extends object>(obj: O, key: keyof O) {
|
|
|
380
402
|
});
|
|
381
403
|
}
|
|
382
404
|
|
|
405
|
+
export class GetterCall {
|
|
406
|
+
proxy: object;
|
|
407
|
+
key: ObjKey;
|
|
408
|
+
|
|
409
|
+
constructor(proxy: object, key: ObjKey) {
|
|
410
|
+
this.proxy = proxy;
|
|
411
|
+
this.key = key;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
|
|
383
415
|
export const changeTrackedOrigObjects = new PartialGraph();
|
package/watchedProxyFacade.d.ts
CHANGED
|
@@ -18,14 +18,14 @@ export declare class RecordedPropertyRead extends RecordedReadOnProxiedObjectExt
|
|
|
18
18
|
value: unknown;
|
|
19
19
|
constructor(key: ObjKey, value: unknown);
|
|
20
20
|
get isChanged(): boolean;
|
|
21
|
-
getAffectingChangeHooks(target: this["
|
|
21
|
+
getAffectingChangeHooks(target: this["origObj"]): EventHook[];
|
|
22
22
|
equals(other: RecordedRead): boolean;
|
|
23
23
|
}
|
|
24
24
|
export declare class RecordedOwnKeysRead extends RecordedReadOnProxiedObjectExt {
|
|
25
25
|
value: ArrayLike<string | symbol>;
|
|
26
26
|
constructor(value: RecordedOwnKeysRead["value"]);
|
|
27
27
|
get isChanged(): boolean;
|
|
28
|
-
getAffectingChangeHooks(target: this["
|
|
28
|
+
getAffectingChangeHooks(target: this["origObj"]): EventHook[];
|
|
29
29
|
equals(other: RecordedRead): boolean;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
@@ -33,7 +33,7 @@ export declare class RecordedOwnKeysRead extends RecordedReadOnProxiedObjectExt
|
|
|
33
33
|
*/
|
|
34
34
|
export declare class RecordedUnspecificRead extends RecordedReadOnProxiedObjectExt {
|
|
35
35
|
get isChanged(): boolean;
|
|
36
|
-
getAffectingChangeHooks(target: this["
|
|
36
|
+
getAffectingChangeHooks(target: this["origObj"]): EventHook[];
|
|
37
37
|
equals(other: RecordedRead): boolean;
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchedProxyFacade.d.ts","sourceRoot":"","sources":["watchedProxyFacade.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,EAClB,2BAA2B,EAC3B,WAAW,EACX,2BAA2B,EAE9B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAK,iBAAiB,EACzB,cAAc,EACW,SAAS,EAGlC,MAAM,EACN,YAAY,EAEf,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAC,8BAA8B,EAAC,MAAM,kCAAkC,CAAC;AAGhF;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IAC/C,KAAK,EAAE,OAAO,CAAC;gBAEH,KAAK,EAAE,OAAO;IAK1B,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,aAAa,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,aAAa,UAAQ;IAIzD,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI;IAGnC,MAAM,CAAC,KAAK,EAAE,YAAY;CAO7B;AAED,qBAAa,oBAAqB,SAAQ,8BAA8B;IACpE,GAAG,EAAG,MAAM,CAAC;IACb,KAAK,EAAG,OAAO,CAAC;gBAGJ,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAMvC,IAAI,SAAS,YAGZ;IAED,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"watchedProxyFacade.d.ts","sourceRoot":"","sources":["watchedProxyFacade.ts"],"names":[],"mappings":"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"}
|
package/watchedProxyFacade.js
CHANGED
|
@@ -44,13 +44,13 @@ class RecordedPropertyRead extends RecordedReadOnProxiedObjectExt_1.RecordedRead
|
|
|
44
44
|
}
|
|
45
45
|
get isChanged() {
|
|
46
46
|
//@ts-ignore
|
|
47
|
-
return this.
|
|
47
|
+
return this.origObj[this.key] !== this.value;
|
|
48
48
|
}
|
|
49
49
|
getAffectingChangeHooks(target) {
|
|
50
50
|
const result = [
|
|
51
51
|
(0, objectChangeTracking_1.getChangeHooksForObject)(target).changeSpecificProperty.get(this.key)
|
|
52
52
|
];
|
|
53
|
-
if (Array.isArray(this.
|
|
53
|
+
if (Array.isArray(this.origObj)) {
|
|
54
54
|
result.push((0, objectChangeTracking_1.getChangeHooksForObject)(target).unspecificChange);
|
|
55
55
|
}
|
|
56
56
|
return result;
|
|
@@ -59,7 +59,7 @@ class RecordedPropertyRead extends RecordedReadOnProxiedObjectExt_1.RecordedRead
|
|
|
59
59
|
if (!(other instanceof RecordedPropertyRead)) {
|
|
60
60
|
return false;
|
|
61
61
|
}
|
|
62
|
-
return this.proxyHandler === other.proxyHandler && this.
|
|
62
|
+
return this.proxyHandler === other.proxyHandler && this.origObj === other.origObj && this.key === other.key && this.value === other.value;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
exports.RecordedPropertyRead = RecordedPropertyRead;
|
|
@@ -69,13 +69,13 @@ class RecordedOwnKeysRead extends RecordedReadOnProxiedObjectExt_1.RecordedReadO
|
|
|
69
69
|
this.value = value;
|
|
70
70
|
}
|
|
71
71
|
get isChanged() {
|
|
72
|
-
return !underscore_1.default.isEqual(Reflect.ownKeys(this.
|
|
72
|
+
return !underscore_1.default.isEqual(Reflect.ownKeys(this.origObj), this.value);
|
|
73
73
|
}
|
|
74
74
|
getAffectingChangeHooks(target) {
|
|
75
75
|
const result = [
|
|
76
76
|
(0, objectChangeTracking_1.getChangeHooksForObject)(target).changeOwnKeys
|
|
77
77
|
];
|
|
78
|
-
if (Array.isArray(this.
|
|
78
|
+
if (Array.isArray(this.origObj)) {
|
|
79
79
|
result.push((0, objectChangeTracking_1.getChangeHooksForObject)(target).unspecificChange);
|
|
80
80
|
}
|
|
81
81
|
return result;
|
|
@@ -84,7 +84,7 @@ class RecordedOwnKeysRead extends RecordedReadOnProxiedObjectExt_1.RecordedReadO
|
|
|
84
84
|
if (!(other instanceof RecordedOwnKeysRead)) {
|
|
85
85
|
return false;
|
|
86
86
|
}
|
|
87
|
-
return this.proxyHandler === other.proxyHandler && this.
|
|
87
|
+
return this.proxyHandler === other.proxyHandler && this.origObj === other.origObj && underscore_1.default.isEqual(this.value, other.value);
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
exports.RecordedOwnKeysRead = RecordedOwnKeysRead;
|
|
@@ -162,7 +162,7 @@ class WatchedProxyHandler extends proxyFacade_1.FacadeProxyHandler {
|
|
|
162
162
|
}
|
|
163
163
|
fireAfterRead(read) {
|
|
164
164
|
read.proxyHandler = this;
|
|
165
|
-
read.
|
|
165
|
+
read.origObj = this.target;
|
|
166
166
|
this.facade._afterReadListeners.forEach(l => l(read)); // Inform listeners
|
|
167
167
|
}
|
|
168
168
|
getFacade() {
|
|
@@ -174,10 +174,10 @@ class WatchedProxyHandler extends proxyFacade_1.FacadeProxyHandler {
|
|
|
174
174
|
const proxy = this.proxy;
|
|
175
175
|
const thisHandler = this;
|
|
176
176
|
const receiverMustBeNonProxied = ((_a = this.trackingConfig) === null || _a === void 0 ? void 0 : _a.receiverMustBeNonProxied) === true;
|
|
177
|
-
if (key === "_watchedProxyHandler") {
|
|
177
|
+
if (key === "_watchedProxyHandler") {
|
|
178
178
|
return this;
|
|
179
179
|
}
|
|
180
|
-
if (key === "_target") {
|
|
180
|
+
if (key === "_target") {
|
|
181
181
|
return this.target;
|
|
182
182
|
}
|
|
183
183
|
// Check for and use supervisor class:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchedProxyFacade.js","sourceRoot":"","sources":["watchedProxyFacade.ts"],"names":[],"mappings":";;;;;;AAAA,+CAMuB;AACvB,iCAAkC;AAClC,qCAQkB;AAClB,iEAAqF;AACrF,4DAA0B;AAC1B,kDAA4D;AAC5D,qFAAgF;AAGhF;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,qBAAY;IAG/C,YAAY,KAAc;QACtB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,SAAS;QACT,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IACjF,CAAC;IAED,aAAa,CAAC,QAAoB,EAAE,aAAa,GAAG,KAAK;QACrD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IACjF,CAAC;IAED,cAAc,CAAC,QAAoB;IACnC,CAAC;IAED,MAAM,CAAC,KAAmB;QACtB,IAAG,CAAE,CAAC,KAAK,YAAY,iBAAiB,CAAC,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;IACtC,CAAC;CACJ;AA1BD,8CA0BC;AAED,MAAa,oBAAqB,SAAQ,+DAA8B;IAKpE,YAAY,GAAW,EAAE,KAAc;QACnC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,SAAS;QACT,YAAY;QACZ,OAAO,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"watchedProxyFacade.js","sourceRoot":"","sources":["watchedProxyFacade.ts"],"names":[],"mappings":"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"}
|
package/watchedProxyFacade.ts
CHANGED
|
@@ -66,14 +66,14 @@ export class RecordedPropertyRead extends RecordedReadOnProxiedObjectExt {
|
|
|
66
66
|
|
|
67
67
|
get isChanged() {
|
|
68
68
|
//@ts-ignore
|
|
69
|
-
return this.
|
|
69
|
+
return this.origObj[this.key] !== this.value;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
getAffectingChangeHooks(target: this["
|
|
72
|
+
getAffectingChangeHooks(target: this["origObj"]) {
|
|
73
73
|
const result = [
|
|
74
74
|
getChangeHooksForObject(target).changeSpecificProperty.get(this.key)
|
|
75
75
|
]
|
|
76
|
-
if(Array.isArray(this.
|
|
76
|
+
if(Array.isArray(this.origObj)) {
|
|
77
77
|
result.push(getChangeHooksForObject(target).unspecificChange);
|
|
78
78
|
}
|
|
79
79
|
return result;
|
|
@@ -84,7 +84,7 @@ export class RecordedPropertyRead extends RecordedReadOnProxiedObjectExt {
|
|
|
84
84
|
return false;
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
return this.proxyHandler === other.proxyHandler && this.
|
|
87
|
+
return this.proxyHandler === other.proxyHandler && this.origObj === other.origObj && this.key === other.key && this.value === other.value;
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
|
|
@@ -97,14 +97,14 @@ export class RecordedOwnKeysRead extends RecordedReadOnProxiedObjectExt{
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
get isChanged() {
|
|
100
|
-
return !_.isEqual(Reflect.ownKeys(this.
|
|
100
|
+
return !_.isEqual(Reflect.ownKeys(this.origObj), this.value);
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
getAffectingChangeHooks(target: this["
|
|
103
|
+
getAffectingChangeHooks(target: this["origObj"]) {
|
|
104
104
|
const result = [
|
|
105
105
|
getChangeHooksForObject(target).changeOwnKeys
|
|
106
106
|
]
|
|
107
|
-
if(Array.isArray(this.
|
|
107
|
+
if(Array.isArray(this.origObj)) {
|
|
108
108
|
result.push(getChangeHooksForObject(target).unspecificChange);
|
|
109
109
|
}
|
|
110
110
|
return result;
|
|
@@ -115,7 +115,7 @@ export class RecordedOwnKeysRead extends RecordedReadOnProxiedObjectExt{
|
|
|
115
115
|
return false;
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
return this.proxyHandler === other.proxyHandler && this.
|
|
118
|
+
return this.proxyHandler === other.proxyHandler && this.origObj === other.origObj && _.isEqual(this.value, other.value);
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
|
|
@@ -127,7 +127,7 @@ export class RecordedUnspecificRead extends RecordedReadOnProxiedObjectExt{
|
|
|
127
127
|
return true;
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
getAffectingChangeHooks(target: this["
|
|
130
|
+
getAffectingChangeHooks(target: this["origObj"]) {
|
|
131
131
|
return [
|
|
132
132
|
getChangeHooksForObject(target).anyChange
|
|
133
133
|
]
|
|
@@ -208,7 +208,7 @@ export class WatchedProxyHandler extends FacadeProxyHandler<WatchedProxyFacade>
|
|
|
208
208
|
|
|
209
209
|
fireAfterRead(read: RecordedReadOnProxiedObject) {
|
|
210
210
|
read.proxyHandler = this;
|
|
211
|
-
read.
|
|
211
|
+
read.origObj = this.target;
|
|
212
212
|
|
|
213
213
|
this.facade._afterReadListeners.forEach(l => l(read)); // Inform listeners
|
|
214
214
|
}
|
|
@@ -223,10 +223,10 @@ export class WatchedProxyHandler extends FacadeProxyHandler<WatchedProxyFacade>
|
|
|
223
223
|
const thisHandler = this;
|
|
224
224
|
const receiverMustBeNonProxied = this.trackingConfig?.receiverMustBeNonProxied === true;
|
|
225
225
|
|
|
226
|
-
if(key === "_watchedProxyHandler") {
|
|
226
|
+
if(key === "_watchedProxyHandler") {
|
|
227
227
|
return this;
|
|
228
228
|
}
|
|
229
|
-
if(key === "_target") {
|
|
229
|
+
if(key === "_target") {
|
|
230
230
|
return this.target;
|
|
231
231
|
}
|
|
232
232
|
|