UNPKG

metasnippets

Version:

A set of utilities for MetaEditor

2 lines 921 B
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=_interopRequireDefault(require("react")),_moment=_interopRequireDefault(require("moment"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}// libs function useCountdown(a){const b=_react.default.useRef(null),[c,d]=_react.default.useState(0);_react.default.useEffect(()=>()=>{e.stop()},[]);const e=new class{get value(){return c}stop(){d(0),clearInterval(b.current)}start(){if("number"!=typeof a.seconds||0>a.seconds)return;const c=(0,_moment.default)(),e=c.add(a.seconds,"seconds");clearInterval(b.current),b.current=setInterval(()=>{const c=a.seconds,f=_moment.default.duration(e.diff((0,_moment.default)())).asSeconds(),g=((c,a)=>Math.round(100*((c-a)/c)))(c,f);return 100<=g?(clearInterval(b.current),void d(100)):void d(g)},100)}};return e}var _default=useCountdown;exports.default=_default;