@tamagui/use-store 1.15.40

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 (118) hide show
  1. package/README.md +91 -0
  2. package/dist/cjs/Store.js +99 -0
  3. package/dist/cjs/Store.js.map +6 -0
  4. package/dist/cjs/comparators.js +45 -0
  5. package/dist/cjs/comparators.js.map +6 -0
  6. package/dist/cjs/configureUseStore.js +34 -0
  7. package/dist/cjs/configureUseStore.js.map +6 -0
  8. package/dist/cjs/constants.js +35 -0
  9. package/dist/cjs/constants.js.map +6 -0
  10. package/dist/cjs/decorators.js +34 -0
  11. package/dist/cjs/decorators.js.map +6 -0
  12. package/dist/cjs/fastCompare.js +168 -0
  13. package/dist/cjs/fastCompare.js.map +6 -0
  14. package/dist/cjs/helpers.js +101 -0
  15. package/dist/cjs/helpers.js.map +6 -0
  16. package/dist/cjs/index.js +47 -0
  17. package/dist/cjs/index.js.map +6 -0
  18. package/dist/cjs/interfaces.js +17 -0
  19. package/dist/cjs/interfaces.js.map +6 -0
  20. package/dist/cjs/reaction.js +78 -0
  21. package/dist/cjs/reaction.js.map +6 -0
  22. package/dist/cjs/selector.js +139 -0
  23. package/dist/cjs/selector.js.map +6 -0
  24. package/dist/cjs/useStore.js +534 -0
  25. package/dist/cjs/useStore.js.map +6 -0
  26. package/dist/cjs/useStoreDebug.js +73 -0
  27. package/dist/cjs/useStoreDebug.js.map +6 -0
  28. package/dist/esm/Store.js +69 -0
  29. package/dist/esm/Store.js.map +6 -0
  30. package/dist/esm/Store.mjs +69 -0
  31. package/dist/esm/Store.mjs.map +6 -0
  32. package/dist/esm/comparators.js +21 -0
  33. package/dist/esm/comparators.js.map +6 -0
  34. package/dist/esm/comparators.mjs +21 -0
  35. package/dist/esm/comparators.mjs.map +6 -0
  36. package/dist/esm/configureUseStore.js +9 -0
  37. package/dist/esm/configureUseStore.js.map +6 -0
  38. package/dist/esm/configureUseStore.mjs +9 -0
  39. package/dist/esm/configureUseStore.mjs.map +6 -0
  40. package/dist/esm/constants.js +10 -0
  41. package/dist/esm/constants.js.map +6 -0
  42. package/dist/esm/constants.mjs +10 -0
  43. package/dist/esm/constants.mjs.map +6 -0
  44. package/dist/esm/decorators.js +10 -0
  45. package/dist/esm/decorators.js.map +6 -0
  46. package/dist/esm/decorators.mjs +10 -0
  47. package/dist/esm/decorators.mjs.map +6 -0
  48. package/dist/esm/fastCompare.js +143 -0
  49. package/dist/esm/fastCompare.js.map +6 -0
  50. package/dist/esm/fastCompare.mjs +143 -0
  51. package/dist/esm/fastCompare.mjs.map +6 -0
  52. package/dist/esm/helpers.js +70 -0
  53. package/dist/esm/helpers.js.map +6 -0
  54. package/dist/esm/helpers.mjs +70 -0
  55. package/dist/esm/helpers.mjs.map +6 -0
  56. package/dist/esm/index.js +14 -0
  57. package/dist/esm/index.js.map +6 -0
  58. package/dist/esm/index.mjs +14 -0
  59. package/dist/esm/index.mjs.map +6 -0
  60. package/dist/esm/interfaces.js +1 -0
  61. package/dist/esm/interfaces.js.map +6 -0
  62. package/dist/esm/interfaces.mjs +1 -0
  63. package/dist/esm/interfaces.mjs.map +6 -0
  64. package/dist/esm/reaction.js +53 -0
  65. package/dist/esm/reaction.js.map +6 -0
  66. package/dist/esm/reaction.mjs +53 -0
  67. package/dist/esm/reaction.mjs.map +6 -0
  68. package/dist/esm/selector.js +114 -0
  69. package/dist/esm/selector.js.map +6 -0
  70. package/dist/esm/selector.mjs +114 -0
  71. package/dist/esm/selector.mjs.map +6 -0
  72. package/dist/esm/useStore.js +516 -0
  73. package/dist/esm/useStore.js.map +6 -0
  74. package/dist/esm/useStore.mjs +516 -0
  75. package/dist/esm/useStore.mjs.map +6 -0
  76. package/dist/esm/useStoreDebug.js +35 -0
  77. package/dist/esm/useStoreDebug.js.map +6 -0
  78. package/dist/esm/useStoreDebug.mjs +35 -0
  79. package/dist/esm/useStoreDebug.mjs.map +6 -0
  80. package/package.json +44 -0
  81. package/src/Store.tsx +77 -0
  82. package/src/comparators.tsx +18 -0
  83. package/src/configureUseStore.tsx +7 -0
  84. package/src/constants.tsx +6 -0
  85. package/src/decorators.tsx +8 -0
  86. package/src/helpers.tsx +87 -0
  87. package/src/index.ts +9 -0
  88. package/src/interfaces.tsx +32 -0
  89. package/src/reaction.tsx +109 -0
  90. package/src/selector.tsx +129 -0
  91. package/src/useStore.tsx +705 -0
  92. package/src/useStoreDebug.tsx +40 -0
  93. package/types/Store.d.ts +28 -0
  94. package/types/Store.d.ts.map +1 -0
  95. package/types/comparators.d.ts +6 -0
  96. package/types/comparators.d.ts.map +1 -0
  97. package/types/configureUseStore.d.ts +4 -0
  98. package/types/configureUseStore.d.ts.map +1 -0
  99. package/types/constants.d.ts +6 -0
  100. package/types/constants.d.ts.map +1 -0
  101. package/types/decorators.d.ts +3 -0
  102. package/types/decorators.d.ts.map +1 -0
  103. package/types/fastCompare.d.ts +13 -0
  104. package/types/fastCompare.d.ts.map +1 -0
  105. package/types/helpers.d.ts +13 -0
  106. package/types/helpers.d.ts.map +1 -0
  107. package/types/index.d.ts +10 -0
  108. package/types/index.d.ts.map +1 -0
  109. package/types/interfaces.d.ts +30 -0
  110. package/types/interfaces.d.ts.map +1 -0
  111. package/types/reaction.d.ts +4 -0
  112. package/types/reaction.d.ts.map +1 -0
  113. package/types/selector.d.ts +3 -0
  114. package/types/selector.d.ts.map +1 -0
  115. package/types/useStore.d.ts +18 -0
  116. package/types/useStore.d.ts.map +1 -0
  117. package/types/useStoreDebug.d.ts +7 -0
  118. package/types/useStoreDebug.d.ts.map +1 -0
