@tamagui/use-store 1.61.2 → 1.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/cjs/comparators.js +12 -18
  2. package/dist/cjs/comparators.js.map +1 -1
  3. package/dist/cjs/comparators.native.js +40 -0
  4. package/dist/cjs/comparators.native.js.map +6 -0
  5. package/dist/cjs/configureUseStore.js +5 -9
  6. package/dist/cjs/configureUseStore.js.map +1 -1
  7. package/dist/cjs/configureUseStore.native.js +31 -0
  8. package/dist/cjs/configureUseStore.native.js.map +6 -0
  9. package/dist/cjs/constants.js +7 -12
  10. package/dist/cjs/constants.js.map +1 -1
  11. package/dist/cjs/constants.native.js +31 -0
  12. package/dist/cjs/constants.native.js.map +6 -0
  13. package/dist/cjs/decorators.js +6 -11
  14. package/dist/cjs/decorators.js.map +1 -1
  15. package/dist/cjs/decorators.native.js +30 -0
  16. package/dist/cjs/decorators.native.js.map +6 -0
  17. package/dist/cjs/helpers.js +13 -29
  18. package/dist/cjs/helpers.js.map +1 -1
  19. package/dist/cjs/helpers.native.js +66 -0
  20. package/dist/cjs/helpers.native.js.map +6 -0
  21. package/dist/cjs/index.js +6 -11
  22. package/dist/cjs/index.js.map +1 -1
  23. package/dist/cjs/index.native.js +46 -0
  24. package/dist/cjs/index.native.js.map +6 -0
  25. package/dist/cjs/interfaces.js +3 -6
  26. package/dist/cjs/interfaces.js.map +1 -1
  27. package/dist/cjs/interfaces.native.js +15 -0
  28. package/dist/cjs/interfaces.native.js.map +6 -0
  29. package/dist/cjs/observe.js +35 -92
  30. package/dist/cjs/observe.js.map +1 -1
  31. package/dist/cjs/observe.native.js +103 -0
  32. package/dist/cjs/observe.native.js.map +6 -0
  33. package/dist/cjs/useStore.js +114 -318
  34. package/dist/cjs/useStore.js.map +2 -2
  35. package/dist/cjs/useStore.native.js +350 -0
  36. package/dist/cjs/useStore.native.js.map +6 -0
  37. package/dist/cjs/useStoreDebug.js +14 -33
  38. package/dist/cjs/useStoreDebug.js.map +1 -1
  39. package/dist/cjs/useStoreDebug.native.js +55 -0
  40. package/dist/cjs/useStoreDebug.native.js.map +6 -0
  41. package/dist/esm/comparators.js +7 -9
  42. package/dist/esm/comparators.js.map +1 -1
  43. package/dist/esm/constants.js +2 -3
  44. package/dist/esm/constants.js.map +1 -1
  45. package/dist/esm/decorators.js +1 -2
  46. package/dist/esm/decorators.js.map +1 -1
  47. package/dist/esm/helpers.js +7 -18
  48. package/dist/esm/helpers.js.map +1 -1
  49. package/dist/esm/observe.js +29 -79
  50. package/dist/esm/observe.js.map +1 -1
  51. package/dist/esm/useStore.js +108 -303
  52. package/dist/esm/useStore.js.map +2 -2
  53. package/dist/esm/useStoreDebug.js +7 -20
  54. package/dist/esm/useStoreDebug.js.map +1 -1
  55. package/package.json +4 -4
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/decorators.tsx"],
4
- "mappings": "AAEO,SAAS,QAAQ,YAA0B;AAChD,SAAO,CAAC,QAAa,gBAA6B;AAChD,WAAO,cAAc,IAAI,OAAO,cAAc,KAAK,CAAC;AACpD,WAAO,cAAc,EAAE,WAAW,IAAI;AAAA,EACxC;AACF;",
4
+ "mappings": "AAEO,SAAS,QAAQ,YAA0B;AAChD,SAAO,CAAC,QAAa,gBAA6B;AAChD,WAAO,eAAkB,OAAO,gBAAmB,CAAC,GACpD,OAAO,aAAgB,WAAW,IAAI;AAAA,EACxC;AACF;",
5
5
  "names": []
6
6
  }
@@ -2,38 +2,27 @@ import { simpleHash } from "@tamagui/simple-hash";
2
2
  import { useRef } from "react";
