UNPKG

vite-uni-dev-tool

Version:

vite-uni-dev-tool, debug, uni-app, 一处编写,到处调试

69 lines (68 loc) 2.11 kB
function E(k, u, p = {}) { let r = null, o = null, n = null, s, i = null; const { leading: f = !0, trailing: m = !0 } = p, c = (e) => { const t = o, l = n; return o = n = null, i = e, s = k.apply(l, t), s; }, d = (e) => (i = e, r = null, f ? c(e) : void 0), I = (e) => (r = null, o && m ? c(e) : (o = n = null, s)), T = (e) => { if (i === null) return u; const t = e - i; return u - t; }, v = (e) => { if (i === null) return !0; const t = e - i; return t >= u || t < 0; }, h = () => { const e = Date.now(); if (v(e)) return I(e); r = setTimeout(h, T(e)); }, g = function(...e) { const t = Date.now(), l = v(t); return o = e, n = this, l && r === null ? d(t) : (r === null && (r = setTimeout(h, u)), s); }; return g.cancel = () => { r !== null && clearTimeout(r), i = null, r = o = n = null; }, g; } function L(k, u, p = {}) { const { leading: r = !1, trailing: o = !0 } = p; let n = null, s = null, i = null, f, m = null, c = 0; const d = (t) => { const l = s, a = i; return s = i = null, c = t, f = k.apply(a, l), f; }, I = (t) => (c = t, o && (n = setTimeout(g, u)), r ? d(t) : void 0), T = (t) => (n = null, o && s ? d(t) : (s = i = null, f)), v = (t) => { const l = t - (m || 0), a = t - c, C = u - l; return Math.min(C, u - a); }, h = (t) => { const l = t - (m || 0), a = t - c; return m === null ? r && a < u : l >= u || a >= u; }, g = () => { const t = Date.now(); h(t) ? T(t) : n && (n = setTimeout(g, v(t))); }, e = function(...t) { const l = Date.now(), a = h(l); if (s = t, i = this, m = l, a) { if (n === null) return I(l); if (n && (clearTimeout(n), n = setTimeout(g, u), r)) return d(l); } else n || (n = setTimeout(g, u)); return f; }; return e.cancel = () => { n !== null && (clearTimeout(n), n = null, s = i = null, m = c = 0); }, e.flush = () => { if (n !== null) { const t = Date.now(); return T(t); } return f; }, e; } export { L as debounce, E as throttle };