UNPKG

tdesign-mobile-vue

Version:
53 lines (47 loc) 1.15 kB
/** * tdesign v1.7.0 * (c) 2024 TDesign Group * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var shared_functions = require('../functions.js'); function useInterval() { var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : shared_functions.NOOP; var interval = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1e3; var timer = null; var isRunning = vue.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 }; } exports.useInterval = useInterval; //# sourceMappingURL=index.js.map