informa 5.0.6 → 5.0.7

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.
@@ -1,18 +1,28 @@
1
1
  import type { StateMetadata, Exitable, StatifiableObj } from "./low.js";
2
- export declare const exitProxySymbol: unique symbol;
3
- export declare const globalStateMode: any;
2
+ interface InformaGlobalContext {
3
+ mode: "normal" | "extract-proxy-path";
4
+ metadataMap: WeakMap<Statify<StatifiableObj>, StateMetadata>;
5
+ proxyMemoized: WeakMap<object, Statify<StatifiableObj>>;
6
+ }
7
+ export declare const exitProxySymbol = "__informa_exit_proxy__";
8
+ export declare const globalStateMode: InformaGlobalContext;
4
9
  export declare function setGlobalStateMode(mode: "normal" | "extract-proxy-path"): void;
5
10
  export declare function getGlobalStateMode(): "normal" | "extract-proxy-path";
6
- export declare const metadataMap: any;
7
- export declare function getMetadataOf(v: Statify<StatifiableObj>): any;
11
+ export declare const metadataMap: WeakMap<{
12
+ __informa_statify_seal__: true;
13
+ } & Exitable, StateMetadata>;
14
+ export declare function getMetadataOf(v: Statify<StatifiableObj>): StateMetadata;
8
15
  export declare function setMetadataOf(v: Statify<StatifiableObj>, s: StateMetadata): StateMetadata;
9
- export declare const proxyMemoized: any;
10
- export declare const statifySealKey: unique symbol;
16
+ export declare const proxyMemoized: WeakMap<object, {
17
+ __informa_statify_seal__: true;
18
+ } & Exitable>;
19
+ export declare const statifySealKey = "__informa_statify_seal__";
11
20
  export declare function isStatified<T extends StatifiableObj>(v: T): v is Statify<T>;
12
21
  export type Statify<T extends StatifiableObj> = T & {
13
22
  [statifySealKey]: true;
14
23
  } & Exitable;
15
- export declare const isStatifiedSetKey: unique symbol;
16
- export declare const isStatifiedArrayKey: unique symbol;
17
- export declare const isStatifiedMapKey: unique symbol;
24
+ export declare const isStatifiedSetKey = "__informa_is_statified_set__";
25
+ export declare const isStatifiedArrayKey = "__informa_is_statified_array__";
26
+ export declare const isStatifiedMapKey = "__informa_is_statified_map__";
27
+ export {};
18
28
  //# sourceMappingURL=internals.d.ts.map
@@ -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;AAGxE,eAAO,MAAM,eAAe,eAAmE,CAAC;AAKhG,eAAO,MAAM,eAAe,KAA0G,CAAC;AAGvI,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,oBAAoB,QAEvE;AACD,wBAAgB,kBAAkB,IAAI,QAAQ,GAAG,oBAAoB,CAEpE;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;AAE1F,eAAO,MAAM,iBAAiB,eAAgE,CAAC;AAC/F,eAAO,MAAM,mBAAmB,eAAkE,CAAC;AACnG,eAAO,MAAM,iBAAiB,eAAgE,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,UAAU,oBAAoB;IAC5B,IAAI,EAAE,QAAQ,GAAG,oBAAoB,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,CAAC;IAC7D,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;CACzD;AAYD,eAAO,MAAM,eAAe,2BAA2B,CAAC;AAExD,eAAO,MAAM,eAAe,sBAAgB,CAAC;AAE7C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,oBAAoB,QAEvE;AAED,wBAAgB,kBAAkB,IAAI,QAAQ,GAAG,oBAAoB,CAEpE;AAED,eAAO,MAAM,WAAW;8BAsBgD,IAAI;4BAtBxB,CAAC;AAErD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,iBAMvD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,aAAa,iBAIzE;AAED,eAAO,MAAM,aAAa;8BAM8C,IAAI;aANpB,CAAC;AAEzD,eAAO,MAAM,cAAc,6BAA6B,CAAC;AACzD,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;AAE1F,eAAO,MAAM,iBAAiB,iCAAiC,CAAC;AAChE,eAAO,MAAM,mBAAmB,mCAAmC,CAAC;AACpE,eAAO,MAAM,iBAAiB,iCAAiC,CAAC"}
package/dist/internals.js CHANGED
@@ -6,22 +6,22 @@ exports.getGlobalStateMode = getGlobalStateMode;
6
6
  exports.getMetadataOf = getMetadataOf;
