UNPKG

mine-h5-ui

Version:

一款轻量级、模块化基于 Vue3.x 的 H5 前端 UI 组件库 👍

146 lines (145 loc) 4.23 kB
/*! * mine-h5-ui v2.15.0 * Copyright (c) 2025 biaov * @license MIT */ const l = (t, n) => Object.prototype.toString.call(n).slice(8, -1).toLowerCase() === t.toLowerCase(), p = (t) => { const n = l("Object", t) ? {} : l("Array", t) ? [] : l("Date", t) ? new t.constructor(+t) : l("RegExp", t) || l("Error", t) ? new t.constructor(t) : t; return (l("Object", t) || l("Array", t)) && Object.keys(t).forEach((e) => { n[e] = p(t[e]); }), n; }, y = (t) => { if (!l("number", t)) throw new Error(`${t} is not number`); return t % 4 === 0 && t % 100 !== 0 || t % 400 === 0; }, f = (t = /* @__PURE__ */ new Date()) => { if (t.trim() === "") throw new Error(`${t} is not null`); const n = l("number", t) && String(t).length < 13 ? t * 1e3 : t; l("string", t) && n.replace(/-/g, "/"); const e = new Date(n), s = (b) => b < 10 ? `0${b}` : String(b), i = ["日", "一", "二", "三", "四", "五", "六"], [o, r, c, u, d, h, m] = [ String(e.getFullYear()), s(e.getMonth() + 1), s(e.getDate()), `星期${i[e.getDay()]}`, s(e.getHours()), s(e.getMinutes()), s(e.getSeconds()) ], D = `${o}-${r}-${c}`, a = `${d}:${h}:${m}`, w = `${D} ${a}`; return { Y: o, M: r, D: c, w: u, h: d, m: h, s: m, date: D, time: a, datetime: w }; }, S = (t, n = "hh:mm:ss") => { if (!l("number", t)) throw new Error(`${t} is not number`); if (!"DD:hh:mm:ss:ms".includes(n)) throw new Error(`${n} form error`); const e = ~~(t / (1e3 * 60 * 60 * 24)); let s = ~~(t / (1e3 * 60 * 60) % 24), i = ~~(t / (1e3 * 60) % 60), o = ~~(t / 1e3 % 60), r = ~~(t % 1e3); const c = {}, u = (d) => d < 10 ? `0${d}` : String(d); if (n.includes("DD") ? c.DD = u(e) : s += e * 24, n.includes("hh") ? c.hh = u(s) : i += s * 60, n.includes("mm") ? c.mm = u(i) : o += i * 60, n.includes("ss") ? c.ss = u(o) : r += o * 1e3, n.includes("ms")) { const d = n.includes("mm") ? u(r) : t; c.ms = +String(d).slice(0, 2); } return c; }, E = (t, n = 1e3) => { let e = null; return (s) => { !e && (e = setTimeout(() => { t(s), e = null; }, n)); }; }, T = (t, n = 300) => { let e; return (s) => { e !== void 0 && clearTimeout(e), e = setTimeout(() => { t(s); }, n); }; }, M = (t, n = 5e3) => { let e = null; const s = { value: !1 }, i = new Proxy(s, { get(o, r) { return o[r]; }, set(o, r, c) { return o[r] = c, c ? e = setTimeout(() => { o[r] = !1; }, n) : clearInterval(e), !0; } }); return (o) => { !i.value && t(o, (r) => { i.value = r; }); }; }, $ = (t, n, e) => t + new Array(Math.abs(n - e) + 1).join("0"), j = (t, n) => { var a, w; if (!l("number", t) || !l("number", n)) throw new Error(`${t} or ${n} is not number`); const e = String(t).split("."), s = String(n).split("."), i = ((a = e[1]) == null ? void 0 : a.length) ?? 0, o = ((w = s[1]) == null ? void 0 : w.length) ?? 0; i < o && (e[1] = $(e[1], i, o)), i > o && (s[1] = $(s[1], i, o)); const r = +e.join(""), c = +s.join(""), u = Math.max(i, o); return { add: () => (r + c) / 10 ** u, subtract: () => (r - c) / 10 ** u, multiply: () => r * c / 10 ** (u * 2), divide: () => r / c }; }, v = () => +/* @__PURE__ */ new Date() + String.prototype.slice.call(Math.random(), 2, 7), x = (t = 500) => new Promise((n) => { setTimeout(() => { n(!0); }, t); }), L = { /** * 变量类型判断 */ IsType: l, /** * 深拷贝变量 - 递归算法(recursive algorithm) */ DeepCopyRA: p, /** * 判断是否是闰年 */ IsLeapyear: y, /** * 时间转换 */ FormatTime: f, /** * 倒计时 */ CountDown: S, /** * 节流 */ Throttle: E, /** * 防抖 */ Debounce: T, /** * 锁定 */ Locked: M, /** * 加 0 补位 */ AddZero: $, /** * 加减乘除运算 */ Calculation: j, /** * 生成随机数 */ GenerateRandom: v, /** * 延迟器 */ Retarder: x }; export { $ as AddZero, j as Calculation, S as CountDown, T as Debounce, p as DeepCopyRA, f as FormatTime, v as GenerateRandom, y as IsLeapyear, l as IsType, M as Locked, x as Retarder, E as Throttle, L as default };