UNPKG

vue-hooks-plus

Version:
33 lines (32 loc) 711 B
"use strict"; const vue = require("vue"); const useLoadingDelayPlugin = (inst, { loadingDelay }) => { const delayRef = vue.ref(); const clear = () => { if (delayRef.value) { clearTimeout(vue.unref(delayRef.value)); delayRef.value = void 0; } }; return { name: "loadingDelayPlugin", onFinally: () => { clear(); const delay = vue.unref(loadingDelay); if (delay) { inst.setState({ loading: true }); delayRef.value = setTimeout(() => { inst.setState({ loading: false }); }, delay); } }, onError: () => { clear(); } }; }; module.exports = useLoadingDelayPlugin;