@cleanweb/oore 2.0.0-alpha.28 → 2.0.0-alpha.30
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/build/_cjs/helpers/debounce/index.js +4 -7
- package/build/_cjs/helpers/debounce/react.d.ts +4 -1
- package/build/_cjs/helpers/debounce/react.js +11 -4
- package/build/helpers/debounce/index.js +4 -7
- package/build/helpers/debounce/react.d.ts +4 -1
- package/build/helpers/debounce/react.js +11 -4
- package/package.json +1 -1
|
@@ -96,15 +96,12 @@ const debounce = (...init) => {
|
|
|
96
96
|
}
|
|
97
97
|
// Execute the pending call.
|
|
98
98
|
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
99
|
-
var _a;
|
|
100
99
|
try {
|
|
101
|
-
const result = (
|
|
102
|
-
result.__debounceFlushedWithArgs = args;
|
|
103
|
-
resolve === null || resolve === void 0 ? void 0 : resolve(
|
|
100
|
+
// const result = (await callback(...args)) ?? {};
|
|
101
|
+
// result.__debounceFlushedWithArgs = args;
|
|
102
|
+
resolve === null || resolve === void 0 ? void 0 : resolve(yield callback(...args));
|
|
104
103
|
}
|
|
105
|
-
catch (
|
|
106
|
-
const reason = _reason !== null && _reason !== void 0 ? _reason : {};
|
|
107
|
-
reason.__debounceFlushedWithArgs = args;
|
|
104
|
+
catch (reason) {
|
|
108
105
|
reject === null || reject === void 0 ? void 0 : reject(reason);
|
|
109
106
|
}
|
|
110
107
|
}))();
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import type { SetStateAction } from 'react.js';
|
|
1
2
|
import { debounce } from './index.js';
|
|
2
3
|
type TDebounceConfig = Exclude<Parameters<typeof debounce>[1], number>;
|
|
3
4
|
type TDelayConfig = number | TDebounceConfig & {
|
|
4
5
|
staging?: boolean;
|
|
5
6
|
};
|
|
6
7
|
export declare function useDebouncedState<T extends any>(init: T, config: TDelayConfig): readonly [T, {
|
|
7
|
-
(value: T): void;
|
|
8
|
+
(value: SetStateAction<T>): void;
|
|
8
9
|
flush: (isEager?: true) => void;
|
|
10
|
+
pause(): void;
|
|
11
|
+
resume(): void;
|
|
9
12
|
}, T];
|
|
10
13
|
export {};
|
|
@@ -6,18 +6,25 @@ const _1 = require("./index.js");
|
|
|
6
6
|
function useDebouncedState(init, config) {
|
|
7
7
|
const [debouncedValue, setDebouncedValue] = (0, react_1.useState)(init);
|
|
8
8
|
const [stagedValue, setStagedValue] = (0, react_1.useState)(init);
|
|
9
|
+
const [paused, setPaused] = (0, react_1.useState)(false);
|
|
9
10
|
const enableStaging = typeof config === 'object' && config.staging === true;
|
|
10
11
|
const debounceArgs = [setDebouncedValue, config];
|
|
11
12
|
const debouncedSetter = (0, react_1.useCallback)((0, _1.debounce)(...debounceArgs), debounceArgs);
|
|
12
13
|
const setter = (0, react_1.useMemo)(() => {
|
|
13
|
-
const
|
|
14
|
+
const _setter = (value) => {
|
|
14
15
|
if (enableStaging) {
|
|
15
16
|
setStagedValue(value);
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
+
if (paused) {
|
|
19
|
+
console.warn('[useDebouncedState] Skipping debounced state update. Updates were paused with `setter.pause()`. Call `setter.play()` to resume.');
|
|
20
|
+
}
|
|
21
|
+
else
|
|
22
|
+
debouncedSetter(value);
|
|
18
23
|
};
|
|
19
|
-
|
|
20
|
-
|
|
24
|
+
_setter.flush = debouncedSetter.flush;
|
|
25
|
+
_setter.pause = () => setPaused(true);
|
|
26
|
+
_setter.resume = () => setPaused(false);
|
|
27
|
+
return _setter;
|
|
21
28
|
}, [enableStaging, debouncedSetter]);
|
|
22
29
|
return [debouncedValue, setter, stagedValue];
|
|
23
30
|
}
|
|
@@ -93,15 +93,12 @@ export const debounce = (...init) => {
|
|
|
93
93
|
}
|
|
94
94
|
// Execute the pending call.
|
|
95
95
|
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
96
|
-
var _a;
|
|
97
96
|
try {
|
|
98
|
-
const result = (
|
|
99
|
-
result.__debounceFlushedWithArgs = args;
|
|
100
|
-
resolve === null || resolve === void 0 ? void 0 : resolve(
|
|
97
|
+
// const result = (await callback(...args)) ?? {};
|
|
98
|
+
// result.__debounceFlushedWithArgs = args;
|
|
99
|
+
resolve === null || resolve === void 0 ? void 0 : resolve(yield callback(...args));
|
|
101
100
|
}
|
|
102
|
-
catch (
|
|
103
|
-
const reason = _reason !== null && _reason !== void 0 ? _reason : {};
|
|
104
|
-
reason.__debounceFlushedWithArgs = args;
|
|
101
|
+
catch (reason) {
|
|
105
102
|
reject === null || reject === void 0 ? void 0 : reject(reason);
|
|
106
103
|
}
|
|
107
104
|
}))();
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import type { SetStateAction } from 'react.js';
|
|
1
2
|
import { debounce } from './index.js';
|
|
2
3
|
type TDebounceConfig = Exclude<Parameters<typeof debounce>[1], number>;
|
|
3
4
|
type TDelayConfig = number | TDebounceConfig & {
|
|
4
5
|
staging?: boolean;
|
|
5
6
|
};
|
|
6
7
|
export declare function useDebouncedState<T extends any>(init: T, config: TDelayConfig): readonly [T, {
|
|
7
|
-
(value: T): void;
|
|
8
|
+
(value: SetStateAction<T>): void;
|
|
8
9
|
flush: (isEager?: true) => void;
|
|
10
|
+
pause(): void;
|
|
11
|
+
resume(): void;
|
|
9
12
|
}, T];
|
|
10
13
|
export {};
|
|
@@ -3,18 +3,25 @@ import { debounce } from './index.js';
|
|
|
3
3
|
export function useDebouncedState(init, config) {
|
|
4
4
|
const [debouncedValue, setDebouncedValue] = useState(init);
|
|
5
5
|
const [stagedValue, setStagedValue] = useState(init);
|
|
6
|
+
const [paused, setPaused] = useState(false);
|
|
6
7
|
const enableStaging = typeof config === 'object' && config.staging === true;
|
|
7
8
|
const debounceArgs = [setDebouncedValue, config];
|
|
8
9
|
const debouncedSetter = useCallback(debounce(...debounceArgs), debounceArgs);
|
|
9
10
|
const setter = useMemo(() => {
|
|
10
|
-
const
|
|
11
|
+
const _setter = (value) => {
|
|
11
12
|
if (enableStaging) {
|
|
12
13
|
setStagedValue(value);
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
+
if (paused) {
|
|
16
|
+
console.warn('[useDebouncedState] Skipping debounced state update. Updates were paused with `setter.pause()`. Call `setter.play()` to resume.');
|
|
17
|
+
}
|
|
18
|
+
else
|
|
19
|
+
debouncedSetter(value);
|
|
15
20
|
};
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
_setter.flush = debouncedSetter.flush;
|
|
22
|
+
_setter.pause = () => setPaused(true);
|
|
23
|
+
_setter.resume = () => setPaused(false);
|
|
24
|
+
return _setter;
|
|
18
25
|
}, [enableStaging, debouncedSetter]);
|
|
19
26
|
return [debouncedValue, setter, stagedValue];
|
|
20
27
|
}
|
package/package.json
CHANGED