mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-04-24 00:36:14 -04:00

* fix(Emoji picker): fix lags Fix #1176 using debounced ref * chore: fix strange corepack message Fix corepack claiming strange thing : UsageError: This project is configured to use yarn because /home/runner/work/it-tools/it-tools/package.json has a "packageManager" field
21 lines
477 B
TypeScript
21 lines
477 B
TypeScript
import _ from 'lodash';
|
|
|
|
function useDebouncedRef<T>(initialValue: T, delay: number, immediate: boolean = false) {
|
|
const state = ref(initialValue);
|
|
const debouncedRef = customRef((track, trigger) => ({
|
|
get() {
|
|
track();
|
|
return state.value;
|
|
},
|
|
set: _.debounce(
|
|
(value) => {
|
|
state.value = value;
|
|
trigger();
|
|
},
|
|
delay,
|
|
{ leading: immediate },
|
|
),
|
|
}));
|
|
return debouncedRef;
|
|
}
|
|
export default useDebouncedRef;
|