first commit

This commit is contained in:
2023-11-10 16:00:27 +02:00
commit 93953e52d7
25 changed files with 2385 additions and 0 deletions

7
src/utils/unproxy.js Normal file
View File

@ -0,0 +1,7 @@
function unproxy(obj) {
return JSON.parse(JSON.stringify(obj));
}
export {
unproxy,
}

View File

@ -0,0 +1,36 @@
import { ref, customRef } from 'vue'
const debounce = (fn, delay = 0, immediate = false) => {
let timeout
return (...args) => {
if (immediate && !timeout) fn(...args)
clearTimeout(timeout)
timeout = setTimeout(() => {
fn(...args)
}, delay)
}
}
const useDebouncedRef = (initialValue, delay, immediate) => {
const state = ref(initialValue)
const debouncedRef = customRef((track, trigger) => ({
get() {
track()
return state.value
},
set: debounce(
value => {
state.value = value
trigger()
},
delay,
immediate
),
}))
return debouncedRef
}
export {
useDebouncedRef,
}