@tamagui/use-store 1.52.6 → 1.52.8

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.
Files changed (45) hide show
  1. package/dist/cjs/helpers.js +5 -26
  2. package/dist/cjs/helpers.js.map +1 -1
  3. package/dist/cjs/index.js +2 -4
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/observe.js +159 -0
  6. package/dist/cjs/observe.js.map +6 -0
  7. package/dist/cjs/reaction.js +0 -80
  8. package/dist/cjs/reaction.js.map +2 -2
  9. package/dist/cjs/selector.js +64 -9
  10. package/dist/cjs/selector.js.map +1 -1
  11. package/dist/cjs/useStore.js +23 -13
  12. package/dist/cjs/useStore.js.map +1 -1
  13. package/dist/esm/helpers.js +5 -25
  14. package/dist/esm/helpers.js.map +1 -1
  15. package/dist/esm/index.js +1 -2
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/esm/observe.js +134 -0
  18. package/dist/esm/observe.js.map +6 -0
  19. package/dist/esm/reaction.js +0 -56
  20. package/dist/esm/reaction.js.map +2 -2
  21. package/dist/esm/selector.js +62 -8
  22. package/dist/esm/selector.js.map +1 -1
  23. package/dist/esm/useStore.js +21 -13
  24. package/dist/esm/useStore.js.map +1 -1
  25. package/package.json +5 -2
  26. package/src/helpers.tsx +7 -30
  27. package/src/index.ts +1 -2
  28. package/src/interfaces.tsx +2 -1
  29. package/src/{selector.tsx → observe.tsx} +73 -50
  30. package/src/useStore.tsx +28 -13
  31. package/types/helpers.d.ts +1 -2
  32. package/types/helpers.d.ts.map +1 -1
  33. package/types/index.d.ts +1 -2
  34. package/types/index.d.ts.map +1 -1
  35. package/types/interfaces.d.ts +2 -1
  36. package/types/interfaces.d.ts.map +1 -1
  37. package/types/observe.d.ts +6 -0
  38. package/types/observe.d.ts.map +1 -0
  39. package/types/reaction.d.ts +0 -3
  40. package/types/reaction.d.ts.map +1 -1
  41. package/types/selector.d.ts +5 -1
  42. package/types/selector.d.ts.map +1 -1
  43. package/types/useStore.d.ts +3 -0
  44. package/types/useStore.d.ts.map +1 -1
  45. package/src/reaction.tsx +0 -112
@@ -22,26 +22,19 @@ __export(helpers_exports, {
22
22
  cache: () => cache,
23
23
  default: () => useConstant,
24
24
  get: () => get,
25
- getKey: () => getKey,
26
25
  getStoreDebugInfo: () => getStoreDebugInfo,
27
26
  getStoreDescriptors: () => getStoreDescriptors,
28
27
  getStoreUid: () => getStoreUid,
29
28
  simpleStr: () => simpleStr
30
29
  });
31
30
  module.exports = __toCommonJS(helpers_exports);
31
+ var import_simple_hash = require("@tamagui/simple-hash");
32
32
  var import_react = require("react");
33
- const wkm = /* @__PURE__ */ new WeakMap();
34
- const weakKey = (obj, prefix = "") => {
35
- if (wkm.has(obj))
36
- return wkm.get(obj);
37
- const key = `${prefix}-${Math.random()}`;
38
- wkm.set(obj, key);
39
- return key;
40
- };
41
33
  function getStoreUid(Constructor, props) {
42
- const storeName = process.env.NODE_ENV === "development" ? Constructor.toString() : weakKey(Constructor);
43
- const uid = `${storeName}${!props ? "" : typeof props === "string" ? props : getKey(props)}`;
44
- return uid;
34
+ return (0, import_simple_hash.simpleHash)(
35
+ `${Constructor}${!props ? "" : typeof props === "string" ? props : JSON.stringify(props)}`,
36
+ "strict"
37
+ );
45
38
  }
46
39
  const UNWRAP_STORE_INFO = Symbol("UNWRAP_STORE_INFO");
47
40
  const cache = /* @__PURE__ */ new Map();
