@jelper/hooks 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.js +6 -5
- package/es/useAsync.js +3 -3
- package/es/useBoolState.js +1 -1
- package/es/useDebounce.js +2 -2
- package/es/useInterval.js +12 -3
- package/es/{useIsUnmounted.js → useIsUnmount.js} +5 -4
- package/es/useResizeObserver.js +22 -11
- package/es/useRtRef.js +1 -1
- package/es/useSafeRunner.js +1 -1
- package/es/useThrottle.js +2 -2
- package/es/useTimeout.js +12 -2
- package/es/useUpdateEff.js +3 -3
- package/es/useValue.js +11 -14
- package/lib/index.js +9 -4
- package/lib/useAsync.js +4 -4
- package/lib/useBoolState.js +1 -1
- package/lib/useDebounce.js +2 -2
- package/lib/useInterval.js +32 -4
- package/lib/{useIsUnmounted.js → useIsUnmount.js} +5 -4
- package/lib/useResizeObserver.js +25 -12
- package/lib/useRtRef.js +1 -1
- package/lib/useSafeRunner.js +2 -2
- package/lib/useThrottle.js +2 -2
- package/lib/useTimeout.js +32 -3
- package/lib/useUpdateEff.js +3 -3
- package/lib/useValue.js +10 -13
- package/package.json +2 -2
- package/types/index.d.ts +6 -5
- package/types/useAsync.d.ts +2 -1
- package/types/useBoolState.d.ts +5 -2
- package/types/useDebounce.d.ts +1 -1
- package/types/useInterval.d.ts +2 -1
- package/types/useIsUnmount.d.ts +8 -0
- package/types/useResizeObserver.d.ts +3 -1
- package/types/useRtRef.d.ts +1 -1
- package/types/useThrottle.d.ts +3 -3
- package/types/useTimeout.d.ts +3 -2
- package/types/useUpdateEff.d.ts +3 -3
- package/types/useIsUnmounted.d.ts +0 -8
package/es/index.js
CHANGED
|
@@ -6,10 +6,10 @@ export { default as useOption } from './useOption';
|
|
|
6
6
|
export { default as useRtRef } from './useRtRef';
|
|
7
7
|
export { default as useRtCb } from './useRtCb';
|
|
8
8
|
// 特殊 Effect
|
|
9
|
-
export { default as
|
|
9
|
+
export { default as useUpdateEff } from './useUpdateEff';
|
|
10
10
|
// 模拟生命周期
|
|
11
11
|
export { default as useIsMounted } from './useIsMounted';
|
|
12
|
-
export { default as useIsUnmount } from './
|
|
12
|
+
export { default as useIsUnmount } from './useIsUnmount';
|
|
13
13
|
export { default as useCreate } from './useCreate';
|
|
14
14
|
export { default as useMount } from './useMount';
|
|
15
15
|
export { default as useUnmount } from './useUnmount';
|
|
@@ -19,8 +19,9 @@ export { default as useIgnoreAbortErrCb } from './useIgnoreAbortErrCb';
|
|
|
19
19
|
export { default as useDebounce } from './useDebounce';
|
|
20
20
|
export { default as useThrottle } from './useThrottle';
|
|
21
21
|
// 使用异步
|
|
22
|
+
export { default as useSafeRunner } from './useSafeRunner';
|
|
22
23
|
export { default as useAsync } from './useAsync';
|
|
23
24
|
// 浏览器api
|
|
24
|
-
export { default as useTimeout } from './useTimeout';
|
|
25
|
-
export { default as useInterval } from './useInterval';
|
|
26
|
-
export { default as useResizeObserver } from './useResizeObserver';
|
|
25
|
+
export { default as useTimeout, useTimeoutHandler } from './useTimeout';
|
|
26
|
+
export { default as useInterval, useIntervalHandler } from './useInterval';
|
|
27
|
+
export { default as useResizeObserver, useResizeObserverHandler } from './useResizeObserver';
|
package/es/useAsync.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2025-03-18 23:44:38
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-29 17:58:54
|
|
6
6
|
*/
|
|
7
7
|
import { useEffect, useState } from 'react';
|
|
8
8
|
import useRtCb from './useRtCb';
|
|
9
9
|
import useCreate from './useCreate';
|
|
10
|
-
import useIsUnmounted from './
|
|
10
|
+
import useIsUnmounted from './useIsUnmount';
|
|
11
11
|
import useUnmount from './useUnmount';
|
|
12
12
|
const defOpt = {
|
|
13
13
|
immediate: false,
|
|
@@ -68,6 +68,6 @@ const useAsync = (asyncFn, opt = defOpt) => {
|
|
|
68
68
|
controller.abort();
|
|
69
69
|
}
|
|
70
70
|
});
|
|
71
|
-
return [data, { run, refresh, loading, error, param }];
|
|
71
|
+
return [data, { run, refresh, loading, error, param, controller }];
|
|
72
72
|
};
|
|
73
73
|
export default useAsync;
|
package/es/useBoolState.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2025-03-16 11:16:34
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-29 18:08:43
|
|
6
6
|
*/
|
|
7
7
|
import { useState, useCallback } from 'react';
|
|
8
8
|
const useBoolState = (value) => {
|
package/es/useDebounce.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2025-03-19 22:55:14
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-29 18:56:32
|
|
6
6
|
*/
|
|
7
7
|
import { debounce } from 'lodash-es';
|
|
8
8
|
import { useMemo } from 'react';
|
|
@@ -13,6 +13,6 @@ const useDebounce = (cb, wait, opts) => {
|
|
|
13
13
|
return debounce((...arg) => {
|
|
14
14
|
rtCb(...arg);
|
|
15
15
|
}, wait, opts);
|
|
16
|
-
}, []);
|
|
16
|
+
}, [wait, opts]);
|
|
17
17
|
};
|
|
18
18
|
export default useDebounce;
|
package/es/useInterval.js
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2023-12-14 16:51:29
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-30 18:24:00
|
|
6
6
|
*/
|
|
7
7
|
import { useCallback, useEffect, useRef } from 'react';
|
|
8
|
-
|
|
8
|
+
import useRtCb from './useRtCb';
|
|
9
|
+
export const useIntervalHandler = () => {
|
|
9
10
|
const timerRef = useRef();
|
|
10
11
|
const clearTimer = useCallback(() => {
|
|
11
12
|
if (timerRef.current) {
|
|
@@ -16,7 +17,6 @@ const useInterval = () => {
|
|
|
16
17
|
const bindTimer = useCallback((callback, timeout, ...arg) => {
|
|
17
18
|
clearTimer();
|
|
18
19
|
timerRef.current = window.setInterval(() => {
|
|
19
|
-
timerRef.current = undefined;
|
|
20
20
|
callback(...arg);
|
|
21
21
|
}, timeout);
|
|
22
22
|
}, []);
|
|
@@ -26,4 +26,13 @@ const useInterval = () => {
|
|
|
26
26
|
clearTimer,
|
|
27
27
|
];
|
|
28
28
|
};
|
|
29
|
+
export const useInterval = (callback, timeout, ...arg) => {
|
|
30
|
+
const [bindTimer, clearTimer] = useIntervalHandler();
|
|
31
|
+
const cb = useRtCb(callback);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
bindTimer(cb, timeout, ...arg);
|
|
34
|
+
return clearTimer;
|
|
35
|
+
}, [cb, timeout, ...arg]);
|
|
36
|
+
return clearTimer;
|
|
37
|
+
};
|
|
29
38
|
export default useInterval;
|
|
@@ -2,16 +2,17 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2025-03-16 21:33:24
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-29 20:15:50
|
|
6
6
|
*/
|
|
7
7
|
import { useCallback, useEffect, useRef } from 'react';
|
|
8
|
-
const
|
|
9
|
-
const ref = useRef(
|
|
8
|
+
const useIsUnmount = () => {
|
|
9
|
+
const ref = useRef(true);
|
|
10
10
|
useEffect(() => {
|
|
11
|
+
ref.current = false;
|
|
11
12
|
return () => {
|
|
12
13
|
ref.current = true;
|
|
13
14
|
};
|
|
14
15
|
}, []);
|
|
15
16
|
return useCallback(() => ref.current, []);
|
|
16
17
|
};
|
|
17
|
-
export default
|
|
18
|
+
export default useIsUnmount;
|
package/es/useResizeObserver.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2023-11-24 10:52:51
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-30 14:35:56
|
|
6
6
|
*/
|
|
7
7
|
import { useCallback, useEffect } from 'react';
|
|
8
8
|
let resizeObserver = null;
|
|
@@ -24,6 +24,9 @@ const observe = (target, cb) => {
|
|
|
24
24
|
if (!resizeObserver) {
|
|
25
25
|
init();
|
|
26
26
|
}
|
|
27
|
+
if (!target) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
27
30
|
observeCatch === null || observeCatch === void 0 ? void 0 : observeCatch.set(target, cb);
|
|
28
31
|
resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.observe(target);
|
|
29
32
|
};
|
|
@@ -31,20 +34,28 @@ const unobserve = (target) => {
|
|
|
31
34
|
if (!resizeObserver) {
|
|
32
35
|
init();
|
|
33
36
|
}
|
|
37
|
+
if (!target) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
34
40
|
resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.unobserve(target);
|
|
35
41
|
observeCatch === null || observeCatch === void 0 ? void 0 : observeCatch.delete(target);
|
|
36
42
|
};
|
|
37
|
-
export
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
export const useResizeObserverHandler = () => {
|
|
44
|
+
return [observe, unobserve];
|
|
45
|
+
};
|
|
46
|
+
export const useResizeObserver = (domRef, cb) => {
|
|
41
47
|
const selfUnobserve = useCallback(() => {
|
|
42
|
-
|
|
43
|
-
|
|
48
|
+
if (domRef.current) {
|
|
49
|
+
unobserve(domRef.current);
|
|
50
|
+
}
|
|
51
|
+
}, [domRef.current]);
|
|
44
52
|
useEffect(() => {
|
|
53
|
+
if (!domRef.current)
|
|
54
|
+
return;
|
|
55
|
+
const dom = domRef.current;
|
|
45
56
|
observe(dom, cb);
|
|
46
57
|
return () => unobserve(dom);
|
|
47
|
-
}, [
|
|
48
|
-
return
|
|
49
|
-
}
|
|
50
|
-
;
|
|
58
|
+
}, [domRef.current, cb]);
|
|
59
|
+
return selfUnobserve;
|
|
60
|
+
};
|
|
61
|
+
export default useResizeObserver;
|
package/es/useRtRef.js
CHANGED
package/es/useSafeRunner.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @Last Modified time: 2025-03-19 22:41:39
|
|
6
6
|
*/
|
|
7
7
|
import { useCallback } from 'react';
|
|
8
|
-
import useIsUnmount from "./
|
|
8
|
+
import useIsUnmount from "./useIsUnmount";
|
|
9
9
|
const useSafeRunner = () => {
|
|
10
10
|
const isUnmount = useIsUnmount();
|
|
11
11
|
return useCallback((cb, unmountCb) => {
|
package/es/useThrottle.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2025-03-19 22:55:28
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-30 15:31:34
|
|
6
6
|
*/
|
|
7
7
|
import { throttle } from 'lodash-es';
|
|
8
8
|
import { useMemo } from 'react';
|
|
@@ -13,6 +13,6 @@ const useThrottle = (cb, wait, opts) => {
|
|
|
13
13
|
return throttle((...arg) => {
|
|
14
14
|
rtCb(...arg);
|
|
15
15
|
}, wait, opts);
|
|
16
|
-
}, []);
|
|
16
|
+
}, [wait, opts]);
|
|
17
17
|
};
|
|
18
18
|
export default useThrottle;
|
package/es/useTimeout.js
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2025-03-19 23:10:13
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-30 18:24:42
|
|
6
6
|
*/
|
|
7
7
|
import { useCallback, useEffect, useRef } from 'react';
|
|
8
|
-
|
|
8
|
+
import useRtCb from './useRtCb';
|
|
9
|
+
export const useTimeoutHandler = () => {
|
|
9
10
|
const timerRef = useRef();
|
|
10
11
|
const clearTimer = useCallback(() => {
|
|
11
12
|
if (timerRef.current) {
|
|
@@ -26,4 +27,13 @@ const useTimeout = () => {
|
|
|
26
27
|
clearTimer,
|
|
27
28
|
];
|
|
28
29
|
};
|
|
30
|
+
export const useTimeout = (callback, timeout, ...arg) => {
|
|
31
|
+
const [bindTimer, clearTimer] = useTimeoutHandler();
|
|
32
|
+
const cb = useRtCb(callback);
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
bindTimer(cb, timeout, ...arg);
|
|
35
|
+
return clearTimer;
|
|
36
|
+
}, [cb, timeout, ...arg]);
|
|
37
|
+
return clearTimer;
|
|
38
|
+
};
|
|
29
39
|
export default useTimeout;
|
package/es/useUpdateEff.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2025-03-16 11:35:13
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-30 15:51:14
|
|
6
6
|
*/
|
|
7
7
|
import { useRef, useEffect } from 'react';
|
|
8
|
-
const
|
|
8
|
+
const useUpdateEff = (cb, deps) => {
|
|
9
9
|
const ref = useRef(false);
|
|
10
10
|
useEffect(() => {
|
|
11
11
|
if (ref.current) {
|
|
@@ -14,4 +14,4 @@ const useUpdateEffect = (cb, deps) => {
|
|
|
14
14
|
ref.current = true;
|
|
15
15
|
}, deps);
|
|
16
16
|
};
|
|
17
|
-
export default
|
|
17
|
+
export default useUpdateEff;
|
package/es/useValue.js
CHANGED
|
@@ -5,25 +5,22 @@
|
|
|
5
5
|
* @Last Modified by: jade
|
|
6
6
|
* @Last Modified Time: 2023-04-05 14:39:52
|
|
7
7
|
*/
|
|
8
|
-
import { useState
|
|
9
|
-
import
|
|
8
|
+
import { useState } from 'react';
|
|
9
|
+
import useUpdateEff from './useUpdateEff';
|
|
10
10
|
const defEqual = (a, b) => a === b;
|
|
11
11
|
const useValue = (value, onChange, opts) => {
|
|
12
12
|
const { isEqual = defEqual } = opts || {};
|
|
13
13
|
const [val, setVal] = useState(value);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}, []);
|
|
18
|
-
const [oldValue, setOldValue] = useState(value);
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
if (!isEqual(value, oldValue)) {
|
|
21
|
-
setOldValue(value);
|
|
22
|
-
if (!isEqual(value, val)) {
|
|
23
|
-
updateValue(value);
|
|
24
|
-
}
|
|
14
|
+
useUpdateEff(() => {
|
|
15
|
+
if (!isEqual(value, val)) {
|
|
16
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(val);
|
|
25
17
|
}
|
|
26
|
-
}, [
|
|
18
|
+
}, [val]);
|
|
19
|
+
useUpdateEff(() => {
|
|
20
|
+
if (!isEqual(value, val)) {
|
|
21
|
+
setVal(value);
|
|
22
|
+
}
|
|
23
|
+
}, [value]);
|
|
27
24
|
return [val, setVal];
|
|
28
25
|
};
|
|
29
26
|
export default useValue;
|
package/lib/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.useResizeObserver = exports.useInterval = exports.useTimeout = exports.useAsync = exports.useThrottle = exports.useDebounce = exports.useIgnoreAbortErrCb = exports.useUnmount = exports.useMount = exports.useCreate = exports.useIsUnmount = exports.useIsMounted = exports.
|
|
6
|
+
exports.useResizeObserverHandler = exports.useResizeObserver = exports.useIntervalHandler = exports.useInterval = exports.useTimeoutHandler = exports.useTimeout = exports.useAsync = exports.useSafeRunner = exports.useThrottle = exports.useDebounce = exports.useIgnoreAbortErrCb = exports.useUnmount = exports.useMount = exports.useCreate = exports.useIsUnmount = exports.useIsMounted = exports.useUpdateEff = exports.useRtCb = exports.useRtRef = exports.useOption = exports.useValue = exports.useBoolState = void 0;
|
|
7
7
|
// 特殊state
|
|
8
8
|
var useBoolState_1 = require("./useBoolState");
|
|
9
9
|
Object.defineProperty(exports, "useBoolState", { enumerable: true, get: function () { return __importDefault(useBoolState_1).default; } });
|
|
@@ -18,12 +18,12 @@ var useRtCb_1 = require("./useRtCb");
|
|
|
18
18
|
Object.defineProperty(exports, "useRtCb", { enumerable: true, get: function () { return __importDefault(useRtCb_1).default; } });
|
|
19
19
|
// 特殊 Effect
|
|
20
20
|
var useUpdateEff_1 = require("./useUpdateEff");
|
|
21
|
-
Object.defineProperty(exports, "
|
|
21
|
+
Object.defineProperty(exports, "useUpdateEff", { enumerable: true, get: function () { return __importDefault(useUpdateEff_1).default; } });
|
|
22
22
|
// 模拟生命周期
|
|
23
23
|
var useIsMounted_1 = require("./useIsMounted");
|
|
24
24
|
Object.defineProperty(exports, "useIsMounted", { enumerable: true, get: function () { return __importDefault(useIsMounted_1).default; } });
|
|
25
|
-
var
|
|
26
|
-
Object.defineProperty(exports, "useIsUnmount", { enumerable: true, get: function () { return __importDefault(
|
|
25
|
+
var useIsUnmount_1 = require("./useIsUnmount");
|
|
26
|
+
Object.defineProperty(exports, "useIsUnmount", { enumerable: true, get: function () { return __importDefault(useIsUnmount_1).default; } });
|
|
27
27
|
var useCreate_1 = require("./useCreate");
|
|
28
28
|
Object.defineProperty(exports, "useCreate", { enumerable: true, get: function () { return __importDefault(useCreate_1).default; } });
|
|
29
29
|
var useMount_1 = require("./useMount");
|
|
@@ -39,12 +39,17 @@ Object.defineProperty(exports, "useDebounce", { enumerable: true, get: function
|
|
|
39
39
|
var useThrottle_1 = require("./useThrottle");
|
|
40
40
|
Object.defineProperty(exports, "useThrottle", { enumerable: true, get: function () { return __importDefault(useThrottle_1).default; } });
|
|
41
41
|
// 使用异步
|
|
42
|
+
var useSafeRunner_1 = require("./useSafeRunner");
|
|
43
|
+
Object.defineProperty(exports, "useSafeRunner", { enumerable: true, get: function () { return __importDefault(useSafeRunner_1).default; } });
|
|
42
44
|
var useAsync_1 = require("./useAsync");
|
|
43
45
|
Object.defineProperty(exports, "useAsync", { enumerable: true, get: function () { return __importDefault(useAsync_1).default; } });
|
|
44
46
|
// 浏览器api
|
|
45
47
|
var useTimeout_1 = require("./useTimeout");
|
|
46
48
|
Object.defineProperty(exports, "useTimeout", { enumerable: true, get: function () { return __importDefault(useTimeout_1).default; } });
|
|
49
|
+
Object.defineProperty(exports, "useTimeoutHandler", { enumerable: true, get: function () { return useTimeout_1.useTimeoutHandler; } });
|
|
47
50
|
var useInterval_1 = require("./useInterval");
|
|
48
51
|
Object.defineProperty(exports, "useInterval", { enumerable: true, get: function () { return __importDefault(useInterval_1).default; } });
|
|
52
|
+
Object.defineProperty(exports, "useIntervalHandler", { enumerable: true, get: function () { return useInterval_1.useIntervalHandler; } });
|
|
49
53
|
var useResizeObserver_1 = require("./useResizeObserver");
|
|
50
54
|
Object.defineProperty(exports, "useResizeObserver", { enumerable: true, get: function () { return __importDefault(useResizeObserver_1).default; } });
|
|
55
|
+
Object.defineProperty(exports, "useResizeObserverHandler", { enumerable: true, get: function () { return useResizeObserver_1.useResizeObserverHandler; } });
|
package/lib/useAsync.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @Author: apathyjade
|
|
4
4
|
* @Date: 2025-03-18 23:44:38
|
|
5
5
|
* @Last Modified by: apathyjade
|
|
6
|
-
* @Last Modified time: 2025-
|
|
6
|
+
* @Last Modified time: 2025-05-29 17:58:54
|
|
7
7
|
*/
|
|
8
8
|
var __assign = (this && this.__assign) || function () {
|
|
9
9
|
__assign = Object.assign || function(t) {
|
|
@@ -23,7 +23,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
23
23
|
var react_1 = require("react");
|
|
24
24
|
var useRtCb_1 = __importDefault(require("./useRtCb"));
|
|
25
25
|
var useCreate_1 = __importDefault(require("./useCreate"));
|
|
26
|
-
var
|
|
26
|
+
var useIsUnmount_1 = __importDefault(require("./useIsUnmount"));
|
|
27
27
|
var useUnmount_1 = __importDefault(require("./useUnmount"));
|
|
28
28
|
var defOpt = {
|
|
29
29
|
immediate: false,
|
|
@@ -36,7 +36,7 @@ var useAsync = function (asyncFn, opt) {
|
|
|
36
36
|
var _c = (0, react_1.useState)(false), loading = _c[0], setLoading = _c[1];
|
|
37
37
|
var _d = (0, react_1.useState)(), error = _d[0], setError = _d[1];
|
|
38
38
|
var _e = (0, react_1.useState)(), controller = _e[0], setController = _e[1];
|
|
39
|
-
var isUnmounted = (0,
|
|
39
|
+
var isUnmounted = (0, useIsUnmount_1.default)();
|
|
40
40
|
(0, react_1.useEffect)(function () {
|
|
41
41
|
if (!controller || !opt.onAbort) {
|
|
42
42
|
return;
|
|
@@ -85,6 +85,6 @@ var useAsync = function (asyncFn, opt) {
|
|
|
85
85
|
controller.abort();
|
|
86
86
|
}
|
|
87
87
|
});
|
|
88
|
-
return [data, { run: run, refresh: refresh, loading: loading, error: error, param: param }];
|
|
88
|
+
return [data, { run: run, refresh: refresh, loading: loading, error: error, param: param, controller: controller }];
|
|
89
89
|
};
|
|
90
90
|
exports.default = useAsync;
|
package/lib/useBoolState.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @Author: apathyjade
|
|
4
4
|
* @Date: 2025-03-16 11:16:34
|
|
5
5
|
* @Last Modified by: apathyjade
|
|
6
|
-
* @Last Modified time: 2025-
|
|
6
|
+
* @Last Modified time: 2025-05-29 18:08:43
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
var react_1 = require("react");
|
package/lib/useDebounce.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @Author: apathyjade
|
|
4
4
|
* @Date: 2025-03-19 22:55:14
|
|
5
5
|
* @Last Modified by: apathyjade
|
|
6
|
-
* @Last Modified time: 2025-
|
|
6
|
+
* @Last Modified time: 2025-05-29 18:56:32
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -22,6 +22,6 @@ var useDebounce = function (cb, wait, opts) {
|
|
|
22
22
|
}
|
|
23
23
|
rtCb.apply(void 0, arg);
|
|
24
24
|
}, wait, opts);
|
|
25
|
-
}, []);
|
|
25
|
+
}, [wait, opts]);
|
|
26
26
|
};
|
|
27
27
|
exports.default = useDebounce;
|
package/lib/useInterval.js
CHANGED
|
@@ -3,11 +3,25 @@
|
|
|
3
3
|
* @Author: apathyjade
|
|
4
4
|
* @Date: 2023-12-14 16:51:29
|
|
5
5
|
* @Last Modified by: apathyjade
|
|
6
|
-
* @Last Modified time: 2025-
|
|
6
|
+
* @Last Modified time: 2025-05-30 18:24:00
|
|
7
7
|
*/
|
|
8
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
9
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
10
|
+
if (ar || !(i in from)) {
|
|
11
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
12
|
+
ar[i] = from[i];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
16
|
+
};
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
8
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.useInterval = exports.useIntervalHandler = void 0;
|
|
9
22
|
var react_1 = require("react");
|
|
10
|
-
var
|
|
23
|
+
var useRtCb_1 = __importDefault(require("./useRtCb"));
|
|
24
|
+
var useIntervalHandler = function () {
|
|
11
25
|
var timerRef = (0, react_1.useRef)();
|
|
12
26
|
var clearTimer = (0, react_1.useCallback)(function () {
|
|
13
27
|
if (timerRef.current) {
|
|
@@ -22,7 +36,6 @@ var useInterval = function () {
|
|
|
22
36
|
}
|
|
23
37
|
clearTimer();
|
|
24
38
|
timerRef.current = window.setInterval(function () {
|
|
25
|
-
timerRef.current = undefined;
|
|
26
39
|
callback.apply(void 0, arg);
|
|
27
40
|
}, timeout);
|
|
28
41
|
}, []);
|
|
@@ -32,4 +45,19 @@ var useInterval = function () {
|
|
|
32
45
|
clearTimer,
|
|
33
46
|
];
|
|
34
47
|
};
|
|
35
|
-
exports.
|
|
48
|
+
exports.useIntervalHandler = useIntervalHandler;
|
|
49
|
+
var useInterval = function (callback, timeout) {
|
|
50
|
+
var arg = [];
|
|
51
|
+
for (var _i = 2; _i < arguments.length; _i++) {
|
|
52
|
+
arg[_i - 2] = arguments[_i];
|
|
53
|
+
}
|
|
54
|
+
var _a = (0, exports.useIntervalHandler)(), bindTimer = _a[0], clearTimer = _a[1];
|
|
55
|
+
var cb = (0, useRtCb_1.default)(callback);
|
|
56
|
+
(0, react_1.useEffect)(function () {
|
|
57
|
+
bindTimer.apply(void 0, __spreadArray([cb, timeout], arg, false));
|
|
58
|
+
return clearTimer;
|
|
59
|
+
}, __spreadArray([cb, timeout], arg, true));
|
|
60
|
+
return clearTimer;
|
|
61
|
+
};
|
|
62
|
+
exports.useInterval = useInterval;
|
|
63
|
+
exports.default = exports.useInterval;
|
|
@@ -3,17 +3,18 @@
|
|
|
3
3
|
* @Author: apathyjade
|
|
4
4
|
* @Date: 2025-03-16 21:33:24
|
|
5
5
|
* @Last Modified by: apathyjade
|
|
6
|
-
* @Last Modified time: 2025-
|
|
6
|
+
* @Last Modified time: 2025-05-29 20:15:50
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
var react_1 = require("react");
|
|
10
|
-
var
|
|
11
|
-
var ref = (0, react_1.useRef)(
|
|
10
|
+
var useIsUnmount = function () {
|
|
11
|
+
var ref = (0, react_1.useRef)(true);
|
|
12
12
|
(0, react_1.useEffect)(function () {
|
|
13
|
+
ref.current = false;
|
|
13
14
|
return function () {
|
|
14
15
|
ref.current = true;
|
|
15
16
|
};
|
|
16
17
|
}, []);
|
|
17
18
|
return (0, react_1.useCallback)(function () { return ref.current; }, []);
|
|
18
19
|
};
|
|
19
|
-
exports.default =
|
|
20
|
+
exports.default = useIsUnmount;
|
package/lib/useResizeObserver.js
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* @Author: apathyjade
|
|
4
4
|
* @Date: 2023-11-24 10:52:51
|
|
5
5
|
* @Last Modified by: apathyjade
|
|
6
|
-
* @Last Modified time: 2025-
|
|
6
|
+
* @Last Modified time: 2025-05-30 14:35:56
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.useResizeObserver = exports.useResizeObserverHandler = void 0;
|
|
9
10
|
var react_1 = require("react");
|
|
10
11
|
var resizeObserver = null;
|
|
11
12
|
var observeCatch = null;
|
|
@@ -26,6 +27,9 @@ var observe = function (target, cb) {
|
|
|
26
27
|
if (!resizeObserver) {
|
|
27
28
|
init();
|
|
28
29
|
}
|
|
30
|
+
if (!target) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
29
33
|
observeCatch === null || observeCatch === void 0 ? void 0 : observeCatch.set(target, cb);
|
|
30
34
|
resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.observe(target);
|
|
31
35
|
};
|
|
@@ -33,21 +37,30 @@ var unobserve = function (target) {
|
|
|
33
37
|
if (!resizeObserver) {
|
|
34
38
|
init();
|
|
35
39
|
}
|
|
40
|
+
if (!target) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
36
43
|
resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.unobserve(target);
|
|
37
44
|
observeCatch === null || observeCatch === void 0 ? void 0 : observeCatch.delete(target);
|
|
38
45
|
};
|
|
39
|
-
function
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
46
|
+
var useResizeObserverHandler = function () {
|
|
47
|
+
return [observe, unobserve];
|
|
48
|
+
};
|
|
49
|
+
exports.useResizeObserverHandler = useResizeObserverHandler;
|
|
50
|
+
var useResizeObserver = function (domRef, cb) {
|
|
43
51
|
var selfUnobserve = (0, react_1.useCallback)(function () {
|
|
44
|
-
|
|
45
|
-
|
|
52
|
+
if (domRef.current) {
|
|
53
|
+
unobserve(domRef.current);
|
|
54
|
+
}
|
|
55
|
+
}, [domRef.current]);
|
|
46
56
|
(0, react_1.useEffect)(function () {
|
|
57
|
+
if (!domRef.current)
|
|
58
|
+
return;
|
|
59
|
+
var dom = domRef.current;
|
|
47
60
|
observe(dom, cb);
|
|
48
61
|
return function () { return unobserve(dom); };
|
|
49
|
-
}, [
|
|
50
|
-
return
|
|
51
|
-
}
|
|
52
|
-
exports.
|
|
53
|
-
;
|
|
62
|
+
}, [domRef.current, cb]);
|
|
63
|
+
return selfUnobserve;
|
|
64
|
+
};
|
|
65
|
+
exports.useResizeObserver = useResizeObserver;
|
|
66
|
+
exports.default = exports.useResizeObserver;
|
package/lib/useRtRef.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @Author: apathyjade
|
|
4
4
|
* @Date: 2025-03-16 22:19:57
|
|
5
5
|
* @Last Modified by: apathyjade
|
|
6
|
-
* @Last Modified time: 2025-
|
|
6
|
+
* @Last Modified time: 2025-05-30 15:05:26
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
var react_1 = require("react");
|
package/lib/useSafeRunner.js
CHANGED
|
@@ -10,9 +10,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
var react_1 = require("react");
|
|
13
|
-
var
|
|
13
|
+
var useIsUnmount_1 = __importDefault(require("./useIsUnmount"));
|
|
14
14
|
var useSafeRunner = function () {
|
|
15
|
-
var isUnmount = (0,
|
|
15
|
+
var isUnmount = (0, useIsUnmount_1.default)();
|
|
16
16
|
return (0, react_1.useCallback)(function (cb, unmountCb) {
|
|
17
17
|
if (isUnmount()) {
|
|
18
18
|
unmountCb === null || unmountCb === void 0 ? void 0 : unmountCb();
|
package/lib/useThrottle.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @Author: apathyjade
|
|
4
4
|
* @Date: 2025-03-19 22:55:28
|
|
5
5
|
* @Last Modified by: apathyjade
|
|
6
|
-
* @Last Modified time: 2025-
|
|
6
|
+
* @Last Modified time: 2025-05-30 15:31:34
|
|
7
7
|
*/
|
|
8
8
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -22,6 +22,6 @@ var useThrottle = function (cb, wait, opts) {
|
|
|
22
22
|
}
|
|
23
23
|
rtCb.apply(void 0, arg);
|
|
24
24
|
}, wait, opts);
|
|
25
|
-
}, []);
|
|
25
|
+
}, [wait, opts]);
|
|
26
26
|
};
|
|
27
27
|
exports.default = useThrottle;
|
package/lib/useTimeout.js
CHANGED
|
@@ -3,11 +3,25 @@
|
|
|
3
3
|
* @Author: apathyjade
|
|
4
4
|
* @Date: 2025-03-19 23:10:13
|
|
5
5
|
* @Last Modified by: apathyjade
|
|
6
|
-
* @Last Modified time: 2025-
|
|
6
|
+
* @Last Modified time: 2025-05-30 18:24:42
|
|
7
7
|
*/
|
|
8
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
9
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
10
|
+
if (ar || !(i in from)) {
|
|
11
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
12
|
+
ar[i] = from[i];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
16
|
+
};
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
8
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.useTimeout = exports.useTimeoutHandler = void 0;
|
|
9
22
|
var react_1 = require("react");
|
|
10
|
-
var
|
|
23
|
+
var useRtCb_1 = __importDefault(require("./useRtCb"));
|
|
24
|
+
var useTimeoutHandler = function () {
|
|
11
25
|
var timerRef = (0, react_1.useRef)();
|
|
12
26
|
var clearTimer = (0, react_1.useCallback)(function () {
|
|
13
27
|
if (timerRef.current) {
|
|
@@ -32,4 +46,19 @@ var useTimeout = function () {
|
|
|
32
46
|
clearTimer,
|
|
33
47
|
];
|
|
34
48
|
};
|
|
35
|
-
exports.
|
|
49
|
+
exports.useTimeoutHandler = useTimeoutHandler;
|
|
50
|
+
var useTimeout = function (callback, timeout) {
|
|
51
|
+
var arg = [];
|
|
52
|
+
for (var _i = 2; _i < arguments.length; _i++) {
|
|
53
|
+
arg[_i - 2] = arguments[_i];
|
|
54
|
+
}
|
|
55
|
+
var _a = (0, exports.useTimeoutHandler)(), bindTimer = _a[0], clearTimer = _a[1];
|
|
56
|
+
var cb = (0, useRtCb_1.default)(callback);
|
|
57
|
+
(0, react_1.useEffect)(function () {
|
|
58
|
+
bindTimer.apply(void 0, __spreadArray([cb, timeout], arg, false));
|
|
59
|
+
return clearTimer;
|
|
60
|
+
}, __spreadArray([cb, timeout], arg, true));
|
|
61
|
+
return clearTimer;
|
|
62
|
+
};
|
|
63
|
+
exports.useTimeout = useTimeout;
|
|
64
|
+
exports.default = exports.useTimeout;
|
package/lib/useUpdateEff.js
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* @Author: apathyjade
|
|
4
4
|
* @Date: 2025-03-16 11:35:13
|
|
5
5
|
* @Last Modified by: apathyjade
|
|
6
|
-
* @Last Modified time: 2025-
|
|
6
|
+
* @Last Modified time: 2025-05-30 15:51:14
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
var react_1 = require("react");
|
|
10
|
-
var
|
|
10
|
+
var useUpdateEff = function (cb, deps) {
|
|
11
11
|
var ref = (0, react_1.useRef)(false);
|
|
12
12
|
(0, react_1.useEffect)(function () {
|
|
13
13
|
if (ref.current) {
|
|
@@ -16,4 +16,4 @@ var useUpdateEffect = function (cb, deps) {
|
|
|
16
16
|
ref.current = true;
|
|
17
17
|
}, deps);
|
|
18
18
|
};
|
|
19
|
-
exports.default =
|
|
19
|
+
exports.default = useUpdateEff;
|
package/lib/useValue.js
CHANGED
|
@@ -11,24 +11,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
var react_1 = require("react");
|
|
14
|
-
var
|
|
14
|
+
var useUpdateEff_1 = __importDefault(require("./useUpdateEff"));
|
|
15
15
|
var defEqual = function (a, b) { return a === b; };
|
|
16
16
|
var useValue = function (value, onChange, opts) {
|
|
17
17
|
var _a = (opts || {}).isEqual, isEqual = _a === void 0 ? defEqual : _a;
|
|
18
18
|
var _b = (0, react_1.useState)(value), val = _b[0], setVal = _b[1];
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}, []);
|
|
23
|
-
var _c = (0, react_1.useState)(value), oldValue = _c[0], setOldValue = _c[1];
|
|
24
|
-
(0, react_1.useEffect)(function () {
|
|
25
|
-
if (!isEqual(value, oldValue)) {
|
|
26
|
-
setOldValue(value);
|
|
27
|
-
if (!isEqual(value, val)) {
|
|
28
|
-
updateValue(value);
|
|
29
|
-
}
|
|
19
|
+
(0, useUpdateEff_1.default)(function () {
|
|
20
|
+
if (!isEqual(value, val)) {
|
|
21
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(val);
|
|
30
22
|
}
|
|
31
|
-
}, [
|
|
23
|
+
}, [val]);
|
|
24
|
+
(0, useUpdateEff_1.default)(function () {
|
|
25
|
+
if (!isEqual(value, val)) {
|
|
26
|
+
setVal(value);
|
|
27
|
+
}
|
|
28
|
+
}, [value]);
|
|
32
29
|
return [val, setVal];
|
|
33
30
|
};
|
|
34
31
|
exports.default = useValue;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jelper/hooks",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "react hooks helper",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"access": "public"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@jelper/builder": "
|
|
23
|
+
"@jelper/builder": "1.1.0",
|
|
24
24
|
"@types/node": "~18.0.0",
|
|
25
25
|
"@types/react": "~18.2.17",
|
|
26
26
|
"@types/lodash-es": "~4.17.8",
|
package/types/index.d.ts
CHANGED
|
@@ -3,16 +3,17 @@ export { default as useValue } from './useValue';
|
|
|
3
3
|
export { default as useOption } from './useOption';
|
|
4
4
|
export { default as useRtRef } from './useRtRef';
|
|
5
5
|
export { default as useRtCb } from './useRtCb';
|
|
6
|
-
export { default as
|
|
6
|
+
export { default as useUpdateEff } from './useUpdateEff';
|
|
7
7
|
export { default as useIsMounted } from './useIsMounted';
|
|
8
|
-
export { default as useIsUnmount } from './
|
|
8
|
+
export { default as useIsUnmount } from './useIsUnmount';
|
|
9
9
|
export { default as useCreate } from './useCreate';
|
|
10
10
|
export { default as useMount } from './useMount';
|
|
11
11
|
export { default as useUnmount } from './useUnmount';
|
|
12
12
|
export { default as useIgnoreAbortErrCb } from './useIgnoreAbortErrCb';
|
|
13
13
|
export { default as useDebounce } from './useDebounce';
|
|
14
14
|
export { default as useThrottle } from './useThrottle';
|
|
15
|
+
export { default as useSafeRunner } from './useSafeRunner';
|
|
15
16
|
export { default as useAsync } from './useAsync';
|
|
16
|
-
export { default as useTimeout } from './useTimeout';
|
|
17
|
-
export { default as useInterval } from './useInterval';
|
|
18
|
-
export { default as useResizeObserver } from './useResizeObserver';
|
|
17
|
+
export { default as useTimeout, useTimeoutHandler } from './useTimeout';
|
|
18
|
+
export { default as useInterval, useIntervalHandler } from './useInterval';
|
|
19
|
+
export { default as useResizeObserver, useResizeObserverHandler } from './useResizeObserver';
|
package/types/useAsync.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2025-03-18 23:44:38
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-29 17:58:54
|
|
6
6
|
*/
|
|
7
7
|
type Parameter<T extends (p: any) => any> = Parameters<T>[0];
|
|
8
8
|
interface Opt<T extends (p: any) => any, R> {
|
|
@@ -22,6 +22,7 @@ declare const useAsync: <T extends (p: any, opt?: {
|
|
|
22
22
|
loading: boolean;
|
|
23
23
|
error?: Error;
|
|
24
24
|
param: Partial<Parameter<T>>;
|
|
25
|
+
controller: AbortController | undefined;
|
|
25
26
|
}
|
|
26
27
|
];
|
|
27
28
|
export default useAsync;
|
package/types/useBoolState.d.ts
CHANGED
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2025-03-16 11:16:34
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-29 18:08:43
|
|
6
6
|
*/
|
|
7
|
-
declare const useBoolState: (value: boolean) =>
|
|
7
|
+
declare const useBoolState: (value: boolean) => [
|
|
8
|
+
boolean,
|
|
9
|
+
(val?: boolean) => void
|
|
10
|
+
];
|
|
8
11
|
export default useBoolState;
|
package/types/useDebounce.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2025-03-19 22:55:14
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-29 18:56:32
|
|
6
6
|
*/
|
|
7
7
|
import { DebounceSettings, DebouncedFunc } from 'lodash-es';
|
|
8
8
|
declare const useDebounce: <T extends (...args: any) => any>(cb: T, wait?: number, opts?: DebounceSettings) => DebouncedFunc<T>;
|
package/types/useInterval.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
declare const
|
|
1
|
+
export declare const useIntervalHandler: () => [
|
|
2
2
|
(callback: Function, timeout?: number, ...arg: any[]) => void,
|
|
3
3
|
() => void
|
|
4
4
|
];
|
|
5
|
+
export declare const useInterval: (callback: Function, timeout?: number, ...arg: any[]) => (() => void);
|
|
5
6
|
export default useInterval;
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare const useResizeObserverHandler: () => ((target: HTMLElement, cb: (dom: ResizeObserverEntry) => void) => void)[];
|
|
2
|
+
export declare const useResizeObserver: <T extends HTMLElement>(domRef: React.RefObject<T>, cb: (entry: ResizeObserverEntry) => void) => () => void;
|
|
3
|
+
export default useResizeObserver;
|
package/types/useRtRef.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2025-03-16 22:19:57
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-30 15:05:26
|
|
6
6
|
*/
|
|
7
7
|
/// <reference types="react" />
|
|
8
8
|
declare const useRtRef: <T>(val: T) => import("react").MutableRefObject<T>;
|
package/types/useThrottle.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2025-03-19 22:55:28
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-30 15:31:34
|
|
6
6
|
*/
|
|
7
|
-
import { ThrottleSettings } from 'lodash-es';
|
|
8
|
-
declare const useThrottle: <T extends (...args: any) => any>(cb: T, wait?: number, opts?: ThrottleSettings) =>
|
|
7
|
+
import { ThrottleSettings, DebouncedFunc } from 'lodash-es';
|
|
8
|
+
declare const useThrottle: <T extends (...args: any) => any>(cb: T, wait?: number, opts?: ThrottleSettings) => DebouncedFunc<T>;
|
|
9
9
|
export default useThrottle;
|
package/types/useTimeout.d.ts
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2025-03-19 23:10:13
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-30 18:24:42
|
|
6
6
|
*/
|
|
7
|
-
declare const
|
|
7
|
+
export declare const useTimeoutHandler: () => [
|
|
8
8
|
(callback: Function, timeout?: number, ...arg: any[]) => void,
|
|
9
9
|
() => void
|
|
10
10
|
];
|
|
11
|
+
export declare const useTimeout: (callback: Function, timeout?: number, ...arg: any[]) => () => void;
|
|
11
12
|
export default useTimeout;
|
package/types/useUpdateEff.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: apathyjade
|
|
3
3
|
* @Date: 2025-03-16 11:35:13
|
|
4
4
|
* @Last Modified by: apathyjade
|
|
5
|
-
* @Last Modified time: 2025-
|
|
5
|
+
* @Last Modified time: 2025-05-30 15:51:14
|
|
6
6
|
*/
|
|
7
|
-
declare const
|
|
8
|
-
export default
|
|
7
|
+
declare const useUpdateEff: (cb: React.EffectCallback, deps?: React.DependencyList) => void;
|
|
8
|
+
export default useUpdateEff;
|