informa 2.3.0 → 3.1.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/README.md +6 -3
- package/dist/high.d.ts +1 -1
- package/dist/high.js +2 -2
- package/dist/high.js.map +1 -1
- package/dist/internals.d.ts +4 -4
- package/dist/internals.d.ts.map +1 -1
- package/dist/internals.js +23 -7
- package/dist/internals.js.map +1 -1
- package/dist/low.d.ts.map +1 -1
- package/dist/low.js +3 -3
- package/dist/low.js.map +1 -1
- package/dist/quirks/array.d.ts +1 -1
- package/dist/quirks/array.d.ts.map +1 -1
- package/dist/quirks/basestatified.d.ts +2 -2
- package/dist/quirks/basestatified.d.ts.map +1 -1
- package/dist/quirks/basestatified.js +19 -41
- package/dist/quirks/basestatified.js.map +1 -1
- package/dist/quirks/map.d.ts.map +1 -1
- package/dist/quirks/map.js +1 -1
- package/dist/quirks/map.js.map +1 -1
- package/dist/quirks/set.d.ts.map +1 -1
- package/dist/quirks/set.js +1 -1
- package/dist/quirks/set.js.map +1 -1
- package/dist/test.js +3 -2
- package/dist/test.js.map +1 -1
- package/package.json +1 -1
- package/src/high.ts +2 -2
- package/src/internals.ts +23 -6
- package/src/low.ts +4 -4
- package/src/quirks/basestatified.ts +20 -51
- package/src/quirks/map.ts +2 -2
- package/src/quirks/set.ts +2 -2
- package/src/test.ts +3 -2
package/README.md
CHANGED
|
@@ -9,6 +9,8 @@ It lets you:
|
|
|
9
9
|
- observe structural collection events like array insertion and set addition
|
|
10
10
|
- keep nested subscriptions working when parents are replaced
|
|
11
11
|
|
|
12
|
+
As of v3.1.0, it is interoperable with other instances of the same version of itself.
|
|
13
|
+
|
|
12
14
|
## Philosophy
|
|
13
15
|
|
|
14
16
|
Informa is path-based.
|
|
@@ -203,9 +205,11 @@ Class instances can participate in the same selector model.
|
|
|
203
205
|
|
|
204
206
|
Informa uses a prototype blanket layer so selectors like `() => w.state` can still be extracted even when the property lives on a class prototype.
|
|
205
207
|
|
|
206
|
-
|
|
208
|
+
That same blanket sits as every instance's own `[[Prototype]]`, so it also intercepts every property write - including writes that end up going through a getter/setter pair you define on your own subclass.
|
|
207
209
|
|
|
208
|
-
|
|
210
|
+
Takeaway:
|
|
211
|
+
- The result of `Reflect.getPrototypeOf` will not be the one of your class.
|
|
212
|
+
- You don't need to (and shouldn't) forward anything to `super` (as opposed to what last version might have suggested); just define plain getters/setters as you normally would.
|
|
209
213
|
|
|
210
214
|
### Example
|
|
211
215
|
|
|
@@ -216,7 +220,6 @@ class Wayland extends $.BaseStatified {
|
|
|
216
220
|
get state() { return this.#state; }
|
|
217
221
|
set state(v: number) {
|
|
218
222
|
this.#state = v;
|
|
219
|
-
super.state = v;
|
|
220
223
|
}
|
|
221
224
|
}
|
|
222
225
|
|
package/dist/high.d.ts
CHANGED
|
@@ -115,7 +115,7 @@ declare const _default: {
|
|
|
115
115
|
offDeleteEntry: typeof offDeleteEntry;
|
|
116
116
|
offSizeChanged: typeof offSizeChanged;
|
|
117
117
|
state: typeof state;
|
|
118
|
-
BaseStatified: ObjectConstructor
|
|
118
|
+
BaseStatified: ObjectConstructor;
|
|
119
119
|
makeStatified: typeof makeStatified;
|
|
120
120
|
StatifiedArray: typeof StatifiedArray;
|
|
121
121
|
StatifiedSet: typeof StatifiedSet;
|
package/dist/high.js
CHANGED
|
@@ -26,7 +26,7 @@ function stateInner(original) {
|
|
|
26
26
|
return new map_js_1.StatifiedMap(map[Symbol.iterator]().map(([k, v]) => [k, stateInner(v)]));
|
|
27
27
|
case Array.prototype:
|
|
28
28
|
const array = original;
|
|
29
|
-
return
|
|
29
|
+
return array_js_1.StatifiedArray.from(array.map(stateInner));
|
|
30
30
|
case array_js_1.StatifiedArray.prototype:
|
|
31
31
|
case set_js_1.StatifiedSet.prototype:
|
|
32
32
|
case map_js_1.StatifiedMap.prototype:
|
|
@@ -40,7 +40,7 @@ function stateInner(original) {
|
|
|
40
40
|
return result;
|
|
41
41
|
}
|
|
42
42
|
if (Array.isArray(original)) {
|
|
43
|
-
return new array_js_1.StatifiedArray(
|
|
43
|
+
return new array_js_1.StatifiedArray(original.map(stateInner));
|
|
44
44
|
}
|
|
45
45
|
throw new Error(`Cannot clone object with prototype`);
|
|
46
46
|
})();
|
package/dist/high.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"high.js","sourceRoot":"","sources":["../src/high.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAyF;AACzF,qCAAiI;AACjI,gDAAmD;AACnD,gEAAyE;AACzE,4CAA+C;AAC/C,4CAA+C;AAE/C,oBAAsD,QAAW;IAC/D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO,QAAwB,CAAC;IAClC,CAAC;IAED,IAAI,4BAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,4BAAa,CAAC,GAAG,CAAC,QAAQ,CAAiB,CAAC;IAEpF,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,QAAQ,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,KAAK,GAAG,CAAC,SAAS;gBAChB,MAAM,GAAG,GAAG,QAA+B,CAAC;gBAC5C,OAAO,IAAI,qBAAY,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAElE,KAAK,GAAG,CAAC,SAAS;gBAChB,MAAM,GAAG,GAAG,QAAoC,CAAC;gBACjD,OAAO,IAAI,qBAAY,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtF,KAAK,KAAK,CAAC,SAAS;gBAClB,MAAM,KAAK,GAAG,QAA4B,CAAC;gBAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"high.js","sourceRoot":"","sources":["../src/high.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAyF;AACzF,qCAAiI;AACjI,gDAAmD;AACnD,gEAAyE;AACzE,4CAA+C;AAC/C,4CAA+C;AAE/C,oBAAsD,QAAW;IAC/D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO,QAAwB,CAAC;IAClC,CAAC;IAED,IAAI,4BAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,4BAAa,CAAC,GAAG,CAAC,QAAQ,CAAiB,CAAC;IAEpF,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,QAAQ,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,KAAK,GAAG,CAAC,SAAS;gBAChB,MAAM,GAAG,GAAG,QAA+B,CAAC;gBAC5C,OAAO,IAAI,qBAAY,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAElE,KAAK,GAAG,CAAC,SAAS;gBAChB,MAAM,GAAG,GAAG,QAAoC,CAAC;gBACjD,OAAO,IAAI,qBAAY,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtF,KAAK,KAAK,CAAC,SAAS;gBAClB,MAAM,KAAK,GAAG,QAA4B,CAAC;gBAC3C,OAAO,yBAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAEpD,KAAK,yBAAc,CAAC,SAAS,CAAC;YAC9B,KAAK,qBAAY,CAAC,SAAS,CAAC;YAC5B,KAAK,qBAAY,CAAC,SAAS;gBACzB,OAAO,QAE+B,CAAC;YAEzC,KAAK,MAAM,CAAC,SAAS;gBACnB,MAAM,MAAM,GAAG,QAAmD,CAAC;gBACnE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;qBACnC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;gBAE1D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAW,EAAC,CAAC,CAAC,IAAI,IAAA,aAAI,EAAC,IAAA,4BAAa,EAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAA,4BAAa,EAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAE/F,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,yBAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC,CAAC,EAAE,CAAC;IAEL,4BAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEtC,OAAO,QAAwB,CAAC;AAClC,CAAC;AAED,eAAgD,QAAW;IACzD,OAAO,UAAU,CAAI,QAAQ,CAAC,CAAC;AACjC,CAAC;AAiDD,YACE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAkC;IAElE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAA,8BAAqB,EAAC,QAAyC,CAAC,CAAC;IAE7F,MAAM,QAAQ,GAAG,IAAA,4BAAa,EAAC,SAAS,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAEvD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,GAAG,EAAE;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,aACE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAkC;IAElE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAA,8BAAqB,EAAC,QAAyC,CAAC,CAAC;IAE7F,MAAM,QAAQ,GAAG,IAAA,4BAAa,EAAC,SAAS,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAEvD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAI,CAAU,EAAE,CAAiB,EAAE,CAAW;IAC1D,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC;AACD,SAAS,SAAS,CAAI,CAAU,EAAE,CAAiB,EAAE,CAAW;IAC9D,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAClC,CAAC;AACD,SAAS,aAAa,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IAC1J,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AACD,SAAS,SAAS,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IACtJ,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAClC,CAAC;AACD,SAAS,YAAY,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IACzJ,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACrC,CAAC;AACD,SAAS,SAAS,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IACtJ,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAClC,CAAC;AACD,SAAS,eAAe,CAAC,CAAkC,EAAE,CAAa,EAAE,CAAW;IACrF,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AACD,SAAS,iBAAiB,CAA2B,CAAqB,EAAE,CAA4B,EAAE,CAAW;IACnH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AACD,SAAS,kBAAkB,CAA2B,CAAqB,EAAE,CAA4B,EAAE,CAAW;IACpH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AACD,SAAS,gBAAgB,CAA2B,CAAqB,EAAE,CAA4B,EAAE,CAAW;IAClH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AACD,SAAS,aAAa,CAAC,CAAqC,EAAE,CAAa,EAAE,CAAW;IACtF,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AACD,SAAS,SAAS,CAA2B,CAAwB,EAAE,CAAiB,EAAE,CAAW;IACnG,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAClC,CAAC;AACD,SAAS,YAAY,CAA2B,CAAwB,EAAE,CAAiB,EAAE,CAAW;IACtG,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACrC,CAAC;AACD,SAAS,UAAU,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IAChH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,UAAU,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IAChH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,cAAc,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IACpH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AACD,SAAS,aAAa,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IACnH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AACD,SAAS,aAAa,CAAC,CAA0C,EAAE,CAAa,EAAE,CAAW;IAC3F,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,MAAM,CAAI,CAAU,EAAE,CAAiB,EAAE,CAAW;IAC3D,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC;AACD,SAAS,UAAU,CAAI,CAAU,EAAE,CAAiB,EAAE,CAAW;IAC/D,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,UAAU,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IACvJ,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,cAAc,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IAC3J,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AACD,SAAS,aAAa,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IAC1J,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AACD,SAAS,UAAU,CAA8D,CAAmB,EAAE,CAAsC,EAAE,CAAW;IACvJ,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,gBAAgB,CAAC,CAAkC,EAAE,CAAa,EAAE,CAAW;IACtF,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AACD,SAAS,kBAAkB,CAA2B,CAAqB,EAAE,CAA4B,EAAE,CAAW;IACpH,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AACD,SAAS,mBAAmB,CAA2B,CAAqB,EAAE,CAA4B,EAAE,CAAW;IACrH,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AACD,SAAS,iBAAiB,CAA2B,CAAqB,EAAE,CAA4B,EAAE,CAAW;IACnH,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC;AACD,SAAS,cAAc,CAAC,CAAqC,EAAE,CAAa,EAAE,CAAW;IACvF,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AACD,SAAS,UAAU,CAA2B,CAAwB,EAAE,CAAiB,EAAE,CAAW;IACpG,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,aAAa,CAA2B,CAAwB,EAAE,CAAiB,EAAE,CAAW;IACvG,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AACD,SAAS,WAAW,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IACjH,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AACD,SAAS,WAAW,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IACjH,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AACD,SAAS,eAAe,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IACrH,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AACD,SAAS,cAAc,CAA8B,CAA2B,EAAE,CAAuB,EAAE,CAAW;IACpH,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AACD,SAAS,cAAc,CAAC,CAA0C,EAAE,CAAa,EAAE,CAAW;IAC5F,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;kBAEc;IACb,EAAE;IACF,GAAG;IACH,KAAK;IACL,SAAS;IACT,SAAS;IACT,aAAa;IACb,YAAY;IACZ,SAAS;IACT,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,aAAa;IACb,SAAS;IACT,YAAY;IACZ,UAAU;IACV,UAAU;IACV,cAAc;IACd,aAAa;IACb,aAAa;IACb,MAAM;IACN,UAAU;IACV,UAAU;IACV,cAAc;IACd,aAAa;IACb,UAAU;IACV,gBAAgB;IAChB,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,cAAc;IACd,UAAU;IACV,aAAa;IACb,WAAW;IACX,WAAW;IACX,eAAe;IACf,cAAc;IACd,cAAc;IACd,KAAK;IAEL,aAAa,EAAb,gCAAa;IACb,aAAa,EAAb,gCAAa;IACb,cAAc,EAAd,yBAAc;IACd,YAAY,EAAZ,qBAAY;IACZ,YAAY,EAAZ,qBAAY;CACb"}
|
package/dist/internals.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { StateMetadata, Exitable, StatifiableObj } from "./low.js";
|
|
2
2
|
export declare const exitProxySymbol: unique symbol;
|
|
3
|
-
export declare let globalStateMode: "normal" | "extract-proxy-path";
|
|
4
3
|
export declare function setGlobalStateMode(mode: "normal" | "extract-proxy-path"): void;
|
|
5
|
-
export declare
|
|
6
|
-
export declare
|
|
4
|
+
export declare function getGlobalStateMode(): any;
|
|
5
|
+
export declare const metadataMap: any;
|
|
6
|
+
export declare function getMetadataOf(v: Statify<StatifiableObj>): any;
|
|
7
7
|
export declare function setMetadataOf(v: Statify<StatifiableObj>, s: StateMetadata): StateMetadata;
|
|
8
|
-
export declare const proxyMemoized:
|
|
8
|
+
export declare const proxyMemoized: any;
|
|
9
9
|
export declare const statifySealKey: unique symbol;
|
|
10
10
|
export declare function isStatified<T extends StatifiableObj>(v: T): v is Statify<T>;
|
|
11
11
|
export type Statify<T extends StatifiableObj> = T & {
|
package/dist/internals.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internals.d.ts","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"internals.d.ts","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGxE,eAAO,MAAM,eAAe,eAAmE,CAAC;AAKhG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,oBAAoB,QAQvE;AACD,wBAAgB,kBAAkB,QAEjC;AAGD,eAAO,MAAM,WAAW,KAAsG,CAAC;AAI/H,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,OAMvD;AACD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,aAAa,iBAIzE;AAGD,eAAO,MAAM,aAAa,KAAiG,CAAC;AAI5H,eAAO,MAAM,cAAc,eAAkE,CAAC;AAC9F,wBAAgB,WAAW,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAE3E;AACD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,cAAc,IAAI,CAAC,GAAG;IAAE,CAAC,cAAc,CAAC,EAAE,IAAI,CAAA;CAAE,GAAG,QAAQ,CAAC"}
|
package/dist/internals.js
CHANGED
|
@@ -1,18 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.statifySealKey = exports.proxyMemoized = exports.metadataMap = exports.
|
|
3
|
+
exports.statifySealKey = exports.proxyMemoized = exports.metadataMap = exports.exitProxySymbol = void 0;
|
|
4
4
|
exports.setGlobalStateMode = setGlobalStateMode;
|
|
5
|
+
exports.getGlobalStateMode = getGlobalStateMode;
|
|
5
6
|
exports.getMetadataOf = getMetadataOf;
|
|
6
7
|
exports.setMetadataOf = setMetadataOf;
|
|
7
8
|
exports.isStatified = isStatified;
|
|
8
|
-
|
|
9
|
+
const package_json_1 = require("../package.json");
|
|
10
|
+
exports.exitProxySymbol = Symbol.for(`hi-this-is-informa-${package_json_1.version}-s--exit-proxy-symbol`);
|
|
9
11
|
// The mode is used by the functions exposed by informa,
|
|
10
12
|
// no concurrency issues arise because of the unique call stack.
|
|
11
|
-
|
|
13
|
+
const globalStateModeSymbol = Symbol.for("hi-this-is-informa-s--global-state-mode");
|
|
12
14
|
function setGlobalStateMode(mode) {
|
|
13
|
-
|
|
15
|
+
if (getGlobalStateMode() === mode)
|
|
16
|
+
return;
|
|
17
|
+
if (mode === "normal") {
|
|
18
|
+
Reflect.deleteProperty(globalThis, globalStateModeSymbol);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
Reflect.defineProperty(globalThis, globalStateModeSymbol, { value: mode, configurable: true });
|
|
22
|
+
}
|
|
14
23
|
}
|
|
15
|
-
|
|
24
|
+
function getGlobalStateMode() {
|
|
25
|
+
return Reflect.get(globalThis, globalStateModeSymbol) ?? "normal";
|
|
26
|
+
}
|
|
27
|
+
const metadataMapSymbol = Symbol.for(`hi-this-is-informa-${package_json_1.version}-s--metadata-map`);
|
|
28
|
+
exports.metadataMap = Reflect.get(globalThis, metadataMapSymbol) ?? new WeakMap();
|
|
29
|
+
Reflect.defineProperty(globalThis, metadataMapSymbol, { value: exports.metadataMap });
|
|
16
30
|
function getMetadataOf(v) {
|
|
17
31
|
const result = exports.metadataMap.get(v);
|
|
18
32
|
if (!result)
|
|
@@ -23,8 +37,10 @@ function setMetadataOf(v, s) {
|
|
|
23
37
|
exports.metadataMap.set(v, s);
|
|
24
38
|
return s;
|
|
25
39
|
}
|
|
26
|
-
|
|
27
|
-
exports.
|
|
40
|
+
const proxyMemoizedSymbol = Symbol.for(`hi-this-is-informa-${package_json_1.version}-s--proxy-memoized`);
|
|
41
|
+
exports.proxyMemoized = Reflect.get(globalThis, proxyMemoizedSymbol) ?? new WeakMap();
|
|
42
|
+
Reflect.defineProperty(globalThis, proxyMemoizedSymbol, { value: exports.proxyMemoized });
|
|
43
|
+
exports.statifySealKey = Symbol.for(`hi-this-is-informa-${package_json_1.version}-s--statify-seal-key`);
|
|
28
44
|
function isStatified(v) {
|
|
29
45
|
return v[exports.statifySealKey];
|
|
30
46
|
}
|
package/dist/internals.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internals.js","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"internals.js","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":";;;;;;;;AACA,kDAA0C;AAE7B,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,sBAAO,uBAAuB,CAAC,CAAC;AAEhG,wDAAwD;AACxD,gEAAgE;AAChE,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AACpF,4BAAmC,IAAqC;IACtE,IAAI,kBAAkB,EAAE,KAAK,IAAI;QAAE,OAAO;IAE1C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,qBAAqB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IACjG,CAAC;AACH,CAAC;AACD;IACE,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,qBAAqB,CAAC,IAAI,QAAQ,CAAC;AACpE,CAAC;AAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,sBAAO,kBAAkB,CAAC,CAAC;AACzE,QAAA,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,IAAI,IAAI,OAAO,EAA0C,CAAC;AAE/H,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,QAAA,WAAW,EAAE,CAAC,CAAC;AAE9E,uBAA8B,CAA0B;IACtD,MAAM,MAAM,GAAG,QAAA,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAElC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IAE/G,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,uBAA8B,CAA0B,EAAE,CAAgB;IACxE,QAAA,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,sBAAO,oBAAoB,CAAC,CAAC;AAC7E,QAAA,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,mBAAmB,CAAC,IAAI,IAAI,OAAO,EAAmC,CAAC;AAE5H,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,QAAA,aAAa,EAAE,CAAC,CAAC;AAErE,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,sBAAO,sBAAsB,CAAC,CAAC;AAC9F,qBAAsD,CAAI;IACxD,OAAQ,CAAgB,CAAC,QAAA,cAAc,CAAC,CAAC;AAC3C,CAAC"}
|
package/dist/low.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"low.d.ts","sourceRoot":"","sources":["../src/low.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"low.d.ts","sourceRoot":"","sources":["../src/low.ts"],"names":[],"mappings":"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"}
|
package/dist/low.js
CHANGED
|
@@ -101,7 +101,7 @@ function statifyObject(target) {
|
|
|
101
101
|
if (prop === internals_js_1.statifySealKey)
|
|
102
102
|
return true;
|
|
103
103
|
const result = Reflect.get(target, prop, recv);
|
|
104
|
-
if (internals_js_1.
|
|
104
|
+
if ((0, internals_js_1.getGlobalStateMode)() === "extract-proxy-path") {
|
|
105
105
|
if (prop === internals_js_1.exitProxySymbol) {
|
|
106
106
|
return { path: [], stateRoot: proxyObj };
|
|
107
107
|
}
|
|
@@ -175,7 +175,7 @@ function statifyObject(target) {
|
|
|
175
175
|
}
|
|
176
176
|
},
|
|
177
177
|
has(target, prop) {
|
|
178
|
-
if (internals_js_1.
|
|
178
|
+
if ((0, internals_js_1.getGlobalStateMode)() === "extract-proxy-path") {
|
|
179
179
|
if (prop === internals_js_1.exitProxySymbol) {
|
|
180
180
|
return true;
|
|
181
181
|
}
|
|
@@ -201,7 +201,7 @@ function extract(targetMaybePrimitive, stateRoot, path) {
|
|
|
201
201
|
return extract(Reflect.get(target, prop, recv), stateRoot, [...path, prop]);
|
|
202
202
|
},
|
|
203
203
|
has(target, prop) {
|
|
204
|
-
if (internals_js_1.
|
|
204
|
+
if ((0, internals_js_1.getGlobalStateMode)() === "extract-proxy-path") {
|
|
205
205
|
if (prop === internals_js_1.exitProxySymbol)
|
|
206
206
|
return true;
|
|
207
207
|
}
|
package/dist/low.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"low.js","sourceRoot":"","sources":["../src/low.ts"],"names":[],"mappings":";;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"low.js","sourceRoot":"","sources":["../src/low.ts"],"names":[],"mappings":"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"}
|
package/dist/quirks/array.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { exitProxySymbol, statifySealKey, type Statify } from "../internals.js";
|
|
2
2
|
import { type ExitProxyValue, type StatifiableProp } from "../low.js";
|
|
3
|
-
declare const StatifiableOrgArray: ArrayConstructor
|
|
3
|
+
declare const StatifiableOrgArray: ArrayConstructor;
|
|
4
4
|
export declare class StatifiedArray<T extends StatifiableProp> extends StatifiableOrgArray<T> implements Array<T>, Statify<T[]> {
|
|
5
5
|
#private;
|
|
6
6
|
[statifySealKey]: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/quirks/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAgC,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAGrF,QAAA,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/quirks/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAgC,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAGrF,QAAA,MAAM,mBAAmB,kBAAuB,CAAC;AAEjD,qBAAa,cAAc,CAAC,CAAC,SAAS,eAAe,CACnD,SAAQ,mBAAmB,CAAC,CAAC,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;;IAEhE,CAAC,cAAc,CAAC,EAAE,IAAI,CAAQ;IACtB,CAAC,eAAe,CAAC,EAAE,cAAc,CAAC;IAI1C,YAAY,WAAW,EAAE,MAAM,EAAE;IACjC,YAAY,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;IAa3B,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,CAY1B;IACD,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,CAY7B;IAED,GAAG,IAAI,CAAC,GAAG,SAAS,CAUnB;IACD,KAAK,IAAI,CAAC,GAAG,SAAS,CASrB;IAyBD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAwB9D;IAiCD,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAcjD;IACD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAY5D;IAED,OAAO,IAAI,CAAC,EAAE,CAcb;IACD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,CAQ3D;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
type ClassType<T extends any[] = any[], U = object> = new (...args: T) => U;
|
|
2
|
-
export declare function makeStatified<V extends ClassType<T, U>, T extends any[], U extends object>(OriginalClass: V): V
|
|
3
|
-
export declare const BaseStatified: ObjectConstructor
|
|
2
|
+
export declare function makeStatified<V extends ClassType<T, U>, T extends any[], U extends object>(OriginalClass: V): V;
|
|
3
|
+
export declare const BaseStatified: ObjectConstructor;
|
|
4
4
|
export {};
|
|
5
5
|
//# sourceMappingURL=basestatified.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basestatified.d.ts","sourceRoot":"","sources":["../../src/quirks/basestatified.ts"],"names":[],"mappings":"AAkBA,KAAK,SAAS,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"basestatified.d.ts","sourceRoot":"","sources":["../../src/quirks/basestatified.ts"],"names":[],"mappings":"AAkBA,KAAK,SAAS,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;AA4G5E,wBAAgB,aAAa,CAC3B,CAAC,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EACzB,CAAC,SAAS,GAAG,EAAE,EACf,CAAC,SAAS,MAAM,EAEhB,aAAa,EAAE,CAAC,GACf,CAAC,CA4BH;AAED,eAAO,MAAM,aAAa,mBAAwB,CAAC"}
|
|
@@ -5,7 +5,6 @@ exports.makeStatified = makeStatified;
|
|
|
5
5
|
const internals_js_1 = require("../internals.js");
|
|
6
6
|
const low_js_1 = require("../low.js");
|
|
7
7
|
const classMapMemo = new WeakMap();
|
|
8
|
-
//
|
|
9
8
|
const blanketProtoMemo = new WeakMap();
|
|
10
9
|
const blanketProtoSet = new WeakSet();
|
|
11
10
|
function getBlanketPrototype(actualProto) {
|
|
@@ -18,7 +17,7 @@ function getBlanketPrototype(actualProto) {
|
|
|
18
17
|
get(target, prop, recv) {
|
|
19
18
|
if (prop === internals_js_1.statifySealKey)
|
|
20
19
|
return true;
|
|
21
|
-
if (internals_js_1.
|
|
20
|
+
if ((0, internals_js_1.getGlobalStateMode)() === "extract-proxy-path") {
|
|
22
21
|
if (prop === internals_js_1.exitProxySymbol) {
|
|
23
22
|
return { path: [], stateRoot: recv };
|
|
24
23
|
}
|
|
@@ -63,7 +62,7 @@ function getBlanketPrototype(actualProto) {
|
|
|
63
62
|
}
|
|
64
63
|
},
|
|
65
64
|
has(target, prop) {
|
|
66
|
-
if (internals_js_1.
|
|
65
|
+
if ((0, internals_js_1.getGlobalStateMode)() === "extract-proxy-path" && prop === internals_js_1.exitProxySymbol) {
|
|
67
66
|
return true;
|
|
68
67
|
}
|
|
69
68
|
return Reflect.has(target, prop);
|
|
@@ -73,49 +72,28 @@ function getBlanketPrototype(actualProto) {
|
|
|
73
72
|
blanketProtoSet.add(blanket);
|
|
74
73
|
return blanket;
|
|
75
74
|
}
|
|
76
|
-
//
|
|
77
75
|
function makeStatified(OriginalClass) {
|
|
78
76
|
const maybeMemoed = classMapMemo.get(OriginalClass);
|
|
79
77
|
if (maybeMemoed)
|
|
80
78
|
return maybeMemoed;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
return true;
|
|
98
|
-
const result = Reflect.get(target, prop, recv);
|
|
99
|
-
if (internals_js_1.globalStateMode === "extract-proxy-path") {
|
|
100
|
-
if (prop === internals_js_1.exitProxySymbol) {
|
|
101
|
-
return { path: [], stateRoot: recv };
|
|
102
|
-
}
|
|
103
|
-
return (0, low_js_1.extract)(result, recv, [prop]);
|
|
104
|
-
}
|
|
105
|
-
return result;
|
|
106
|
-
},
|
|
107
|
-
has(target, prop) {
|
|
108
|
-
if (internals_js_1.globalStateMode === "extract-proxy-path") {
|
|
109
|
-
if (prop === internals_js_1.exitProxySymbol) {
|
|
110
|
-
return true;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return Reflect.has(target, prop);
|
|
114
|
-
},
|
|
115
|
-
});
|
|
116
|
-
Reflect.setPrototypeOf(Statified.prototype, OriginalClass.prototype);
|
|
79
|
+
// @ts-ignore - ts-2545 "A mixin class must have a constructor with a single rest parameter of type 'any[]'."
|
|
80
|
+
class Statified extends OriginalClass {
|
|
81
|
+
constructor(...args) {
|
|
82
|
+
super(...args);
|
|
83
|
+
const ctor = new.target ?? Statified;
|
|
84
|
+
const inst = Reflect.construct(OriginalClass, args, ctor);
|
|
85
|
+
(0, internals_js_1.setMetadataOf)(inst, new low_js_1.StateMetadata());
|
|
86
|
+
const actualProto = ctor.prototype;
|
|
87
|
+
const finalProto = blanketProtoSet.has(actualProto)
|
|
88
|
+
? actualProto
|
|
89
|
+
: getBlanketPrototype(actualProto);
|
|
90
|
+
Reflect.setPrototypeOf(inst, finalProto);
|
|
91
|
+
return inst;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
;
|
|
117
95
|
classMapMemo.set(OriginalClass, Statified);
|
|
118
|
-
return Statified;
|
|
96
|
+
return Statified;
|
|
119
97
|
}
|
|
120
98
|
exports.BaseStatified = makeStatified(Object);
|
|
121
99
|
//# sourceMappingURL=basestatified.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basestatified.js","sourceRoot":"","sources":["../../src/quirks/basestatified.ts"],"names":[],"mappings":";;;;AAAA,kDAOyB;AACzB,sCAQmB;AAGnB,MAAM,YAAY,GAAG,IAAI,OAAO,EAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"basestatified.js","sourceRoot":"","sources":["../../src/quirks/basestatified.ts"],"names":[],"mappings":"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"}
|
package/dist/quirks/map.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/quirks/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/quirks/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAqC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAiC,MAAM,WAAW,CAAC;AAE1E,qBAAa,YAAY,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAE,YAAW,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;IAC7E,CAAC,cAAc,CAAC,EAAE,IAAI,CAAQ;IAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,cAAc,CAKtC;IAID,YAAY,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAIzC;IAED,KAAK,IAAI,IAAI,CASZ;IAED,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAStB;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAgB1B;CACF"}
|
package/dist/quirks/map.js
CHANGED
|
@@ -6,7 +6,7 @@ const low_js_1 = require("../low.js");
|
|
|
6
6
|
class StatifiedMap extends Map {
|
|
7
7
|
[internals_js_1.statifySealKey] = true;
|
|
8
8
|
get [internals_js_1.exitProxySymbol]() {
|
|
9
|
-
if (internals_js_1.
|
|
9
|
+
if ((0, internals_js_1.getGlobalStateMode)() === "extract-proxy-path") {
|
|
10
10
|
return { path: [], stateRoot: this };
|
|
11
11
|
}
|
|
12
12
|
throw new Error("exitProxySymbol is not available in normal mode");
|
package/dist/quirks/map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/quirks/map.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/quirks/map.ts"],"names":[],"mappings":";;;AAAA,kDAA8G;AAC9G,sCAA0E;AAE1E,kBAAgC,SAAQ,GAAS;IAC/C,CAAC,6BAAc,CAAC,GAAS,IAAI,CAAC;IAC9B,IAAI,CAAC,8BAAe,CAAC;QACnB,IAAI,IAAA,iCAAkB,GAAE,KAAK,oBAAoB,EAAE,CAAC;YAClD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,IAA+B,EAAE,CAAC;QAClE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,SAAS,CAAgB;IAEzB,YAAY,IAA8B;QACxC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,CAAC,SAAS,GAAG,IAAA,4BAAa,EAAC,IAAI,EAAE,IAAI,sBAAa,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK;QACH,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,GAAM;QACX,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEtB,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEnC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
package/dist/quirks/set.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../src/quirks/set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../src/quirks/set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAqC,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACnH,OAAO,EAAiC,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAErG,qBAAa,YAAY,CAAC,CAAC,SAAS,eAAe,CAAE,SAAQ,GAAG,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;IAC5F,CAAC,cAAc,CAAC,EAAE,IAAI,CAAQ;IAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,cAAc,CAKtC;IAID,YAAY,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,EAIpC;IAED,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAQlB;IAED,KAAK,IAAI,IAAI,CAWZ;IAED,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAQxB;CACF"}
|
package/dist/quirks/set.js
CHANGED
|
@@ -6,7 +6,7 @@ const low_js_1 = require("../low.js");
|
|
|
6
6
|
class StatifiedSet extends Set {
|
|
7
7
|
[internals_js_1.statifySealKey] = true;
|
|
8
8
|
get [internals_js_1.exitProxySymbol]() {
|
|
9
|
-
if (internals_js_1.
|
|
9
|
+
if ((0, internals_js_1.getGlobalStateMode)() === "extract-proxy-path") {
|
|
10
10
|
return { path: [], stateRoot: this };
|
|
11
11
|
}
|
|
12
12
|
throw new Error("exitProxySymbol is not available in normal mode");
|
package/dist/quirks/set.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../src/quirks/set.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../src/quirks/set.ts"],"names":[],"mappings":";;;AAAA,kDAAmH;AACnH,sCAAqG;AAErG,kBAAqD,SAAQ,GAAM;IACjE,CAAC,6BAAc,CAAC,GAAS,IAAI,CAAC;IAC9B,IAAI,CAAC,8BAAe,CAAC;QACnB,IAAI,IAAA,iCAAkB,GAAE,KAAK,oBAAoB,EAAE,CAAC;YAClD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,IAA+B,EAAE,CAAC;QAClE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,SAAS,CAAgB;IAEzB,YAAY,IAAyB;QACnC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,CAAC,SAAS,GAAG,IAAA,4BAAa,EAAC,IAAI,EAAE,IAAI,sBAAa,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,GAAG,CAAC,KAAQ;QACV,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAErC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAQ;QACb,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
package/dist/test.js
CHANGED
|
@@ -30,7 +30,6 @@ class Wayland extends basestatified_js_1.BaseStatified {
|
|
|
30
30
|
set state(v) {
|
|
31
31
|
console.log("set", v);
|
|
32
32
|
this.#state = v;
|
|
33
|
-
super.state = v;
|
|
34
33
|
}
|
|
35
34
|
constructor() {
|
|
36
35
|
super();
|
|
@@ -38,7 +37,9 @@ class Wayland extends basestatified_js_1.BaseStatified {
|
|
|
38
37
|
}
|
|
39
38
|
const w = new Wayland();
|
|
40
39
|
high_js_1.default.onSet(() => w.state, (v) => console.log("asdf awawa!!", v));
|
|
41
|
-
w.state = 5;
|
|
40
|
+
// w.state = 5;
|
|
41
|
+
w.state = 6;
|
|
42
|
+
w.state = 7;
|
|
42
43
|
const map = high_js_1.default.state(new Map());
|
|
43
44
|
high_js_1.default.onSetEntry(() => map, (k, v) => console.log("set", k, v));
|
|
44
45
|
high_js_1.default.onReplaceEntry(() => map, (k, v) => console.log("replace", k, v));
|
package/dist/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;;;;AAAA,wDAA0B;AAC1B,gEAA0D;AAC1D,4CAA+C;AAE/C,MAAM,QAAQ,GAAG,iBAAC,CAAC,KAAK,CAA4D,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAE/F,iBAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEzB,iBAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iBAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE;IAC3C,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,GAAG,iBAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5B,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEnB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAET,MAAM,IAAI,GAAG,iBAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,EAAU,EAAE,CAAC,CAAC;AAC/C,MAAM,KAAK,GAAG,iBAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAEnC,uCAAuC;AACvC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC;AAEnB,MAAM,OAAQ,SAAQ,gCAAa;IACjC,QAAQ,GAAG,IAAI,qBAAY,EAAE,CAAC;IAE9B,MAAM,GAAG,CAAC,CAAC;IACX,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,CAAS;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/high.ts
CHANGED
|
@@ -24,7 +24,7 @@ export function stateInner<T extends StatifiableProp>(original: T): Statified<T>
|
|
|
24
24
|
|
|
25
25
|
case Array.prototype:
|
|
26
26
|
const array = original as unknown as any[];
|
|
27
|
-
return
|
|
27
|
+
return StatifiedArray.from(array.map(stateInner));
|
|
28
28
|
|
|
29
29
|
case StatifiedArray.prototype:
|
|
30
30
|
case StatifiedSet.prototype:
|
|
@@ -45,7 +45,7 @@ export function stateInner<T extends StatifiableProp>(original: T): Statified<T>
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
if (Array.isArray(original)) {
|
|
48
|
-
return new StatifiedArray(
|
|
48
|
+
return new StatifiedArray(original.map(stateInner));
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
throw new Error(`Cannot clone object with prototype`);
|
package/src/internals.ts
CHANGED
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
import type { StateMetadata, Exitable, StatifiableObj } from "./low.js";
|
|
2
|
+
import { version } from "../package.json";
|
|
2
3
|
|
|
3
|
-
export const exitProxySymbol = Symbol();
|
|
4
|
+
export const exitProxySymbol = Symbol.for(`hi-this-is-informa-${version}-s--exit-proxy-symbol`);
|
|
4
5
|
|
|
5
6
|
// The mode is used by the functions exposed by informa,
|
|
6
7
|
// no concurrency issues arise because of the unique call stack.
|
|
7
|
-
|
|
8
|
+
const globalStateModeSymbol = Symbol.for("hi-this-is-informa-s--global-state-mode");
|
|
8
9
|
export function setGlobalStateMode(mode: "normal" | "extract-proxy-path") {
|
|
9
|
-
|
|
10
|
+
if (getGlobalStateMode() === mode) return;
|
|
11
|
+
|
|
12
|
+
if (mode === "normal") {
|
|
13
|
+
Reflect.deleteProperty(globalThis, globalStateModeSymbol);
|
|
14
|
+
} else {
|
|
15
|
+
Reflect.defineProperty(globalThis, globalStateModeSymbol, { value: mode, configurable: true });
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export function getGlobalStateMode() {
|
|
19
|
+
return Reflect.get(globalThis, globalStateModeSymbol) ?? "normal";
|
|
10
20
|
}
|
|
11
21
|
|
|
12
|
-
|
|
22
|
+
const metadataMapSymbol = Symbol.for(`hi-this-is-informa-${version}-s--metadata-map`);
|
|
23
|
+
export const metadataMap = Reflect.get(globalThis, metadataMapSymbol) ?? new WeakMap<Statify<StatifiableObj>, StateMetadata>();
|
|
24
|
+
|
|
25
|
+
Reflect.defineProperty(globalThis, metadataMapSymbol, { value: metadataMap });
|
|
26
|
+
|
|
13
27
|
export function getMetadataOf(v: Statify<StatifiableObj>) {
|
|
14
28
|
const result = metadataMap.get(v);
|
|
15
29
|
|
|
@@ -23,9 +37,12 @@ export function setMetadataOf(v: Statify<StatifiableObj>, s: StateMetadata) {
|
|
|
23
37
|
return s;
|
|
24
38
|
}
|
|
25
39
|
|
|
26
|
-
|
|
40
|
+
const proxyMemoizedSymbol = Symbol.for(`hi-this-is-informa-${version}-s--proxy-memoized`);
|
|
41
|
+
export const proxyMemoized = Reflect.get(globalThis, proxyMemoizedSymbol) ?? new WeakMap<object, Statify<StatifiableObj>>();
|
|
42
|
+
|
|
43
|
+
Reflect.defineProperty(globalThis, proxyMemoizedSymbol, { value: proxyMemoized });
|
|
27
44
|
|
|
28
|
-
export const statifySealKey = Symbol();
|
|
45
|
+
export const statifySealKey = Symbol.for(`hi-this-is-informa-${version}-s--statify-seal-key`);
|
|
29
46
|
export function isStatified<T extends StatifiableObj>(v: T): v is Statify<T> {
|
|
30
47
|
return (v as Statify<T>)[statifySealKey];
|
|
31
48
|
}
|
package/src/low.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { exitProxySymbol,
|
|
1
|
+
import { exitProxySymbol, getGlobalStateMode, getMetadataOf, proxyMemoized, setGlobalStateMode, setMetadataOf, statifySealKey, type Statify } from "./internals.js";
|
|
2
2
|
import { EventEmitter } from "node:events";
|
|
3
3
|
import { StatifiedSet } from "./quirks/set.js";
|
|
4
4
|
import { isListInGrid } from "./utils.js";
|
|
@@ -173,7 +173,7 @@ export function statifyObject<T extends { [k: string | symbol]: Statified<Statif
|
|
|
173
173
|
|
|
174
174
|
const result = Reflect.get(target, prop, recv);
|
|
175
175
|
|
|
176
|
-
if (
|
|
176
|
+
if (getGlobalStateMode() === "extract-proxy-path") {
|
|
177
177
|
if (prop === exitProxySymbol) {
|
|
178
178
|
return { path: [], stateRoot: proxyObj };
|
|
179
179
|
}
|
|
@@ -282,7 +282,7 @@ export function statifyObject<T extends { [k: string | symbol]: Statified<Statif
|
|
|
282
282
|
},
|
|
283
283
|
|
|
284
284
|
has(target, prop) {
|
|
285
|
-
if (
|
|
285
|
+
if (getGlobalStateMode() === "extract-proxy-path") {
|
|
286
286
|
if (prop === exitProxySymbol) {
|
|
287
287
|
return true;
|
|
288
288
|
}
|
|
@@ -322,7 +322,7 @@ export function extract(
|
|
|
322
322
|
return extract(Reflect.get(target, prop, recv), stateRoot, [...path, prop]);
|
|
323
323
|
},
|
|
324
324
|
has(target, prop) {
|
|
325
|
-
if (
|
|
325
|
+
if (getGlobalStateMode() === "extract-proxy-path") {
|
|
326
326
|
if (prop === exitProxySymbol) return true;
|
|
327
327
|
}
|
|
328
328
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
exitProxySymbol,
|
|
3
3
|
getMetadataOf,
|
|
4
|
-
|
|
4
|
+
getGlobalStateMode,
|
|
5
5
|
setMetadataOf,
|
|
6
6
|
statifySealKey,
|
|
7
7
|
type Statify,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
|
|
19
19
|
type ClassType<T extends any[] = any[], U = object> = new (...args: T) => U;
|
|
20
20
|
const classMapMemo = new WeakMap<ClassType, ClassType>();
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
const blanketProtoMemo = new WeakMap<object, object>();
|
|
23
23
|
const blanketProtoSet = new WeakSet<object>();
|
|
24
24
|
|
|
@@ -36,7 +36,7 @@ function getBlanketPrototype(actualProto: object) {
|
|
|
36
36
|
get(target, prop, recv) {
|
|
37
37
|
if (prop === statifySealKey) return true;
|
|
38
38
|
|
|
39
|
-
if (
|
|
39
|
+
if (getGlobalStateMode() === "extract-proxy-path") {
|
|
40
40
|
if (prop === exitProxySymbol) {
|
|
41
41
|
return { path: [], stateRoot: recv as Statify<StatifiableObj> };
|
|
42
42
|
}
|
|
@@ -110,7 +110,7 @@ function getBlanketPrototype(actualProto: object) {
|
|
|
110
110
|
},
|
|
111
111
|
|
|
112
112
|
has(target, prop) {
|
|
113
|
-
if (
|
|
113
|
+
if (getGlobalStateMode() === "extract-proxy-path" && prop === exitProxySymbol) {
|
|
114
114
|
return true;
|
|
115
115
|
}
|
|
116
116
|
|
|
@@ -123,7 +123,6 @@ function getBlanketPrototype(actualProto: object) {
|
|
|
123
123
|
|
|
124
124
|
return blanket;
|
|
125
125
|
}
|
|
126
|
-
//
|
|
127
126
|
|
|
128
127
|
export function makeStatified<
|
|
129
128
|
V extends ClassType<T, U>,
|
|
@@ -131,64 +130,34 @@ export function makeStatified<
|
|
|
131
130
|
U extends object,
|
|
132
131
|
>(
|
|
133
132
|
OriginalClass: V,
|
|
134
|
-
): V
|
|
133
|
+
): V {
|
|
135
134
|
const maybeMemoed = classMapMemo.get(OriginalClass);
|
|
136
135
|
if (maybeMemoed) return maybeMemoed as V;
|
|
137
136
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
setMetadataOf(inst, new StateMetadata());
|
|
144
|
-
|
|
145
|
-
const actualProto = ctor.prototype;
|
|
146
|
-
const finalProto = blanketProtoSet.has(actualProto)
|
|
147
|
-
? actualProto
|
|
148
|
-
: getBlanketPrototype(actualProto);
|
|
149
|
-
|
|
150
|
-
Reflect.setPrototypeOf(inst, finalProto);
|
|
151
|
-
|
|
152
|
-
return inst;
|
|
153
|
-
} as unknown as (new (...args: T) => Statify<U>); // TODO: solve
|
|
154
|
-
|
|
155
|
-
Statified.prototype = new Proxy(
|
|
156
|
-
{
|
|
157
|
-
[statifySealKey]: true,
|
|
158
|
-
} as { [statifySealKey]: true; [exitProxySymbol]: ExitProxyValue; },
|
|
159
|
-
{
|
|
160
|
-
get(target, prop, recv) {
|
|
161
|
-
if (prop === statifySealKey) return true;
|
|
137
|
+
// @ts-ignore - ts-2545 "A mixin class must have a constructor with a single rest parameter of type 'any[]'."
|
|
138
|
+
class Statified extends OriginalClass {
|
|
139
|
+
constructor(...args: T) {
|
|
140
|
+
super(...args);
|
|
162
141
|
|
|
163
|
-
|
|
142
|
+
const ctor = new.target ?? Statified;
|
|
143
|
+
const inst = Reflect.construct(OriginalClass, args, ctor) as Statify<U>;
|
|
164
144
|
|
|
165
|
-
|
|
166
|
-
if (prop === exitProxySymbol) {
|
|
167
|
-
return { path: [], stateRoot: recv };
|
|
168
|
-
}
|
|
145
|
+
setMetadataOf(inst, new StateMetadata());
|
|
169
146
|
|
|
170
|
-
|
|
171
|
-
|
|
147
|
+
const actualProto = ctor.prototype;
|
|
148
|
+
const finalProto = blanketProtoSet.has(actualProto)
|
|
149
|
+
? actualProto
|
|
150
|
+
: getBlanketPrototype(actualProto);
|
|
172
151
|
|
|
173
|
-
|
|
174
|
-
},
|
|
152
|
+
Reflect.setPrototypeOf(inst, finalProto);
|
|
175
153
|
|
|
176
|
-
|
|
177
|
-
if (globalStateMode === "extract-proxy-path") {
|
|
178
|
-
if (prop === exitProxySymbol) {
|
|
179
|
-
return true;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
return Reflect.has(target, prop);
|
|
184
|
-
},
|
|
154
|
+
return inst;
|
|
185
155
|
}
|
|
186
|
-
|
|
187
|
-
Reflect.setPrototypeOf(Statified.prototype, OriginalClass.prototype);
|
|
156
|
+
};
|
|
188
157
|
|
|
189
158
|
classMapMemo.set(OriginalClass, Statified);
|
|
190
159
|
|
|
191
|
-
return Statified
|
|
160
|
+
return Statified;
|
|
192
161
|
}
|
|
193
162
|
|
|
194
163
|
export const BaseStatified = makeStatified(Object);
|
package/src/quirks/map.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { exitProxySymbol,
|
|
1
|
+
import { exitProxySymbol, getGlobalStateMode, setMetadataOf, Statify, statifySealKey } from "../internals.js";
|
|
2
2
|
import { ExitProxyValue, StateMetadata, StatifiableObj } from "../low.js";
|
|
3
3
|
|
|
4
4
|
export class StatifiedMap<K, V> extends Map<K, V> implements Statify<Map<K, V>> {
|
|
5
5
|
[statifySealKey]: true = true;
|
|
6
6
|
get [exitProxySymbol](): ExitProxyValue {
|
|
7
|
-
if (
|
|
7
|
+
if (getGlobalStateMode() === "extract-proxy-path") {
|
|
8
8
|
return { path: [], stateRoot: this as Statify<StatifiableObj> };
|
|
9
9
|
}
|
|
10
10
|
throw new Error("exitProxySymbol is not available in normal mode");
|
package/src/quirks/set.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { exitProxySymbol,
|
|
1
|
+
import { exitProxySymbol, getGlobalStateMode, setMetadataOf, statifySealKey, type Statify } from "../internals.js";
|
|
2
2
|
import { StateMetadata, StatifiableObj, type ExitProxyValue, type StatifiableProp } from "../low.js";
|
|
3
3
|
|
|
4
4
|
export class StatifiedSet<T extends StatifiableProp> extends Set<T> implements Statify<Set<T>> {
|
|
5
5
|
[statifySealKey]: true = true;
|
|
6
6
|
get [exitProxySymbol](): ExitProxyValue {
|
|
7
|
-
if (
|
|
7
|
+
if (getGlobalStateMode() === "extract-proxy-path") {
|
|
8
8
|
return { path: [], stateRoot: this as Statify<StatifiableObj> };
|
|
9
9
|
}
|
|
10
10
|
throw new Error("exitProxySymbol is not available in normal mode");
|
package/src/test.ts
CHANGED
|
@@ -35,7 +35,6 @@ class Wayland extends BaseStatified {
|
|
|
35
35
|
set state(v: number) {
|
|
36
36
|
console.log("set", v)
|
|
37
37
|
this.#state = v;
|
|
38
|
-
super.state = v;
|
|
39
38
|
}
|
|
40
39
|
|
|
41
40
|
constructor() {
|
|
@@ -46,7 +45,9 @@ class Wayland extends BaseStatified {
|
|
|
46
45
|
const w = new Wayland();
|
|
47
46
|
$.onSet(() => w.state, (v) => console.log("asdf awawa!!", v));
|
|
48
47
|
|
|
49
|
-
w.state = 5;
|
|
48
|
+
// w.state = 5;
|
|
49
|
+
w.state = 6;
|
|
50
|
+
w.state = 7;
|
|
50
51
|
|
|
51
52
|
const map = $.state<Map<number, string>>(new Map());
|
|
52
53
|
$.onSetEntry(() => map, (k, v) => console.log("set", k, v));
|