@take-out/hooks 0.4.3 → 0.4.5
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/dist/cjs/index.cjs +7 -5
- package/dist/cjs/index.native.js +7 -5
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/useClickOutside.cjs +24 -15
- package/dist/cjs/useClickOutside.native.js +34 -22
- package/dist/cjs/useClickOutside.native.js.map +1 -1
- package/dist/cjs/useDebouncePrepend.cjs +47 -27
- package/dist/cjs/useDebouncePrepend.native.js +48 -32
- package/dist/cjs/useDebouncePrepend.native.js.map +1 -1
- package/dist/cjs/useDeepMemoizedObject.cjs +154 -95
- package/dist/cjs/useDeepMemoizedObject.native.js +177 -111
- package/dist/cjs/useDeepMemoizedObject.native.js.map +1 -1
- package/dist/cjs/useDeepMemoizedObject.test.cjs +269 -199
- package/dist/cjs/useDeepMemoizedObject.test.native.js +265 -202
- package/dist/cjs/useDeepMemoizedObject.test.native.js.map +1 -1
- package/dist/cjs/useDeferredBoolean.cjs +20 -15
- package/dist/cjs/useDeferredBoolean.native.js +22 -17
- package/dist/cjs/useDeferredBoolean.native.js.map +1 -1
- package/dist/cjs/useEffectOnceGlobally.cjs +24 -12
- package/dist/cjs/useEffectOnceGlobally.native.js +27 -15
- package/dist/cjs/useEffectOnceGlobally.native.js.map +1 -1
- package/dist/cjs/useEvent.cjs +14 -11
- package/dist/cjs/useEvent.native.js +17 -12
- package/dist/cjs/useEvent.native.js.map +1 -1
- package/dist/cjs/useIsMounted.cjs +17 -14
- package/dist/cjs/useIsMounted.native.js +20 -17
- package/dist/cjs/useIsMounted.native.js.map +1 -1
- package/dist/cjs/useLastValue.cjs +13 -11
- package/dist/cjs/useLastValue.native.js +13 -11
- package/dist/cjs/useLastValue.native.js.map +1 -1
- package/dist/cjs/useLastValueIf.cjs +21 -14
- package/dist/cjs/useLastValueIf.native.js +21 -14
- package/dist/cjs/useLastValueIf.native.js.map +1 -1
- package/dist/cjs/useMemoStable.cjs +17 -14
- package/dist/cjs/useMemoStable.native.js +17 -14
- package/dist/cjs/useMemoStable.native.js.map +1 -1
- package/dist/cjs/useMemoizedObjectList.cjs +45 -29
- package/dist/cjs/useMemoizedObjectList.native.js +60 -39
- package/dist/cjs/useMemoizedObjectList.native.js.map +1 -1
- package/dist/cjs/useThrottle.cjs +34 -21
- package/dist/cjs/useThrottle.native.js +41 -27
- package/dist/cjs/useThrottle.native.js.map +1 -1
- package/dist/cjs/useWarnIfDepsChange.cjs +38 -27
- package/dist/cjs/useWarnIfDepsChange.native.js +38 -28
- package/dist/cjs/useWarnIfDepsChange.native.js.map +1 -1
- package/dist/cjs/useWarnIfMemoChangesOften.cjs +24 -15
- package/dist/cjs/useWarnIfMemoChangesOften.native.js +27 -21
- package/dist/cjs/useWarnIfMemoChangesOften.native.js.map +1 -1
- package/dist/esm/useClickOutside.mjs +10 -3
- package/dist/esm/useClickOutside.mjs.map +1 -1
- package/dist/esm/useClickOutside.native.js +20 -10
- package/dist/esm/useClickOutside.native.js.map +1 -1
- package/dist/esm/useDebouncePrepend.mjs +33 -15
- package/dist/esm/useDebouncePrepend.mjs.map +1 -1
- package/dist/esm/useDebouncePrepend.native.js +34 -20
- package/dist/esm/useDebouncePrepend.native.js.map +1 -1
- package/dist/esm/useDeepMemoizedObject.mjs +142 -85
- package/dist/esm/useDeepMemoizedObject.mjs.map +1 -1
- package/dist/esm/useDeepMemoizedObject.native.js +165 -101
- package/dist/esm/useDeepMemoizedObject.native.js.map +1 -1
- package/dist/esm/useDeepMemoizedObject.test.mjs +267 -197
- package/dist/esm/useDeepMemoizedObject.test.mjs.map +1 -1
- package/dist/esm/useDeepMemoizedObject.test.native.js +263 -200
- package/dist/esm/useDeepMemoizedObject.test.native.js.map +1 -1
- package/dist/esm/useDeferredBoolean.mjs +8 -5
- package/dist/esm/useDeferredBoolean.mjs.map +1 -1
- package/dist/esm/useDeferredBoolean.native.js +8 -5
- package/dist/esm/useDeferredBoolean.native.js.map +1 -1
- package/dist/esm/useEffectOnceGlobally.mjs +12 -2
- package/dist/esm/useEffectOnceGlobally.mjs.map +1 -1
- package/dist/esm/useEffectOnceGlobally.native.js +13 -3
- package/dist/esm/useEffectOnceGlobally.native.js.map +1 -1
- package/dist/esm/useEvent.mjs +2 -1
- package/dist/esm/useEvent.mjs.map +1 -1
- package/dist/esm/useEvent.native.js +5 -2
- package/dist/esm/useEvent.native.js.map +1 -1
- package/dist/esm/useIsMounted.mjs +5 -4
- package/dist/esm/useIsMounted.mjs.map +1 -1
- package/dist/esm/useIsMounted.native.js +5 -4
- package/dist/esm/useIsMounted.native.js.map +1 -1
- package/dist/esm/useLastValue.mjs +1 -1
- package/dist/esm/useLastValue.mjs.map +1 -1
- package/dist/esm/useLastValue.native.js +1 -1
- package/dist/esm/useLastValue.native.js.map +1 -1
- package/dist/esm/useLastValueIf.mjs +9 -4
- package/dist/esm/useLastValueIf.mjs.map +1 -1
- package/dist/esm/useLastValueIf.native.js +9 -4
- package/dist/esm/useLastValueIf.native.js.map +1 -1
- package/dist/esm/useMemoStable.mjs +3 -2
- package/dist/esm/useMemoStable.mjs.map +1 -1
- package/dist/esm/useMemoStable.native.js +3 -2
- package/dist/esm/useMemoStable.native.js.map +1 -1
- package/dist/esm/useMemoizedObjectList.mjs +31 -17
- package/dist/esm/useMemoizedObjectList.mjs.map +1 -1
- package/dist/esm/useMemoizedObjectList.native.js +46 -27
- package/dist/esm/useMemoizedObjectList.native.js.map +1 -1
- package/dist/esm/useThrottle.mjs +20 -9
- package/dist/esm/useThrottle.mjs.map +1 -1
- package/dist/esm/useThrottle.native.js +24 -12
- package/dist/esm/useThrottle.native.js.map +1 -1
- package/dist/esm/useWarnIfDepsChange.mjs +24 -15
- package/dist/esm/useWarnIfDepsChange.mjs.map +1 -1
- package/dist/esm/useWarnIfDepsChange.native.js +24 -16
- package/dist/esm/useWarnIfDepsChange.native.js.map +1 -1
- package/dist/esm/useWarnIfMemoChangesOften.mjs +10 -3
- package/dist/esm/useWarnIfMemoChangesOften.mjs.map +1 -1
- package/dist/esm/useWarnIfMemoChangesOften.native.js +10 -6
- package/dist/esm/useWarnIfMemoChangesOften.native.js.map +1 -1
- package/package.json +3 -3
|
@@ -3,30 +3,33 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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, {
|
|
13
14
|
get: () => from[key],
|
|
14
15
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
16
|
});
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
18
20
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
-
value:
|
|
21
|
+
value: true
|
|
20
22
|
}), mod);
|
|
21
23
|
var useMemoStable_exports = {};
|
|
22
24
|
__export(useMemoStable_exports, {
|
|
23
25
|
useMemoStable: () => useMemoStable
|
|
24
26
|
});
|
|
25
27
|
module.exports = __toCommonJS(useMemoStable_exports);
|
|
26
|
-
var import_react = require("react")
|
|
27
|
-
|
|
28
|
+
var import_react = require("react");
|
|
29
|
+
var import_useWarnIfDepsChange = require("./useWarnIfDepsChange.cjs");
|
|
28
30
|
function useMemoStable(getValue, deps, options = {
|
|
29
|
-
name:
|
|
31
|
+
name: `(untitled)`
|
|
30
32
|
}) {
|
|
31
|
-
|
|
33
|
+
(0, import_useWarnIfDepsChange.useWarnIfDepsChange)(deps, options);
|
|
34
|
+
return (0, import_react.useMemo)(getValue, deps);
|
|
32
35
|
}
|
|
@@ -5,32 +5,35 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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, {
|
|
15
16
|
get: () => from[key],
|
|
16
17
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
20
22
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
-
value:
|
|
23
|
+
value: true
|
|
22
24
|
}), mod);
|
|
23
25
|
var useMemoStable_exports = {};
|
|
24
26
|
__export(useMemoStable_exports, {
|
|
25
27
|
useMemoStable: () => useMemoStable
|
|
26
28
|
});
|
|
27
29
|
module.exports = __toCommonJS(useMemoStable_exports);
|
|
28
|
-
var import_react = require("react")
|
|
29
|
-
|
|
30
|
+
var import_react = require("react");
|
|
31
|
+
var import_useWarnIfDepsChange = require("./useWarnIfDepsChange.native.js");
|
|
30
32
|
function useMemoStable(getValue, deps) {
|
|
31
33
|
var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {
|
|
32
|
-
name:
|
|
34
|
+
name: `(untitled)`
|
|
33
35
|
};
|
|
34
|
-
|
|
36
|
+
(0, import_useWarnIfDepsChange.useWarnIfDepsChange)(deps, options);
|
|
37
|
+
return (0, import_react.useMemo)(getValue, deps);
|
|
35
38
|
}
|
|
36
39
|
//# sourceMappingURL=useMemoStable.native.js.map
|
|
@@ -1 +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"],"sources":["../../src/useMemoStable.ts"],"sourcesContent":[null],"mappings":"
|
|
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":[]}
|
|
@@ -3,46 +3,62 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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, {
|
|
13
14
|
get: () => from[key],
|
|
14
15
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
16
|
});
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
18
20
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
-
value:
|
|
21
|
+
value: true
|
|
20
22
|
}), mod);
|
|
21
23
|
var useMemoizedObjectList_exports = {};
|
|
22
24
|
__export(useMemoizedObjectList_exports, {
|
|
23
25
|
useMemoizedObjectList: () => useMemoizedObjectList
|
|
24
26
|
});
|
|
25
27
|
module.exports = __toCommonJS(useMemoizedObjectList_exports);
|
|
26
|
-
var import_helpers = require("@take-out/helpers")
|
|
27
|
-
|
|
28
|
+
var import_helpers = require("@take-out/helpers");
|
|
29
|
+
var import_react = require("react");
|
|
28
30
|
function useMemoizedObjectList(list, identityKey) {
|
|
29
|
-
const memoizedItems = (0, import_react.useRef)({})
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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);
|
|
42
51
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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)(() => {
|
|
46
61
|
memoizedList.current = val;
|
|
47
|
-
}, [val])
|
|
62
|
+
}, [val]);
|
|
63
|
+
return val;
|
|
48
64
|
}
|
|
@@ -5,61 +5,82 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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, {
|
|
15
16
|
get: () => from[key],
|
|
16
17
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
20
22
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
-
value:
|
|
23
|
+
value: true
|
|
22
24
|
}), mod);
|
|
23
25
|
var useMemoizedObjectList_exports = {};
|
|
24
26
|
__export(useMemoizedObjectList_exports, {
|
|
25
27
|
useMemoizedObjectList: () => useMemoizedObjectList
|
|
26
28
|
});
|
|
27
29
|
module.exports = __toCommonJS(useMemoizedObjectList_exports);
|
|
28
|
-
var import_helpers = require("@take-out/helpers")
|
|
29
|
-
|
|
30
|
+
var import_helpers = require("@take-out/helpers");
|
|
31
|
+
var import_react = require("react");
|
|
30
32
|
function useMemoizedObjectList(list, identityKey) {
|
|
31
|
-
var memoizedItems = (0, import_react.useRef)({})
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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 {
|
|
42
64
|
try {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
item = item_,
|
|
46
|
-
id = item[identityKey],
|
|
47
|
-
last = lastItems[id];
|
|
48
|
-
!last || !(0, import_helpers.isEqualDeepLite)(last, item) ? (didFindChange = !0, lastItems[id] = item, next.push(item)) : next.push(last);
|
|
65
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
66
|
+
_iterator.return();
|
|
49
67
|
}
|
|
50
|
-
} catch (err) {
|
|
51
|
-
_didIteratorError = !0, _iteratorError = err;
|
|
52
68
|
} finally {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
} finally {
|
|
56
|
-
if (_didIteratorError) throw _iteratorError;
|
|
69
|
+
if (_didIteratorError) {
|
|
70
|
+
throw _iteratorError;
|
|
57
71
|
}
|
|
58
72
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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 () {
|
|
62
82
|
memoizedList.current = val;
|
|
63
|
-
}, [val])
|
|
83
|
+
}, [val]);
|
|
84
|
+
return val;
|
|
64
85
|
}
|
|
65
86
|
//# sourceMappingURL=useMemoizedObjectList.native.js.map
|
|
@@ -1 +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"],"sources":["../../src/useMemoizedObjectList.ts"],"sourcesContent":[null],"mappings":"
|
|
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":[]}
|
package/dist/cjs/useThrottle.cjs
CHANGED
|
@@ -3,37 +3,50 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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, {
|
|
13
14
|
get: () => from[key],
|
|
14
15
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
16
|
});
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
18
20
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
-
value:
|
|
21
|
+
value: true
|
|
20
22
|
}), mod);
|
|
21
23
|
var useThrottle_exports = {};
|
|
22
24
|
__export(useThrottle_exports, {
|
|
23
25
|
useThrottle: () => useThrottle
|
|
24
26
|
});
|
|
25
27
|
module.exports = __toCommonJS(useThrottle_exports);
|
|
26
|
-
var import_react = require("react")
|
|
27
|
-
|
|
28
|
+
var import_react = require("react");
|
|
29
|
+
var import_useEvent = require("./useEvent.cjs");
|
|
28
30
|
const useThrottle = (fn, delay = 100) => {
|
|
29
|
-
const lastCallTime = (0, import_react.useRef)(0)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const now = Date.now()
|
|
34
|
-
|
|
35
|
-
timeSinceLastCall >= delay
|
|
36
|
-
lastCallTime.current =
|
|
37
|
-
|
|
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
|
+
}
|
|
38
50
|
});
|
|
51
|
+
return throttledFn;
|
|
39
52
|
};
|
|
@@ -5,41 +5,55 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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, {
|
|
15
16
|
get: () => from[key],
|
|
16
17
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
20
22
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
-
value:
|
|
23
|
+
value: true
|
|
22
24
|
}), mod);
|
|
23
25
|
var useThrottle_exports = {};
|
|
24
26
|
__export(useThrottle_exports, {
|
|
25
27
|
useThrottle: () => useThrottle
|
|
26
28
|
});
|
|
27
29
|
module.exports = __toCommonJS(useThrottle_exports);
|
|
28
|
-
var import_react = require("react")
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
30
|
+
var import_react = require("react");
|
|
31
|
+
var import_useEvent = require("./useEvent.native.js");
|
|
32
|
+
var useThrottle = function (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
|
+
};
|
|
45
59
|
//# sourceMappingURL=useThrottle.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useThrottle_exports","__export","useThrottle","module","exports","import_react","require","import_useEvent","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":"
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useThrottle_exports","__export","useThrottle","module","exports","import_react","require","import_useEvent","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,YAAAA,CAAeM,EAAA;EACrB,IAAAC,KAAM,GAAAC,SAAA,CAAAC,MAAa,QAAAD,SAAqB,GAAI,cAAAA,SAAA;EAE5C,IAAAE,YAAM,KAAW,EAAAP,YAAA,CAAAQ,MAAA;EAEjB,IAAAC,UAAM,OAAAT,YAAc,CAAAQ,MAAA;EAClB,IAAAE,QAAM,GAAM,IAAKR,eAAI,CAAAS,QAAA,EAAAR,EAAA;EACrB,IAAAS,WAAM,OAAAV,eAA0B,CAAAS,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":[]}
|
|
@@ -3,50 +3,61 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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, {
|
|
13
14
|
get: () => from[key],
|
|
14
15
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
16
|
});
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
18
20
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
-
value:
|
|
21
|
+
value: true
|
|
20
22
|
}), mod);
|
|
21
23
|
var useWarnIfDepsChange_exports = {};
|
|
22
24
|
__export(useWarnIfDepsChange_exports, {
|
|
23
25
|
useWarnIfDepsChange: () => useWarnIfDepsChange
|
|
24
26
|
});
|
|
25
27
|
module.exports = __toCommonJS(useWarnIfDepsChange_exports);
|
|
26
|
-
var import_helpers = require("@take-out/helpers")
|
|
27
|
-
|
|
28
|
+
var import_helpers = require("@take-out/helpers");
|
|
29
|
+
var import_react = require("react");
|
|
28
30
|
function useWarnIfDepsChange(deps, options) {
|
|
29
31
|
const {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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)();
|
|
37
39
|
(0, import_react.useEffect)(() => {
|
|
38
40
|
if (process.env.NODE_ENV === "development") {
|
|
39
41
|
if (prevDepsRef.current !== void 0) {
|
|
40
42
|
const changedDeps = [];
|
|
41
|
-
|
|
43
|
+
const compareDeps = ignoreIndexBefore ? deps.slice(ignoreIndexBefore) : deps;
|
|
44
|
+
compareDeps.forEach((dep, indexIn) => {
|
|
42
45
|
const index = indexIn + ignoreIndexBefore;
|
|
43
|
-
prevDepsRef.current && prevDepsRef.current[index] !== dep
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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
|
+
}
|
|
50
61
|
}
|
|
51
62
|
prevDepsRef.current = deps;
|
|
52
63
|
}
|