UNPKG

uv-ui

Version:

基于vue3的移动端组件库

51 lines (50 loc) 1.33 kB
import { isDef as c } from "./type.js"; function o(t) { const r = [], i = /\[(\d+)\]/g; let e = t, n; for (; n = i.exec(t); ) r.push(n[1]); return r.length && (e = e.substring(0, e.indexOf(r[0]) - 1)), [e, ...r]; } function g(t, r, i) { if (!c(t)) return i; const e = r.split(".").map(o).flat(); let n = t; for (let s = 0; s < e.length; s++) { const f = e[s]; if (c(n[f])) n = n[f]; else return i; } return n; } function u(t) { return Array.isArray(t) ? t : t.replace(/\[/g, ".").replace(/\]/g, "").split("."); } function x(t, r, i) { return typeof t != "object" || u(r).reduce((e, n, s, f) => s === f.length - 1 ? (e[n] = i, null) : (n in e || (e[n] = /^[0-9]{1,}$/.test(f[s + 1]) ? [] : {}), e[n]), t), t; } const m = (t, r, i) => ({ get value() { return g(t, r, i); }, set value(e) { x(t, r, e); } }), l = (t, r, i) => { const e = t.indexOf(r); return e === -1 ? t : r === "-" && e !== 0 ? t.slice(0, e) : t.slice(0, e + 1) + t.slice(e).replace(i, ""); }, y = (t, r = !0, i = !0) => { r ? t = l(t, ".", /\./g) : t = t.split(".")[0], i ? t = l(t, "-", /-/g) : t = t.replace(/-/, ""); const e = r ? /[^-0-9.]/g : /[^-0-9]/g; return t.replace(e, ""); }; export { y as formatNumber, g as get, m as getProp, x as set, l as trimExtraChar };