@o/hooks 0.16.19

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 (133) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +120 -0
  3. package/dist/cjs/index.cjs +32 -0
  4. package/dist/cjs/index.native.js +35 -0
  5. package/dist/cjs/index.native.js.map +1 -0
  6. package/dist/cjs/useClickOutside.cjs +52 -0
  7. package/dist/cjs/useClickOutside.native.js +63 -0
  8. package/dist/cjs/useClickOutside.native.js.map +1 -0
  9. package/dist/cjs/useDebouncePrepend.cjs +66 -0
  10. package/dist/cjs/useDebouncePrepend.native.js +70 -0
  11. package/dist/cjs/useDebouncePrepend.native.js.map +1 -0
  12. package/dist/cjs/useDeepMemoizedObject.cjs +207 -0
  13. package/dist/cjs/useDeepMemoizedObject.native.js +258 -0
  14. package/dist/cjs/useDeepMemoizedObject.native.js.map +1 -0
  15. package/dist/cjs/useDeepMemoizedObject.test.cjs +321 -0
  16. package/dist/cjs/useDeepMemoizedObject.test.native.js +324 -0
  17. package/dist/cjs/useDeepMemoizedObject.test.native.js.map +1 -0
  18. package/dist/cjs/useDeferredBoolean.cjs +39 -0
  19. package/dist/cjs/useDeferredBoolean.native.js +42 -0
  20. package/dist/cjs/useDeferredBoolean.native.js.map +1 -0
  21. package/dist/cjs/useEffectOnceGlobally.cjs +45 -0
  22. package/dist/cjs/useEffectOnceGlobally.native.js +50 -0
  23. package/dist/cjs/useEffectOnceGlobally.native.js.map +1 -0
  24. package/dist/cjs/useEvent.cjs +33 -0
  25. package/dist/cjs/useEvent.native.js +41 -0
  26. package/dist/cjs/useEvent.native.js.map +1 -0
  27. package/dist/cjs/useIsMounted.cjs +35 -0
  28. package/dist/cjs/useIsMounted.native.js +38 -0
  29. package/dist/cjs/useIsMounted.native.js.map +1 -0
  30. package/dist/cjs/useLastValue.cjs +31 -0
  31. package/dist/cjs/useLastValue.native.js +34 -0
  32. package/dist/cjs/useLastValue.native.js.map +1 -0
  33. package/dist/cjs/useLastValueIf.cjs +38 -0
  34. package/dist/cjs/useLastValueIf.native.js +42 -0
  35. package/dist/cjs/useLastValueIf.native.js.map +1 -0
  36. package/dist/cjs/useMemoStable.cjs +35 -0
  37. package/dist/cjs/useMemoStable.native.js +39 -0
  38. package/dist/cjs/useMemoStable.native.js.map +1 -0
  39. package/dist/cjs/useMemoizedObjectList.cjs +64 -0
  40. package/dist/cjs/useMemoizedObjectList.native.js +86 -0
  41. package/dist/cjs/useMemoizedObjectList.native.js.map +1 -0
  42. package/dist/cjs/useThrottle.cjs +52 -0
  43. package/dist/cjs/useThrottle.native.js +59 -0
  44. package/dist/cjs/useThrottle.native.js.map +1 -0
  45. package/dist/cjs/useWarnIfDepsChange.cjs +65 -0
  46. package/dist/cjs/useWarnIfDepsChange.native.js +68 -0
  47. package/dist/cjs/useWarnIfDepsChange.native.js.map +1 -0
  48. package/dist/cjs/useWarnIfMemoChangesOften.cjs +43 -0
  49. package/dist/cjs/useWarnIfMemoChangesOften.native.js +48 -0
  50. package/dist/cjs/useWarnIfMemoChangesOften.native.js.map +1 -0
  51. package/dist/esm/index.js +14 -0
  52. package/dist/esm/index.js.map +1 -0
  53. package/dist/esm/index.mjs +14 -0
  54. package/dist/esm/index.mjs.map +1 -0
  55. package/dist/esm/index.native.js +14 -0
  56. package/dist/esm/index.native.js.map +1 -0
  57. package/dist/esm/useClickOutside.mjs +27 -0
  58. package/dist/esm/useClickOutside.mjs.map +1 -0
  59. package/dist/esm/useClickOutside.native.js +35 -0
  60. package/dist/esm/useClickOutside.native.js.map +1 -0
  61. package/dist/esm/useDebouncePrepend.mjs +41 -0
  62. package/dist/esm/useDebouncePrepend.mjs.map +1 -0
  63. package/dist/esm/useDebouncePrepend.native.js +42 -0
  64. package/dist/esm/useDebouncePrepend.native.js.map +1 -0
  65. package/dist/esm/useDeepMemoizedObject.mjs +180 -0
  66. package/dist/esm/useDeepMemoizedObject.mjs.map +1 -0
  67. package/dist/esm/useDeepMemoizedObject.native.js +228 -0
  68. package/dist/esm/useDeepMemoizedObject.native.js.map +1 -0
  69. package/dist/esm/useDeepMemoizedObject.test.mjs +322 -0
  70. package/dist/esm/useDeepMemoizedObject.test.mjs.map +1 -0
  71. package/dist/esm/useDeepMemoizedObject.test.native.js +322 -0
  72. package/dist/esm/useDeepMemoizedObject.test.native.js.map +1 -0
  73. package/dist/esm/useDeferredBoolean.mjs +14 -0
  74. package/dist/esm/useDeferredBoolean.mjs.map +1 -0
  75. package/dist/esm/useDeferredBoolean.native.js +14 -0
  76. package/dist/esm/useDeferredBoolean.native.js.map +1 -0
  77. package/dist/esm/useEffectOnceGlobally.mjs +20 -0
  78. package/dist/esm/useEffectOnceGlobally.mjs.map +1 -0
  79. package/dist/esm/useEffectOnceGlobally.native.js +22 -0
  80. package/dist/esm/useEffectOnceGlobally.native.js.map +1 -0
  81. package/dist/esm/useEvent.mjs +8 -0
  82. package/dist/esm/useEvent.mjs.map +1 -0
  83. package/dist/esm/useEvent.native.js +13 -0
  84. package/dist/esm/useEvent.native.js.map +1 -0
  85. package/dist/esm/useIsMounted.mjs +10 -0
  86. package/dist/esm/useIsMounted.mjs.map +1 -0
  87. package/dist/esm/useIsMounted.native.js +10 -0
  88. package/dist/esm/useIsMounted.native.js.map +1 -0
  89. package/dist/esm/useLastValue.mjs +6 -0
  90. package/dist/esm/useLastValue.mjs.map +1 -0
  91. package/dist/esm/useLastValue.native.js +6 -0
  92. package/dist/esm/useLastValue.native.js.map +1 -0
  93. package/dist/esm/useLastValueIf.mjs +13 -0
  94. package/dist/esm/useLastValueIf.mjs.map +1 -0
  95. package/dist/esm/useLastValueIf.native.js +14 -0
  96. package/dist/esm/useLastValueIf.native.js.map +1 -0
  97. package/dist/esm/useMemoStable.mjs +10 -0
  98. package/dist/esm/useMemoStable.mjs.map +1 -0
  99. package/dist/esm/useMemoStable.native.js +11 -0
  100. package/dist/esm/useMemoStable.native.js.map +1 -0
  101. package/dist/esm/useMemoizedObjectList.mjs +39 -0
  102. package/dist/esm/useMemoizedObjectList.mjs.map +1 -0
  103. package/dist/esm/useMemoizedObjectList.native.js +58 -0
  104. package/dist/esm/useMemoizedObjectList.native.js.map +1 -0
  105. package/dist/esm/useThrottle.mjs +27 -0
  106. package/dist/esm/useThrottle.mjs.map +1 -0
  107. package/dist/esm/useThrottle.native.js +31 -0
  108. package/dist/esm/useThrottle.native.js.map +1 -0
  109. package/dist/esm/useWarnIfDepsChange.mjs +40 -0
  110. package/dist/esm/useWarnIfDepsChange.mjs.map +1 -0
  111. package/dist/esm/useWarnIfDepsChange.native.js +40 -0
  112. package/dist/esm/useWarnIfDepsChange.native.js.map +1 -0
  113. package/dist/esm/useWarnIfMemoChangesOften.mjs +18 -0
  114. package/dist/esm/useWarnIfMemoChangesOften.mjs.map +1 -0
  115. package/dist/esm/useWarnIfMemoChangesOften.native.js +20 -0
  116. package/dist/esm/useWarnIfMemoChangesOften.native.js.map +1 -0
  117. package/package.json +59 -0
  118. package/src/index.ts +13 -0
  119. package/src/useClickOutside.ts +34 -0
  120. package/src/useDebouncePrepend.ts +63 -0
  121. package/src/useDeepMemoizedObject.test.ts +344 -0
  122. package/src/useDeepMemoizedObject.ts +231 -0
  123. package/src/useDeferredBoolean.tsx +15 -0
  124. package/src/useEffectOnceGlobally.ts +41 -0
  125. package/src/useEvent.ts +7 -0
  126. package/src/useIsMounted.ts +11 -0
  127. package/src/useLastValue.ts +5 -0
  128. package/src/useLastValueIf.ts +15 -0
  129. package/src/useMemoStable.ts +25 -0
  130. package/src/useMemoizedObjectList.ts +74 -0
  131. package/src/useThrottle.ts +36 -0
  132. package/src/useWarnIfDepsChange.ts +61 -0
  133. package/src/useWarnIfMemoChangesOften.ts +24 -0
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useIsMounted_exports = {};
26
+ __export(useIsMounted_exports, {
27
+ useIsMounted: () => useIsMounted
28
+ });
29
+ module.exports = __toCommonJS(useIsMounted_exports);
30
+ var import_react = require("react");
31
+ var useIsMounted = function useIsMounted2() {
32
+ var [state, setState] = (0, import_react.useState)(false);
33
+ (0, import_react.useEffect)(function () {
34
+ setState(true);
35
+ }, []);
36
+ return state;
37
+ };
38
+ //# sourceMappingURL=useIsMounted.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useIsMounted_exports","__export","useIsMounted","module","exports","import_react","require","useIsMounted2","state","setState","useState","useEffect"],"sources":["../../src/useIsMounted.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,YAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAoC,CAAAK,oBAAA;AAE7B,IAAAK,YAAM,GAAAC,OAAe,CAAM;AAChC,IAAAJ,YAAc,YAAQK,aAAIA,CAAA;EAE1B,KAAAC,KAAA,EAAAC,QAAA,QAAUJ,YAAM,CAAAK,QAAA;EACd,IAAAL,YAAa,CAAAM,SAAA;IACfF,QAAK;EAEL;EACF,OAAAD,KAAA","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var useLastValue_exports = {};
24
+ __export(useLastValue_exports, {
25
+ useLastValue: () => useLastValue
26
+ });
27
+ module.exports = __toCommonJS(useLastValue_exports);
28
+ var import_useLastValueIf = require("./useLastValueIf.cjs");
29
+ function useLastValue(value) {
30
+ return (0, import_useLastValueIf.useLastValueIf)(value, true);
31
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useLastValue_exports = {};
26
+ __export(useLastValue_exports, {
27
+ useLastValue: () => useLastValue
28
+ });
29
+ module.exports = __toCommonJS(useLastValue_exports);
30
+ var import_useLastValueIf = require("./useLastValueIf.native.js");
31
+ function useLastValue(value) {
32
+ return (0, import_useLastValueIf.useLastValueIf)(value, true);
33
+ }
34
+ //# sourceMappingURL=useLastValue.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useLastValue_exports","__export","useLastValue","module","exports","import_useLastValueIf","require","useLastValueIf"],"sources":["../../src/useLastValue.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,YAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAA+B,CAAAK,oBAAA;AAExB,IAAAK,qBAAyB,GAAAC,OAAyB;AACvD,SAAAJ,YAAOA,CAAAH,KAAA;EACT,WAAAM,qBAAA,CAAAE,cAAA,EAAAR,KAAA","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var useLastValueIf_exports = {};
24
+ __export(useLastValueIf_exports, {
25
+ useLastValueIf: () => useLastValueIf
26
+ });
27
+ module.exports = __toCommonJS(useLastValueIf_exports);
28
+ var import_react = require("react");
29
+ function useLastValueIf(value, keepLast = true) {
30
+ const lastTwoValuesRef = (0, import_react.useRef)([]);
31
+ const [latest] = lastTwoValuesRef.current;
32
+ if (keepLast) {
33
+ if (latest !== value) {
34
+ lastTwoValuesRef.current = [value, latest];
35
+ }
36
+ }
37
+ return lastTwoValuesRef.current[1];
38
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useLastValueIf_exports = {};
26
+ __export(useLastValueIf_exports, {
27
+ useLastValueIf: () => useLastValueIf
28
+ });
29
+ module.exports = __toCommonJS(useLastValueIf_exports);
30
+ var import_react = require("react");
31
+ function useLastValueIf(value) {
32
+ var keepLast = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
33
+ var lastTwoValuesRef = (0, import_react.useRef)([]);
34
+ var [latest] = lastTwoValuesRef.current;
35
+ if (keepLast) {
36
+ if (latest !== value) {
37
+ lastTwoValuesRef.current = [value, latest];
38
+ }
39
+ }
40
+ return lastTwoValuesRef.current[1];
41
+ }
42
+ //# sourceMappingURL=useLastValueIf.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useLastValueIf_exports","__export","useLastValueIf","module","exports","import_react","require","keepLast","arguments","length","lastTwoValuesRef","useRef","latest","current"],"sources":["../../src/useLastValueIf.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,sBAAA;AAAAC,QAAA,CAAAD,sBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAuB,CAAAK,sBAAA;AAEhB,IAAAK,YAAS,GAAAC,OAAkB,QAAU;AAE1C,SAAMJ,eAAAH,KAAA,EAAmB;EAEzB,IAAAQ,QAAO,GAAMC,SAAI,CAAAC,MAAA,GAAiB,KAAAD,SAAA,iBAAAA,SAAA;EAClC,IAAIE,gBAAU,OAAAL,YAAA,CAAAM,MAAA;EACZ,KAAAC,MAAI,IAAAF,gBAAkB,CAAAG,OAAA;EACpB,IAAAN,QAAA;IACF,IAAAK,MAAA,KAAAb,KAAA;MACFW,gBAAA,CAAAG,OAAA,IAEAd,KAAO,EACTa,MAAA,C","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var useMemoStable_exports = {};
24
+ __export(useMemoStable_exports, {
25
+ useMemoStable: () => useMemoStable
26
+ });
27
+ module.exports = __toCommonJS(useMemoStable_exports);
28
+ var import_react = require("react");
29
+ var import_useWarnIfDepsChange = require("./useWarnIfDepsChange.cjs");
30
+ function useMemoStable(getValue, deps, options = {
31
+ name: `(untitled)`
32
+ }) {
33
+ (0, import_useWarnIfDepsChange.useWarnIfDepsChange)(deps, options);
34
+ return (0, import_react.useMemo)(getValue, deps);
35
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useMemoStable_exports = {};
26
+ __export(useMemoStable_exports, {
27
+ useMemoStable: () => useMemoStable
28
+ });
29
+ module.exports = __toCommonJS(useMemoStable_exports);
30
+ var import_react = require("react");
31
+ var import_useWarnIfDepsChange = require("./useWarnIfDepsChange.native.js");
32
+ function useMemoStable(getValue, deps) {
33
+ var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {
34
+ name: `(untitled)`
35
+ };
36
+ (0, import_useWarnIfDepsChange.useWarnIfDepsChange)(deps, options);
37
+ return (0, import_react.useMemo)(getValue, deps);
38
+ }
39
+ //# sourceMappingURL=useMemoStable.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useMemoStable_exports","__export","useMemoStable","module","exports","import_react","require","import_useWarnIfDepsChange","getValue","deps","options","arguments","length","name","useWarnIfDepsChange"],"sources":["../../src/useMemoStable.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAwB,CAAAK,qBAAA;AAExB,IAAAK,YAAA,GAAAC,OAAA,QAAoC;AAW7B,IAAAC,0BACL,GACAD,OACA,kCAAgC;AAAA,SACxBJ,cAAAM,QAAA,EAAAC,IAAA;EACR,IACOC,OAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IACPE,IAAA;EAGA;EACF,IAAAN,0BAAA,CAAAO,mBAAA,EAAAL,IAAA,EAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var useMemoizedObjectList_exports = {};
24
+ __export(useMemoizedObjectList_exports, {
25
+ useMemoizedObjectList: () => useMemoizedObjectList
26
+ });
27
+ module.exports = __toCommonJS(useMemoizedObjectList_exports);
28
+ var import_helpers = require("@o/helpers");
29
+ var import_react = require("react");
30
+ function useMemoizedObjectList(list, identityKey) {
31
+ const memoizedItems = (0, import_react.useRef)({});
32
+ const memoizedList = (0, import_react.useRef)(list);
33
+ const val = (0, import_react.useMemo)(() => {
34
+ let res = list;
35
+ let didFindChange = false;
36
+ const next = [];
37
+ const lastItems = memoizedItems.current;
38
+ if (list.length !== memoizedList.current.length) {
39
+ didFindChange = true;
40
+ }
41
+ for (const item_ of list) {
42
+ const item = item_;
43
+ const id = item[identityKey];
44
+ const last = lastItems[id];
45
+ if (!last || !(0, import_helpers.isEqualDeepLite)(last, item)) {
46
+ didFindChange = true;
47
+ lastItems[id] = item;
48
+ next.push(item);
49
+ } else {
50
+ next.push(last);
51
+ }
52
+ }
53
+ if (didFindChange) {
54
+ res = next;
55
+ } else {
56
+ res = memoizedList.current;
57
+ }
58
+ return res;
59
+ }, [identityKey, list]);
60
+ (0, import_react.useEffect)(() => {
61
+ memoizedList.current = val;
62
+ }, [val]);
63
+ return val;
64
+ }
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useMemoizedObjectList_exports = {};
26
+ __export(useMemoizedObjectList_exports, {
27
+ useMemoizedObjectList: () => useMemoizedObjectList
28
+ });
29
+ module.exports = __toCommonJS(useMemoizedObjectList_exports);
30
+ var import_helpers = require("@o/helpers");
31
+ var import_react = require("react");
32
+ function useMemoizedObjectList(list, identityKey) {
33
+ var memoizedItems = (0, import_react.useRef)({});
34
+ var memoizedList = (0, import_react.useRef)(list);
35
+ var val = (0, import_react.useMemo)(function () {
36
+ var res = list;
37
+ var didFindChange = false;
38
+ var next = [];
39
+ var lastItems = memoizedItems.current;
40
+ if (list.length !== memoizedList.current.length) {
41
+ didFindChange = true;
42
+ }
43
+ var _iteratorNormalCompletion = true,
44
+ _didIteratorError = false,
45
+ _iteratorError = void 0;
46
+ try {
47
+ for (var _iterator = list[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
48
+ var item_ = _step.value;
49
+ var item = item_;
50
+ var id = item[identityKey];
51
+ var last = lastItems[id];
52
+ if (!last || !(0, import_helpers.isEqualDeepLite)(last, item)) {
53
+ didFindChange = true;
54
+ lastItems[id] = item;
55
+ next.push(item);
56
+ } else {
57
+ next.push(last);
58
+ }
59
+ }
60
+ } catch (err) {
61
+ _didIteratorError = true;
62
+ _iteratorError = err;
63
+ } finally {
64
+ try {
65
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
66
+ _iterator.return();
67
+ }
68
+ } finally {
69
+ if (_didIteratorError) {
70
+ throw _iteratorError;
71
+ }
72
+ }
73
+ }
74
+ if (didFindChange) {
75
+ res = next;
76
+ } else {
77
+ res = memoizedList.current;
78
+ }
79
+ return res;
80
+ }, [identityKey, list]);
81
+ (0, import_react.useEffect)(function () {
82
+ memoizedList.current = val;
83
+ }, [val]);
84
+ return val;
85
+ }
86
+ //# sourceMappingURL=useMemoizedObjectList.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useMemoizedObjectList_exports","__export","useMemoizedObjectList","module","exports","import_helpers","require","import_react","list","identityKey","memoizedItems","useRef","memoizedList","val","useMemo","res","didFindChange","next","lastItems","current","length","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","item_","item","id","last","isEqualDeepLite","push","err","return"],"sources":["../../src/useMemoizedObjectList.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,6BAAA;AAAAC,QAAA,CAAAD,6BAAA;EAAAE,qBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAgC,CAAAK,6BAAA;AAChC,IAAAK,cAAA,GAA2CC,OAAA;AAapC,IAAAC,YAAS,GAAAD,OAAA,QAId;AACA,SAAMJ,qBAAgBA,CAAAM,IAAA,EAAAC,WAAA,EAA6B;EACnD,IAAAC,aAAM,OAAAH,YAAe,CAAAI,MAAA,GAAc;EAEnC,IAAAC,YAAY,OAAAL,YAAA,CAAAI,MAAQ,EAAMH,IAAA;EACxB,IAAAK,GAAI,KAAM,EAAAN,YAAA,CAAAO,OAAA;IACV,IAAIC,GAAA,GAAAP,IAAA;IACJ,IAAAQ,aAAsB;IACtB,IAAAC,IAAM;IAGN,IAAIC,SAAK,GAAAR,aAAW,CAAAS,OAAa;IAC/B,IAAAX,IAAA,CAAAY,MAAA,KAAgBR,YAAA,CAAAO,OAAA,CAAAC,MAAA;MAClBJ,aAAA;IAEA;IACE,IAAAK,yBAAa;MAAAC,iBAAA;MAAAC,cAAA;IACb;MACA,SAAMC,SAAO,GAAAhB,IAAY,CAAAiB,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAP,IAAA,IAAAW,IAAA,GAAAP,yBAAA;QAGzB,IAAKQ,KAAA,GAAQF,KAAC,CAAA5B,KAAA;QACZ,IAAA+B,IAAA,GAAAD,KAAgB;QAWhB,IAAAE,EAAA,GAAAD,IAAY,CAAArB,WAAI;QAChB,IAAAuB,IAAK,GAAKd,SAAI,CAAAa,EAAA;QAChB,KAAOC,IAAA,SAAA3B,cAAA,CAAA4B,eAAA,EAAAD,IAAA,EAAAF,IAAA;UACLd,aAAc;UAChBE,SAAA,CAAAa,EAAA,IAAAD,IAAA;UACFb,IAAA,CAAAiB,IAAA,CAAAJ,IAAA;QAGI;UACFb,IAAM,CAAAiB,IAAA,CAAAF,IAAA;QACR;MACE;IACF,SAAAG,GAAA;MAEAb,iBAAO;MACLC,cAAa,GAAIY,GAAC;IAEtB;MACE;QACE,IAAI,CAAAd,yBAAA,IAAAG,SAAA,CAAAY,MAAA;UAEDZ,SAAA,CAAAY,MAAA;QACT","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var useThrottle_exports = {};
24
+ __export(useThrottle_exports, {
25
+ useThrottle: () => useThrottle
26
+ });
27
+ module.exports = __toCommonJS(useThrottle_exports);
28
+ var import_react = require("react");
29
+ var import_useEvent = require("./useEvent.cjs");
30
+ const useThrottle = (fn, delay = 100) => {
31
+ const lastCallTime = (0, import_react.useRef)(0);
32
+ const timeoutRef = (0, import_react.useRef)(null);
33
+ const stableFn = (0, import_useEvent.useEvent)(fn);
34
+ const throttledFn = (0, import_useEvent.useEvent)((...args) => {
35
+ const now = Date.now();
36
+ const timeSinceLastCall = now - lastCallTime.current;
37
+ if (timeSinceLastCall >= delay) {
38
+ lastCallTime.current = now;
39
+ stableFn(...args);
40
+ } else {
41
+ if (timeoutRef.current) {
42
+ clearTimeout(timeoutRef.current);
43
+ }
44
+ timeoutRef.current = setTimeout(() => {
45
+ lastCallTime.current = Date.now();
46
+ stableFn(...args);
47
+ timeoutRef.current = null;
48
+ }, delay - timeSinceLastCall);
49
+ }
50
+ });
51
+ return throttledFn;
52
+ };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useThrottle_exports = {};
26
+ __export(useThrottle_exports, {
27
+ useThrottle: () => useThrottle
28
+ });
29
+ module.exports = __toCommonJS(useThrottle_exports);
30
+ var import_react = require("react");
31
+ var import_useEvent = require("./useEvent.native.js");
32
+ var useThrottle = function useThrottle2(fn) {
33
+ var delay = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 100;
34
+ var lastCallTime = (0, import_react.useRef)(0);
35
+ var timeoutRef = (0, import_react.useRef)(null);
36
+ var stableFn = (0, import_useEvent.useEvent)(fn);
37
+ var throttledFn = (0, import_useEvent.useEvent)(function () {
38
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
39
+ args[_key] = arguments[_key];
40
+ }
41
+ var now = Date.now();
42
+ var timeSinceLastCall = now - lastCallTime.current;
43
+ if (timeSinceLastCall >= delay) {
44
+ lastCallTime.current = now;
45
+ stableFn(...args);
46
+ } else {
47
+ if (timeoutRef.current) {
48
+ clearTimeout(timeoutRef.current);
49
+ }
50
+ timeoutRef.current = setTimeout(function () {
51
+ lastCallTime.current = Date.now();
52
+ stableFn(...args);
53
+ timeoutRef.current = null;
54
+ }, delay - timeSinceLastCall);
55
+ }
56
+ });
57
+ return throttledFn;
58
+ };
59
+ //# sourceMappingURL=useThrottle.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useThrottle_exports","__export","useThrottle","module","exports","import_react","require","import_useEvent","useThrottle2","fn","delay","arguments","length","lastCallTime","useRef","timeoutRef","stableFn","useEvent","throttledFn","_len","args","Array","_key","now","Date","timeSinceLastCall","current","clearTimeout","setTimeout"],"sources":["../../src/useThrottle.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAuB,CAAAK,mBAAA;AAEvB,IAAAK,YAAA,GAAAC,OAAyB;AAIlB,IAAAC,eAAM,GAAkDD,OAAO,uBAAmB;AACvF,IAAAJ,WAAM,YAAeM,aAAAC,EAAA;EACrB,IAAAC,KAAM,GAAAC,SAAA,CAAAC,MAAa,QAAAD,SAAqB,GAAI,cAAAA,SAAA;EAE5C,IAAAE,YAAM,KAAW,EAAAR,YAAA,CAAAS,MAAA;EAEjB,IAAAC,UAAM,OAAAV,YAAc,CAAAS,MAAA;EAClB,IAAAE,QAAM,GAAM,IAAKT,eAAI,CAAAU,QAAA,EAAAR,EAAA;EACrB,IAAAS,WAAM,OAAAX,eAA0B,CAAAU,QAAA,EAAa;IAE7C,KAAI,IAAAE,IAAA,GAAAR,SAAqB,CAAAC,MAAO,EAAAQ,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAE9BF,IAAA,CAAAE,IAAA,IAAaX,SAAA,CAAUW,IAAA;IACvB;IACF,IAAAC,GAAO,GAAAC,IAAA,CAAAD,GAAA;IAEL,IAAAE,iBAAe,GAAAF,GAAS,GAAAV,YAAA,CAAAa,OAAA;IACtB,IAAAD,iBAAa,IAAAf,KAAW;MAC1BG,YAAA,CAAAa,OAAA,GAAAH,GAAA;MAEAP,QAAA,IAAWI,IAAA;IACT;MACA,IAAAL,UAAY,CAAAW,OAAI;QAChBC,YAAW,CAAAZ,UAAU,CAAAW,OAAA;MACvB;MACFX,UAAA,CAAAW,OAAA,GAAAE,UAAA;QACDf,YAAA,CAAAa,OAAA,GAAAF,IAAA,CAAAD,GAAA;QAEDP,QAAO,IAAAI,IAAA;QACTL,UAAA,CAAAW,OAAA","ignoreList":[]}
@@ -0,0 +1,65 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var useWarnIfDepsChange_exports = {};
24
+ __export(useWarnIfDepsChange_exports, {
25
+ useWarnIfDepsChange: () => useWarnIfDepsChange
26
+ });
27
+ module.exports = __toCommonJS(useWarnIfDepsChange_exports);
28
+ var import_helpers = require("@o/helpers");
29
+ var import_react = require("react");
30
+ function useWarnIfDepsChange(deps, options) {
31
+ const {
32
+ maxChanges = 0,
33
+ name,
34
+ ignoreIndexBefore = 0
35
+ } = options;
36
+ const changeCountRef = (0, import_react.useRef)(0);
37
+ const prevDepsRef = (0, import_react.useRef)(void 0);
38
+ const id = (0, import_react.useId)();
39
+ (0, import_react.useEffect)(() => {
40
+ if (process.env.NODE_ENV === "development") {
41
+ if (prevDepsRef.current !== void 0) {
42
+ const changedDeps = [];
43
+ const compareDeps = ignoreIndexBefore ? deps.slice(ignoreIndexBefore) : deps;
44
+ compareDeps.forEach((dep, indexIn) => {
45
+ const index = indexIn + ignoreIndexBefore;
46
+ if (prevDepsRef.current && prevDepsRef.current[index] !== dep) {
47
+ changedDeps.push({
48
+ index,
49
+ prev: prevDepsRef.current[index],
50
+ next: dep
51
+ });
52
+ }
53
+ });
54
+ if (changedDeps.length > 0) {
55
+ changeCountRef.current++;
56
+ if (changeCountRef.current > maxChanges) {
57
+ console.info(`\u{1F504} useWarnIfDepsChange "${name}" is changing too often! Changed ${changeCountRef.current} times (max: ${maxChanges})`, changedDeps, `
58
+ id (${id}) at:`, (0, import_helpers.getCurrentComponentStack)("short"));
59
+ }
60
+ }
61
+ }
62
+ prevDepsRef.current = deps;
63
+ }
64
+ });
65
+ }