tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 2.17 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../src/shared/useInterval/index.ts"],"sourcesContent":["import { ref } from 'vue';\nimport { NOOP } from '../functions';\n\nexport function useInterval(callback = NOOP, interval = 1000) {\n let timer: any = null;\n const isRunning = ref(false);\n\n const _clean = () => {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n };\n\n const stop = () => {\n isRunning.value = false;\n _clean();\n };\n\n const resume = () => {\n if (interval <= 0) return;\n isRunning.value = true;\n _clean();\n timer = setInterval(function () {\n if (interval <= 0) {\n stop();\n }\n callback();\n }, interval);\n };\n\n const start = () => {\n resume();\n };\n\n return {\n isRunning,\n start,\n stop,\n resume,\n };\n}\n"],"names":["useInterval","callback","arguments","length","undefined","NOOP","interval","timer","isRunning","ref","_clean","clearInterval","stop","value","resume","setInterval","start"],"mappings":";;;;;;;;;AAGO,SAASA,WAAYA,GAAkC;AAAA,EAAA,IAAlCC,QAAA,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAWG,IAAM,CAAA;AAAA,EAAA,IAAAC,QAAA,GAAAJ,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAW,GAAM,CAAA;EAC5D,IAAIK,KAAa,GAAA,IAAA,CAAA;AACX,EAAA,IAAAC,SAAA,GAAYC,IAAI,KAAK,CAAA,CAAA;AAE3B,EAAA,IAAMC,SAAS,SAATA,SAAe;AACnB,IAAA,IAAIH,KAAO,EAAA;MACTI,aAAA,CAAcJ,KAAK,CAAA,CAAA;AACXA,MAAAA,KAAA,GAAA,IAAA,CAAA;AACV,KAAA;GACF,CAAA;AAEA,EAAA,IAAMK,OAAO,SAAPA,OAAa;IACjBJ,SAAA,CAAUK,KAAQ,GAAA,KAAA,CAAA;AACXH,IAAAA,MAAA,EAAA,CAAA;GACT,CAAA;AAEA,EAAA,IAAMI,SAAS,SAATA,SAAe;IACnB,IAAIR,QAAY,IAAA,CAAA,EAAG,OAAA;IACnBE,SAAA,CAAUK,KAAQ,GAAA,IAAA,CAAA;AACXH,IAAAA,MAAA,EAAA,CAAA;IACPH,KAAA,GAAQQ,YAAY,YAAY;MAC9B,IAAIT,YAAY,CAAG,EAAA;AACZM,QAAAA,IAAA,EAAA,CAAA;AACP,OAAA;AACSX,MAAAA,QAAA,EAAA,CAAA;OACRK,QAAQ,CAAA,CAAA;GACb,CAAA;AAEA,EAAA,IAAMU,QAAQ,SAARA,QAAc;AACXF,IAAAA,MAAA,EAAA,CAAA;GACT,CAAA;EAEO,OAAA;AACLN,IAAAA,SAAA,EAAAA,SAAA;AACAQ,IAAAA,KAAA,EAAAA,KAAA;AACAJ,IAAAA,IAAA,EAAAA,IAAA;AACAE,IAAAA,MAAA,EAAAA,MAAAA;GACF,CAAA;AACF;;;;"}