@tamagui/use-store 1.50.0 → 1.50.2

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 CHANGED
@@ -3,9 +3,9 @@
3
3
  Simplish reactive classes in react. It doesn't do granular deep object reaction, just the top level set.
4
4
 
5
5
  ```tsx
6
- import { Store } from '@tamagui/use-store'
6
+ import { createUseStore, createStoreInstance, useStore, useGlobalStore } from '@tamagui/use-store'
7
7
 
8
- class X extends Store {
8
+ class X {
9
9
  y = 0
10
10
 
11
11
  add() {
package/dist/cjs/Store.js CHANGED
@@ -57,6 +57,30 @@ class Store {
57
57
  cb();
58
58
  }
59
59
  }
60
+ // [ADD_TRACKER](tracker: StoreTracker) {
61
+ // this._trackers.add(tracker)
62
+ // return () => {
63
+ // this._trackers.delete(tracker)
64
+ // }
65
+ // }
66
+ // [TRACK](key: string, debug?: boolean) {
67
+ // if (key[0] === '_' || key[0] === '$' || key === 'props' || key === 'toJSON') {
68
+ // return
69
+ // }
70
+ // if (debug) {
71
+ // // rome-ignore lint/nursery/noConsoleLog: <explanation>
72
+ // console.log('(debug) CHECK TRACKERS FOR', key)
73
+ // }
74
+ // for (const tracker of this._trackers) {
75
+ // if (tracker.isTracking) {
76
+ // tracker.tracked.add(key)
77
+ // if (debug) {
78
+ // // rome-ignore lint/nursery/noConsoleLog: <explanation>
79
+ // console.log('(debug) TRACK', key, tracker)
80
+ // }
81
+ // }
82
+ // }
83
+ // }
60
84
  [SHOULD_DEBUG]() {
61
85
  const info = { storeInstance: this };
62
86
  return [...this._trackers].some(
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Store.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA6B;AAC7B,2BAA4B;AAErB,MAAM,iBAAiB,OAAO;AAC9B,MAAM,cAAc,OAAO;AAC3B,MAAM,QAAQ,OAAO;AACrB,MAAM,eAAe,OAAO;AAS5B,MAAM,kBAAkB,oBAAI,QAAQ;AAEpC,MAAM,0BAA0B,CAAC,eAAoB,QAAiB;AAC3E,QAAM,QAAQ,cAAc,6BAAY,KAAK;AAC7C,kBAAgB,IAAI,OAAO,GAAG;AAChC;AAEO,MAAM,MAAiC;AAAA,EAK5C,YAAmB,OAAc;AAAd;AAJnB,SAAQ,aAAa,oBAAI,IAAc;AACvC,SAAQ,YAAY,oBAAI,IAAkB;AAC1C,oBAAW;AAIX,qBAAY,CAAC,cAAwB;AACnC,WAAK,WAAW,IAAI,SAAS;AAC7B,aAAO,MAAM;AACX,aAAK,WAAW,OAAO,SAAS;AAAA,MAClC;AAAA,IACF;AAAA,EAPkC;AAAA,EASlC,CAAC,cAAc,IAAI;AACjB,SAAK,YAAY,KAAK,WAAW,KAAK,OAAO;AAC7C,eAAW,MAAM,KAAK,YAAY;AAChC,SAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,CAAC,YAAY,IAAI;AACf,UAAM,OAAO,EAAE,eAAe,KAAK;AACnC,WAAO,CAAC,GAAG,KAAK,SAAS,EAAE;AAAA,MACzB,CAAC,YAAY,QAAQ,iBAAa,kCAAY,QAAQ,WAAW,IAAI;AAAA,IACvE;AAAA,EACF;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA6B;AAC7B,2BAA4B;AAErB,MAAM,iBAAiB,OAAO;AAC9B,MAAM,cAAc,OAAO;AAC3B,MAAM,QAAQ,OAAO;AACrB,MAAM,eAAe,OAAO;AAS5B,MAAM,kBAAkB,oBAAI,QAAQ;AAEpC,MAAM,0BAA0B,CAAC,eAAoB,QAAiB;AAC3E,QAAM,QAAQ,cAAc,6BAAY,KAAK;AAC7C,kBAAgB,IAAI,OAAO,GAAG;AAChC;AAEO,MAAM,MAAiC;AAAA,EAK5C,YAAmB,OAAc;AAAd;AAJnB,SAAQ,aAAa,oBAAI,IAAc;AACvC,SAAQ,YAAY,oBAAI,IAAkB;AAC1C,oBAAW;AAIX,qBAAY,CAAC,cAAwB;AACnC,WAAK,WAAW,IAAI,SAAS;AAC7B,aAAO,MAAM;AACX,aAAK,WAAW,OAAO,SAAS;AAAA,MAClC;AAAA,IACF;AAAA,EAPkC;AAAA,EASlC,CAAC,cAAc,IAAI;AACjB,SAAK,YAAY,KAAK,WAAW,KAAK,OAAO;AAC7C,eAAW,MAAM,KAAK,YAAY;AAChC,SAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA4BA,CAAC,YAAY,IAAI;AACf,UAAM,OAAO,EAAE,eAAe,KAAK;AACnC,WAAO,CAAC,GAAG,KAAK,SAAS,EAAE;AAAA,MACzB,CAAC,YAAY,QAAQ,iBAAa,kCAAY,QAAQ,WAAW,IAAI;AAAA,IACvE;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
package/dist/cjs/index.js CHANGED
@@ -19,6 +19,7 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
19
19
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
20
  var src_exports = {};
21
21
  __export(src_exports, {
22
+ Store: () => Store,
22
23
  UNWRAP_PROXY: () => import_constants.UNWRAP_PROXY,
23
24
  configureUseStore: () => import_configureUseStore.configureUseStore
24
25
  });
@@ -28,19 +29,23 @@ var import_configureUseStore = require("./configureUseStore");
28
29
  __reExport(src_exports, require("./interfaces"), module.exports);
29
30
  __reExport(src_exports, require("./selector"), module.exports);
30
31
  __reExport(src_exports, require("./reaction"), module.exports);
31
- __reExport(src_exports, require("./Store"), module.exports);
32
32
  var import_constants = require("./constants");
33
33
  __reExport(src_exports, require("./comparators"), module.exports);
34
34
  __reExport(src_exports, require("./decorators"), module.exports);
35
+ class Store {
36
+ constructor(props) {
37
+ this.props = props;
38
+ }
39
+ }
35
40
  // Annotate the CommonJS export names for ESM import in node:
36
41
  0 && (module.exports = {
42
+ Store,
37
43
  UNWRAP_PROXY,
38
44
  configureUseStore,
39
45
  ...require("./useStore"),
40
46
  ...require("./interfaces"),
41
47
  ...require("./selector"),
42
48
  ...require("./reaction"),
43
- ...require("./Store"),
44
49
  ...require("./comparators"),
45
50
  ...require("./decorators")
46
51
  });
@@ -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,wBAAc,uBAAd;AACA,+BAAkC;AAClC,wBAAc,yBAFd;AAGA,wBAAc,uBAHd;AAIA,wBAAc,uBAJd;AAKA,wBAAc,oBALd;AAMA,uBAA6B;AAC7B,wBAAc,0BAPd;AAQA,wBAAc,yBARd;",
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;",
5
5
  "names": []
6
6
  }
@@ -31,10 +31,14 @@ const dispose = (d) => {
31
31
  d();
32
32
  }
33
33
  };
34
- function useReaction(store, selector, receiver, equalityFn = import_comparators.isEqualSubsetShallow, memoArgs) {
35
- return (0, import_react.useMemo)(() => reaction(store, selector, receiver, equalityFn), [memoArgs]);
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
+ );
36
40
  }
37
- function reaction(store, selector, receiver, equalityFn = import_comparators.isEqualSubsetShallow) {
41
+ function reaction({ store, subscribe }, selector, receiver, equalityFn = import_comparators.isEqualSubsetShallow) {
38
42
  let last = void 0;
39
43
  let innerDispose;
40
44
  function updateReaction() {
@@ -63,7 +67,7 @@ function reaction(store, selector, receiver, equalityFn = import_comparators.isE
63
67
  (0, import_useStore.setIsInReaction)(false);
64
68
  }
65
69
  }
66
- const disposeSubscribe = store.subscribe(updateReaction);
70
+ const disposeSubscribe = subscribe(updateReaction);
67
71
  updateReaction();
68
72
  return () => {
69
73
  disposeSubscribe();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/reaction.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwB;AAExB,yBAAqC;AACrC,uBAA6B;AAE7B,sBAAgC;AAEhC,MAAM,UAAU,CAAC,MAAW;AAC1B,MAAI,OAAO,MAAM,YAAY;AAC3B,MAAE;AAAA,EACJ;AACF;AAEO,SAAS,YAId,OACA,UACA,UAGA,aAA0C,yCAC1C,UACA;AACA,aAAO,sBAAQ,MAAM,SAAS,OAAO,UAAU,UAAU,UAAU,GAAG,CAAC,QAAQ,CAAC;AAClF;AAEO,SAAS,SAId,OACA,UACA,UAGA,aAA0C,yCAC1C;AACA,MAAI,OAAY;AAChB,MAAI;AAEJ,WAAS,iBAAiB;AA1C5B;AA2CI,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,MAAM,cAAc,YAAY,SAClE,WAAM,UAAN,mBAAa,MAAK,IAAI,MAAM,MAAM,OAAO,OACtC,WAAW;AAAA,YAChB;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,MAAM,UAAU,cAAc;AACvD,iBAAe;AAEf,SAAO,MAAM;AACX,qBAAiB;AACjB,YAAQ,YAAY;AAAA,EACtB;AACF;",
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,MAAM,cAAc,YAAY,SAClE,WAAM,UAAN,mBAAa,MAAK,IAAI,MAAM,MAAM,OAAO,OACtC,WAAW;AAAA,YAChB;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;",
5
5
  "names": []
6
6
  }
@@ -18,7 +18,6 @@ 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
- selector: () => selector,
22
21
  useSelector: () => useSelector
23
22
  });
24
23
  module.exports = __toCommonJS(selector_exports);
@@ -41,64 +40,30 @@ const logUpdate = process.env.NODE_ENV === "development" ? (fn, stores, last, ne
41
40
  console.log(" next", next);
42
41
  console.groupEnd();
43
42
  } : null;
44
- function selector(fn) {
45
- let prev = runStoreSelector(fn);
46
- let disposeValue = null;
47
- const subscribe = () => {
48
- return subscribeToStores([...prev.stores], () => {
49
- try {
50
- disposeValue == null ? void 0 : disposeValue();
51
- (0, import_useStore.setIsInReaction)(true);
52
- const next = runStoreSelector(fn);
53
- if (typeof next.value === "function") {
54
- disposeValue = next.value;
55
- if (process.env.NODE_ENV === "development") {
56
- logUpdate(fn, [...next.stores], "(fn)", "(fn)");
57
- }
58
- return;
59
- }
60
- if ((0, import_comparators.isEqualSubsetShallow)(prev.stores, next.stores) && (0, import_comparators.isEqualSubsetShallow)(prev.value, next.value)) {
61
- return;
62
- }
63
- if (process.env.NODE_ENV === "development") {
64
- logUpdate(fn, [...next.stores], prev.value, next.value);
65
- }
66
- prev = next;
67
- dispose();
68
- dispose = subscribe();
69
- } finally {
70
- (0, import_useStore.setIsInReaction)(false);
71
- }
72
- });
73
- };
74
- let dispose = subscribe();
75
- return () => {
76
- dispose();
77
- disposeValue == null ? void 0 : disposeValue();
78
- };
79
- }
80
43
  function useSelector(fn) {
81
44
  const [state, setState] = (0, import_react.useState)(() => {
82
45
  return runStoreSelector(fn);
83
46
  });
84
47
  (0, import_react.useEffect)(() => {
85
48
  let dispose;
86
- const unsub = subscribeToStores([...state.stores], () => {
49
+ const unsub = subscribeToStores([...state.storeInfos], () => {
87
50
  dispose == null ? void 0 : dispose();
88
51
  const next = runStoreSelector(fn);
52
+ const nextStoreInfos = [...next.storeInfos];
53
+ const prevStoreInfos = [...state.storeInfos];
89
54
  if (typeof next.value === "function") {
90
55
  if (process.env.NODE_ENV === "development") {
91
- logUpdate(fn, [...next.stores], "(fn)", "(fn)");
56
+ logUpdate(fn, nextStoreInfos, "(fn)", "(fn)");
92
57
  }
93
58
  dispose = next.value;
94
59
  return;
95
60
  }
96
61
  setState((prev) => {
97
- if ((0, import_comparators.isEqualSubsetShallow)(prev.stores, next.stores) && (0, import_comparators.isEqualSubsetShallow)(prev.value, next.value)) {
62
+ if ((0, import_comparators.isEqualSubsetShallow)(prevStoreInfos, nextStoreInfos) && (0, import_comparators.isEqualSubsetShallow)(prev.value, next.value)) {
98
63
  return prev;
99
64
  }
100
65
  if (process.env.NODE_ENV === "development") {
101
- logUpdate(fn, [...next.stores], prev.value, next.value);
66
+ logUpdate(fn, nextStoreInfos, prev.value, next.value);
102
67
  }
103
68
  return next;
104
69
  });
@@ -107,19 +72,19 @@ function useSelector(fn) {
107
72
  unsub();
108
73
  dispose == null ? void 0 : dispose();
109
74
  };
110
- }, [...state.stores]);
75
+ }, [[...state.storeInfos].map((i) => i.uid).join(",")]);
111
76
  return state.value;
112
77
  }
113
- function runStoreSelector(selector2) {
114
- const stores = /* @__PURE__ */ new Set();
115
- const dispose = (0, import_useStore.trackStoresAccess)((store) => {
116
- stores.add(store);
78
+ function runStoreSelector(selector) {
79
+ const storeInfos = /* @__PURE__ */ new Set();
80
+ const dispose = (0, import_useStore.trackStoresAccess)((storeInfo) => {
81
+ storeInfos.add(storeInfo);
117
82
  });
118
- const value = selector2();
83
+ const value = selector();
119
84
  dispose();
120
85
  return {
121
86
  value,
122
- stores
87
+ storeInfos
123
88
  };
124
89
  }
125
90
  function subscribeToStores(stores, onUpdate) {
@@ -133,7 +98,6 @@ function subscribeToStores(stores, onUpdate) {
133
98
  }
134
99
  // Annotate the CommonJS export names for ESM import in node:
135
100
  0 && (module.exports = {
136
- selector,
137
101
  useSelector
138
102
  });
139
103
  //# sourceMappingURL=selector.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/selector.tsx"],
4
- "mappings": "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",
5
- "names": ["selector"]
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,SAAO,WAAM,UAAN,mBAAa,MAAK,IAAI,MAAM,MAAM,OAAO;AAAA,EAC5E;AACA,QAAM,aAAa,OAAO,IAAI,eAAe,EAAE,KAAK,IAAI;AACxD,QAAM,OAAO,6BAAY,GAAG,QAAQ,iBAAiB,WAAW;AAChE,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;",
5
+ "names": []
6
6
  }
@@ -23,6 +23,7 @@ __export(useStore_exports, {
23
23
  createUseStore: () => createUseStore,
24
24
  createUseStoreSelector: () => createUseStoreSelector,
25
25
  getStore: () => getStore,
26
+ getStoreInfo: () => getStoreInfo,
26
27
  setIsInReaction: () => setIsInReaction,
27
28
  trackStoresAccess: () => trackStoresAccess,
28
29
  useGlobalStore: () => useGlobalStore,
@@ -37,7 +38,6 @@ var import_comparators = require("./comparators");
37
38
  var import_configureUseStore = require("./configureUseStore");
38
39
  var import_constants = require("./constants");
39
40
  var import_helpers = require("./helpers");
40
- var import_Store = require("./Store");
41
41
  var import_useStoreDebug = require("./useStoreDebug");
42
42
  const idFn = (_) => _;
43
43
  function useStore(StoreKlass, props, options = import_constants.defaultOptions) {
@@ -94,7 +94,12 @@ function trackStoresAccess(cb) {
94
94
  };
95
95
  }
96
96
  function getStore(StoreKlass, props) {
97
- return getOrCreateStoreInfo(StoreKlass, props).store;
97
+ return getStoreInfo(StoreKlass, props).store;
98
+ }
99
+ function getStoreInfo(StoreKlass, props) {
100
+ return getOrCreateStoreInfo(StoreKlass, props, {
101
+ refuseCreation: true
102
+ });
98
103
  }
99
104
  function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
100
105
  var _a;
@@ -102,7 +107,11 @@ function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
102
107
  if (!(options == null ? void 0 : options.avoidCache) && import_helpers.cache.has(uid)) {
103
108
  return import_helpers.cache.get(uid);
104
109
  }
110
+ if (options == null ? void 0 : options.refuseCreation) {
111
+ throw new Error(`No store exists (${StoreKlass.name}) with props: ${props}`);
112
+ }
105
113
  const storeInstance = new StoreKlass(props);
114
+ storeInstance.props = props;
106
115
  const getters = {};
107
116
  const actions = {};
108
117
  const stateKeys = /* @__PURE__ */ new Set();
@@ -120,31 +129,50 @@ function getOrCreateStoreInfo(StoreKlass, props, options, propsKeyCalculated) {
120
129
  }
121
130
  }
122
131
  const keyComparators = storeInstance["_comparators"];
132
+ const listeners = /* @__PURE__ */ new Set();
123
133
  const storeInfo = {
134
+ uid: Math.random(),
124
135
  keyComparators,
125
136
  storeInstance,
126
137
  getters,
127
138
  stateKeys,
128
139
  actions,
129
140
  debug: options == null ? void 0 : options.debug,
141
+ disableTracking: false,
130
142
  gettersState: {
131
143
  getCache: /* @__PURE__ */ new Map(),
132
144
  depsToGetter: /* @__PURE__ */ new Map(),
133
145
  curGetKeys: /* @__PURE__ */ new Set(),
134
146
  isGetting: false
147
+ },
148
+ listeners,
149
+ trackers: /* @__PURE__ */ new Set(),
150
+ version: 0,
151
+ subscribe: (onChanged) => {
152
+ listeners.add(onChanged);
153
+ return () => {
154
+ listeners.delete(onChanged);
155
+ };
156
+ },
157
+ triggerUpdate: () => {
158
+ storeInfo.version = (storeInfo.version + 1) % Number.MAX_SAFE_INTEGER;
159
+ for (const cb of listeners) {
160
+ cb();
161
+ }
135
162
  }
136
163
  };
137
- const store = createProxiedStore(storeInfo);
164
+ const store = createProxiedStore(
165
+ // we assign store right after and proxiedStore never accesses it until later on
166
+ storeInfo
167
+ );
138
168
  if (process.env.NODE_ENV === "development") {
139
169
  allStores[uid] = store;
140
170
  }
141
171
  (_a = store.mount) == null ? void 0 : _a.call(store);
142
- const value = {
143
- ...storeInfo,
144
- store
145
- };
146
- import_helpers.cache.set(uid, value);
147
- return value;
172
+ storeInfo.store = store;
173
+ const result = storeInfo;
174
+ import_helpers.cache.set(uid, result);
175
+ return result;
148
176
  }
149
177
  const allStores = {};
150
178
  const emptyObj = {};
@@ -182,21 +210,21 @@ function useStoreFromInfo(info, userSelector, options) {
182
210
  const getSnapshot = (0, import_react.useCallback)(() => {
183
211
  const curInternal2 = internal.current;
184
212
  const keys = [...!curInternal2.tracked.size ? info.stateKeys : curInternal2.tracked];
185
- const nextKeys = `${store._version}${keys.join("")}${userSelector || ""}`;
213
+ const nextKeys = `${info.version}${keys.join("")}${userSelector || ""}`;
186
214
  const lastKeys = curInternal2.lastKeys;
187
215
  if (nextKeys === curInternal2.lastKeys) {
188
216
  return curInternal2.last;
189
217
  }
190
218
  curInternal2.lastKeys = nextKeys;
191
219
  let snap;
192
- (0, import_Store.setDisableStoreTracking)(store, true);
220
+ info.disableTracking = true;
193
221
  const last = curInternal2.last;
194
222
  if (userSelector) {
195
223
  snap = userSelector(store);
196
224
  } else {
197
225
  snap = selectKeys(store, keys);
198
226
  }
199
- (0, import_Store.setDisableStoreTracking)(store, false);
227
+ info.disableTracking = false;
200
228
  const isUnchanged = typeof last !== "undefined" && (0, import_comparators.isEqualSubsetShallow)(last, snap, {
201
229
  keyComparators: info.keyComparators
202
230
  });
@@ -209,7 +237,7 @@ function useStoreFromInfo(info, userSelector, options) {
209
237
  curInternal2.last = snap;
210
238
  return snap;
211
239
  }, []);
212
- const state = (0, import_react.useSyncExternalStore)(store.subscribe, getSnapshot, getSnapshot);
240
+ const state = (0, import_react.useSyncExternalStore)(info.subscribe, getSnapshot, getSnapshot);
213
241
  if (userSelector) {
214
242
  return state;
215
243
  }
@@ -239,9 +267,8 @@ function createProxiedStore(storeInfo) {
239
267
  const { actions, storeInstance, getters, gettersState } = storeInfo;
240
268
  const { getCache, curGetKeys, depsToGetter } = gettersState;
241
269
  const constr = storeInstance.constructor;
242
- const shouldDebug = storeInfo.debug ?? import_useStoreDebug.DebugStores.has(constr);
270
+ const shouldDebug2 = storeInfo.debug ?? import_useStoreDebug.DebugStores.has(constr);
243
271
  let didSet = false;
244
- let isInAction = false;
245
272
  const wrappedActions = {};
246
273
  for (const key in actions) {
247
274
  if (key === "subscribe") {
@@ -254,10 +281,9 @@ function createProxiedStore(storeInfo) {
254
281
  if (isGetFn || gettersState.isGetting) {
255
282
  return Reflect.apply(actionFn, proxiedStore, args);
256
283
  }
257
- if (process.env.NODE_ENV === "development" && shouldDebug) {
258
- console.log("(debug) startAction", key, { isInAction });
284
+ if (process.env.NODE_ENV === "development" && shouldDebug2) {
285
+ console.log("(debug) startAction", key);
259
286
  }
260
- isInAction = true;
261
287
  res = Reflect.apply(actionFn, proxiedStore, args);
262
288
  if (res instanceof Promise) {
263
289
  return res.then(finishAction);
@@ -280,7 +306,7 @@ function createProxiedStore(storeInfo) {
280
306
  const ogAction = wrappedActions[key];
281
307
  wrappedActions[key] = new Proxy(ogAction, {
282
308
  apply(target, thisArg, args) {
283
- const isDebugging = shouldDebug || storeInfo.debug;
309
+ const isDebugging = shouldDebug2 || storeInfo.debug;
284
310
  const shouldLog = process.env.LOG_LEVEL !== "0" && (isDebugging || import_configureUseStore.configureOpts.logLevel !== "error");
285
311
  if (!shouldLog) {
286
312
  return Reflect.apply(target, thisArg, args);
@@ -364,13 +390,11 @@ function createProxiedStore(storeInfo) {
364
390
  }
365
391
  }
366
392
  const finishAction = (val) => {
367
- var _a;
368
- if (process.env.NODE_ENV === "development" && shouldDebug) {
393
+ if (process.env.NODE_ENV === "development" && shouldDebug2) {
369
394
  console.log("(debug) finishAction", { didSet });
370
395
  }
371
- isInAction = false;
372
396
  if (didSet) {
373
- (_a = storeInstance[import_Store.TRIGGER_UPDATE]) == null ? void 0 : _a.call(storeInstance);
397
+ storeInfo.triggerUpdate();
374
398
  didSet = false;
375
399
  }
376
400
  return val;
@@ -391,11 +415,11 @@ function createProxiedStore(storeInfo) {
391
415
  if (key === import_helpers.UNWRAP_STORE_INFO) {
392
416
  return storeInfo;
393
417
  }
394
- const trackingDisabled = import_Store.disableTracking.get(storeInstance);
418
+ const trackingDisabled = storeInfo.disableTracking;
395
419
  if (!trackingDisabled) {
396
420
  if (storeAccessTrackers.size && !storeAccessTrackers.has(storeInstance)) {
397
421
  for (const t of storeAccessTrackers) {
398
- t(storeInstance);
422
+ t(storeInfo);
399
423
  }
400
424
  }
401
425
  }
@@ -439,22 +463,19 @@ function createProxiedStore(storeInfo) {
439
463
  if (typeof key === "string") {
440
464
  clearGetterCache(key);
441
465
  }
442
- if (shouldDebug) {
466
+ if (shouldDebug2) {
443
467
  setters.add({ key, value });
444
- if (storeInstance[import_Store.SHOULD_DEBUG]()) {
468
+ if (getShouldDebug(storeInfo)) {
445
469
  console.log("(debug) SET", res, key, value);
446
470
  }
447
471
  }
448
- if (process.env.NODE_ENV === "development" && shouldDebug) {
449
- console.log("SET...", { key, value, isInAction });
472
+ if (process.env.NODE_ENV === "development" && shouldDebug2) {
473
+ console.log("SET...", { key, value });
450
474
  }
451
- if (isInAction) {
452
- didSet = true;
453
- } else {
475
+ if (!isTriggering) {
454
476
  isTriggering = true;
455
- queueMicrotask(() => {
456
- var _a;
457
- (_a = storeInstance[import_Store.TRIGGER_UPDATE]) == null ? void 0 : _a.call(storeInstance);
477
+ waitForEventLoop(() => {
478
+ storeInfo.triggerUpdate();
458
479
  isTriggering = false;
459
480
  });
460
481
  }
@@ -463,12 +484,12 @@ function createProxiedStore(storeInfo) {
463
484
  }
464
485
  });
465
486
  function clearGetterCache(setKey) {
466
- const getters2 = depsToGetter.get(setKey);
487
+ const parentGetters = depsToGetter.get(setKey);
467
488
  getCache.delete(setKey);
468
- if (!getters2) {
489
+ if (!parentGetters) {
469
490
  return;
470
491
  }
471
- for (const gk of getters2) {
492
+ for (const gk of parentGetters) {
472
493
  getCache.delete(gk);
473
494
  if (depsToGetter.has(gk)) {
474
495
  clearGetterCache(gk);
@@ -477,6 +498,7 @@ function createProxiedStore(storeInfo) {
477
498
  }
478
499
  return proxiedStore;
479
500
  }
501
+ const waitForEventLoop = process.env.NODE_ENV === "test" ? (cb) => cb() : queueMicrotask;
480
502
  let counter = 0;
481
503
  const passThroughKeys = {
482
504
  subscribe: true,
@@ -486,6 +508,13 @@ const passThroughKeys = {
486
508
  _listeners: true,
487
509
  _enableTracking: true
488
510
  };
511
+ function getShouldDebug(storeInfo) {
512
+ const info = { storeInstance: storeInfo.store };
513
+ const trackers = storeInfo.trackers;
514
+ return [...trackers].some(
515
+ (tracker) => tracker.component && (0, import_useStoreDebug.shouldDebug)(tracker.component, info)
516
+ );
517
+ }
489
518
  // Annotate the CommonJS export names for ESM import in node:
490
519
  0 && (module.exports = {
491
520
  allStores,
@@ -493,6 +522,7 @@ const passThroughKeys = {
493
522
  createUseStore,
494
523
  createUseStoreSelector,
495
524
  getStore,
525
+ getStoreInfo,
496
526
  setIsInReaction,
497
527
  trackStoresAccess,
498
528
  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,mBAA+E;AAE/E,yBAAqC;AACrC,+BAA8B;AAC9B,uBAA6C;AAC7C,qBAMO;AAEP,mBAOO;AACP,2BAAiD;AAEjD,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,eACd,UACA,OACG;AACH,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,uBAKd,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;AAGO,SAAS,SACd,YACA,OACG;AACH,SAAO,qBAAqB,YAAY,KAAK,EAAE;AACjD;AAEA,SAAS,qBACP,YACA,OACA,SACA,oBACA;AAvJF;AAwJE,QAAM,UAAM,4BAAY,YAAY,sBAAsB,KAAK;AAC/D,MAAI,EAAC,mCAAS,eAAc,qBAAM,IAAI,GAAG,GAAG;AAC1C,WAAO,qBAAM,IAAI,GAAG;AAAA,EACtB;AAGA,QAAM,gBAAgB,IAAI,WAAW,KAAM;AAE3C,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;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,mCAAS;AAAA,IAChB,cAAc;AAAA,MACZ,UAAU,oBAAI,IAAiB;AAAA,MAC/B,cAAc,oBAAI,IAAyB;AAAA,MAC3C,YAAY,oBAAI,IAAY;AAAA,MAC5B,WAAW;AAAA,IACb;AAAA,EACF;AAEA,QAAM,QAAQ,mBAAmB,SAAS;AAG1C,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAU,GAAG,IAAI;AAAA,EACnB;AAGA,cAAM,UAAN;AAEA,QAAM,QAAmB;AAAA,IACvB,GAAG;AAAA,IACH;AAAA,EACF;AAGA,uBAAM,IAAI,KAAK,KAAK;AAEpB,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,MAAM,WAAW,KAAK,KAAK,EAAE,IAAI,gBAAgB;AACrE,UAAM,WAAWA,aAAY;AAG7B,QAAI,aAAaA,aAAY,UAAU;AACrC,aAAOA,aAAY;AAAA,IACrB;AAEA,IAAAA,aAAY,WAAW;AAEvB,QAAI;AAEJ,8CAAwB,OAAO,IAAI;AACnC,UAAM,OAAOA,aAAY;AACzB,QAAI,cAAc;AAChB,aAAO,aAAa,KAAK;AAAA,IAC3B,OAAO;AACL,aAAO,WAAW,OAAO,IAAI;AAAA,IAC/B;AACA,8CAAwB,OAAO,KAAK;AAGpC,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,MAAM,WAAW,aAAa,WAAW;AAE5E,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;AAClB,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,WAAgD;AAC1E,QAAM,EAAE,SAAS,eAAe,SAAS,aAAa,IAAI;AAC1D,QAAM,EAAE,UAAU,YAAY,aAAa,IAAI;AAC/C,QAAM,SAAS,cAAc;AAC7B,QAAM,cAAc,UAAU,SAAS,iCAAY,IAAI,MAAM;AAE7D,MAAI,SAAS;AACb,MAAI,aAAa;AACjB,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,iBAAiB,aAAa;AAEzD,gBAAQ,IAAI,uBAAuB,KAAK,EAAE,WAAW,CAAC;AAAA,MACxD;AAEA,mBAAa;AACb,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;AAAA,MAChC;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,cAAc,eAAe,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,KAAP;AACA,sBAAQ,MAAM,SAAS,GAAG;AAC1B,oBAAM;AAAA,YACR,UAAE;AACA,uBAAS,IAAI,KAAK;AAElB,oBAAM,OAAO,OAAO;AACpB,oBAAM,QAAQA,UAAS,IAAI;AAC3B,oBAAM,aAAa,KAAK,IAAI,wBAAS;AACrC,mBAAK,IAAI;AAAA,gBACP,gBAAS,MAAM,KAAK;AAAA,kBAClB,mBAAmB,IAAI;AAAA,gBACzB,OAAO,OAAO,WAAW,KAAK,IAAI,KAChC,oBAAoB,SAAS,OAAO,IAAI,MAAM,SAAS,OAAO,OAAO;AAAA,gBAEvE,UAAU;AAAA,gBACV;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,QAAO,SAAS,KAAK,CAAC;AAAA,kBAC1C,OAAO;AACL,yBAAK,IAAI,CAAC,QAAQA,QAAO,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,KAAP;AACA,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;AAnftC;AAofI,QAAI,QAAQ,IAAI,aAAa,iBAAiB,aAAa;AAEzD,cAAQ,IAAI,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAChD;AACA,iBAAa;AACb,QAAI,QAAQ;AACV,0BAAc,iCAAd;AACA,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,6BAAgB,IAAI,aAAa;AAC1D,UAAI,CAAC,kBAAkB;AACrB,YAAI,oBAAoB,QAAQ,CAAC,oBAAoB,IAAI,aAAa,GAAG;AACvE,qBAAW,KAAK,qBAAqB;AACnC,cAAE,aAAa;AAAA,UACjB;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;AAEpD,UAAI,OAAO,QAAQ,OAAO;AAExB,YAAI,OAAO,QAAQ,UAAU;AAC3B,2BAAiB,GAAG;AAAA,QACtB;AACA,YAAI,aAAa;AACf,kBAAQ,IAAI,EAAE,KAAK,MAAM,CAAC;AAC1B,cAAI,cAAc,yBAAY,EAAE,GAAG;AAEjC,oBAAQ,IAAI,eAAe,KAAK,KAAK,KAAK;AAAA,UAC5C;AAAA,QACF;AACA,YAAI,QAAQ,IAAI,aAAa,iBAAiB,aAAa;AAEzD,kBAAQ,IAAI,UAAU,EAAE,KAAK,OAAO,WAAW,CAAC;AAAA,QAClD;AACA,YAAI,YAAY;AACd,mBAAS;AAAA,QACX,OAAO;AACL,yBAAe;AACf,yBAAe,MAAM;AAhmB/B;AAimBY,gCAAc,iCAAd;AACA,2BAAe;AAAA,UACjB,CAAC;AAAA,QACH;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AAED,WAAS,iBAAiB,QAAgB;AACxC,UAAMC,WAAU,aAAa,IAAI,MAAM;AACvC,aAAS,OAAO,MAAM;AACtB,QAAI,CAACA,UAAS;AACZ;AAAA,IACF;AACA,eAAW,MAAMA,UAAS;AACxB,eAAS,OAAO,EAAE;AAClB,UAAI,aAAa,IAAI,EAAE,GAAG;AACxB,yBAAiB,EAAE;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAI,UAAU;AAEd,MAAM,kBAAkB;AAAA,EACtB,WAAW;AAAA,EACX,UAAU;AAAA,EACV,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,iBAAiB;AACnB;",
5
- "names": ["curInternal", "hashCode", "strColor", "key", "name", "getters"]
4
+ "mappings": "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",
5
+ "names": ["curInternal", "shouldDebug", "hashCode", "strColor", "key", "name"]
6
6
  }
package/dist/esm/Store.js CHANGED
@@ -28,6 +28,30 @@ class Store {
28
28
  cb();
29
29
  }
30
30
  }
31
+ // [ADD_TRACKER](tracker: StoreTracker) {
32
+ // this._trackers.add(tracker)
33
+ // return () => {
34
+ // this._trackers.delete(tracker)
35
+ // }
36
+ // }
37
+ // [TRACK](key: string, debug?: boolean) {
38
+ // if (key[0] === '_' || key[0] === '$' || key === 'props' || key === 'toJSON') {
39
+ // return
40
+ // }
41
+ // if (debug) {
42
+ // // rome-ignore lint/nursery/noConsoleLog: <explanation>
43
+ // console.log('(debug) CHECK TRACKERS FOR', key)
44
+ // }
45
+ // for (const tracker of this._trackers) {
46
+ // if (tracker.isTracking) {
47
+ // tracker.tracked.add(key)
48
+ // if (debug) {
49
+ // // rome-ignore lint/nursery/noConsoleLog: <explanation>
50
+ // console.log('(debug) TRACK', key, tracker)
51
+ // }
52
+ // }
53
+ // }
54
+ // }
31
55
  [SHOULD_DEBUG]() {
32
56
  const info = { storeInstance: this };
33
57
  return [...this._trackers].some(
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Store.tsx"],
4
- "mappings": "AAAA,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAErB,MAAM,iBAAiB,OAAO;AAC9B,MAAM,cAAc,OAAO;AAC3B,MAAM,QAAQ,OAAO;AACrB,MAAM,eAAe,OAAO;AAS5B,MAAM,kBAAkB,oBAAI,QAAQ;AAEpC,MAAM,0BAA0B,CAAC,eAAoB,QAAiB;AAC3E,QAAM,QAAQ,cAAc,YAAY,KAAK;AAC7C,kBAAgB,IAAI,OAAO,GAAG;AAChC;AAEO,MAAM,MAAiC;AAAA,EAK5C,YAAmB,OAAc;AAAd;AAJnB,SAAQ,aAAa,oBAAI,IAAc;AACvC,SAAQ,YAAY,oBAAI,IAAkB;AAC1C,oBAAW;AAIX,qBAAY,CAAC,cAAwB;AACnC,WAAK,WAAW,IAAI,SAAS;AAC7B,aAAO,MAAM;AACX,aAAK,WAAW,OAAO,SAAS;AAAA,MAClC;AAAA,IACF;AAAA,EAPkC;AAAA,EASlC,CAAC,cAAc,IAAI;AACjB,SAAK,YAAY,KAAK,WAAW,KAAK,OAAO;AAC7C,eAAW,MAAM,KAAK,YAAY;AAChC,SAAG;AAAA,IACL;AAAA,EACF;AAAA,EAEA,CAAC,YAAY,IAAI;AACf,UAAM,OAAO,EAAE,eAAe,KAAK;AACnC,WAAO,CAAC,GAAG,KAAK,SAAS,EAAE;AAAA,MACzB,CAAC,YAAY,QAAQ,aAAa,YAAY,QAAQ,WAAW,IAAI;AAAA,IACvE;AAAA,EACF;AACF;",
4
+ "mappings": "AAAA,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAErB,MAAM,iBAAiB,OAAO;AAC9B,MAAM,cAAc,OAAO;AAC3B,MAAM,QAAQ,OAAO;AACrB,MAAM,eAAe,OAAO;AAS5B,MAAM,kBAAkB,oBAAI,QAAQ;AAEpC,MAAM,0BAA0B,CAAC,eAAoB,QAAiB;AAC3E,QAAM,QAAQ,cAAc,YAAY,KAAK;AAC7C,kBAAgB,IAAI,OAAO,GAAG;AAChC;AAEO,MAAM,MAAiC;AAAA,EAK5C,YAAmB,OAAc;AAAd;AAJnB,SAAQ,aAAa,oBAAI,IAAc;AACvC,SAAQ,YAAY,oBAAI,IAAkB;AAC1C,oBAAW;AAIX,qBAAY,CAAC,cAAwB;AACnC,WAAK,WAAW,IAAI,SAAS;AAC7B,aAAO,MAAM;AACX,aAAK,WAAW,OAAO,SAAS;AAAA,MAClC;AAAA,IACF;AAAA,EAPkC;AAAA,EASlC,CAAC,cAAc,IAAI;AACjB,SAAK,YAAY,KAAK,WAAW,KAAK,OAAO;AAC7C,eAAW,MAAM,KAAK,YAAY;AAChC,SAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA4BA,CAAC,YAAY,IAAI;AACf,UAAM,OAAO,EAAE,eAAe,KAAK;AACnC,WAAO,CAAC,GAAG,KAAK,SAAS,EAAE;AAAA,MACzB,CAAC,YAAY,QAAQ,aAAa,YAAY,QAAQ,WAAW,IAAI;AAAA,IACvE;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
package/dist/esm/index.js CHANGED
@@ -3,11 +3,16 @@ import { configureUseStore } from "./configureUseStore";
3
3
  export * from "./interfaces";
4
4
  export * from "./selector";
5
5
  export * from "./reaction";
6
- export * from "./Store";
7
6
  import { UNWRAP_PROXY } from "./constants";
8
7
  export * from "./comparators";
9
8
  export * from "./decorators";
9
+ class Store {
10
+ constructor(props) {
11
+ this.props = props;
12
+ }
13
+ }
10
14
  export {
15
+ Store,
11
16
  UNWRAP_PROXY,
12
17
  configureUseStore
13
18
  };