@@ -59,19 +52,6 @@ function getStoreDescriptors(storeInstance) {
59
52
  function get(_, b) {
60
53
  return _;
61
54
  }
62
- function getKey(props) {
63
- let s = "";
64
- const sorted = Object.keys(props).sort();
65
- for (const key of sorted) {
66
- const v = props[key];
67
- if (v && typeof v === "object") {
68
- s += getKey(v);
69
- } else {
70
- s += `.${key}:${v}`;
71
- }
72
- }
73
- return s;
74
- }
75
55
  function useConstant(fn) {
76
56
  const ref = (0, import_react.useRef)();
77
57
  if (!ref.current) {
@@ -93,7 +73,6 @@ function getStoreDebugInfo(store) {
93
73
  UNWRAP_STORE_INFO,
94
74
  cache,
95
75
  get,
96
- getKey,
97
76
  getStoreDebugInfo,
98
77
  getStoreDescriptors,
99
78
  getStoreUid,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/helpers.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuB;AAIvB,MAAM,MAAM,oBAAI,QAAqB;AACrC,MAAM,UAAU,CAAC,KAAU,SAAS,OAAO;AACzC,MAAI,IAAI,IAAI,GAAG;AAAG,WAAO,IAAI,IAAI,GAAG;AACpC,QAAM,MAAM,GAAG,MAAM,IAAI,KAAK,OAAO,CAAC;AACtC,MAAI,IAAI,KAAK,GAAG;AAChB,SAAO;AACT;AAEO,SAAS,YAAY,aAAkB,OAA+B;AAG3E,QAAM,YACJ,QAAQ,IAAI,aAAa,gBAAgB,YAAY,SAAS,IAAI,QAAQ,WAAW;AACvF,QAAM,MAAM,GAAG,SAAS,GACtB,CAAC,QAAQ,KAAK,OAAO,UAAU,WAAW,QAAQ,OAAO,KAAK,CAChE;AACA,SAAO;AACT;AAEO,MAAM,oBAAoB,OAAO,mBAAmB;AACpD,MAAM,QAAQ,oBAAI,IAAuB;AAEzC,SAAS,oBAAoB,eAAoB;AACtD,QAAM,QAAQ,OAAO,eAAe,aAAa;AACjD,QAAM,sBAAsB,OAAO,0BAA0B,aAAa;AAC1E,QAAM,mBAAmB,OAAO,0BAA0B,KAAK;AAC/D,QAAM,cAAc;AAAA,IAClB,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,SAAO,YAAY;AACnB,SAAO;AACT;AAEO,SAAS,IAAO,GAAM,GAAyD;AACpF,SAAO;AACT;AAEO,SAAS,OAAO,OAAe;AACpC,MAAI,IAAI;AACR,QAAM,SAAS,OAAO,KAAK,KAAK,EAAE,KAAK;AACvC,aAAW,OAAO,QAAQ;AACxB,UAAM,IAAI,MAAM,GAAG;AACnB,QAAI,KAAK,OAAO,MAAM,UAAU;AAC9B,WAAK,OAAO,CAAC;AAAA,IACf,OAAO;AACL,WAAK,IAAI,GAAG,IAAI,CAAC;AAAA,IACnB;AAAA,EACF;AACA,SAAO;AACT;AAIe,SAAR,YAAgC,IAAgB;AACrD,QAAM,UAAM,qBAAqB;AACjC,MAAI,CAAC,IAAI,SAAS;AAChB,QAAI,UAAU,EAAE,GAAG,GAAG,EAAE;AAAA,EAC1B;AACA,SAAO,IAAI,QAAQ;AACrB;AAEO,SAAS,UAAU,KAAU;AAClC,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,WAAO,OAAO,QAAQ,aAClB,OACA,OAAO,QAAQ,WACf,IAAI,GAAG,MACP,CAAC,MACD,MACA,OAAO,QAAQ,WACf,MACA,MAAM,QAAQ,GAAG,IACjB,UACA;AAAA,EACN;AACA,SAAO;AACT;AAGO,SAAS,kBAAkB,OAAY;AAC5C,SACE,MAAM,iBAAiB,KAAK,MAAM,IAAI,YAAY,MAAM,aAAa,MAAM,KAAK,CAAC;AAErF;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA2B;AAC3B,mBAAuB;AAIhB,SAAS,YAAY,aAAkB,OAA+B;AAC3E,aAAO;AAAA,IACL,GAAG,WAAW,GACZ,CAAC,QAAQ,KAAK,OAAO,UAAU,WAAW,QAAQ,KAAK,UAAU,KAAK,CACxE;AAAA,IACA;AAAA,EACF;AACF;AAEO,MAAM,oBAAoB,OAAO,mBAAmB;AACpD,MAAM,QAAQ,oBAAI,IAAuB;AAEzC,SAAS,oBAAoB,eAAoB;AACtD,QAAM,QAAQ,OAAO,eAAe,aAAa;AACjD,QAAM,sBAAsB,OAAO,0BAA0B,aAAa;AAC1E,QAAM,mBAAmB,OAAO,0BAA0B,KAAK;AAC/D,QAAM,cAAc;AAAA,IAClB,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,SAAO,YAAY;AACnB,SAAO;AACT;AAEO,SAAS,IAAO,GAAM,GAAyD;AACpF,SAAO;AACT;AAIe,SAAR,YAAgC,IAAgB;AACrD,QAAM,UAAM,qBAAqB;AACjC,MAAI,CAAC,IAAI,SAAS;AAChB,QAAI,UAAU,EAAE,GAAG,GAAG,EAAE;AAAA,EAC1B;AACA,SAAO,IAAI,QAAQ;AACrB;AAEO,SAAS,UAAU,KAAU;AAClC,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,WAAO,OAAO,QAAQ,aAClB,OACA,OAAO,QAAQ,WACf,IAAI,GAAG,MACP,CAAC,MACD,MACA,OAAO,QAAQ,WACf,MACA,MAAM,QAAQ,GAAG,IACjB,UACA;AAAA,EACN;AACA,SAAO;AACT;AAGO,SAAS,kBAAkB,OAAY;AAC5C,SACE,MAAM,iBAAiB,KAAK,MAAM,IAAI,YAAY,MAAM,aAAa,MAAM,KAAK,CAAC;AAErF;",
5
5
  "names": []
6
6
  }
package/dist/cjs/index.js CHANGED
@@ -27,8 +27,7 @@ module.exports = __toCommonJS(src_exports);
27
27
  __reExport(src_exports, require("./useStore"), module.exports);
28
28
  var import_configureUseStore = require("./configureUseStore");
29
29
  __reExport(src_exports, require("./interfaces"), module.exports);
30
- __reExport(src_exports, require("./selector"), module.exports);
31
- __reExport(src_exports, require("./reaction"), module.exports);
30
+ __reExport(src_exports, require("./observe"), module.exports);
32
31
  var import_constants = require("./constants");
33
32
  __reExport(src_exports, require("./comparators"), module.exports);
34
33
  __reExport(src_exports, require("./decorators"), module.exports);
@@ -44,8 +43,7 @@ class Store {
44
43
  configureUseStore,
45
44
  ...require("./useStore"),
46
45
  ...require("./interfaces"),
47
- ...require("./selector"),
48
- ...require("./reaction"),
46
+ ...require("./observe"),
49
47
  ...require("./comparators"),
50
48
  ...require("./decorators")
51
49
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAc,uBAAd;AACA,+BAAkC;AAClC,wBAAc,yBAFd;AAGA,wBAAc,uBAHd;AAIA,wBAAc,uBAJd;AAKA,uBAA6B;AAC7B,wBAAc,0BANd;AAOA,wBAAc,yBAPd;AAUO,MAAM,MAAyC;AAAA,EACpD,YAAmB,OAAc;AAAd;AAAA,EAAe;AACpC;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAc,uBAAd;AACA,+BAAkC;AAClC,wBAAc,yBAFd;AAGA,wBAAc,sBAHd;AAIA,uBAA6B;AAC7B,wBAAc,0BALd;AAMA,wBAAc,yBANd;AASO,MAAM,MAAyC;AAAA,EACpD,YAAmB,OAAc;AAAd;AAAA,EAAe;AACpC;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var observe_exports = {};
20
+ __export(observe_exports, {
21
+ observe: () => observe,
22
+ useObserve: () => useObserve
23
+ });
24
+ module.exports = __toCommonJS(observe_exports);
25
+ var import_react = require("react");
26
+ var import_comparators = require("./comparators");
27
+ var import_constants = require("./constants");
28
+ var import_useStore = require("./useStore");
29
+ const logUpdate = process.env.NODE_ENV === "development" ? (fn, stores, last, next) => {
30
+ const getStoreLogName = (store) => {
31
+ var _a;
32
+ const str = store[import_constants.UNWRAP_PROXY] ?? store;
33
+ return `${str.constructor.name}${((_a = store.props) == null ? void 0 : _a.id) ? `:${store.props.id}` : ""}`;
34
+ };
35
+ const storeNames = stores.map(getStoreLogName).join(", ");
36
+ const name = `\u{1F311} \u25B6\uFE0F %c${fn.name} ${storeNames} () ${last} => ${next}`;
37
+ console.groupCollapsed(name, "color: tomato;");
38
+ console.groupCollapsed("trace >");
39
+ console.trace();
40
+ console.groupEnd();
41
+ console.log(" next", next);
42
+ console.groupEnd();
43
+ } : null;
44
+ function observe(fn) {
45
+ let prev = getObserverValueAndStoresAccessed(fn);
46
+ let disposeValue = null;
47
+ const subscribe = () => {
48
+ const stores = [...prev.storeInfos];
49
+ return subscribeToStores(stores, () => {
50
+ disposeValue == null ? void 0 : disposeValue();
51
+ const next = getObserverValueAndStoresAccessed(fn);
52
+ if (typeof next.value === "function") {
53
+ disposeValue = next.value;
54
+ if (process.env.NODE_ENV === "development") {
55
+ logUpdate(fn, [...next.storeInfos], "(fn)", "(fn)");
56
+ }
57
+ return;
58
+ }
59
+ if ((0, import_comparators.isEqualSubsetShallow)(prev.storeInfos, next.storeInfos) && (0, import_comparators.isEqualSubsetShallow)(prev.value, next.value)) {
60
+ return;
61
+ }
62
+ if (process.env.NODE_ENV === "development") {
63
+ logUpdate(fn, [...next.storeInfos], prev.value, next.value);
64
+ }
65
+ prev = next;
66
+ dispose();
67
+ dispose = subscribe();
68
+ });
69
+ };
70
+ let dispose = subscribe();
71
+ return {
72
+ dispose: () => {
73
+ dispose();
74
+ disposeValue == null ? void 0 : disposeValue();
75
+ },
76
+ getValue: () => prev.value
77
+ };
78
+ }
79
+ function useObserve(fn) {
80
+ const [state, setState] = (0, import_react.useState)(() => {
81
+ return getObserverValueAndStoresAccessed(fn);
82
+ });
83
+ (0, import_react.useEffect)(() => {
84
+ let dispose;
85
+ const unsub = subscribeToStores([...state.storeInfos], () => {
86
+ dispose == null ? void 0 : dispose();
87
+ const next = getObserverValueAndStoresAccessed(fn);
88
+ const nextStoreInfos = [...next.storeInfos];
89
+ const prevStoreInfos = [...state.storeInfos];
90
+ if (typeof next.value === "function") {
91
+ if (process.env.NODE_ENV === "development") {
92
+ logUpdate(fn, nextStoreInfos, "(fn)", "(fn)");
93
+ }
94
+ dispose = next.value;
95
+ return;
96
+ }
97
+ setState((prev) => {
98
+ if ((0, import_comparators.isEqualSubsetShallow)(prevStoreInfos, nextStoreInfos) && (0, import_comparators.isEqualSubsetShallow)(prev.value, next.value)) {
99
+ return prev;
100
+ }
101
+ if (process.env.NODE_ENV === "development") {
102
+ logUpdate(fn, nextStoreInfos, prev.value, next.value);
103
+ }
104
+ return next;
105
+ });
106
+ });
107
+ return () => {
108
+ unsub();
109
+ dispose == null ? void 0 : dispose();
110
+ };
111
+ }, [[...state.storeInfos].map((i) => i.uid).join(",")]);
112
+ return state.value;
113
+ }
114
+ function getObserverValueAndStoresAccessed(selector) {
115
+ const storeInfos = /* @__PURE__ */ new Set();
116
+ const dispose = (0, import_useStore.trackStoresAccess)((storeInfo) => {
117
+ storeInfos.add(storeInfo);
118
+ });
119
+ const value = selector();
120
+ dispose();
121
+ return {
122
+ value,
123
+ storeInfos
124
+ };
125
+ }
126
+ function subscribeToStores(storeInfos, onUpdate) {
127
+ const disposes = [];
128
+ let isUpdating = false;
129
+ const onUpdateDebouncedWithoutTracking = () => {
130
+ if (isUpdating)
131
+ return;
132
+ isUpdating = true;
133
+ queueMicrotask(() => {
134
+ try {
135
+ for (const storeInfo of storeInfos) {
136
+ storeInfo.disableTracking = true;
137
+ }
138
+ onUpdate();
139
+ } finally {
140
+ isUpdating = false;
141
+ for (const storeInfo of storeInfos) {
142
+ storeInfo.disableTracking = false;
143
+ }
144
+ }
145
+ });
146
+ };
147
+ for (const storeInfo of storeInfos) {
148
+ disposes.push(storeInfo.subscribe(onUpdateDebouncedWithoutTracking));
149
+ }
150
+ return () => {
151
+ disposes.forEach((x) => x());
152
+ };
153
+ }
154
+ // Annotate the CommonJS export names for ESM import in node:
155
+ 0 && (module.exports = {
156
+ observe,
157
+ useObserve
158
+ });
159
+ //# sourceMappingURL=observe.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/observe.tsx"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -1,82 +1,2 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var reaction_exports = {};
20
- __export(reaction_exports, {
21
- reaction: () => reaction,
22
- useReaction: () => useReaction
23
- });
24
- module.exports = __toCommonJS(reaction_exports);
25
- var import_react = require("react");
26
- var import_comparators = require("./comparators");
27
- var import_constants = require("./constants");
28
- var import_useStore = require("./useStore");
29
- const dispose = (d) => {
30
- if (typeof d === "function") {
31
- d();
32
- }
33
- };
34
- function useReaction(store, selector, receiver, props, equalityFn = import_comparators.isEqualSubsetShallow, memoArgs) {
35
- const storeInfo = (0, import_useStore.getStoreInfo)(store, props);
36
- return (0, import_react.useMemo)(
37
- () => reaction(storeInfo, selector, receiver, equalityFn),
38
- [memoArgs]
39
- );
40
- }
41
- function reaction({ store, subscribe }, selector, receiver, equalityFn = import_comparators.isEqualSubsetShallow) {
42
- let last = void 0;
43
- let innerDispose;
44
- function updateReaction() {
45
- var _a;
46
- try {
47
- (0, import_useStore.setIsInReaction)(true);
48
- const storeInstance = store[import_constants.UNWRAP_PROXY] || store;
49
- const next = selector(storeInstance);
50
- if (!equalityFn(last, next)) {
51
- if (process.env.NODE_ENV === "development") {
52
- console.groupCollapsed(
53
- `\u{1F311} \u23ED %c${receiver.name.padStart(24)} (${storeInstance.constructor.name}${((_a = store.props) == null ? void 0 : _a.id) ? `:${store.props.id}` : ""}) ${last} => ${next}`,
54
- "color: chocolate;"
55
- );
56
- console.groupCollapsed("trace >");
57
- console.trace();
58
- console.groupEnd();
59
- console.log(" ARG", next);
60
- console.groupEnd();
61
- }
62
- dispose(innerDispose);
63
- last = next;
64
- innerDispose = receiver(next);
65
- }
66
- } finally {
67
- (0, import_useStore.setIsInReaction)(false);
68
- }
69
- }
70
- const disposeSubscribe = subscribe(updateReaction);
71
- updateReaction();
72
- return () => {
73
- disposeSubscribe();
74
- dispose(innerDispose);
75
- };
76
- }
77
- // Annotate the CommonJS export names for ESM import in node:
78
- 0 && (module.exports = {
79
- reaction,
80
- useReaction
81
- });
82
2
  //# sourceMappingURL=reaction.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/reaction.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwB;AAExB,yBAAqC;AACrC,uBAA6B;AAE7B,sBAA8C;AAE9C,MAAM,UAAU,CAAC,MAAW;AAC1B,MAAI,OAAO,MAAM,YAAY;AAC3B,MAAE;AAAA,EACJ;AACF;AAEO,SAAS,YACd,OACA,UACA,UAGA,OACA,aAA0C,yCAC1C,UACA;AACA,QAAM,gBAAY,8BAAa,OAAO,KAAK;AAC3C,aAAO;AAAA,IACL,MAAM,SAAS,WAAW,UAAiB,UAAU,UAAU;AAAA,IAC/D,CAAC,QAAQ;AAAA,EACX;AACF;AAEO,SAAS,SAId,EAAE,OAAO,UAAU,GACnB,UACA,UAGA,aAA0C,yCAC1C;AACA,MAAI,OAAY;AAChB,MAAI;AAEJ,WAAS,iBAAiB;AA5C5B;AA6CI,QAAI;AACF,2CAAgB,IAAI;AACpB,YAAM,gBAAgB,MAAM,6BAAY,KAAK;AAC7C,YAAM,OAAO,SAAS,aAAa;AACnC,UAAI,CAAC,WAAW,MAAM,IAAI,GAAG;AAC3B,YAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,kBAAQ;AAAA,YACN,uBAAW,SAAS,KAAK,SAAS,EAAE,CAAC,KAAK,cAAc,YAAY,IAAI,KACtE,WAAM,UAAN,mBAAa,MAAK,IAAI,MAAM,MAAM,EAAE,KAAK,EAC3C,KAAK,IAAI,OAAO,IAAI;AAAA,YACpB;AAAA,UACF;AACA,kBAAQ,eAAe,SAAS;AAChC,kBAAQ,MAAM;AACd,kBAAQ,SAAS;AAEjB,kBAAQ,IAAI,SAAS,IAAI;AACzB,kBAAQ,SAAS;AAAA,QACnB;AACA,gBAAQ,YAAY;AACpB,eAAO;AACP,uBAAe,SAAS,IAAI;AAAA,MAC9B;AAAA,IACF,UAAE;AACA,2CAAgB,KAAK;AAAA,IACvB;AAAA,EACF;AAEA,QAAM,mBAAmB,UAAU,cAAc;AACjD,iBAAe;AAEf,SAAO,MAAM;AACX,qBAAiB;AACjB,YAAQ,YAAY;AAAA,EACtB;AACF;",
3
+ "sources": [],
4
+ "mappings": "",
5
5
  "names": []
6
6
  }
@@ -18,7 +18,8 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var selector_exports = {};
20
20
  __export(selector_exports, {
21
- useSelector: () => useSelector
21
+ observe: () => observe,
22
+ useObserve: () => useObserve
22
23
  });
23
24
  module.exports = __toCommonJS(selector_exports);
24
25
  var import_react = require("react");
@@ -40,15 +41,50 @@ const logUpdate = process.env.NODE_ENV === "development" ? (fn, stores, last, ne
40
41
  console.log(" next", next);
41
42
  console.groupEnd();
42
43
  } : null;
43
- function useSelector(fn) {
44
+ function observe(fn) {
45
+ let prev = getObserverValueAndStoresAccessed(fn);
46
+ let disposeValue = null;
47
+ const subscribe = () => {
48
+ const stores = [...prev.storeInfos];
49
+ return subscribeToStores(stores, () => {
50
+ disposeValue == null ? void 0 : disposeValue();
51
+ const next = getObserverValueAndStoresAccessed(fn);
52
+ if (typeof next.value === "function") {
53
+ disposeValue = next.value;
54
+ if (process.env.NODE_ENV === "development") {
55
+ logUpdate(fn, [...next.storeInfos], "(fn)", "(fn)");
56
+ }
57
+ return;
58
+ }
59
+ if ((0, import_comparators.isEqualSubsetShallow)(prev.storeInfos, next.storeInfos) && (0, import_comparators.isEqualSubsetShallow)(prev.value, next.value)) {
60
+ return;
61
+ }
62
+ if (process.env.NODE_ENV === "development") {
63
+ logUpdate(fn, [...next.storeInfos], prev.value, next.value);
64
+ }
65
+ prev = next;
66
+ dispose();
67
+ dispose = subscribe();
68
+ });
69
+ };
70
+ let dispose = subscribe();
71
+ return {
72
+ dispose: () => {
73
+ dispose();
74
+ disposeValue == null ? void 0 : disposeValue();
75
+ },
76
+ getValue: () => prev.value
77
+ };
78
+ }
79
+ function useObserve(fn) {
44
80
  const [state, setState] = (0, import_react.useState)(() => {
45
- return runStoreSelector(fn);
81
+ return getObserverValueAndStoresAccessed(fn);
46
82
  });
47
83
  (0, import_react.useEffect)(() => {
48
84
  let dispose;
49
85
  const unsub = subscribeToStores([...state.storeInfos], () => {
50
86
  dispose == null ? void 0 : dispose();
51
- const next = runStoreSelector(fn);
87
+ const next = getObserverValueAndStoresAccessed(fn);
52
88
  const nextStoreInfos = [...next.storeInfos];
53
89
  const prevStoreInfos = [...state.storeInfos];
54
90
  if (typeof next.value === "function") {
@@ -75,7 +111,7 @@ function useSelector(fn) {
75
111
  }, [[...state.storeInfos].map((i) => i.uid).join(",")]);
76
112
  return state.value;
77
113
  }
78
- function runStoreSelector(selector) {
114
+ function getObserverValueAndStoresAccessed(selector) {
79
115
  const storeInfos = /* @__PURE__ */ new Set();
80
116
  const dispose = (0, import_useStore.trackStoresAccess)((storeInfo) => {
81
117
  storeInfos.add(storeInfo);
@@ -87,10 +123,28 @@ function runStoreSelector(selector) {
87
123
  storeInfos
88
124
  };
89
125
  }
90
- function subscribeToStores(stores, onUpdate) {
126
+ function subscribeToStores(storeInfos, onUpdate) {
91
127
  const disposes = [];
92
- for (const store of stores) {
93
- disposes.push(store.subscribe(onUpdate));
128
+ let isUpdating = false;
129
+ const onUpdateDebouncedWithoutTracking = () => {
130
+ if (isUpdating)
131
+ return;
132
+ isUpdating = true;
133
+ queueMicrotask(() => {
134
+ try {
135
+ for (const storeInfo of storeInfos) {
136
+ storeInfo.disableTracking = true;
137
+ }
138
+ onUpdate();
139
+ } finally {
140
+ for (const storeInfo of storeInfos) {
141
+ storeInfo.disableTracking = false;
142
+ }
143
+ }
144
+ });
145
+ };
146
+ for (const storeInfo of storeInfos) {
147
+ disposes.push(storeInfo.subscribe(onUpdateDebouncedWithoutTracking));
94
148
  }
95
149
  return () => {
96
150
  disposes.forEach((x) => x());
@@ -98,6 +152,7 @@ function subscribeToStores(stores, onUpdate) {
98
152
  }
99
153
  // Annotate the CommonJS export names for ESM import in node:
100
154
  0 && (module.exports = {
101
- useSelector
155
+ observe,
156
+ useObserve
102
157
  });
103
158
  //# sourceMappingURL=selector.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/selector.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoC;AAEpC,yBAAqC;AACrC,uBAA6B;AAE7B,sBAAkC;AAIlC,MAAM,YACJ,QAAQ,IAAI,aAAa,gBACrB,CAAC,IAAS,QAAe,MAAW,SAAc;AAChD,QAAM,kBAAkB,CAAC,UAAe;AAZhD;AAaU,UAAM,MAAM,MAAM,6BAAY,KAAK;AACnC,WAAO,GAAG,IAAI,YAAY,IAAI,KAAG,WAAM,UAAN,mBAAa,MAAK,IAAI,MAAM,MAAM,EAAE,KAAK,EAAE;AAAA,EAC9E;AACA,QAAM,aAAa,OAAO,IAAI,eAAe,EAAE,KAAK,IAAI;AACxD,QAAM,OAAO,6BAAY,GAAG,IAAI,IAAI,UAAU,OAAO,IAAI,OAAO,IAAI;AACpE,UAAQ,eAAe,MAAM,gBAAgB;AAC7C,UAAQ,eAAe,SAAS;AAChC,UAAQ,MAAM;AACd,UAAQ,SAAS;AAEjB,UAAQ,IAAI,UAAU,IAAI;AAC1B,UAAQ,SAAS;AACnB,IACA;AA2CC,SAAS,YAAe,IAAgB;AAC7C,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAS,MAAM;AACvC,WAAO,iBAAiB,EAAE;AAAA,EAC5B,CAAC;AAED,8BAAU,MAAM;AACd,QAAI;AACJ,UAAM,QAAQ,kBAAkB,CAAC,GAAG,MAAM,UAAU,GAAG,MAAM;AAC3D;AACA,YAAM,OAAO,iBAAiB,EAAE;AAEhC,YAAM,iBAAiB,CAAC,GAAG,KAAK,UAAU;AAC1C,YAAM,iBAAiB,CAAC,GAAG,MAAM,UAAU;AAG3C,UAAI,OAAO,KAAK,UAAU,YAAY;AACpC,YAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,oBAAW,IAAI,gBAAgB,QAAQ,MAAM;AAAA,QAC/C;AACA,kBAAU,KAAK;AACf;AAAA,MACF;AACA,eAAS,CAAC,SAAS;AACjB,gBACE,yCAAqB,gBAAgB,cAAc,SACnD,yCAAqB,KAAK,OAAO,KAAK,KAAK,GAC3C;AACA,iBAAO;AAAA,QACT;AACA,YAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,oBAAW,IAAI,gBAAgB,KAAK,OAAO,KAAK,KAAK;AAAA,QACvD;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IACH,CAAC;AACD,WAAO,MAAM;AACX,YAAM;AACN;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC,GAAG,MAAM,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;AAEtD,SAAO,MAAM;AACf;AAEA,SAAS,iBAAoB,UAG3B;AACA,QAAM,aAAa,oBAAI,IAAe;AACtC,QAAM,cAAU,mCAAkB,CAAC,cAAc;AAC/C,eAAW,IAAI,SAAS;AAAA,EAC1B,CAAC;AACD,QAAM,QAAQ,SAAS;AACvB,UAAQ;AACR,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AAEA,SAAS,kBAAkB,QAAqB,UAAqB;AACnE,QAAM,WAAuB,CAAC;AAC9B,aAAW,SAAS,QAAQ;AAC1B,aAAS,KAAK,MAAM,UAAU,QAAQ,CAAC;AAAA,EACzC;AACA,SAAO,MAAM;AACX,aAAS,QAAQ,CAAC,MAAM,EAAE,CAAC;AAAA,EAC7B;AACF;",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -22,8 +22,10 @@ __export(useStore_exports, {
22
22
  createStore: () => createStore,
23
23
  createUseStore: () => createUseStore,
24
24
  createUseStoreSelector: () => createUseStoreSelector,
25
+ getOrCreateStore: () => getOrCreateStore,
25
26
  getStore: () => getStore,
26
27
  getStoreInfo: () => getStoreInfo,
28
+ onCreateStore: () => onCreateStore,
27
29
  setIsInReaction: () => setIsInReaction,
28
30
  trackStoresAccess: () => trackStoresAccess,
29
31
  useGlobalStore: () => useGlobalStore,
@@ -50,10 +52,7 @@ function useStoreDebug(StoreKlass, props) {
50
52
  return useStore(StoreKlass, props, { debug: true });
51
53
  }
52
54
  function createStore(StoreKlass, props, options) {
53
- return getOrCreateStoreInfo(StoreKlass, props, {
54
- ...options,
55
- avoidCache: true
56
- }).store;
55
+ return getOrCreateStoreInfo(StoreKlass, props, options).store;
57
56
  }
58
57
  function useGlobalStore(instance, debug) {
59
58
  const store = instance[import_constants.UNWRAP_PROXY];
@@ -96,11 +95,23 @@ function trackStoresAccess(cb) {
96
95
  function getStore(StoreKlass, props) {
97
96
  return getStoreInfo(StoreKlass, props).store;
98
97
  }
98
+ function getOrCreateStore(StoreKlass, props) {
99
+ return getOrCreateStoreInfo(StoreKlass, props, {
100
+ refuseCreation: false
101
+ }).store;
102
+ }
99
103
  function getStoreInfo(StoreKlass, props) {
100
104
  return getOrCreateStoreInfo(StoreKlass, props, {
101
105
  refuseCreation: true
102
106
  });
103
107
  }
108
+ const onCreateListeners = /* @__PURE__ */ new Set();
109
+ function onCreateStore(cb) {
110
+ onCreateListeners.add(cb);
111
+ return () => {
112
+ onCreateListeners.delete(cb);
113
+ };
114
+ }
104
115
  function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
105
116
  var _a;
106
117
  const uid = (0, import_helpers.getStoreUid)(StoreKlass, propsKeyCalculated ?? props);
@@ -131,11 +142,12 @@ function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
131
142
  const keyComparators = storeInstance["_comparators"];
132
143
  const listeners = /* @__PURE__ */ new Set();
133
144
  const storeInfo = {
134
- uid: Math.random(),
145
+ uid,
135
146
  keyComparators,
136
147
  storeInstance,
137
148
  getters,
138
149
  stateKeys,
150
+ props,
139
151
  actions,
140
152
  debug: options == null ? void 0 : options.debug,
141
153
  disableTracking: false,
@@ -172,6 +184,7 @@ function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
172
184
  storeInfo.store = store;
173
185
  const result = storeInfo;
174
186
  import_helpers.cache.set(uid, result);
187
+ onCreateListeners.forEach((cb) => cb(result));
175
188
  return result;
176
189
  }
177
190
  const allStores = {};
@@ -415,18 +428,13 @@ function createProxiedStore(storeInfo) {
415
428
  if (key === import_helpers.UNWRAP_STORE_INFO) {
416
429
  return storeInfo;
417
430
  }
418
- const trackingDisabled = storeInfo.disableTracking;
419
- if (!trackingDisabled) {
420
- if (storeAccessTrackers.size && !storeAccessTrackers.has(storeInstance)) {
421
- for (const t of storeAccessTrackers) {
422
- t(storeInfo);
423
- }
424
- }
431
+ if (storeAccessTrackers.size) {
432
+ storeAccessTrackers.forEach((cb) => cb(storeInfo));
425
433
  }
426
434
  if (typeof key !== "string") {
427
435
  return Reflect.get(storeInstance, key);
428
436
  }
429
- if (!trackingDisabled) {
437
+ if (!storeInfo.disableTracking) {
430
438
  if (gettersState.isGetting) {
431
439
  gettersState.curGetKeys.add(key);
432
440
  } else {
@@ -521,8 +529,10 @@ function getShouldDebug(storeInfo) {
521
529
  createStore,
522
530
  createUseStore,
523
531
  createUseStoreSelector,
532
+ getOrCreateStore,
524
533
  getStore,
525
534
  getStoreInfo,
535
+ onCreateStore,
526
536
  setIsInReaction,
527
537
  trackStoresAccess,
528
538
  useGlobalStore,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useStore.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0D;AAE1D,yBAAqC;AACrC,+BAA8B;AAC9B,uBAA6C;AAC7C,qBAMO;AAEP,2BAA8D;AAE9D,MAAM,OAAO,CAAC,MAAM;AAGb,SAAS,SACd,YACA,OACA,UAAmC,iCAChC;AACH,QAAM,iBAAa,0BAAY,QAAQ,YAAY,MAAM,CAAC,CAAC;AAC3D,QAAM,WAAW,QAAQ,WAAW,aAAa,QAAQ;AACzD,QAAM,OAAO,qBAAqB,YAAY,OAAO,OAAO;AAC5D,SAAO,iBAAiB,MAAM,UAAU,OAAO;AACjD;AAEO,SAAS,cACd,YACA,OACG;AACH,SAAO,SAAS,YAAY,OAAO,EAAE,OAAO,KAAK,CAAC;AACpD;AAGO,SAAS,YACd,YACA,OACA,SACG;AACH,SAAO,qBAAqB,YAAY,OAAO;AAAA,IAC7C,GAAG;AAAA,IACH,YAAY;AAAA,EACd,CAAC,EAAE;AACL;AAIO,SAAS,eAAoC,UAAa,OAAoB;AACnF,QAAM,QAAQ,SAAS,6BAAY;AACnC,QAAM,UAAM,4BAAY,MAAM,aAAa,MAAM,KAAK;AACtD,QAAM,OAAO,qBAAM,IAAI,GAAG;AAC1B,MAAI,CAAC,MAAM;AACT,UAAM,IAAI,MAAM,4CAA4C;AAAA,EAC9D;AACA,SAAO,iBAAiB,MAAM,QAAW,EAAE,MAAM,CAAC;AACpD;AAEO,SAAS,uBACd,UACA,UACA,OACkD;AAClD,QAAM,QAAQ,SAAS,6BAAY;AACnC,QAAM,UAAM,4BAAY,MAAM,aAAa,MAAM,KAAK;AACtD,QAAM,OAAO,qBAAM,IAAI,GAAG;AAC1B,MAAI,CAAC,MAAM;AACT,UAAM,IAAI,MAAM,4CAA4C;AAAA,EAC9D;AACA,SAAO,iBAAiB,MAAM,UAAU,EAAE,MAAM,CAAC;AACnD;AAGO,SAAS,eACd,YACA;AACA,SAAO,SACL,OACA,SAE2E;AAC3E,WAAO,SAAS,YAAmB,OAAO,OAAO;AAAA,EACnD;AACF;AAGO,SAAS,uBAKd,YACA,UAC6B;AAC7B,SAAO,CAAC,UAAkB;AACxB,WAAO,SAAS,YAAY,OAAO,EAAE,SAAS,CAAC;AAAA,EACjD;AACF;AAGO,SAAS,iBAKd,YACA,UACA,OACgD;AAChD,SAAO,SAAS,YAAY,OAAO,EAAE,SAAS,CAAC;AACjD;AAGA,MAAM,sBAAsB,oBAAI,IAAwB;AACjD,SAAS,kBAAkB,IAAwB;AACxD,sBAAoB,IAAI,EAAE;AAC1B,SAAO,MAAM;AACX,wBAAoB,OAAO,EAAE;AAAA,EAC/B;AACF;AAEO,SAAS,SACd,YACA,OACG;AACH,SAAO,aAAa,YAAY,KAAK,EAAE;AACzC;AAGO,SAAS,aAAa,YAAiB,OAAY;AACxD,SAAO,qBAAqB,YAAY,OAAO;AAAA,IAC7C,gBAAgB;AAAA,EAClB,CAAC;AACH;AAEA,SAAS,qBACP,YACA,OACA,SACA,oBACA;AA9IF;AA+IE,QAAM,UAAM,4BAAY,YAAY,sBAAsB,KAAK;AAC/D,MAAI,EAAC,mCAAS,eAAc,qBAAM,IAAI,GAAG,GAAG;AAC1C,WAAO,qBAAM,IAAI,GAAG;AAAA,EACtB;AACA,MAAI,mCAAS,gBAAgB;AAC3B,UAAM,IAAI,MAAM,oBAAoB,WAAW,IAAI,iBAAiB,KAAK,EAAE;AAAA,EAC7E;AAGA,QAAM,gBAAgB,IAAI,WAAW,KAAM;AAE3C,gBAAc,QAAQ;AAEtB,QAAM,UAAU,CAAC;AACjB,QAAM,UAAU,CAAC;AACjB,QAAM,YAAY,oBAAI,IAAY;AAClC,QAAM,kBAAc,oCAAoB,aAAa;AACrD,aAAW,OAAO,aAAa;AAC7B,UAAM,aAAa,YAAY,GAAG;AAClC,QAAI,OAAO,WAAW,UAAU,YAAY;AAE1C,cAAQ,GAAG,IAAI,WAAW;AAAA,IAC5B,WAAW,OAAO,WAAW,QAAQ,YAAY;AAC/C,cAAQ,GAAG,IAAI,WAAW;AAAA,IAC5B,OAAO;AACL,UAAI,QAAQ,WAAW,IAAI,CAAC,MAAM,KAAK;AACrC,kBAAU,IAAI,GAAG;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAEA,QAAM,iBAAiB,cAAc,cAAc;AACnD,QAAM,YAAY,oBAAI,IAAc;AAEpC,QAAM,YAAY;AAAA,IAChB,KAAK,KAAK,OAAO;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,mCAAS;AAAA,IAChB,iBAAiB;AAAA,IACjB,cAAc;AAAA,MACZ,UAAU,oBAAI,IAAiB;AAAA,MAC/B,cAAc,oBAAI,IAAyB;AAAA,MAC3C,YAAY,oBAAI,IAAY;AAAA,MAC5B,WAAW;AAAA,IACb;AAAA,IACA;AAAA,IACA,UAAU,oBAAI,IAAI;AAAA,IAClB,SAAS;AAAA,IACT,WAAW,CAAC,cAAwB;AAClC,gBAAU,IAAI,SAAS;AACvB,aAAO,MAAM;AACX,kBAAU,OAAO,SAAS;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,eAAe,MAAM;AACnB,gBAAU,WAAW,UAAU,UAAU,KAAK,OAAO;AACrD,iBAAW,MAAM,WAAW;AAC1B,WAAG;AAAA,MACL;AAAA,IACF;AAAA,EACF;AAEA,QAAM,QAAQ;AAAA;AAAA,IAEZ;AAAA,EACF;AAGA,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAU,GAAG,IAAI;AAAA,EACnB;AAGA,cAAM,UAAN;AAGA,YAAU,QAAQ;AAElB,QAAM,SAAS;AAGf,uBAAM,IAAI,KAAK,MAAM;AAErB,SAAO;AACT;AAEO,MAAM,YAAY,CAAC;AAE1B,MAAM,WAAW,CAAC;AAClB,MAAM,aAAa,CAAC,KAAU,SAAmB;AAC/C,MAAI,CAAC,KAAK,QAAQ;AAChB,WAAO;AAAA,EACT;AACA,QAAM,MAAM,CAAC;AACb,aAAW,OAAO,MAAM;AACtB,QAAI,GAAG,IAAI,IAAI,GAAG;AAAA,EACpB;AACA,SAAO;AACT;AAEA,IAAI,eAAe;AACZ,MAAM,kBAAkB,CAAC,QAAiB;AAC/C,iBAAe;AACjB;AAEA,SAAS,iBACP,MACA,cACA,SACK;AACL,QAAM,EAAE,MAAM,IAAI;AAClB,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AACA,QAAM,eAAW,qBAAqB;AACtC,QAAM,gBAAY,0CAAoB;AACtC,MAAI,CAAC,SAAS,SAAS;AACrB,aAAS,UAAU;AAAA,MACjB;AAAA,MACA,SAAS,oBAAI,IAAY;AAAA,MACzB,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AACA,QAAM,cAAc,SAAS;AAC7B,QAAM,mBAAmB,mCAAS;AAElC,QAAM,kBAAc,0BAAY,MAAM;AACpC,UAAMA,eAAc,SAAS;AAC7B,UAAM,OAAO,CAAC,GAAI,CAACA,aAAY,QAAQ,OAAO,KAAK,YAAYA,aAAY,OAAQ;AACnF,UAAM,WAAW,GAAG,KAAK,OAAO,GAAG,KAAK,KAAK,EAAE,CAAC,GAAG,gBAAgB,EAAE;AACrE,UAAM,WAAWA,aAAY;AAG7B,QAAI,aAAaA,aAAY,UAAU;AACrC,aAAOA,aAAY;AAAA,IACrB;AAEA,IAAAA,aAAY,WAAW;AAEvB,QAAI;AAEJ,SAAK,kBAAkB;AACvB,UAAM,OAAOA,aAAY;AACzB,QAAI,cAAc;AAChB,aAAO,aAAa,KAAK;AAAA,IAC3B,OAAO;AACL,aAAO,WAAW,OAAO,IAAI;AAAA,IAC/B;AACA,SAAK,kBAAkB;AAGvB,UAAM,cACJ,OAAO,SAAS,mBAChB,yCAAqB,MAAM,MAAM;AAAA,MAC/B,gBAAgB,KAAK;AAAA,IACvB,CAAC;AAEH,QAAI,kBAAkB;AAGpB,cAAQ,IAAI,yBAAkB,EAAE,YAAY,WAAW,OAAO,OAAO,KAAK,KAAK,CAAC,GAAG,cAAc,MAAM,aAAa,WAAW,MAAM,MAAM,MAAM,aAAAA,cAAa,UAAU,SAAS,CAAC;AAAA,IACpL;AAEA,QAAI,aAAa;AACf,aAAO;AAAA,IACT;AAEA,IAAAA,aAAY,OAAO;AACnB,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AAGL,QAAM,YAAQ,mCAAqB,KAAK,WAAW,aAAa,WAAW;AAE3E,MAAI,cAAc;AAChB,WAAO;AAAA,EACT;AAEA,SAAO,IAAI,MAAM,OAAO;AAAA,IACtB,IAAI,QAAQ,KAAK;AAEf,YAAM,SAAS,QAAQ,IAAI,QAAQ,GAAG;AAEtC,UAAI,cAAc;AAChB,eAAO;AAAA,MACT;AACA,YAAM,YAAY;AAElB,UAAI,KAAK,UAAU,IAAI,SAAS,KAAK,aAAa,KAAK,SAAS;AAC9D,YAAI,kBAAkB;AAEpB,kBAAQ,IAAI,YAAY,SAAS;AAAA,QACnC;AACA,oBAAY,QAAQ,IAAI,SAAS;AAAA,MACnC;AACA,UAAI,QAAQ,IAAI,OAAO,GAAG,GAAG;AAC3B,eAAO,QAAQ,IAAI,OAAO,GAAG;AAAA,MAC/B;AACA,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;AAEA,IAAI,UAAU,oBAAI,IAAS;AAC3B,MAAM,WAAW,oBAAI,IAAwB;AAE7C,SAAS,mBAAmB,WAAsB;AAChD,QAAM,EAAE,SAAS,eAAe,SAAS,aAAa,IAAI;AAC1D,QAAM,EAAE,UAAU,YAAY,aAAa,IAAI;AAC/C,QAAM,SAAS,cAAc;AAC7B,QAAMC,eAAc,UAAU,SAAS,iCAAY,IAAI,MAAM;AAE7D,MAAI,SAAS;AACb,QAAM,iBAAiB,CAAC;AAGxB,aAAW,OAAO,SAAS;AACzB,QAAI,QAAQ,aAAa;AACvB;AAAA,IACF;AAGA,UAAM,WAAW,QAAQ,GAAG;AAI5B,UAAM,UAAU,IAAI,WAAW,KAAK;AAGpC,mBAAe,GAAG,IAAI,SAAS,kBAAkB,MAAa;AAC5D,UAAI;AACJ,UAAI,WAAW,aAAa,WAAW;AACrC,eAAO,QAAQ,MAAM,UAAU,cAAc,IAAI;AAAA,MACnD;AACA,UAAI,QAAQ,IAAI,aAAa,iBAAiBA,cAAa;AAEzD,gBAAQ,IAAI,uBAAuB,GAAG;AAAA,MACxC;AACA,YAAM,QAAQ,MAAM,UAAU,cAAc,IAAI;AAChD,UAAI,eAAe,SAAS;AAC1B,eAAO,IAAI,KAAK,YAAY;AAAA,MAC9B;AACA,mBAAa;AACb,aAAO;AAAA,IACT;AAGA,QAAI,QAAQ,IAAI,aAAa,eAAe;AA0G1C,UAASC,YAAT,SAAkB,KAAa;AAC7B,YAAI,OAAO;AACX,iBAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACnC,iBAAO,IAAI,WAAW,CAAC,MAAM,QAAQ,KAAK;AAAA,QAC5C;AACA,eAAO;AAAA,MACT,GAESC,YAAT,SAAkB,KAAa;AAC7B,eAAO,OAAOD,UAAS,GAAG,IAAI,GAAG;AAAA,MACnC;AAVS,qBAAAA,WAQA,WAAAC;AAjHT,UAAI,CAAC,IAAI,WAAW,KAAK,KAAK,CAAC,IAAI,WAAW,GAAG,KAAK,QAAQ,aAAa;AACzE,cAAM,WAAW,eAAe,GAAG;AACnC,uBAAe,GAAG,IAAI,IAAI,MAAM,UAAU;AAAA,UACxC,MAAM,QAAQ,SAAS,MAAM;AAC3B,kBAAM,cAAcF,gBAAe,UAAU;AAC7C,kBAAM,YACJ,QAAQ,IAAI,cAAc,QACzB,eAAe,uCAAc,aAAa;AAE7C,gBAAI,CAAC,WAAW;AACd,qBAAO,QAAQ,MAAM,QAAQ,SAAS,IAAI;AAAA,YAC5C;AAEA,sBAAU,oBAAI,IAAI;AAClB,kBAAM,aAAa;AACnB,kBAAM,mBAAmB,SAAS,QAAQ;AAC1C,kBAAM,OAAO,oBAAI,IAAW;AAC5B,qBAAS,IAAI,IAAI;AACjB,gBAAI;AACJ,kBAAM,KAAK;AACX,gBAAI;AAEF,oBAAM,QAAQ,MAAM,QAAQ,SAAS,IAAI;AAAA,YAC3C,SAAS,KAAK;AACZ,sBAAQ,MAAM,SAAS,GAAG;AAC1B,oBAAM;AAAA,YACR,UAAE;AACA,uBAAS,IAAI,KAAK;AAElB,oBAAM,OAAO,OAAO;AACpB,oBAAM,QAAQE,UAAS,IAAI;AAC3B,oBAAM,aAAa,KAAK,IAAI,wBAAS;AACrC,mBAAK,IAAI;AAAA,gBACP,gBAAS,EAAE,IAAI,KAAK;AAAA,kBAClB,mBAAmB,IAAI;AAAA,gBACzB,CAAC,MAAM,GAAG,IAAI,WAAW,KAAK,IAAI,CAAC,IACjC,oBAAoB,SAAS,OAAO,IAAI,MAAM,SAAS,OAAO,CAAC,MAAM,EACvE;AAAA,gBACA,UAAU,KAAK;AAAA,gBACf;AAAA,cACF,CAAC;AACD,kBAAI,WAAW,MAAM;AACnB,2BAAW,QAAQ,CAAC,EAAE,KAAAC,MAAK,MAAM,MAAM;AACrC,sBACE,OAAO,UAAU,YACjB,OAAO,UAAU,YACjB,OAAO,UAAU,WACjB;AACA,yBAAK,IAAI,CAAC,QAAQA,IAAG,IAAI,KAAK,IAAI,KAAK,CAAC;AAAA,kBAC1C,OAAO;AACL,yBAAK,IAAI,CAAC,QAAQA,IAAG,IAAI,KAAK,CAAC;AAAA,kBACjC;AAAA,gBACF,CAAC;AAAA,cACH;AAEA,kBAAI,kBAAkB;AACpB,oBAAI,QAAQ;AACZ,oBAAI;AACF,6BAAW,QAAQ,CAAC,GAAG,QAAQ,GAAG;AAChC,wBAAI,SAAS,OAAO;AAClB,8BAAQ,SAAS;AACjB;AAAA,oBACF;AACA,0BAAM,CAAC,MAAM,GAAG,IAAI,IAAI;AACxB,wBAAI,MAAM;AACR,8BAAQ,eAAe,GAAG,IAAI;AAC9B,8BAAQ,eAAe,KAAK;AAE5B,8BAAQ,IAAI,QAAQ,IAAI;AAExB,8BAAQ,IAAI,YAAY,GAAG;AAC3B,8BAAQ,eAAe,OAAO;AAC9B,8BAAQ,MAAM;AACd,8BAAQ,SAAS;AACjB,8BAAQ,SAAS;AACjB,iCAAW,CAACC,OAAM,GAAG,GAAG,KAAK,MAAM;AACjC,gCAAQ,eAAeA,KAAI;AAE3B,gCAAQ,IAAI,GAAG,GAAG;AAClB,gCAAQ,SAAS;AAAA,sBACnB;AAAA,oBACF,OAAO;AAEL,8BAAQ,IAAI,aAAa,MAAM,GAAG,IAAI;AAAA,oBACxC;AAAA,kBACF;AAAA,gBACF,SAAS,KAAU;AACjB,0BAAQ;AAAA,gBACV;AACA,2BAAW,KAAK,CAAC,GAAG,QAAQ,GAAG;AAC7B,0BAAQ,SAAS;AAAA,gBACnB;AACA,oBAAI,OAAO;AACT,0BAAQ,MAAM,gBAAgB,KAAK;AAAA,gBACrC;AACA,yBAAS,MAAM;AAAA,cACjB;AAGA,qBAAO;AAAA,YACT;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IAaF;AAAA,EACF;AAEA,QAAM,eAAe,CAAC,QAAc;AAClC,QAAI,QAAQ,IAAI,aAAa,iBAAiBJ,cAAa;AAEzD,cAAQ,IAAI,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAChD;AACA,QAAI,QAAQ;AACV,gBAAU,cAAc;AACxB,eAAS;AAAA,IACX;AACA,WAAO;AAAA,EACT;AAEA,MAAI,eAAe;AAEnB,QAAM,eAAe,IAAI,MAAM,eAAe;AAAA;AAAA,IAE5C,IAAI,GAAG,KAAK;AAEV,UAAI,OAAO,gBAAgB;AACzB,eAAO,eAAe,GAAG;AAAA,MAC3B;AACA,UAAI,OAAO,iBAAiB;AAC1B,eAAO,QAAQ,IAAI,eAAe,GAAG;AAAA,MACvC;AACA,UAAI,QAAQ,+BAAc;AACxB,eAAO;AAAA,MACT;AACA,UAAI,QAAQ,kCAAmB;AAC7B,eAAO;AAAA,MACT;AACA,YAAM,mBAAmB,UAAU;AACnC,UAAI,CAAC,kBAAkB;AACrB,YAAI,oBAAoB,QAAQ,CAAC,oBAAoB,IAAI,aAAa,GAAG;AACvE,qBAAW,KAAK,qBAAqB;AACnC,cAAE,SAAS;AAAA,UACb;AAAA,QACF;AAAA,MACF;AACA,UAAI,OAAO,QAAQ,UAAU;AAC3B,eAAO,QAAQ,IAAI,eAAe,GAAG;AAAA,MACvC;AAIA,UAAI,CAAC,kBAAkB;AACrB,YAAI,aAAa,WAAW;AAC1B,uBAAa,WAAW,IAAI,GAAG;AAAA,QACjC,OAAO;AAAA,QAEP;AAAA,MACF;AAEA,UAAI,OAAO,SAAS;AAClB,YAAI,SAAS,IAAI,GAAG,GAAG;AACrB,iBAAO,SAAS,IAAI,GAAG;AAAA,QACzB;AAEA,mBAAW,MAAM;AACjB,cAAM,cAAc,aAAa;AACjC,qBAAa,YAAY;AACzB,cAAM,MAAM,QAAQ,GAAG,EAAE,KAAK,YAAY;AAC1C,YAAI,CAAC,aAAa;AAChB,uBAAa,YAAY;AAAA,QAC3B;AAEA,mBAAW,MAAM,YAAY;AAC3B,cAAI,CAAC,aAAa,IAAI,EAAE,GAAG;AACzB,yBAAa,IAAI,IAAI,oBAAI,IAAI,CAAC;AAAA,UAChC;AACA,gBAAM,MAAM,aAAa,IAAI,EAAE;AAC/B,cAAI,IAAI,GAAG;AAAA,QACb;AAIA,iBAAS,IAAI,KAAK,GAAG;AAErB,eAAO;AAAA,MACT;AAEA,aAAO,QAAQ,IAAI,eAAe,GAAG;AAAA,IACvC;AAAA;AAAA,IAGA,IAAI,QAAQ,KAAK,OAAO,UAAU;AAChC,YAAM,MAAM,QAAQ,IAAI,QAAQ,GAAG;AACnC,YAAM,MAAM,QAAQ,IAAI,QAAQ,KAAK,OAAO,QAAQ;AAGpD,UAAI,OAAO,QAAQ,OAAO;AAExB,YAAI,OAAO,QAAQ,UAAU;AAC3B,2BAAiB,GAAG;AAAA,QACtB;AACA,YAAIA,cAAa;AACf,kBAAQ,IAAI,EAAE,KAAK,MAAM,CAAC;AAC1B,cAAI,eAAe,SAAS,GAAG;AAE7B,oBAAQ,IAAI,eAAe,KAAK,KAAK,KAAK;AAAA,UAC5C;AAAA,QACF;AACA,YAAI,QAAQ,IAAI,aAAa,iBAAiBA,cAAa;AAEzD,kBAAQ,IAAI,UAAU,EAAE,KAAK,MAAM,CAAC;AAAA,QACtC;AAEA,YAAI,CAAC,cAAc;AAEjB,yBAAe;AACf,2BAAiB,MAAM;AACrB,sBAAU,cAAc;AACxB,2BAAe;AAAA,UACjB,CAAC;AAAA,QACH;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AAED,WAAS,iBAAiB,QAAgB;AACxC,UAAM,gBAAgB,aAAa,IAAI,MAAM;AAC7C,aAAS,OAAO,MAAM;AACtB,QAAI,CAAC,eAAe;AAClB;AAAA,IACF;AACA,eAAW,MAAM,eAAe;AAC9B,eAAS,OAAO,EAAE;AAClB,UAAI,aAAa,IAAI,EAAE,GAAG;AACxB,yBAAiB,EAAE;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEA,MAAM,mBACJ,QAAQ,IAAI,aAAa,SAAS,CAAC,OAAiB,GAAG,IAAI;AAE7D,IAAI,UAAU;AAEd,MAAM,kBAAkB;AAAA,EACtB,WAAW;AAAA,EACX,UAAU;AAAA,EACV,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,iBAAiB;AACnB;AASA,SAAS,eAAe,WAAsB;AAC5C,QAAM,OAAO,EAAE,eAAe,UAAU,MAAM;AAC9C,QAAM,WAAW,UAAU;AAC3B,SAAO,CAAC,GAAG,QAAQ,EAAE;AAAA,IACnB,CAAC,YAAY,QAAQ,iBAAa,kCAAY,QAAQ,WAAW,IAAI;AAAA,EACvE;AACF;",
4
+ "mappings": "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",
5
5
  "names": ["curInternal", "shouldDebug", "hashCode", "strColor", "key", "name"]
6
6
  }