7
7
  exports.setMetadataOf = setMetadataOf;
8
8
  exports.isStatified = isStatified;
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`);
11
- // The mode is used by the functions exposed by informa,
12
- // no concurrency issues arise because of the unique call stack.
13
- const globalStateModeSymbol = Symbol.for(`hi-this-is-informa-${package_json_1.version}-s--global-state-mode`);
14
- exports.globalStateMode = Reflect.get(globalThis, globalStateModeSymbol) ?? { mode: "normal" };
15
- Reflect.defineProperty(globalThis, globalStateModeSymbol, { value: exports.globalStateMode });
9
+ const INFORMA_GLOBAL_KEY = "__INFORMA__";
10
+ const informaGlobal = Reflect.get(globalThis, INFORMA_GLOBAL_KEY) ?? {
11
+ mode: "normal",
12
+ metadataMap: new WeakMap(),
13
+ proxyMemoized: new WeakMap(),
14
+ };
15
+ Reflect.defineProperty(globalThis, INFORMA_GLOBAL_KEY, { value: informaGlobal, configurable: true, writable: true });
16
+ exports.exitProxySymbol = "__informa_exit_proxy__";
17
+ exports.globalStateMode = informaGlobal;
16
18
  function setGlobalStateMode(mode) {
17
- exports.globalStateMode.mode = mode;
19
+ informaGlobal.mode = mode;
18
20
  }
19
21
  function getGlobalStateMode() {
20
- return exports.globalStateMode.mode;
22
+ return informaGlobal.mode;
21
23
  }
22
- const metadataMapSymbol = Symbol.for(`hi-this-is-informa-${package_json_1.version}-s--metadata-map`);
23
- exports.metadataMap = Reflect.get(globalThis, metadataMapSymbol) ?? new WeakMap();
24
- Reflect.defineProperty(globalThis, metadataMapSymbol, { value: exports.metadataMap });
24
+ exports.metadataMap = informaGlobal.metadataMap;
25
25
  function getMetadataOf(v) {
26
26
  const result = exports.metadataMap.get(v);
27
27
  if (!result)
@@ -32,14 +32,12 @@ function setMetadataOf(v, s) {
32
32
  exports.metadataMap.set(v, s);
33
33
  return s;
34
34
  }
35
- const proxyMemoizedSymbol = Symbol.for(`hi-this-is-informa-${package_json_1.version}-s--proxy-memoized`);
36
- exports.proxyMemoized = Reflect.get(globalThis, proxyMemoizedSymbol) ?? new WeakMap();
37
- Reflect.defineProperty(globalThis, proxyMemoizedSymbol, { value: exports.proxyMemoized });
38
- exports.statifySealKey = Symbol.for(`hi-this-is-informa-${package_json_1.version}-s--statify-seal-key`);
35
+ exports.proxyMemoized = informaGlobal.proxyMemoized;
36
+ exports.statifySealKey = "__informa_statify_seal__";
39
37
  function isStatified(v) {
40
- return v[exports.statifySealKey];
38
+ return Boolean(v?.[exports.statifySealKey]);
41
39
  }
42
- exports.isStatifiedSetKey = Symbol.for(`hi-this-is-informa-${package_json_1.version}-s--isStatifiedSet`);
43
- exports.isStatifiedArrayKey = Symbol.for(`hi-this-is-informa-${package_json_1.version}-s--isStatifiedArray`);
44
- exports.isStatifiedMapKey = Symbol.for(`hi-this-is-informa-${package_json_1.version}-s--isStatifiedMap`);
40
+ exports.isStatifiedSetKey = "__informa_is_statified_set__";
41
+ exports.isStatifiedArrayKey = "__informa_is_statified_array__";
42
+ exports.isStatifiedMapKey = "__informa_is_statified_map__";
45
43
  //# sourceMappingURL=internals.js.map
@@ -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,sBAAsB,sBAAO,uBAAuB,CAAC,CAAC;AAClF,QAAA,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,QAA2C,EAAE,CAAC;AACvI,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,qBAAqB,EAAE,EAAE,KAAK,EAAE,QAAA,eAAe,EAAE,CAAC,CAAC;AAEtF,4BAAmC,IAAqC;IACtE,QAAA,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC;AAC9B,CAAC;AACD;IACE,OAAO,QAAA,eAAe,CAAC,IAAI,CAAC;AAC9B,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;AAGY,QAAA,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,sBAAO,oBAAoB,CAAC,CAAC;AAClF,QAAA,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,sBAAO,sBAAsB,CAAC,CAAC;AACtF,QAAA,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,sBAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"internals.js","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":";;;;;;;;AASA,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEzC,MAAM,aAAa,GAAyB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI;IACzF,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,IAAI,OAAO,EAAE;IAC1B,aAAa,EAAE,IAAI,OAAO,EAAE;CAC7B,CAAC;AAEF,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAExG,QAAA,eAAe,GAAG,wBAAwB,CAAC;AAE3C,QAAA,eAAe,GAAG,aAAa,CAAC;AAE7C,4BAAmC,IAAqC;IACtE,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;AAC5B,CAAC;AAED;IACE,OAAO,aAAa,CAAC,IAAI,CAAC;AAC5B,CAAC;AAEY,QAAA,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;AAErD,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;AAED,uBAA8B,CAA0B,EAAE,CAAgB;IACxE,QAAA,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtB,OAAO,CAAC,CAAC;AACX,CAAC;AAEY,QAAA,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC;AAE5C,QAAA,cAAc,GAAG,0BAA0B,CAAC;AACzD,qBAAsD,CAAI;IACxD,OAAO,OAAO,CAAE,CAAS,EAAE,CAAC,QAAA,cAAc,CAAC,CAAC,CAAC;AAC/C,CAAC;AAGY,QAAA,iBAAiB,GAAG,8BAA8B,CAAC;AACnD,QAAA,mBAAmB,GAAG,gCAAgC,CAAC;AACvD,QAAA,iBAAiB,GAAG,8BAA8B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "informa",
3
- "version": "5.0.6",
3
+ "version": "5.0.7",
4
4
  "description": "Informa's State Management",
5
5
  "keywords": [
6
6
  "state management",
package/src/internals.ts CHANGED
@@ -1,25 +1,35 @@
1
1
  import type { StateMetadata, Exitable, StatifiableObj } from "./low.js";
2
- import { version } from "../package.json";
3
2
 
4
- export const exitProxySymbol = Symbol.for(`hi-this-is-informa-${version}-s--exit-proxy-symbol`);
3
+ // Single shared namespace object on globalThis
4
+ interface InformaGlobalContext {
5
+ mode: "normal" | "extract-proxy-path";
6
+ metadataMap: WeakMap<Statify<StatifiableObj>, StateMetadata>;
7
+ proxyMemoized: WeakMap<object, Statify<StatifiableObj>>;
8
+ }
9
+
10
+ const INFORMA_GLOBAL_KEY = "__INFORMA__";
11
+
12
+ const informaGlobal: InformaGlobalContext = Reflect.get(globalThis, INFORMA_GLOBAL_KEY) ?? {
13
+ mode: "normal",
14
+ metadataMap: new WeakMap(),
15
+ proxyMemoized: new WeakMap(),
16
+ };
17
+
18
+ Reflect.defineProperty(globalThis, INFORMA_GLOBAL_KEY, { value: informaGlobal, configurable: true, writable: true });
19
+
20
+ export const exitProxySymbol = "__informa_exit_proxy__";
5
21
 
6
- // The mode is used by the functions exposed by informa,
7
- // no concurrency issues arise because of the unique call stack.
8
- const globalStateModeSymbol = Symbol.for(`hi-this-is-informa-${version}-s--global-state-mode`);
9
- export const globalStateMode = Reflect.get(globalThis, globalStateModeSymbol) ?? { mode: "normal" as "normal" | "extract-proxy-path" };
10
- Reflect.defineProperty(globalThis, globalStateModeSymbol, { value: globalStateMode });
22
+ export const globalStateMode = informaGlobal;
11
23
 
12
24
  export function setGlobalStateMode(mode: "normal" | "extract-proxy-path") {
13
- globalStateMode.mode = mode;
25
+ informaGlobal.mode = mode;
14
26
  }
27
+
15
28
  export function getGlobalStateMode(): "normal" | "extract-proxy-path" {
16
- return globalStateMode.mode;
29
+ return informaGlobal.mode;
17
30
  }
18
31
 
19
- const metadataMapSymbol = Symbol.for(`hi-this-is-informa-${version}-s--metadata-map`);
20
- export const metadataMap = Reflect.get(globalThis, metadataMapSymbol) ?? new WeakMap<Statify<StatifiableObj>, StateMetadata>();
21
-
22
- Reflect.defineProperty(globalThis, metadataMapSymbol, { value: metadataMap });
32
+ export const metadataMap = informaGlobal.metadataMap;
23
33
 
24
34
  export function getMetadataOf(v: Statify<StatifiableObj>) {
25
35
  const result = metadataMap.get(v);
@@ -28,23 +38,21 @@ export function getMetadataOf(v: Statify<StatifiableObj>) {
28
38
 
29
39
  return result;
30
40
  }
41
+
31
42
  export function setMetadataOf(v: Statify<StatifiableObj>, s: StateMetadata) {
32
43
  metadataMap.set(v, s);
33
44
 
34
45
  return s;
35
46
  }
36
47
 
37
- const proxyMemoizedSymbol = Symbol.for(`hi-this-is-informa-${version}-s--proxy-memoized`);
38
- export const proxyMemoized = Reflect.get(globalThis, proxyMemoizedSymbol) ?? new WeakMap<object, Statify<StatifiableObj>>();
39
-
40
- Reflect.defineProperty(globalThis, proxyMemoizedSymbol, { value: proxyMemoized });
48
+ export const proxyMemoized = informaGlobal.proxyMemoized;
41
49
 
42
- export const statifySealKey = Symbol.for(`hi-this-is-informa-${version}-s--statify-seal-key`);
50
+ export const statifySealKey = "__informa_statify_seal__";
43
51
  export function isStatified<T extends StatifiableObj>(v: T): v is Statify<T> {
44
- return (v as Statify<T>)[statifySealKey];
52
+ return Boolean((v as any)?.[statifySealKey]);
45
53
  }
46
54
  export type Statify<T extends StatifiableObj> = T & { [statifySealKey]: true } & Exitable;
47
55
 
48
- export const isStatifiedSetKey = Symbol.for(`hi-this-is-informa-${version}-s--isStatifiedSet`);
49
- export const isStatifiedArrayKey = Symbol.for(`hi-this-is-informa-${version}-s--isStatifiedArray`);
50
- export const isStatifiedMapKey = Symbol.for(`hi-this-is-informa-${version}-s--isStatifiedMap`);
56
+ export const isStatifiedSetKey = "__informa_is_statified_set__";
57
+ export const isStatifiedArrayKey = "__informa_is_statified_array__";
58
+ export const isStatifiedMapKey = "__informa_is_statified_map__";