3
3
  function getStoreUid(Constructor, props) {
4
4
  return simpleHash(
5
- `${Constructor}${!props ? "" : typeof props === "string" ? props : JSON.stringify(props)}`,
5
+ `${Constructor}${props ? typeof props == "string" ? props : JSON.stringify(props) : ""}`,
6
6
  "strict"
7
7
  );
8
8
  }
9
- const UNWRAP_STORE_INFO = Symbol("UNWRAP_STORE_INFO");
10
- const cache = /* @__PURE__ */ new Map();
9
+ const UNWRAP_STORE_INFO = Symbol("UNWRAP_STORE_INFO"), cache = /* @__PURE__ */ new Map();
11
10
  function getStoreDescriptors(storeInstance) {
12
- const proto = Object.getPrototypeOf(storeInstance);
13
- const instanceDescriptors = Object.getOwnPropertyDescriptors(storeInstance);
14
- const protoDescriptors = Object.getOwnPropertyDescriptors(proto);
15
- const descriptors = {
16
- ...protoDescriptors,
11
+ const proto = Object.getPrototypeOf(storeInstance), instanceDescriptors = Object.getOwnPropertyDescriptors(storeInstance), descriptors = {
12
+ ...Object.getOwnPropertyDescriptors(proto),
17
13
  ...instanceDescriptors
18
14
  };
19
- delete descriptors.constructor;
20
- return descriptors;
15
+ return delete descriptors.constructor, descriptors;
21
16
  }
22
17
  function get(_, b) {
23
18
  return _;
24
19
  }
25
20
  function useConstant(fn) {
26
21
  const ref = useRef();
27
- if (!ref.current) {
28
- ref.current = { v: fn() };
29
- }
30
- return ref.current.v;
22
+ return ref.current || (ref.current = { v: fn() }), ref.current.v;
31
23
  }
32
24
  function simpleStr(arg) {
33
- if (process.env.NODE_ENV === "development") {
34
- return typeof arg === "function" ? "fn" : typeof arg === "string" ? `"${arg}"` : !arg ? arg : typeof arg !== "object" ? arg : Array.isArray(arg) ? "[...]" : `{...}`;
35
- }
36
- return arg;
25
+ return process.env.NODE_ENV === "development" ? typeof arg == "function" ? "fn" : typeof arg == "string" ? `"${arg}"` : arg && (typeof arg != "object" ? arg : Array.isArray(arg) ? "[...]" : "{...}") : arg;
37
26
  }
38
27
  function getStoreDebugInfo(store) {
39
28
  return store[UNWRAP_STORE_INFO] ?? cache.get(getStoreUid(store.constructor, store.props));
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/helpers.tsx"],
4
- "mappings": "AAAA,SAAS,kBAAkB;AAC3B,SAAS,cAAc;AAIhB,SAAS,YAAY,aAAkB,OAA+B;AAC3E,SAAO;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,MAAM,OAAqB;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,SAAS,kBAAkB;AAC3B,SAAS,cAAc;AAIhB,SAAS,YAAY,aAAkB,OAA+B;AAC3E,SAAO;AAAA,IACL,GAAG,WAAW,GACX,QAAa,OAAO,SAAU,WAAW,QAAQ,KAAK,UAAU,KAAK,IAA7D,EACX;AAAA,IACA;AAAA,EACF;AACF;AAEO,MAAM,oBAAoB,OAAO,mBAAmB,GAC9C,QAAQ,oBAAI,IAAuB;AAEzC,SAAS,oBAAoB,eAAoB;AACtD,QAAM,QAAQ,OAAO,eAAe,aAAa,GAC3C,sBAAsB,OAAO,0BAA0B,aAAa,GAEpE,cAAc;AAAA,IAClB,GAFuB,OAAO,0BAA0B,KAAK;AAAA,IAG7D,GAAG;AAAA,EACL;AAEA,gBAAO,YAAY,aACZ;AACT;AAEO,SAAS,IAAO,GAAM,GAAyD;AACpF,SAAO;AACT;AAIe,SAAR,YAAgC,IAAgB;AACrD,QAAM,MAAM,OAAqB;AACjC,SAAK,IAAI,YACP,IAAI,UAAU,EAAE,GAAG,GAAG,EAAE,IAEnB,IAAI,QAAQ;AACrB;AAEO,SAAS,UAAU,KAAU;AAClC,SAAI,QAAQ,IAAI,aAAa,gBACpB,OAAO,OAAQ,aAClB,OACA,OAAO,OAAQ,WACf,IAAI,GAAG,MACN,QAED,OAAO,OAAQ,WACf,MACA,MAAM,QAAQ,GAAG,IACjB,UACA,WAEC;AACT;AAGO,SAAS,kBAAkB,OAAY;AAC5C,SACE,MAAM,iBAAiB,KAAK,MAAM,IAAI,YAAY,MAAM,aAAa,MAAM,KAAK,CAAC;AAErF;",
5
5
  "names": []
6
6
  }
@@ -3,126 +3,76 @@ import { isEqualSubsetShallow } from "./comparators";
3
3
  import { UNWRAP_PROXY } from "./constants";
4
4
  import { trackStoresAccess } from "./useStore";
5
5
  const logUpdate = process.env.NODE_ENV === "development" ? (fn, stores, last, next) => {
6
- const getStoreLogName = (store) => {
7
- var _a;
8
- const str = store[UNWRAP_PROXY] ?? store;
9
- return `${str.constructor.name}${((_a = store.props) == null ? void 0 : _a.id) ? `:${store.props.id}` : ""}`;
10
- };
11
- const storeNames = stores.map(getStoreLogName).join(", ");
12
- const name = `\u{1F311} \u25B6\uFE0F %c${fn.name} ${storeNames} () ${last} => ${next}`;
13
- console.groupCollapsed(name, "color: tomato;");
14
- console.groupCollapsed("trace >");
15
- console.trace();
16
- console.groupEnd();
17
- console.log(" next", next);
18
- console.groupEnd();
6
+ const getStoreLogName = (store) => `${(store[UNWRAP_PROXY] ?? store).constructor.name}${store.props?.id ? `:${store.props.id}` : ""}`, storeNames = stores.map(getStoreLogName).join(", "), name = `\u{1F311} \u25B6\uFE0F %c${fn.name} ${storeNames} () ${last} => ${next}`;
7
+ console.groupCollapsed(name, "color: tomato;"), console.groupCollapsed("trace >"), console.trace(), console.groupEnd(), console.log(" next", next), console.groupEnd();
19
8
  } : null;
20
9
  function observe(fn) {
21
- let prev = getObserverValueAndStoresAccessed(fn);
22
- let disposeValue = null;
10
+ let prev = getObserverValueAndStoresAccessed(fn), disposeValue = null;
23
11
  const subscribe = () => {
24
12
  const stores = [...prev.storeInfos];
25
13
  return subscribeToStores(stores, () => {
26
- disposeValue == null ? void 0 : disposeValue();
14
+ disposeValue?.();
27
15
  const next = getObserverValueAndStoresAccessed(fn);
28
- if (typeof next.value === "function") {
29
- disposeValue = next.value;
30
- if (process.env.NODE_ENV === "development") {
31
- logUpdate(fn, [...next.storeInfos], "(fn)", "(fn)");
32
- }
33
- return;
34
- }
35
- if (isEqualSubsetShallow(prev.storeInfos, next.storeInfos) && isEqualSubsetShallow(prev.value, next.value)) {
16
+ if (typeof next.value == "function") {
17
+ disposeValue = next.value, process.env.NODE_ENV === "development" && logUpdate(fn, [...next.storeInfos], "(fn)", "(fn)");
36
18
  return;
37
19
  }
38
- if (process.env.NODE_ENV === "development") {
39
- logUpdate(fn, [...next.storeInfos], prev.value, next.value);
40
- }
41
- prev = next;
42
- dispose();
43
- dispose = subscribe();
20
+ isEqualSubsetShallow(prev.storeInfos, next.storeInfos) && isEqualSubsetShallow(prev.value, next.value) || (process.env.NODE_ENV === "development" && logUpdate(fn, [...next.storeInfos], prev.value, next.value), prev = next, dispose(), dispose = subscribe());
44
21
  });
45
22
  };
46
23
  let dispose = subscribe();
47
24
  return {
48
25
  dispose: () => {
49
- dispose();
50
- disposeValue == null ? void 0 : disposeValue();
26
+ dispose(), disposeValue?.();
51
27
  },
52
28
  getValue: () => prev.value
53
29
  };
54
30
  }
55
31
  function useObserve(fn) {
56
- const [state, setState] = useState(() => {
57
- return getObserverValueAndStoresAccessed(fn);
58
- });
59
- useEffect(() => {
32
+ const [state, setState] = useState(() => getObserverValueAndStoresAccessed(fn));
33
+ return useEffect(() => {
60
34
  let dispose;
61
35
  const unsub = subscribeToStores([...state.storeInfos], () => {
62
- dispose == null ? void 0 : dispose();
63
- const next = getObserverValueAndStoresAccessed(fn);
64
- const nextStoreInfos = [...next.storeInfos];
65
- const prevStoreInfos = [...state.storeInfos];
66
- if (typeof next.value === "function") {
67
- if (process.env.NODE_ENV === "development") {
68
- logUpdate(fn, nextStoreInfos, "(fn)", "(fn)");
69
- }
70
- dispose = next.value;
36
+ dispose?.();
37
+ const next = getObserverValueAndStoresAccessed(fn), nextStoreInfos = [...next.storeInfos], prevStoreInfos = [...state.storeInfos];
38
+ if (typeof next.value == "function") {
39
+ process.env.NODE_ENV === "development" && logUpdate(fn, nextStoreInfos, "(fn)", "(fn)"), dispose = next.value;
71
40
  return;
72
41
  }
73
- setState((prev) => {
74
- if (isEqualSubsetShallow(prevStoreInfos, nextStoreInfos) && isEqualSubsetShallow(prev.value, next.value)) {
75
- return prev;
76
- }
77
- if (process.env.NODE_ENV === "development") {
78
- logUpdate(fn, nextStoreInfos, prev.value, next.value);
79
- }
80
- return next;
81
- });
42
+ setState((prev) => isEqualSubsetShallow(prevStoreInfos, nextStoreInfos) && isEqualSubsetShallow(prev.value, next.value) ? prev : (process.env.NODE_ENV === "development" && logUpdate(fn, nextStoreInfos, prev.value, next.value), next));
82
43
  });
83
44
  return () => {
84
- unsub();
85
- dispose == null ? void 0 : dispose();
45
+ unsub(), dispose?.();
86
46
  };
87
- }, [[...state.storeInfos].map((i) => i.uid).join(",")]);
88
- return state.value;
47
+ }, [[...state.storeInfos].map((i) => i.uid).join(",")]), state.value;
89
48
  }
90
49
  function getObserverValueAndStoresAccessed(selector) {
91
- const storeInfos = /* @__PURE__ */ new Set();
92
- const dispose = trackStoresAccess((storeInfo) => {
50
+ const storeInfos = /* @__PURE__ */ new Set(), dispose = trackStoresAccess((storeInfo) => {
93
51
  storeInfos.add(storeInfo);
94
- });
95
- const value = selector();
96
- dispose();
97
- return {
52
+ }), value = selector();
53
+ return dispose(), {
98
54
  value,
99
55
  storeInfos
100
56
  };
101
57
  }
102
58
  function subscribeToStores(storeInfos, onUpdate) {
103
59
  const disposes = [];
104
- let isUpdating = false;
60
+ let isUpdating = !1;
105
61
  const onUpdateDebouncedWithoutTracking = () => {
106
- if (isUpdating)
107
- return;
108
- isUpdating = true;
109
- queueMicrotask(() => {
62
+ isUpdating || (isUpdating = !0, queueMicrotask(() => {
110
63
  try {
111
- for (const storeInfo of storeInfos) {
112
- storeInfo.disableTracking = true;
113
- }
64
+ for (const storeInfo of storeInfos)
65
+ storeInfo.disableTracking = !0;
114
66
  onUpdate();
115
67
  } finally {
116
- isUpdating = false;
117
- for (const storeInfo of storeInfos) {
118
- storeInfo.disableTracking = false;
119
- }
68
+ isUpdating = !1;
69
+ for (const storeInfo of storeInfos)
70
+ storeInfo.disableTracking = !1;
120
71
  }
121
- });
72
+ }));
122
73
  };
123
- for (const storeInfo of storeInfos) {
74
+ for (const storeInfo of storeInfos)
124
75
  disposes.push(storeInfo.subscribe(onUpdateDebouncedWithoutTracking));
125
- }
126
76
  return () => {
127
77
  disposes.forEach((x) => x());
128
78
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/observe.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }