proxy-facades 1.0.1 → 1.0.3
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/DEVELOPMENT.md +77 -1
- package/RecordedReadOnProxiedObjectExt.d.ts +2 -1
- package/RecordedReadOnProxiedObjectExt.d.ts.map +1 -1
- package/RecordedReadOnProxiedObjectExt.js +1 -2
- package/RecordedReadOnProxiedObjectExt.js.map +1 -1
- package/RecordedReadOnProxiedObjectExt.ts +2 -2
- package/class-trackers/Array.d.ts +2 -1
- package/class-trackers/Array.d.ts.map +1 -1
- package/class-trackers/Array.js +4 -3
- package/class-trackers/Array.js.map +1 -1
- package/class-trackers/Array.ts +9 -3
- package/class-trackers/Iterator.d.ts +2 -1
- package/class-trackers/Iterator.d.ts.map +1 -1
- package/class-trackers/Iterator.js.map +1 -1
- package/class-trackers/Iterator.ts +2 -1
- package/class-trackers/Map.d.ts +2 -1
- package/class-trackers/Map.d.ts.map +1 -1
- package/class-trackers/Map.js +8 -7
- package/class-trackers/Map.js.map +1 -1
- package/class-trackers/Map.ts +8 -4
- package/class-trackers/Set.d.ts +2 -1
- package/class-trackers/Set.d.ts.map +1 -1
- package/class-trackers/Set.js +8 -7
- package/class-trackers/Set.js.map +1 -1
- package/class-trackers/Set.ts +9 -5
- package/common.d.ts +0 -54
- package/common.d.ts.map +1 -1
- package/common.js +1 -81
- package/common.js.map +1 -1
- package/common.ts +1 -131
- package/dist/mjs/RecordedReadOnProxiedObjectExt.d.ts +2 -1
- package/dist/mjs/RecordedReadOnProxiedObjectExt.d.ts.map +1 -1
- package/dist/mjs/RecordedReadOnProxiedObjectExt.js +1 -2
- package/dist/mjs/RecordedReadOnProxiedObjectExt.js.map +1 -1
- package/dist/mjs/class-trackers/Array.d.ts +2 -1
- package/dist/mjs/class-trackers/Array.d.ts.map +1 -1
- package/dist/mjs/class-trackers/Array.js +2 -1
- package/dist/mjs/class-trackers/Array.js.map +1 -1
- package/dist/mjs/class-trackers/Iterator.d.ts +2 -1
- package/dist/mjs/class-trackers/Iterator.d.ts.map +1 -1
- package/dist/mjs/class-trackers/Iterator.js.map +1 -1
- package/dist/mjs/class-trackers/Map.d.ts +2 -1
- package/dist/mjs/class-trackers/Map.d.ts.map +1 -1
- package/dist/mjs/class-trackers/Map.js +2 -1
- package/dist/mjs/class-trackers/Map.js.map +1 -1
- package/dist/mjs/class-trackers/Set.d.ts +2 -1
- package/dist/mjs/class-trackers/Set.d.ts.map +1 -1
- package/dist/mjs/class-trackers/Set.js +2 -1
- package/dist/mjs/class-trackers/Set.js.map +1 -1
- package/dist/mjs/common.d.ts +0 -54
- package/dist/mjs/common.d.ts.map +1 -1
- package/dist/mjs/common.js +1 -78
- package/dist/mjs/common.js.map +1 -1
- package/dist/mjs/index.d.ts +3 -3
- package/dist/mjs/index.d.ts.map +1 -1
- package/dist/mjs/index.js +3 -3
- package/dist/mjs/index.js.map +1 -1
- package/dist/mjs/objectChangeTracking.d.ts.map +1 -1
- package/dist/mjs/objectChangeTracking.js +2 -1
- package/dist/mjs/objectChangeTracking.js.map +1 -1
- package/dist/mjs/origChangeTracking.d.ts +0 -8
- package/dist/mjs/origChangeTracking.d.ts.map +1 -1
- package/dist/mjs/origChangeTracking.js +2 -23
- package/dist/mjs/origChangeTracking.js.map +1 -1
- package/dist/mjs/proxyFacade.d.ts +60 -1
- package/dist/mjs/proxyFacade.d.ts.map +1 -1
- package/dist/mjs/proxyFacade.js +98 -2
- package/dist/mjs/proxyFacade.js.map +1 -1
- package/dist/mjs/watchedProxyFacade.d.ts +2 -2
- package/dist/mjs/watchedProxyFacade.d.ts.map +1 -1
- package/dist/mjs/watchedProxyFacade.js +2 -2
- package/dist/mjs/watchedProxyFacade.js.map +1 -1
- package/index.d.ts +3 -3
- package/index.d.ts.map +1 -1
- package/index.js +5 -5
- package/index.js.map +1 -1
- package/index.ts +3 -3
- package/index_esm.mjs +8 -6
- package/objectChangeTracking.d.ts.map +1 -1
- package/objectChangeTracking.js +7 -6
- package/objectChangeTracking.js.map +1 -1
- package/objectChangeTracking.ts +1 -1
- package/origChangeTracking.d.ts +0 -8
- package/origChangeTracking.d.ts.map +1 -1
- package/origChangeTracking.js +2 -25
- package/origChangeTracking.js.map +1 -1
- package/origChangeTracking.ts +2 -30
- package/package.json +1 -1
- package/proxyFacade.d.ts +60 -1
- package/proxyFacade.d.ts.map +1 -1
- package/proxyFacade.js +103 -3
- package/proxyFacade.js.map +1 -1
- package/proxyFacade.ts +158 -3
- package/watchedProxyFacade.d.ts +2 -2
- package/watchedProxyFacade.d.ts.map +1 -1
- package/watchedProxyFacade.js +4 -4
- package/watchedProxyFacade.js.map +1 -1
- package/watchedProxyFacade.ts +10 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxyFacade.d.ts","sourceRoot":"","sources":["../../proxyFacade.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"proxyFacade.d.ts","sourceRoot":"","sources":["../../proxyFacade.ts"],"names":[],"mappings":"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"}
|
package/dist/mjs/proxyFacade.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
*
|
|
3
3
|
*/
|
|
4
|
-
import { getPropertyDescriptor, PartialGraph } from "./common";
|
|
5
|
-
import {
|
|
4
|
+
import { getPropertyDescriptor, objectMembershipInGraphs, PartialGraph, RecordedRead, UnspecificObjectChange } from "./common";
|
|
5
|
+
import { getChangeHooksForObject } from "./objectChangeTracking";
|
|
6
|
+
import { newDefaultMap } from "./Util";
|
|
6
7
|
export class ProxyFacade extends PartialGraph {
|
|
7
8
|
constructor() {
|
|
8
9
|
super(...arguments);
|
|
@@ -176,4 +177,99 @@ export function getGlobalOrig(obj) {
|
|
|
176
177
|
}
|
|
177
178
|
return obj;
|
|
178
179
|
}
|
|
180
|
+
export class RecordedReadOnProxiedObject extends RecordedRead {
|
|
181
|
+
}
|
|
182
|
+
//@ts-ignore
|
|
183
|
+
export function dualUseTracker_callOrigMethodOnTarget(tracker, methodName, args) {
|
|
184
|
+
const target = tracker._target;
|
|
185
|
+
const method = tracker._watchedProxyHandler !== undefined ? target[methodName] : Object.getPrototypeOf(Object.getPrototypeOf(tracker))[methodName];
|
|
186
|
+
return method.apply(target, args);
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Used by runChangeOperation
|
|
190
|
+
*/
|
|
191
|
+
class ChangeCall {
|
|
192
|
+
constructor() {
|
|
193
|
+
this.fired_beforeListeners = new Set();
|
|
194
|
+
this.afterListeners = new Set();
|
|
195
|
+
/**
|
|
196
|
+
* "binds" the ChangeOperation parameter to the afterListeners
|
|
197
|
+
*/
|
|
198
|
+
this.paramsForAfterListeners = new Map();
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
const runChangeOperation_Calls = newDefaultMap(() => new ChangeCall());
|
|
202
|
+
/**
|
|
203
|
+
* Informs hooksToServe's beforeListeners + executes changeOperation + informs hooksToServe's afterListeners.
|
|
204
|
+
* All this while preventing listeners from beeing called twice (this is the main purpose of this function!). Even during the same operation (call) that spans a call stack (the stack can go through multiple proxy layers)
|
|
205
|
+
* <p>
|
|
206
|
+
* This function is needed, because there's some overlapping of concerns in listener types, especially for Arrays. Also internal methods may again call the set method which itsself wants to call the propertychange_listeners.
|
|
207
|
+
* </p>
|
|
208
|
+
* @param forTarget object to sync on. All hooks passed to nested runChangeOperation calls will only be fired once.
|
|
209
|
+
* @param paramForListeners the parameter for the change listeners. It won't be run by this function / it's just the parameter. When setting to undefined, it indicates that this runChangeOperation call is only to wrap multiple nested calls / sync them on targetObject. The default anyChange hook won't be called at this level either.
|
|
210
|
+
* @param hooksToServe these hooks will be called (not twice, as mentioned).
|
|
211
|
+
* @param changeOperationFn
|
|
212
|
+
*/
|
|
213
|
+
export function runChangeOperation(forTarget, paramForListeners, hooksToServe, changeOperationFn) {
|
|
214
|
+
var _a;
|
|
215
|
+
const synchronizeOn = getGlobalOrig(forTarget);
|
|
216
|
+
let isRootCall = !runChangeOperation_Calls.has(synchronizeOn); // is it not nested / the outermost call ?
|
|
217
|
+
const changeCall = runChangeOperation_Calls.get(synchronizeOn);
|
|
218
|
+
try {
|
|
219
|
+
if (paramForListeners) {
|
|
220
|
+
hooksToServe.push(getChangeHooksForObject(forTarget).anyChange); // Always serve this one as well
|
|
221
|
+
(_a = objectMembershipInGraphs.get(forTarget)) === null || _a === void 0 ? void 0 : _a.forEach(graph => {
|
|
222
|
+
hooksToServe.push(graph._changeHook);
|
|
223
|
+
});
|
|
224
|
+
// Fire and register before-hooks:
|
|
225
|
+
hooksToServe.forEach(hook => {
|
|
226
|
+
hook.beforeListeners.forEach(listener => {
|
|
227
|
+
if (!changeCall.fired_beforeListeners.has(listener)) {
|
|
228
|
+
listener(paramForListeners); // fire
|
|
229
|
+
changeCall.fired_beforeListeners.add(listener);
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
hook.afterListeners.forEach(afterListener => {
|
|
233
|
+
if (!changeCall.afterListeners.has(afterListener)) {
|
|
234
|
+
changeCall.afterListeners.add(afterListener);
|
|
235
|
+
changeCall.paramsForAfterListeners.set(afterListener, paramForListeners); // Ensure, it is called with the proper changeOperation parameter afterwards. Otherwise stuff from a higher level facade would leak to a change listeners, registered in a lower facade
|
|
236
|
+
}
|
|
237
|
+
}); // schedule afterListeners
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
const result = changeOperationFn();
|
|
241
|
+
if (isRootCall) {
|
|
242
|
+
// call afterListeners:
|
|
243
|
+
for (const listener of changeCall.afterListeners) {
|
|
244
|
+
listener(changeCall.paramsForAfterListeners.get(listener)); // fire
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return result;
|
|
248
|
+
}
|
|
249
|
+
finally {
|
|
250
|
+
if (isRootCall) {
|
|
251
|
+
runChangeOperation_Calls.delete(synchronizeOn);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Use this to delete properties on objects that have a write tracker installed. Otherwise they are not deletable and the write tracker cannot track the object's keys modification and inform listeners
|
|
257
|
+
* @param obj
|
|
258
|
+
* @param key
|
|
259
|
+
*/
|
|
260
|
+
export function deleteProperty(obj, key) {
|
|
261
|
+
if (!changeTrackedOrigObjects.hasObj(obj)) {
|
|
262
|
+
return delete obj[key];
|
|
263
|
+
}
|
|
264
|
+
const doesExist = Object.getOwnPropertyDescriptor(obj, key) !== undefined;
|
|
265
|
+
if (!doesExist) {
|
|
266
|
+
return true;
|
|
267
|
+
}
|
|
268
|
+
return runChangeOperation(obj, new UnspecificObjectChange(obj), [getChangeHooksForObject(obj).changeOwnKeys], () => {
|
|
269
|
+
//@ts-ignore
|
|
270
|
+
obj[key] = undefined; // Set to undefined first, so property change listeners will get informed
|
|
271
|
+
return delete obj[key];
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
export const changeTrackedOrigObjects = new PartialGraph();
|
|
179
275
|
//# sourceMappingURL=proxyFacade.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxyFacade.js","sourceRoot":"","sources":["../../proxyFacade.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"proxyFacade.js","sourceRoot":"","sources":["../../proxyFacade.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FacadeProxyHandler, ProxyFacade } from "./proxyFacade";
|
|
2
|
-
import { AfterReadListener, ChangeListener, EventHook,
|
|
1
|
+
import { FacadeProxyHandler, IWatchedProxyHandler_common, ProxyFacade, RecordedReadOnProxiedObject } from "./proxyFacade";
|
|
2
|
+
import { AfterReadListener, ChangeListener, EventHook, ObjKey, RecordedRead } from "./common";
|
|
3
3
|
import { RecordedReadOnProxiedObjectExt } from "./RecordedReadOnProxiedObjectExt";
|
|
4
4
|
/**
|
|
5
5
|
* Access a single value (=variable or return value from a function)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchedProxyFacade.d.ts","sourceRoot":"","sources":["../../watchedProxyFacade.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"watchedProxyFacade.d.ts","sourceRoot":"","sources":["../../watchedProxyFacade.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FacadeProxyHandler, ProxyFacade } from "./proxyFacade";
|
|
1
|
+
import { FacadeProxyHandler, ProxyFacade, runChangeOperation } from "./proxyFacade";
|
|
2
2
|
import { throwError } from "./Util";
|
|
3
|
-
import { checkEsRuntimeBehaviour, getPropertyDescriptor, RecordedRead,
|
|
3
|
+
import { checkEsRuntimeBehaviour, getPropertyDescriptor, RecordedRead, UnspecificObjectChange, } from "./common";
|
|
4
4
|
import { getChangeHooksForObject, changeHooksForObject } from "./objectChangeTracking";
|
|
5
5
|
import _ from "underscore";
|
|
6
6
|
import { getTrackingConfigFor } from "./class-trackers/index";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchedProxyFacade.js","sourceRoot":"","sources":["../../watchedProxyFacade.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"watchedProxyFacade.js","sourceRoot":"","sources":["../../watchedProxyFacade.ts"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { RecordedRead,
|
|
2
|
-
export { ProxyFacade, FacadeProxyHandler, invalidateObject, getGlobalOrig } from "./proxyFacade";
|
|
3
|
-
export {
|
|
1
|
+
export { RecordedRead, ClassTrackingConfiguration, IteratorReturningProxiedValue, GetIteratorValueProxiedFn } from "./common";
|
|
2
|
+
export { deleteProperty, ProxyFacade, FacadeProxyHandler, invalidateObject, getGlobalOrig, changeTrackedOrigObjects, ForWatchedProxyHandler, dualUseTracker_callOrigMethodOnTarget, DualUseTracker, RecordedReadOnProxiedObject } from "./proxyFacade";
|
|
3
|
+
export { installChangeTracker } from "./origChangeTracking";
|
|
4
4
|
export { RecordedArrayValuesRead } from "./class-trackers/Array";
|
|
5
5
|
export { RecordedMap_has, RecordedMap_get, RecordedMapEntriesRead, RecordedMapKeysRead, RecordedMapValuesRead } from "./class-trackers/Map";
|
|
6
6
|
export { RecordedSet_has, RecordedSetValuesRead } from "./class-trackers/Set";
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,yBAAyB,EAAC,MAAM,UAAU,CAAA;AAC3H,OAAO,EAAC,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,qCAAqC,EAAC,cAAc,EAAC,2BAA2B,EAAC,MAAM,eAAe,CAAC;AACnP,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAC,uBAAuB,EAAC,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAC,eAAe,EAAE,eAAe,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,qBAAqB,EAAC,MAAM,sBAAsB,CAAA;AACzI,OAAO,EAAC,eAAe,EAAE,qBAAqB,EAAC,MAAM,sBAAsB,CAAA;AAC3E,OAAO,EAAC,iBAAiB,EAAE,sBAAsB,EAAE,oBAAoB,EAAC,mBAAmB,EAAE,kBAAkB,EAAG,mBAAmB,EAAC,MAAM,sBAAsB,CAAC"}
|
package/index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WatchedProxyHandler = exports.WatchedProxyFacade = exports.RecordedOwnKeysRead = exports.RecordedPropertyRead = exports.RecordedUnspecificRead = exports.RecordedValueRead = exports.RecordedSetValuesRead = exports.RecordedSet_has = exports.RecordedMapValuesRead = exports.RecordedMapKeysRead = exports.RecordedMapEntriesRead = exports.RecordedMap_get = exports.RecordedMap_has = exports.RecordedArrayValuesRead = exports.installChangeTracker = exports.
|
|
3
|
+
exports.WatchedProxyHandler = exports.WatchedProxyFacade = exports.RecordedOwnKeysRead = exports.RecordedPropertyRead = exports.RecordedUnspecificRead = exports.RecordedValueRead = exports.RecordedSetValuesRead = exports.RecordedSet_has = exports.RecordedMapValuesRead = exports.RecordedMapKeysRead = exports.RecordedMapEntriesRead = exports.RecordedMap_get = exports.RecordedMap_has = exports.RecordedArrayValuesRead = exports.installChangeTracker = exports.RecordedReadOnProxiedObject = exports.dualUseTracker_callOrigMethodOnTarget = exports.changeTrackedOrigObjects = exports.getGlobalOrig = exports.invalidateObject = exports.FacadeProxyHandler = exports.ProxyFacade = exports.deleteProperty = exports.ClassTrackingConfiguration = exports.RecordedRead = void 0;
|
|
4
4
|
var common_1 = require("./common");
|
|
5
5
|
Object.defineProperty(exports, "RecordedRead", { enumerable: true, get: function () { return common_1.RecordedRead; } });
|
|
6
|
-
Object.defineProperty(exports, "RecordedReadOnProxiedObject", { enumerable: true, get: function () { return common_1.RecordedReadOnProxiedObject; } });
|
|
7
6
|
Object.defineProperty(exports, "ClassTrackingConfiguration", { enumerable: true, get: function () { return common_1.ClassTrackingConfiguration; } });
|
|
8
|
-
Object.defineProperty(exports, "dualUseTracker_callOrigMethodOnTarget", { enumerable: true, get: function () { return common_1.dualUseTracker_callOrigMethodOnTarget; } });
|
|
9
7
|
var proxyFacade_1 = require("./proxyFacade");
|
|
8
|
+
Object.defineProperty(exports, "deleteProperty", { enumerable: true, get: function () { return proxyFacade_1.deleteProperty; } });
|
|
10
9
|
Object.defineProperty(exports, "ProxyFacade", { enumerable: true, get: function () { return proxyFacade_1.ProxyFacade; } });
|
|
11
10
|
Object.defineProperty(exports, "FacadeProxyHandler", { enumerable: true, get: function () { return proxyFacade_1.FacadeProxyHandler; } });
|
|
12
11
|
Object.defineProperty(exports, "invalidateObject", { enumerable: true, get: function () { return proxyFacade_1.invalidateObject; } });
|
|
13
12
|
Object.defineProperty(exports, "getGlobalOrig", { enumerable: true, get: function () { return proxyFacade_1.getGlobalOrig; } });
|
|
13
|
+
Object.defineProperty(exports, "changeTrackedOrigObjects", { enumerable: true, get: function () { return proxyFacade_1.changeTrackedOrigObjects; } });
|
|
14
|
+
Object.defineProperty(exports, "dualUseTracker_callOrigMethodOnTarget", { enumerable: true, get: function () { return proxyFacade_1.dualUseTracker_callOrigMethodOnTarget; } });
|
|
15
|
+
Object.defineProperty(exports, "RecordedReadOnProxiedObject", { enumerable: true, get: function () { return proxyFacade_1.RecordedReadOnProxiedObject; } });
|
|
14
16
|
var origChangeTracking_1 = require("./origChangeTracking");
|
|
15
|
-
Object.defineProperty(exports, "deleteProperty", { enumerable: true, get: function () { return origChangeTracking_1.deleteProperty; } });
|
|
16
|
-
Object.defineProperty(exports, "changeTrackedOrigObjects", { enumerable: true, get: function () { return origChangeTracking_1.changeTrackedOrigObjects; } });
|
|
17
17
|
Object.defineProperty(exports, "installChangeTracker", { enumerable: true, get: function () { return origChangeTracking_1.installChangeTracker; } });
|
|
18
18
|
var Array_1 = require("./class-trackers/Array");
|
|
19
19
|
Object.defineProperty(exports, "RecordedArrayValuesRead", { enumerable: true, get: function () { return Array_1.RecordedArrayValuesRead; } });
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,mCAA2H;AAAnH,sGAAA,YAAY,OAAA;AAAE,oHAAA,0BAA0B,OAAA;AAChD,6CAAmP;AAA3O,6GAAA,cAAc,OAAA;AAAE,0GAAA,WAAW,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AAAE,4GAAA,aAAa,OAAA;AAAE,uHAAA,wBAAwB,OAAA;AAA0B,oIAAA,qCAAqC,OAAA;AAAgB,0HAAA,2BAA2B,OAAA;AAC5N,2DAAyD;AAAjD,0HAAA,oBAAoB,OAAA;AAC5B,gDAA8D;AAAtD,gHAAA,uBAAuB,OAAA;AAC/B,4CAAyI;AAAjI,sGAAA,eAAe,OAAA;AAAE,sGAAA,eAAe,OAAA;AAAE,6GAAA,sBAAsB,OAAA;AAAE,0GAAA,mBAAmB,OAAA;AAAE,4GAAA,qBAAqB,OAAA;AAC5G,4CAA2E;AAAnE,sGAAA,eAAe,OAAA;AAAE,4GAAA,qBAAqB,OAAA;AAC9C,2DAAmK;AAA3J,uHAAA,iBAAiB,OAAA;AAAE,4HAAA,sBAAsB,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AAAC,yHAAA,mBAAmB,OAAA;AAAE,wHAAA,kBAAkB,OAAA;AAAG,yHAAA,mBAAmB,OAAA"}
|
package/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export {RecordedRead,
|
|
2
|
-
export {ProxyFacade, FacadeProxyHandler, invalidateObject, getGlobalOrig} from "./proxyFacade";
|
|
3
|
-
export {
|
|
1
|
+
export {RecordedRead, ClassTrackingConfiguration, IteratorReturningProxiedValue, GetIteratorValueProxiedFn} from "./common"
|
|
2
|
+
export {deleteProperty, ProxyFacade, FacadeProxyHandler, invalidateObject, getGlobalOrig, changeTrackedOrigObjects, ForWatchedProxyHandler, dualUseTracker_callOrigMethodOnTarget,DualUseTracker,RecordedReadOnProxiedObject} from "./proxyFacade";
|
|
3
|
+
export {installChangeTracker} from "./origChangeTracking"
|
|
4
4
|
export {RecordedArrayValuesRead} from "./class-trackers/Array"
|
|
5
5
|
export {RecordedMap_has, RecordedMap_get, RecordedMapEntriesRead, RecordedMapKeysRead, RecordedMapValuesRead} from "./class-trackers/Map"
|
|
6
6
|
export {RecordedSet_has, RecordedSetValuesRead} from "./class-trackers/Set"
|
package/index_esm.mjs
CHANGED
|
@@ -2,23 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
import cjsCommon from "./common.js"
|
|
4
4
|
export const RecordedRead = cjsCommon.RecordedRead;
|
|
5
|
-
export const RecordedReadOnProxiedObject = cjsCommon.RecordedReadOnProxiedObject;
|
|
6
5
|
export const ClassTrackingConfiguration = cjsCommon.ClassTrackingConfiguration;
|
|
7
|
-
export const dualUseTracker_callOrigMethodOnTarget = cjsCommon.dualUseTracker_callOrigMethodOnTarget;
|
|
8
6
|
export const IteratorReturningProxiedValue = cjsCommon.IteratorReturningProxiedValue;
|
|
9
7
|
export const GetIteratorValueProxiedFn = cjsCommon.GetIteratorValueProxiedFn;
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
|
|
9
|
+
|
|
12
10
|
|
|
13
11
|
import cjsProxyFacade from "./proxyFacade.js"
|
|
14
12
|
export const ProxyFacade = cjsProxyFacade.ProxyFacade;
|
|
15
13
|
export const FacadeProxyHandler = cjsProxyFacade.FacadeProxyHandler;
|
|
16
14
|
export const invalidateObject = cjsProxyFacade.invalidateObject;
|
|
17
15
|
export const getGlobalOrig = cjsProxyFacade.getGlobalOrig;
|
|
16
|
+
export const deleteProperty = cjsProxyFacade.deleteProperty;
|
|
17
|
+
export const changeTrackedOrigObjects = cjsProxyFacade.changeTrackedOrigObjects;
|
|
18
|
+
export const ForWatchedProxyHandler = cjsProxyFacade.ForWatchedProxyHandler
|
|
19
|
+
export const dualUseTracker_callOrigMethodOnTarget = cjsProxyFacade.dualUseTracker_callOrigMethodOnTarget;
|
|
20
|
+
export const DualUseTracker = cjsProxyFacade.DualUseTracker;
|
|
21
|
+
export const RecordedReadOnProxiedObject = cjsProxyFacade.RecordedReadOnProxiedObject;
|
|
18
22
|
|
|
19
23
|
import cjsOrigChangeTracking from "./origChangeTracking.js"
|
|
20
|
-
export const deleteProperty = cjsOrigChangeTracking.deleteProperty;
|
|
21
|
-
export const changeTrackedOrigObjects = cjsOrigChangeTracking.changeTrackedOrigObjects;
|
|
22
24
|
export const installChangeTracker = cjsOrigChangeTracking.installChangeTracker;
|
|
23
25
|
|
|
24
26
|
import cjsClassTrackers_Array from "./class-trackers/Array.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectChangeTracking.d.ts","sourceRoot":"","sources":["objectChangeTracking.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,0BAA0B,EAC1B,SAAS,EAGT,MAAM,
|
|
1
|
+
{"version":3,"file":"objectChangeTracking.d.ts","sourceRoot":"","sources":["objectChangeTracking.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,0BAA0B,EAC1B,SAAS,EAGT,MAAM,EAGT,MAAM,UAAU,CAAC;AAGlB;;;;GAIG;AACH,cAAM,iBAAiB;IACnB;;OAEG;IACH,YAAY,iDAA4D;IACxE,sBAAsB,iDAA4D;IAClF,iBAAiB,YAAmB;IAEpC;;OAEG;IACH,aAAa,YAAmB;IAChC;;OAEG;IACH,SAAS,YAAmB;IAE5B;;OAEG;IACH,gBAAgB,YAAmB;CACtC;AAID,eAAO,MAAM,oBAAoB,oCAA2C,CAAC;AAC7E,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,qBAMlD;AAED,qBAAa,kBAAmB,YAAW,YAAY,CAAC,MAAM,CAAC;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,0BAA0B,CAAA;gBAE/B,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,0BAA0B,GAAG,SAAS;IAmBlF,iBAAiB,CAAC,GAAG,EAAE,MAAM;IAkE7B,SAAS,CAAC,oBAAoB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAIvD,GAAG,CAAC,WAAW,EAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,GAAG,GAAG;IA2EvD,GAAG,CAAC,WAAW,EAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAC,GAAG,EAAE,QAAQ,EAAC,GAAG;IAkB5D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI7C,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO;CAIrG"}
|
package/objectChangeTracking.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.getChangeHooksForObject = getChangeHooksForObject;
|
|
|
7
7
|
*/
|
|
8
8
|
const Util_1 = require("./Util");
|
|
9
9
|
const common_1 = require("./common");
|
|
10
|
+
const proxyFacade_1 = require("./proxyFacade");
|
|
10
11
|
/**
|
|
11
12
|
* Contains change listeners for one specific object.
|
|
12
13
|
* Note for specificity: There will be only one of the **change** events fired. The Recorded...Read.onChange handler will add the listeners to all possible candidates. It's this way around.
|
|
@@ -76,7 +77,7 @@ class ObjectProxyHandler {
|
|
|
76
77
|
const newSetter = (newValue) => {
|
|
77
78
|
const changeHooksForTarget = getChangeHooksForObject(target);
|
|
78
79
|
if (origSetter !== undefined) {
|
|
79
|
-
(0,
|
|
80
|
+
(0, proxyFacade_1.runChangeOperation)(target, new common_1.UnspecificObjectChange(target), [changeHooksForTarget.setterInvoke.get(key)], () => {
|
|
80
81
|
origSetter.apply(target, [newValue]); // call the setter
|
|
81
82
|
});
|
|
82
83
|
return;
|
|
@@ -94,7 +95,7 @@ class ObjectProxyHandler {
|
|
|
94
95
|
}
|
|
95
96
|
hooksToServe.push(changeHooksForTarget.changeSpecificProperty.get(key));
|
|
96
97
|
hooksToServe.push(changeHooksForTarget.changeAnyProperty);
|
|
97
|
-
(0,
|
|
98
|
+
(0, proxyFacade_1.runChangeOperation)(target, new common_1.UnspecificObjectChange(target), hooksToServe, () => {
|
|
98
99
|
//@ts-ignore
|
|
99
100
|
currentValue = newValue;
|
|
100
101
|
});
|
|
@@ -116,7 +117,7 @@ class ObjectProxyHandler {
|
|
|
116
117
|
});
|
|
117
118
|
}
|
|
118
119
|
withUnspecificChange(changeFn) {
|
|
119
|
-
return (0,
|
|
120
|
+
return (0, proxyFacade_1.runChangeOperation)(this.target, new common_1.UnspecificObjectChange(this.target), [getChangeHooksForObject(this.target).unspecificChange], changeFn);
|
|
120
121
|
}
|
|
121
122
|
get(fake_target, key, receiver) {
|
|
122
123
|
var _a, _b, _c;
|
|
@@ -173,7 +174,7 @@ class ObjectProxyHandler {
|
|
|
173
174
|
if (this !== receiver) {
|
|
174
175
|
//throw new Error("Invalid state. Method was called on invalid target")
|
|
175
176
|
}
|
|
176
|
-
return (0,
|
|
177
|
+
return (0, proxyFacade_1.runChangeOperation)(target, new common_1.UnspecificObjectChange(target), [getChangeHooksForObject(target).unspecificChange], () => {
|
|
177
178
|
return origMethod.apply(this, args); // call original method
|
|
178
179
|
});
|
|
179
180
|
}
|
|
@@ -185,7 +186,7 @@ class ObjectProxyHandler {
|
|
|
185
186
|
if (this !== receiver) {
|
|
186
187
|
//throw new Error("Invalid state. Method was called on invalid target")
|
|
187
188
|
}
|
|
188
|
-
return (0,
|
|
189
|
+
return (0, proxyFacade_1.runChangeOperation)(target, undefined, [], () => {
|
|
189
190
|
return origMethod.apply(this, args); // call original method
|
|
190
191
|
});
|
|
191
192
|
}
|
|
@@ -195,7 +196,7 @@ class ObjectProxyHandler {
|
|
|
195
196
|
if (receiver !== this.target) {
|
|
196
197
|
throw new Error("Invalid state. Set was called on a different object than this write-tracker-proxy (which is set as the prototype) is for. Did you clone the object, resulting in shared prototypes?");
|
|
197
198
|
}
|
|
198
|
-
(0,
|
|
199
|
+
(0, proxyFacade_1.runChangeOperation)(this.target, new common_1.UnspecificObjectChange(this.target), [getChangeHooksForObject(this.target).changeOwnKeys], () => {
|
|
199
200
|
// if this "set" method got called, there is no setter trap installed yet
|
|
200
201
|
this.installSetterTrap(key);
|
|
201
202
|
//@ts-ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectChangeTracking.js","sourceRoot":"","sources":["objectChangeTracking.ts"],"names":[],"mappings":";;;AA8CA,0DAMC;AApDD;;GAEG;AACH,iCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"objectChangeTracking.js","sourceRoot":"","sources":["objectChangeTracking.ts"],"names":[],"mappings":"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"}
|
package/objectChangeTracking.ts
CHANGED
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
getPropertyDescriptor,
|
|
9
9
|
GetterFlags,
|
|
10
10
|
ObjKey,
|
|
11
|
-
runChangeOperation,
|
|
12
11
|
SetterFlags,
|
|
13
12
|
UnspecificObjectChange,
|
|
14
13
|
} from "./common";
|
|
14
|
+
import {runChangeOperation} from "./proxyFacade";
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Contains change listeners for one specific object.
|
package/origChangeTracking.d.ts
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
import { PartialGraph } from "./common";
|
|
2
|
-
export declare const changeTrackedOrigObjects: PartialGraph;
|
|
3
1
|
/**
|
|
4
2
|
*
|
|
5
3
|
* @param obj
|
|
6
4
|
*/
|
|
7
5
|
export declare function installChangeTracker(obj: object): void;
|
|
8
|
-
/**
|
|
9
|
-
* Use this to delete properties on objects that have a write tracker installed. Otherwise they are not deletable and the write tracker cannot track the object's keys modification and inform listeners
|
|
10
|
-
* @param obj
|
|
11
|
-
* @param key
|
|
12
|
-
*/
|
|
13
|
-
export declare function deleteProperty<O extends object>(obj: O, key: keyof O): boolean;
|
|
14
6
|
//# sourceMappingURL=origChangeTracking.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"origChangeTracking.d.ts","sourceRoot":"","sources":["origChangeTracking.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"origChangeTracking.d.ts","sourceRoot":"","sources":["origChangeTracking.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,QA2B/C"}
|
package/origChangeTracking.js
CHANGED
|
@@ -2,22 +2,18 @@
|
|
|
2
2
|
// This file has functions / classes that allow to watch writes to the original unproxied objects (or arrays/sets/maps)
|
|
3
3
|
// unproxied=not part of a proxy facade. Technically this can install Proxys as the prototype, to catch writes.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.changeTrackedOrigObjects = void 0;
|
|
6
5
|
exports.installChangeTracker = installChangeTracker;
|
|
7
|
-
exports.deleteProperty = deleteProperty;
|
|
8
|
-
const common_1 = require("./common");
|
|
9
6
|
const objectChangeTracking_1 = require("./objectChangeTracking");
|
|
10
7
|
const index_1 = require("./class-trackers/index");
|
|
11
8
|
const proxyFacade_1 = require("./proxyFacade");
|
|
12
9
|
const Util_1 = require("./Util");
|
|
13
|
-
exports.changeTrackedOrigObjects = new common_1.PartialGraph();
|
|
14
10
|
/**
|
|
15
11
|
*
|
|
16
12
|
* @param obj
|
|
17
13
|
*/
|
|
18
14
|
function installChangeTracker(obj) {
|
|
19
15
|
!(0, proxyFacade_1.isProxyForAFacade)(obj) || (0, Util_1.throwError)("Cannot install change tracker on a proxy. The proxy should already support change tracking.");
|
|
20
|
-
if (
|
|
16
|
+
if (proxyFacade_1.changeTrackedOrigObjects.hasObj(obj)) {
|
|
21
17
|
return;
|
|
22
18
|
}
|
|
23
19
|
function inner() {
|
|
@@ -39,25 +35,6 @@ function installChangeTracker(obj) {
|
|
|
39
35
|
}
|
|
40
36
|
}
|
|
41
37
|
inner();
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Use this to delete properties on objects that have a write tracker installed. Otherwise they are not deletable and the write tracker cannot track the object's keys modification and inform listeners
|
|
46
|
-
* @param obj
|
|
47
|
-
* @param key
|
|
48
|
-
*/
|
|
49
|
-
function deleteProperty(obj, key) {
|
|
50
|
-
if (!exports.changeTrackedOrigObjects.hasObj(obj)) {
|
|
51
|
-
return delete obj[key];
|
|
52
|
-
}
|
|
53
|
-
const doesExist = Object.getOwnPropertyDescriptor(obj, key) !== undefined;
|
|
54
|
-
if (!doesExist) {
|
|
55
|
-
return true;
|
|
56
|
-
}
|
|
57
|
-
return (0, common_1.runChangeOperation)(obj, new common_1.UnspecificObjectChange(obj), [(0, objectChangeTracking_1.getChangeHooksForObject)(obj).changeOwnKeys], () => {
|
|
58
|
-
//@ts-ignore
|
|
59
|
-
obj[key] = undefined; // Set to undefined first, so property change listeners will get informed
|
|
60
|
-
return delete obj[key];
|
|
61
|
-
});
|
|
38
|
+
proxyFacade_1.changeTrackedOrigObjects._register(obj);
|
|
62
39
|
}
|
|
63
40
|
//# sourceMappingURL=origChangeTracking.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"origChangeTracking.js","sourceRoot":"","sources":["origChangeTracking.ts"],"names":[],"mappings":";AAAA,uHAAuH;AACvH,+GAA+G
|
|
1
|
+
{"version":3,"file":"origChangeTracking.js","sourceRoot":"","sources":["origChangeTracking.ts"],"names":[],"mappings":";AAAA,uHAAuH;AACvH,+GAA+G;;AAa/G,oDA2BC;AArCD,iEAA0D;AAC1D,kDAA4D;AAC5D,+CAA0E;AAC1E,iCAAkC;AAGlC;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,GAAW;IAC5C,CAAC,IAAA,+BAAiB,EAAC,GAAG,CAAC,IAAI,IAAA,iBAAU,EAAC,6FAA6F,CAAC,CAAC;IACrI,IAAG,sCAAwB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO;IACX,CAAC;IAED,SAAS,KAAK;QACV,MAAM,cAAc,GAAG,IAAA,4BAAoB,EAAC,GAAG,CAAC,CAAC;QACjD,IAAI,cAAc,EAAE,CAAC;YACjB,IAAI,cAAc,CAAC,4BAA4B,EAAE,CAAC;gBAC9C,8GAA8G;gBAC9G,MAAM,KAAK,GAAG,IAAI,yCAAkB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC;gBAChE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAClC,OAAO;YACX,CAAC;YAED,IAAI,cAAc,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC7C,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACvE,CAAC;QACL,CAAC;aAAM,CAAC,CAAC,uBAAuB;YAC5B,MAAM,KAAK,GAAG,IAAI,yCAAkB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC;YAChE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IACD,KAAK,EAAE,CAAC;IAER,sCAAwB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC"}
|
package/origChangeTracking.ts
CHANGED
|
@@ -2,19 +2,11 @@
|
|
|
2
2
|
// unproxied=not part of a proxy facade. Technically this can install Proxys as the prototype, to catch writes.
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
ObjectProxyHandler,
|
|
8
|
-
changeHooksForObject,
|
|
9
|
-
getChangeHooksForObject
|
|
10
|
-
} from "./objectChangeTracking";
|
|
5
|
+
import {ObjectProxyHandler} from "./objectChangeTracking";
|
|
11
6
|
import {getTrackingConfigFor} from "./class-trackers/index";
|
|
12
|
-
import {isProxyForAFacade} from "./proxyFacade";
|
|
7
|
+
import {changeTrackedOrigObjects, isProxyForAFacade} from "./proxyFacade";
|
|
13
8
|
import {throwError} from "./Util";
|
|
14
9
|
|
|
15
|
-
export const changeTrackedOrigObjects = new PartialGraph();
|
|
16
|
-
|
|
17
|
-
|
|
18
10
|
|
|
19
11
|
/**
|
|
20
12
|
*
|
|
@@ -49,24 +41,4 @@ export function installChangeTracker(obj: object) {
|
|
|
49
41
|
changeTrackedOrigObjects._register(obj);
|
|
50
42
|
}
|
|
51
43
|
|
|
52
|
-
/**
|
|
53
|
-
* Use this to delete properties on objects that have a write tracker installed. Otherwise they are not deletable and the write tracker cannot track the object's keys modification and inform listeners
|
|
54
|
-
* @param obj
|
|
55
|
-
* @param key
|
|
56
|
-
*/
|
|
57
|
-
export function deleteProperty<O extends object>(obj: O, key: keyof O) {
|
|
58
|
-
if(!changeTrackedOrigObjects.hasObj(obj)) {
|
|
59
|
-
return delete obj[key];
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const doesExist = Object.getOwnPropertyDescriptor(obj, key) !== undefined;
|
|
63
|
-
if (!doesExist) {
|
|
64
|
-
return true;
|
|
65
|
-
}
|
|
66
44
|
|
|
67
|
-
return runChangeOperation(obj, new UnspecificObjectChange(obj), [getChangeHooksForObject(obj).changeOwnKeys], () => {
|
|
68
|
-
//@ts-ignore
|
|
69
|
-
obj[key] = undefined; // Set to undefined first, so property change listeners will get informed
|
|
70
|
-
return delete obj[key];
|
|
71
|
-
});
|
|
72
|
-
}
|