@@ -0,0 +1,69 @@
1
+ import { UNWRAP_PROXY } from "./constants";
2
+ import { shouldDebug } from "./useStoreDebug";
3
+ const TRIGGER_UPDATE = Symbol();
4
+ const ADD_TRACKER = Symbol();
5
+ const TRACK = Symbol();
6
+ const SHOULD_DEBUG = Symbol();
7
+ const disableTracking = /* @__PURE__ */ new WeakMap();
8
+ const setDisableStoreTracking = (storeInstance, val) => {
9
+ const store = storeInstance[UNWRAP_PROXY] ?? storeInstance;
10
+ disableTracking.set(store, val);
11
+ };
12
+ class Store {
13
+ constructor(props) {
14
+ this.props = props;
15
+ this._listeners = /* @__PURE__ */ new Set();
16
+ this._trackers = /* @__PURE__ */ new Set();
17
+ this._version = 0;
18
+ this.subscribe = (onChanged) => {
19
+ this._listeners.add(onChanged);
20
+ return () => {
21
+ this._listeners.delete(onChanged);
22
+ };
23
+ };
24
+ }
25
+ [TRIGGER_UPDATE]() {
26
+ this._version = (this._version + 1) % Number.MAX_SAFE_INTEGER;
27
+ for (const cb of this._listeners) {
28
+ cb();
29
+ }
30
+ }
31
+ [ADD_TRACKER](tracker) {
32
+ this._trackers.add(tracker);
33
+ return () => {
34
+ this._trackers.delete(tracker);
35
+ };
36
+ }
37
+ [TRACK](key, debug) {
38
+ if (key[0] === "_" || key[0] === "$" || key === "props" || key === "toJSON") {
39
+ return;
40
+ }
41
+ if (debug) {
42
+ console.log("(debug) CHECK TRACKERS FOR", key);
43
+ }
44
+ for (const tracker of this._trackers) {
45
+ if (tracker.isTracking) {
46
+ tracker.tracked.add(key);
47
+ if (debug) {
48
+ console.log("(debug) TRACK", key, tracker);
49
+ }
50
+ }
51
+ }
52
+ }
53
+ [SHOULD_DEBUG]() {
54
+ const info = { storeInstance: this };
55
+ return [...this._trackers].some(
56
+ (tracker) => tracker.component && shouldDebug(tracker.component, info)
57
+ );
58
+ }
59
+ }
60
+ export {
61
+ ADD_TRACKER,
62
+ SHOULD_DEBUG,
63
+ Store,
64
+ TRACK,
65
+ TRIGGER_UPDATE,
66
+ disableTracking,
67
+ setDisableStoreTracking
68
+ };
69
+ //# sourceMappingURL=Store.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 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;AAY5B,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,WAAW,EAAE,SAAuB;AACnC,SAAK,UAAU,IAAI,OAAO;AAC1B,WAAO,MAAM;AACX,WAAK,UAAU,OAAO,OAAO;AAAA,IAC/B;AAAA,EACF;AAAA,EAEA,CAAC,KAAK,EAAE,KAAa,OAAiB;AACpC,QAAI,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,OAAO,QAAQ,WAAW,QAAQ,UAAU;AAC3E;AAAA,IACF;AACA,QAAI,OAAO;AACT,cAAQ,IAAI,8BAA8B,GAAG;AAAA,IAC/C;AACA,eAAW,WAAW,KAAK,WAAW;AACpC,UAAI,QAAQ,YAAY;AACtB,gBAAQ,QAAQ,IAAI,GAAG;AACvB,YAAI,OAAO;AACT,kBAAQ,IAAI,iBAAiB,KAAK,OAAO;AAAA,QAC3C;AAAA,MACF;AAAA,IACF;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;",
5
+ "names": []
6
+ }
@@ -0,0 +1,69 @@
1
+ import { UNWRAP_PROXY } from "./constants";
2
+ import { shouldDebug } from "./useStoreDebug";
3
+ const TRIGGER_UPDATE = Symbol();
4
+ const ADD_TRACKER = Symbol();
5
+ const TRACK = Symbol();
6
+ const SHOULD_DEBUG = Symbol();
7
+ const disableTracking = /* @__PURE__ */ new WeakMap();
8
+ const setDisableStoreTracking = (storeInstance, val) => {
9
+ const store = storeInstance[UNWRAP_PROXY] ?? storeInstance;
10
+ disableTracking.set(store, val);
11
+ };
12
+ class Store {
13
+ constructor(props) {
14
+ this.props = props;
15
+ this._listeners = /* @__PURE__ */ new Set();
16
+ this._trackers = /* @__PURE__ */ new Set();
17
+ this._version = 0;
18
+ this.subscribe = (onChanged) => {
19
+ this._listeners.add(onChanged);
20
+ return () => {
21
+ this._listeners.delete(onChanged);
22
+ };
23
+ };
24
+ }
25
+ [TRIGGER_UPDATE]() {
26
+ this._version = (this._version + 1) % Number.MAX_SAFE_INTEGER;
27
+ for (const cb of this._listeners) {
28
+ cb();
29
+ }
30
+ }
31
+ [ADD_TRACKER](tracker) {
32
+ this._trackers.add(tracker);
33
+ return () => {
34
+ this._trackers.delete(tracker);
35
+ };
36
+ }
37
+ [TRACK](key, debug) {
38
+ if (key[0] === "_" || key[0] === "$" || key === "props" || key === "toJSON") {
39
+ return;
40
+ }
41
+ if (debug) {
42
+ console.log("(debug) CHECK TRACKERS FOR", key);
43
+ }
44
+ for (const tracker of this._trackers) {
45
+ if (tracker.isTracking) {
46
+ tracker.tracked.add(key);
47
+ if (debug) {
48
+ console.log("(debug) TRACK", key, tracker);
49
+ }
50
+ }
51
+ }
52
+ }
53
+ [SHOULD_DEBUG]() {
54
+ const info = { storeInstance: this };
55
+ return [...this._trackers].some(
56
+ (tracker) => tracker.component && shouldDebug(tracker.component, info)
57
+ );
58
+ }
59
+ }
60
+ export {
61
+ ADD_TRACKER,
62
+ SHOULD_DEBUG,
63
+ Store,
64
+ TRACK,
65
+ TRIGGER_UPDATE,
66
+ disableTracking,
67
+ setDisableStoreTracking
68
+ };
69
+ //# sourceMappingURL=Store.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 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;AAY5B,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,WAAW,EAAE,SAAuB;AACnC,SAAK,UAAU,IAAI,OAAO;AAC1B,WAAO,MAAM;AACX,WAAK,UAAU,OAAO,OAAO;AAAA,IAC/B;AAAA,EACF;AAAA,EAEA,CAAC,KAAK,EAAE,KAAa,OAAiB;AACpC,QAAI,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,OAAO,QAAQ,WAAW,QAAQ,UAAU;AAC3E;AAAA,IACF;AACA,QAAI,OAAO;AACT,cAAQ,IAAI,8BAA8B,GAAG;AAAA,IAC/C;AACA,eAAW,WAAW,KAAK,WAAW;AACpC,UAAI,QAAQ,YAAY;AACtB,gBAAQ,QAAQ,IAAI,GAAG;AACvB,YAAI,OAAO;AACT,kBAAQ,IAAI,iBAAiB,KAAK,OAAO;AAAA,QAC3C;AAAA,MACF;AAAA,IACF;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;",
5
+ "names": []
6
+ }
@@ -0,0 +1,21 @@
1
+ const isEqualSubsetShallow = (a, b, opts) => {
2
+ var _a;
3
+ if (b == null || a == null)
4
+ return a === b;
5
+ if (typeof a !== typeof b)
6
+ return false;
7
+ if (typeof b === "object") {
8
+ for (const key in b) {
9
+ const compare = (_a = opts == null ? void 0 : opts.keyComparators) == null ? void 0 : _a[key];
10
+ if (compare ? !compare(a[key], b[key]) : b[key] !== a[key]) {
11
+ return false;
12
+ }
13
+ }
14
+ return true;
15
+ }
16
+ return a === b;
17
+ };
18
+ export {
19
+ isEqualSubsetShallow
20
+ };
21
+ //# sourceMappingURL=comparators.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/comparators.tsx"],
4
+ "mappings": "AAAO,MAAM,uBAAuB,CAClC,GACA,GACA,SACG;AAJL;AAKE,MAAI,KAAK,QAAQ,KAAK;AAAM,WAAO,MAAM;AACzC,MAAI,OAAO,MAAM,OAAO;AAAG,WAAO;AAClC,MAAI,OAAO,MAAM,UAAU;AACzB,eAAW,OAAO,GAAG;AACnB,YAAM,WAAU,kCAAM,mBAAN,mBAAuB;AACvC,UAAI,UAAU,CAAC,QAAQ,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG;AAC1D,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,SAAO,MAAM;AACf;",
5
+ "names": []
6
+ }
@@ -0,0 +1,21 @@
1
+ const isEqualSubsetShallow = (a, b, opts) => {
2
+ var _a;
3
+ if (b == null || a == null)
4
+ return a === b;
5
+ if (typeof a !== typeof b)
6
+ return false;
7
+ if (typeof b === "object") {
8
+ for (const key in b) {
9
+ const compare = (_a = opts == null ? void 0 : opts.keyComparators) == null ? void 0 : _a[key];
10
+ if (compare ? !compare(a[key], b[key]) : b[key] !== a[key]) {
11
+ return false;
12
+ }
13
+ }
14
+ return true;
15
+ }
16
+ return a === b;
17
+ };
18
+ export {
19
+ isEqualSubsetShallow
20
+ };
21
+ //# sourceMappingURL=comparators.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/comparators.tsx"],
4
+ "mappings": "AAAO,MAAM,uBAAuB,CAClC,GACA,GACA,SACG;AAJL;AAKE,MAAI,KAAK,QAAQ,KAAK;AAAM,WAAO,MAAM;AACzC,MAAI,OAAO,MAAM,OAAO;AAAG,WAAO;AAClC,MAAI,OAAO,MAAM,UAAU;AACzB,eAAW,OAAO,GAAG;AACnB,YAAM,WAAU,kCAAM,mBAAN,mBAAuB;AACvC,UAAI,UAAU,CAAC,QAAQ,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG;AAC1D,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,SAAO,MAAM;AACf;",
5
+ "names": []
6
+ }
@@ -0,0 +1,9 @@
1
+ let configureOpts = {};
2
+ function configureUseStore(opts) {
3
+ configureOpts = opts;
4
+ }
5
+ export {
6
+ configureOpts,
7
+ configureUseStore
8
+ };
9
+ //# sourceMappingURL=configureUseStore.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/configureUseStore.tsx"],
4
+ "mappings": "AAEO,IAAI,gBAAgC,CAAC;AAErC,SAAS,kBAAkB,MAAsB;AACtD,kBAAgB;AAClB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,9 @@
1
+ let configureOpts = {};
2
+ function configureUseStore(opts) {
3
+ configureOpts = opts;
4
+ }
5
+ export {
6
+ configureOpts,
7
+ configureUseStore
8
+ };
9
+ //# sourceMappingURL=configureUseStore.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/configureUseStore.tsx"],
4
+ "mappings": "AAEO,IAAI,gBAAgC,CAAC;AAErC,SAAS,kBAAkB,MAAsB;AACtD,kBAAgB;AAClB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,10 @@
1
+ const UNWRAP_PROXY = Symbol();
2
+ const defaultOptions = {
3
+ once: false,
4
+ selector: void 0
5
+ };
6
+ export {
7
+ UNWRAP_PROXY,
8
+ defaultOptions
9
+ };
10
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants.tsx"],
4
+ "mappings": "AAAO,MAAM,eAAe,OAAO;AAE5B,MAAM,iBAAiB;AAAA,EAC5B,MAAM;AAAA,EACN,UAAU;AACZ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,10 @@
1
+ const UNWRAP_PROXY = Symbol();
2
+ const defaultOptions = {
3
+ once: false,
4
+ selector: void 0
5
+ };
6
+ export {
7
+ UNWRAP_PROXY,
8
+ defaultOptions
9
+ };
10
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants.tsx"],
4
+ "mappings": "AAAO,MAAM,eAAe,OAAO;AAE5B,MAAM,iBAAiB;AAAA,EAC5B,MAAM;AAAA,EACN,UAAU;AACZ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,10 @@
1
+ function compare(comparator) {
2
+ return (target, propertyKey) => {
3
+ target["_comparators"] = target["_comparators"] || {};
4
+ target["_comparators"][propertyKey] = comparator;
5
+ };
6
+ }
7
+ export {
8
+ compare
9
+ };
10
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 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;",
5
+ "names": []
6
+ }
@@ -0,0 +1,10 @@
1
+ function compare(comparator) {
2
+ return (target, propertyKey) => {
3
+ target["_comparators"] = target["_comparators"] || {};
4
+ target["_comparators"][propertyKey] = comparator;
5
+ };
6
+ }
7
+ export {
8
+ compare
9
+ };
10
+ //# sourceMappingURL=decorators.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 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;",
5
+ "names": []
6
+ }
@@ -0,0 +1,143 @@
1
+ const isArray = Array.isArray;
2
+ const keyList = Object.keys;
3
+ const hasProp = Object.prototype.hasOwnProperty;
4
+ const hasElementType = typeof Element !== "undefined";
5
+ const EQUALITY_KEY = Symbol();
6
+ function isEqual(a, b, options) {
7
+ if (process.env.NODE_ENV !== "development") {
8
+ return isEqualInner(a, b, options);
9
+ }
10
+ try {
11
+ return isEqualInner(a, b, options);
12
+ } catch (err) {
13
+ if (err.message && err.message.match(/stack|recursion/i) || err.number === -2146828260) {
14
+ if (process.env.NODE_ENV === "development") {
15
+ console.warn(
16
+ "Warning: @dish/fast-compare does not handle circular references.",
17
+ err.name,
18
+ err.message
19
+ );
20
+ }
21
+ return false;
22
+ }
23
+ throw err;
24
+ }
25
+ }
26
+ function isEqualInner(a, b, options) {
27
+ var _a, _b;
28
+ if (a === b)
29
+ return true;
30
+ const maxDepth = options == null ? void 0 : options.maxDepth;
31
+ if (options && options.maxDepth) {
32
+ options.maxDepth -= 1;
33
+ }
34
+ if (a && b && typeof a == "object" && typeof b == "object") {
35
+ if (a[EQUALITY_KEY] && a[EQUALITY_KEY] === b[EQUALITY_KEY])
36
+ return true;
37
+ let arrA = isArray(a), arrB = isArray(b), i, length, key;
38
+ if (arrA && arrB) {
39
+ length = a.length;
40
+ if (length != b.length)
41
+ return false;
42
+ if (length > 200 || b.length > 200) {
43
+ console.warn("comparing large props! ignoring this, may want to fix");
44
+ return false;
45
+ }
46
+ if (maxDepth === 0) {
47
+ return true;
48
+ }
49
+ for (i = length; i-- !== 0; ) {
50
+ if (!isEqualInner(a[i], b[i], options))
51
+ return false;
52
+ }
53
+ return true;
54
+ }
55
+ if (arrA != arrB)
56
+ return false;
57
+ var dateA = a instanceof Date, dateB = b instanceof Date;
58
+ if (dateA != dateB)
59
+ return false;
60
+ if (dateA && dateB)
61
+ return a.getTime() == b.getTime();
62
+ var regexpA = a instanceof RegExp, regexpB = b instanceof RegExp;
63
+ if (regexpA != regexpB)
64
+ return false;
65
+ if (regexpA && regexpB)
66
+ return a.toString() == b.toString();
67
+ let setA = a instanceof Set;
68
+ let setB = b instanceof Set;
69
+ if (setA != setB)
70
+ return false;
71
+ if (setA && setB) {
72
+ if (a.size !== b.size)
73
+ return false;
74
+ if (maxDepth === 0) {
75
+ return true;
76
+ }
77
+ for (let item of a) {
78
+ if (!b.has(item))
79
+ return false;
80
+ }
81
+ return true;
82
+ }
83
+ var keys = keyList(a);
84
+ length = keys.length;
85
+ const log = options && options.log || false;
86
+ const keysB = keyList(b);
87
+ if (length !== keysB.length) {
88
+ if (log)
89
+ console.log("diff keylist", keysB);
90
+ return false;
91
+ }
92
+ for (i = length; i-- !== 0; ) {
93
+ if (!hasProp.call(b, keys[i])) {
94
+ if (log)
95
+ console.log("diff no key in", keys[i]);
96
+ return false;
97
+ }
98
+ }
99
+ if (hasElementType && a instanceof Element && b instanceof Element) {
100
+ if (log)
101
+ console.log("diff dom not equal");
102
+ return a === b;
103
+ }
104
+ if (maxDepth === 0) {
105
+ return true;
106
+ }
107
+ for (i = length; i-- !== 0; ) {
108
+ key = keys[i];
109
+ if (options) {
110
+ if ((_a = options.ignoreKeys) == null ? void 0 : _a[key]) {
111
+ continue;
112
+ }
113
+ const compare = (_b = options.keyComparators) == null ? void 0 : _b[key];
114
+ if (compare) {
115
+ if (compare(a[key], b[key])) {
116
+ continue;
117
+ } else {
118
+ if (log)
119
+ console.log("diff simplecomapre", key);
120
+ return false;
121
+ }
122
+ }
123
+ }
124
+ if (key === "_owner" && a.$$typeof) {
125
+ continue;
126
+ } else {
127
+ if (!isEqualInner(a[key], b[key], options)) {
128
+ if (log) {
129
+ console.log("diff", key, a[key], b[key]);
130
+ }
131
+ return false;
132
+ }
133
+ }
134
+ }
135
+ return true;
136
+ }
137
+ return a !== a && b !== b;
138
+ }
139
+ export {
140
+ EQUALITY_KEY,
141
+ isEqual
142
+ };
143
+ //# sourceMappingURL=fastCompare.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/fastCompare.tsx"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,143 @@
1
+ const isArray = Array.isArray;
2
+ const keyList = Object.keys;
3
+ const hasProp = Object.prototype.hasOwnProperty;
4
+ const hasElementType = typeof Element !== "undefined";
5
+ const EQUALITY_KEY = Symbol();
6
+ function isEqual(a, b, options) {
7
+ if (process.env.NODE_ENV !== "development") {
8
+ return isEqualInner(a, b, options);
9
+ }
10
+ try {
11
+ return isEqualInner(a, b, options);
12
+ } catch (err) {
13
+ if (err.message && err.message.match(/stack|recursion/i) || err.number === -2146828260) {
14
+ if (process.env.NODE_ENV === "development") {
15
+ console.warn(
16
+ "Warning: @dish/fast-compare does not handle circular references.",
17
+ err.name,
18
+ err.message
19
+ );
20
+ }
21
+ return false;
22
+ }
23
+ throw err;
24
+ }
25
+ }
26
+ function isEqualInner(a, b, options) {
27
+ var _a, _b;
28
+ if (a === b)
29
+ return true;
30
+ const maxDepth = options == null ? void 0 : options.maxDepth;
31
+ if (options && options.maxDepth) {
32
+ options.maxDepth -= 1;
33
+ }
34
+ if (a && b && typeof a == "object" && typeof b == "object") {
35
+ if (a[EQUALITY_KEY] && a[EQUALITY_KEY] === b[EQUALITY_KEY])
36
+ return true;
37
+ let arrA = isArray(a), arrB = isArray(b), i, length, key;
38
+ if (arrA && arrB) {
39
+ length = a.length;
40
+ if (length != b.length)
41
+ return false;
42
+ if (length > 200 || b.length > 200) {
43
+ console.warn("comparing large props! ignoring this, may want to fix");
44
+ return false;
45
+ }
46
+ if (maxDepth === 0) {
47
+ return true;
48
+ }
49
+ for (i = length; i-- !== 0; ) {
50
+ if (!isEqualInner(a[i], b[i], options))
51
+ return false;
52
+ }
53
+ return true;
54
+ }
55
+ if (arrA != arrB)
56
+ return false;
57
+ var dateA = a instanceof Date, dateB = b instanceof Date;
58
+ if (dateA != dateB)
59
+ return false;
60
+ if (dateA && dateB)
61
+ return a.getTime() == b.getTime();
62
+ var regexpA = a instanceof RegExp, regexpB = b instanceof RegExp;
63
+ if (regexpA != regexpB)
64
+ return false;
65
+ if (regexpA && regexpB)
66
+ return a.toString() == b.toString();
67
+ let setA = a instanceof Set;
68
+ let setB = b instanceof Set;
69
+ if (setA != setB)
70
+ return false;
71
+ if (setA && setB) {
72
+ if (a.size !== b.size)
73
+ return false;
74
+ if (maxDepth === 0) {
75
+ return true;
76
+ }
77
+ for (let item of a) {
78
+ if (!b.has(item))
79
+ return false;
80
+ }
81
+ return true;
82
+ }
83
+ var keys = keyList(a);
84
+ length = keys.length;
85
+ const log = options && options.log || false;
86
+ const keysB = keyList(b);
87
+ if (length !== keysB.length) {
88
+ if (log)
89
+ console.log("diff keylist", keysB);
90
+ return false;
91
+ }
92
+ for (i = length; i-- !== 0; ) {
93
+ if (!hasProp.call(b, keys[i])) {
94
+ if (log)
95
+ console.log("diff no key in", keys[i]);
96
+ return false;
97
+ }
98
+ }
99
+ if (hasElementType && a instanceof Element && b instanceof Element) {
100
+ if (log)
101
+ console.log("diff dom not equal");
102
+ return a === b;
103
+ }
104
+ if (maxDepth === 0) {
105
+ return true;
106
+ }
107
+ for (i = length; i-- !== 0; ) {
108
+ key = keys[i];
109
+ if (options) {
110
+ if ((_a = options.ignoreKeys) == null ? void 0 : _a[key]) {
111
+ continue;
112
+ }
113
+ const compare = (_b = options.keyComparators) == null ? void 0 : _b[key];
114
+ if (compare) {
115
+ if (compare(a[key], b[key])) {
116
+ continue;
117
+ } else {
118
+ if (log)
119
+ console.log("diff simplecomapre", key);
120
+ return false;
121
+ }
122
+ }
123
+ }
124
+ if (key === "_owner" && a.$$typeof) {
125
+ continue;
126
+ } else {
127
+ if (!isEqualInner(a[key], b[key], options)) {
128
+ if (log) {
129
+ console.log("diff", key, a[key], b[key]);
130
+ }
131
+ return false;
132
+ }
133
+ }
134
+ }
135
+ return true;
136
+ }
137
+ return a !== a && b !== b;
138
+ }
139
+ export {
140
+ EQUALITY_KEY,
141
+ isEqual
142
+ };
143
+ //# sourceMappingURL=fastCompare.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/fastCompare.tsx"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }