@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.
- package/LICENSE +21 -0
- package/README.md +120 -0
- package/dist/cjs/index.cjs +32 -0
- package/dist/cjs/index.native.js +35 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/useClickOutside.cjs +52 -0
- package/dist/cjs/useClickOutside.native.js +63 -0
- package/dist/cjs/useClickOutside.native.js.map +1 -0
- package/dist/cjs/useDebouncePrepend.cjs +66 -0
- package/dist/cjs/useDebouncePrepend.native.js +70 -0
- package/dist/cjs/useDebouncePrepend.native.js.map +1 -0
- package/dist/cjs/useDeepMemoizedObject.cjs +207 -0
- package/dist/cjs/useDeepMemoizedObject.native.js +258 -0
- package/dist/cjs/useDeepMemoizedObject.native.js.map +1 -0
- package/dist/cjs/useDeepMemoizedObject.test.cjs +321 -0
- package/dist/cjs/useDeepMemoizedObject.test.native.js +324 -0
- package/dist/cjs/useDeepMemoizedObject.test.native.js.map +1 -0
- package/dist/cjs/useDeferredBoolean.cjs +39 -0
- package/dist/cjs/useDeferredBoolean.native.js +42 -0
- package/dist/cjs/useDeferredBoolean.native.js.map +1 -0
- package/dist/cjs/useEffectOnceGlobally.cjs +45 -0
- package/dist/cjs/useEffectOnceGlobally.native.js +50 -0
- package/dist/cjs/useEffectOnceGlobally.native.js.map +1 -0
- package/dist/cjs/useEvent.cjs +33 -0
- package/dist/cjs/useEvent.native.js +41 -0
- package/dist/cjs/useEvent.native.js.map +1 -0
- package/dist/cjs/useIsMounted.cjs +35 -0
- package/dist/cjs/useIsMounted.native.js +38 -0
- package/dist/cjs/useIsMounted.native.js.map +1 -0
- package/dist/cjs/useLastValue.cjs +31 -0
- package/dist/cjs/useLastValue.native.js +34 -0
- package/dist/cjs/useLastValue.native.js.map +1 -0
- package/dist/cjs/useLastValueIf.cjs +38 -0
- package/dist/cjs/useLastValueIf.native.js +42 -0
- package/dist/cjs/useLastValueIf.native.js.map +1 -0
- package/dist/cjs/useMemoStable.cjs +35 -0
- package/dist/cjs/useMemoStable.native.js +39 -0
- package/dist/cjs/useMemoStable.native.js.map +1 -0
- package/dist/cjs/useMemoizedObjectList.cjs +64 -0
- package/dist/cjs/useMemoizedObjectList.native.js +86 -0
- package/dist/cjs/useMemoizedObjectList.native.js.map +1 -0
- package/dist/cjs/useThrottle.cjs +52 -0
- package/dist/cjs/useThrottle.native.js +59 -0
- package/dist/cjs/useThrottle.native.js.map +1 -0
- package/dist/cjs/useWarnIfDepsChange.cjs +65 -0
- package/dist/cjs/useWarnIfDepsChange.native.js +68 -0
- package/dist/cjs/useWarnIfDepsChange.native.js.map +1 -0
- package/dist/cjs/useWarnIfMemoChangesOften.cjs +43 -0
- package/dist/cjs/useWarnIfMemoChangesOften.native.js +48 -0
- package/dist/cjs/useWarnIfMemoChangesOften.native.js.map +1 -0
- package/dist/esm/index.js +14 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/index.mjs +14 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +14 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/useClickOutside.mjs +27 -0
- package/dist/esm/useClickOutside.mjs.map +1 -0
- package/dist/esm/useClickOutside.native.js +35 -0
- package/dist/esm/useClickOutside.native.js.map +1 -0
- package/dist/esm/useDebouncePrepend.mjs +41 -0
- package/dist/esm/useDebouncePrepend.mjs.map +1 -0
- package/dist/esm/useDebouncePrepend.native.js +42 -0
- package/dist/esm/useDebouncePrepend.native.js.map +1 -0
- package/dist/esm/useDeepMemoizedObject.mjs +180 -0
- package/dist/esm/useDeepMemoizedObject.mjs.map +1 -0
- package/dist/esm/useDeepMemoizedObject.native.js +228 -0
- package/dist/esm/useDeepMemoizedObject.native.js.map +1 -0
- package/dist/esm/useDeepMemoizedObject.test.mjs +322 -0
- package/dist/esm/useDeepMemoizedObject.test.mjs.map +1 -0
- package/dist/esm/useDeepMemoizedObject.test.native.js +322 -0
- package/dist/esm/useDeepMemoizedObject.test.native.js.map +1 -0
- package/dist/esm/useDeferredBoolean.mjs +14 -0
- package/dist/esm/useDeferredBoolean.mjs.map +1 -0
- package/dist/esm/useDeferredBoolean.native.js +14 -0
- package/dist/esm/useDeferredBoolean.native.js.map +1 -0
- package/dist/esm/useEffectOnceGlobally.mjs +20 -0
- package/dist/esm/useEffectOnceGlobally.mjs.map +1 -0
- package/dist/esm/useEffectOnceGlobally.native.js +22 -0
- package/dist/esm/useEffectOnceGlobally.native.js.map +1 -0
- package/dist/esm/useEvent.mjs +8 -0
- package/dist/esm/useEvent.mjs.map +1 -0
- package/dist/esm/useEvent.native.js +13 -0
- package/dist/esm/useEvent.native.js.map +1 -0
- package/dist/esm/useIsMounted.mjs +10 -0
- package/dist/esm/useIsMounted.mjs.map +1 -0
- package/dist/esm/useIsMounted.native.js +10 -0
- package/dist/esm/useIsMounted.native.js.map +1 -0
- package/dist/esm/useLastValue.mjs +6 -0
- package/dist/esm/useLastValue.mjs.map +1 -0
- package/dist/esm/useLastValue.native.js +6 -0
- package/dist/esm/useLastValue.native.js.map +1 -0
- package/dist/esm/useLastValueIf.mjs +13 -0
- package/dist/esm/useLastValueIf.mjs.map +1 -0
- package/dist/esm/useLastValueIf.native.js +14 -0
- package/dist/esm/useLastValueIf.native.js.map +1 -0
- package/dist/esm/useMemoStable.mjs +10 -0
- package/dist/esm/useMemoStable.mjs.map +1 -0
- package/dist/esm/useMemoStable.native.js +11 -0
- package/dist/esm/useMemoStable.native.js.map +1 -0
- package/dist/esm/useMemoizedObjectList.mjs +39 -0
- package/dist/esm/useMemoizedObjectList.mjs.map +1 -0
- package/dist/esm/useMemoizedObjectList.native.js +58 -0
- package/dist/esm/useMemoizedObjectList.native.js.map +1 -0
- package/dist/esm/useThrottle.mjs +27 -0
- package/dist/esm/useThrottle.mjs.map +1 -0
- package/dist/esm/useThrottle.native.js +31 -0
- package/dist/esm/useThrottle.native.js.map +1 -0
- package/dist/esm/useWarnIfDepsChange.mjs +40 -0
- package/dist/esm/useWarnIfDepsChange.mjs.map +1 -0
- package/dist/esm/useWarnIfDepsChange.native.js +40 -0
- package/dist/esm/useWarnIfDepsChange.native.js.map +1 -0
- package/dist/esm/useWarnIfMemoChangesOften.mjs +18 -0
- package/dist/esm/useWarnIfMemoChangesOften.mjs.map +1 -0
- package/dist/esm/useWarnIfMemoChangesOften.native.js +20 -0
- package/dist/esm/useWarnIfMemoChangesOften.native.js.map +1 -0
- package/package.json +59 -0
- package/src/index.ts +13 -0
- package/src/useClickOutside.ts +34 -0
- package/src/useDebouncePrepend.ts +63 -0
- package/src/useDeepMemoizedObject.test.ts +344 -0
- package/src/useDeepMemoizedObject.ts +231 -0
- package/src/useDeferredBoolean.tsx +15 -0
- package/src/useEffectOnceGlobally.ts +41 -0
- package/src/useEvent.ts +7 -0
- package/src/useIsMounted.ts +11 -0
- package/src/useLastValue.ts +5 -0
- package/src/useLastValueIf.ts +15 -0
- package/src/useMemoStable.ts +25 -0
- package/src/useMemoizedObjectList.ts +74 -0
- package/src/useThrottle.ts +36 -0
- package/src/useWarnIfDepsChange.ts +61 -0
- 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
|
+
}
|