tdesign-mobile-vue
Version:
tdesign-mobile-vue
53 lines (47 loc) • 1.15 kB
JavaScript
/**
* tdesign v1.7.0
* (c) 2024 TDesign Group
* @license MIT
*/
;
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