UNPKG

tdesign-mobile-vue

Version:
49 lines (45 loc) 1.03 kB
/** * tdesign v1.7.0 * (c) 2024 TDesign Group * @license MIT */ import { ref } from 'vue'; import { NOOP } from '../functions.js'; function useInterval() { var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : NOOP; var interval = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1e3; var timer = null; var isRunning = ref(false); var _clean = function _clean() { if (timer) { clearInterval(timer); timer = null; } }; var stop = function stop() { isRunning.value = false; _clean(); }; var resume = function resume() { if (interval <= 0) return; isRunning.value = true; _clean(); timer = setInterval(function () { if (interval <= 0) { stop(); } callback(); }, interval); }; var start = function start() { resume(); }; return { isRunning: isRunning, start: start, stop: stop, resume: resume }; } export { useInterval }; //# sourceMappingURL=index.js.map