uv-ui
Version:
基于vue3的移动端组件库
2 lines (1 loc) • 1.14 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("./type.cjs");function g(e){const r=[],i=/\[(\d+)\]/g;let t=e,n;for(;n=i.exec(e);)r.push(n[1]);return r.length&&(t=t.substring(0,t.indexOf(r[0])-1)),[t,...r]}function o(e,r,i){if(!c.isDef(e))return i;const t=r.split(".").map(g).flat();let n=e;for(let s=0;s<t.length;s++){const f=t[s];if(c.isDef(n[f]))n=n[f];else return i}return n}function p(e){return Array.isArray(e)?e:e.replace(/\[/g,".").replace(/\]/g,"").split(".")}function u(e,r,i){return typeof e!="object"||p(r).reduce((t,n,s,f)=>s===f.length-1?(t[n]=i,null):(n in t||(t[n]=/^[0-9]{1,}$/.test(f[s+1])?[]:{}),t[n]),e),e}const x=(e,r,i)=>({get value(){return o(e,r,i)},set value(t){u(e,r,t)}}),l=(e,r,i)=>{const t=e.indexOf(r);return t===-1?e:r==="-"&&t!==0?e.slice(0,t):e.slice(0,t+1)+e.slice(t).replace(i,"")},m=(e,r=!0,i=!0)=>{r?e=l(e,".",/\./g):e=e.split(".")[0],i?e=l(e,"-",/-/g):e=e.replace(/-/,"");const t=r?/[^-0-9.]/g:/[^-0-9]/g;return e.replace(t,"")};exports.formatNumber=m;exports.get=o;exports.getProp=x;exports.set=u;exports.trimExtraChar=l;