UNPKG

tav-ui

Version:
43 lines (38 loc) 1.03 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var core = require('@vueuse/core'); var is = require('../../utils/is2.js'); function useTimeoutFn(handle, wait, native = false) { if (!is.isFunction(handle)) throw new Error("handle is not Function!"); const { readyRef, stop, start } = useTimeoutRef(wait); if (native) { handle(); } else { vue.watch(readyRef, (maturity) => { maturity && handle(); }, { immediate: false }); } return { readyRef, stop, start }; } function useTimeoutRef(wait) { const readyRef = vue.ref(false); let timer; function stop() { readyRef.value = false; timer && window.clearTimeout(timer); } function start() { stop(); timer = setTimeout(() => { readyRef.value = true; }, wait); } start(); core.tryOnUnmounted(stop); return { readyRef, stop, start }; } exports.useTimeoutFn = useTimeoutFn; exports.useTimeoutRef = useTimeoutRef; //# sourceMappingURL=useTimeout2.js.map