* 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
		
			
				
	
	
		
			22 lines
		
	
	
		
			477 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			22 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;
 |