informa 3.1.0 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/internals.js CHANGED
@@ -10,7 +10,7 @@ const package_json_1 = require("../package.json");
10
10
  exports.exitProxySymbol = Symbol.for(`hi-this-is-informa-${package_json_1.version}-s--exit-proxy-symbol`);
11
11
  // The mode is used by the functions exposed by informa,
12
12
  // no concurrency issues arise because of the unique call stack.
13
- const globalStateModeSymbol = Symbol.for("hi-this-is-informa-s--global-state-mode");
13
+ const globalStateModeSymbol = Symbol.for(`hi-this-is-informa-${package_json_1.version}-s--global-state-mode`);
14
14
  function setGlobalStateMode(mode) {
15
15
  if (getGlobalStateMode() === mode)
16
16
  return;
@@ -1 +1 @@
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"}
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,sBAAsB,sBAAO,uBAAuB,CAAC,CAAC;AAC/F,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"}
@@ -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;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"}
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;AAuH5E,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,CA8BH;AAED,eAAO,MAAM,aAAa,mBAAwB,CAAC"}
@@ -7,6 +7,7 @@ const low_js_1 = require("../low.js");
7
7
  const classMapMemo = new WeakMap();
8
8
  const blanketProtoMemo = new WeakMap();
9
9
  const blanketProtoSet = new WeakSet();
10
+ const blanketDataLayerMemo = new WeakMap();
10
11
  function getBlanketPrototype(actualProto) {
11
12
  const maybeMemoed = blanketProtoMemo.get(actualProto);
12
13
  if (maybeMemoed)
@@ -23,13 +24,23 @@ function getBlanketPrototype(actualProto) {
23
24
  }
24
25
  return (0, low_js_1.extract)(undefined, recv, [prop]);
25
26
  }
27
+ if (Reflect.has(blanketDataLayerMemo.get(recv), prop)) {
28
+ return Reflect.get(blanketDataLayerMemo.get(recv), prop);
29
+ }
26
30
  return Reflect.get(target, prop, recv);
27
31
  },
28
32
  set(target, prop, newVal, recv) {
29
33
  const stateMetadata = (0, internals_js_1.getMetadataOf)(recv);
30
34
  const had = Reflect.has(recv, prop);
31
35
  const oldVal = Reflect.get(recv, prop);
32
- const result = Reflect.set(target, prop, newVal, recv);
36
+ let result;
37
+ const desc = Reflect.getOwnPropertyDescriptor(target, prop);
38
+ if (desc === undefined || "value" in desc) {
39
+ result = Reflect.set(blanketDataLayerMemo.get(recv), prop, newVal);
40
+ }
41
+ else {
42
+ result = Reflect.set(target, prop, newVal, recv);
43
+ }
33
44
  try {
34
45
  if (result) {
35
46
  if (typeof newVal === "object"
@@ -83,6 +94,7 @@ function makeStatified(OriginalClass) {
83
94
  const ctor = new.target ?? Statified;
84
95
  const inst = Reflect.construct(OriginalClass, args, ctor);
85
96
  (0, internals_js_1.setMetadataOf)(inst, new low_js_1.StateMetadata());
97
+ blanketDataLayerMemo.set(inst, {});
86
98
  const actualProto = ctor.prototype;
87
99
  const finalProto = blanketProtoSet.has(actualProto)
88
100
  ? actualProto
@@ -1 +1 @@
1
- {"version":3,"file":"basestatified.js","sourceRoot":"","sources":["../../src/quirks/basestatified.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"basestatified.js","sourceRoot":"","sources":["../../src/quirks/basestatified.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "informa",
3
- "version": "3.1.0",
3
+ "version": "3.1.1",
4
4
  "description": "Informa's State Management",
5
5
  "keywords": [
6
6
  "state management",
package/src/internals.ts CHANGED
@@ -5,7 +5,7 @@ export const exitProxySymbol = Symbol.for(`hi-this-is-informa-${version}-s--exit
5
5
 
6
6
  // The mode is used by the functions exposed by informa,
7
7
  // no concurrency issues arise because of the unique call stack.
8
- const globalStateModeSymbol = Symbol.for("hi-this-is-informa-s--global-state-mode");
8
+ const globalStateModeSymbol = Symbol.for(`hi-this-is-informa-${version}-s--global-state-mode`);
9
9
  export function setGlobalStateMode(mode: "normal" | "extract-proxy-path") {
10
10
  if (getGlobalStateMode() === mode) return;
11
11
 
@@ -21,6 +21,7 @@ const classMapMemo = new WeakMap<ClassType, ClassType>();
21
21
 
22
22
  const blanketProtoMemo = new WeakMap<object, object>();
23
23
  const blanketProtoSet = new WeakSet<object>();
24
+ const blanketDataLayerMemo = new WeakMap<object, object>();
24
25
 
25
26
  function getBlanketPrototype(actualProto: object) {
26
27
  const maybeMemoed = blanketProtoMemo.get(actualProto);
@@ -44,6 +45,10 @@ function getBlanketPrototype(actualProto: object) {
44
45
  return extract(undefined, recv as Statify<StatifiableObj>, [prop]);
45
46
  }
46
47
 
48
+ if (Reflect.has(blanketDataLayerMemo.get(recv)!, prop)) {
49
+ return Reflect.get(blanketDataLayerMemo.get(recv)!, prop);
50
+ }
51
+
47
52
  return Reflect.get(target, prop, recv);
48
53
  },
49
54
 
@@ -53,7 +58,13 @@ function getBlanketPrototype(actualProto: object) {
53
58
  const had = Reflect.has(recv, prop);
54
59
  const oldVal = Reflect.get(recv, prop) as unknown;
55
60
 
56
- const result = Reflect.set(target, prop, newVal, recv);
61
+ let result;
62
+ const desc = Reflect.getOwnPropertyDescriptor(target, prop);
63
+ if (desc === undefined || "value" in desc) {
64
+ result = Reflect.set(blanketDataLayerMemo.get(recv)!, prop, newVal);
65
+ } else {
66
+ result = Reflect.set(target, prop, newVal, recv);
67
+ }
57
68
 
58
69
  try {
59
70
  if (result) {
@@ -144,6 +155,8 @@ export function makeStatified<
144
155
 
145
156
  setMetadataOf(inst, new StateMetadata());
146
157
 
158
+ blanketDataLayerMemo.set(inst, {});
159
+
147
160
  const actualProto = ctor.prototype;
148
161
  const finalProto = blanketProtoSet.has(actualProto)
149
162
  ? actualProto