xiaohejs
Version:
🎈 小何同学的JavaScript工具箱
2 lines (1 loc) • 6.35 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).xiaohejs={})}(this,(function(e){"use strict";function t(e){return null==e||(arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&"function"==typeof e.trim?e.trim().length<=0:e.length<=0)}function n(e){return!t(e,arguments.length>1&&void 0!==arguments[1]&&arguments[1])}const r={removeLeadingSeparator:!0,removeTrailingSeparator:!0};function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:",",n=arguments.length>2?arguments[2]:void 0;const{removeLeadingSeparator:l,removeTrailingSeparator:a}=Object.assign({},r,n);return null==e||e.length<=0?[]:(l&&(e=e.replace(new RegExp(`^${t}`),"")),a&&(e=e.replace(new RegExp(`${t}$`),"")),e.split(t))}function a(e){return null==e?null:e.replace(/_(\w)/g,((e,t)=>t.toUpperCase()))}function i(e){return null==e?null:e.replace(/([A-Z])/g,"_$1").toLowerCase()}function s(e){const t=["十","百","千","万","十","百","千","亿","十","百","千"],n="零一二三四五六七八九十",r=Math.floor(Math.abs(Number(e)));if(r<=10)return n[r];const l=String(r),a=["@"];let i=0;for(let e=l.length-1;a.unshift(n[Number(l[e])]),!(e<=0);e-=1)a.unshift(t[i]),i+=1;return a.join("").replace(/(零[千百十]){1,3}/g,"零").replace(/零{2,}/g,"零").replace(/零([万亿])/g,"$1").replace(/亿万/g,"亿").replace(/零*@/g,"")}const o={base:"",excludes:["http","ws","udp","tcp"]},u={prefix:null};function c(e,t){const{base:n=o.base,prefix:r}=Object.assign({},u,t);return null==e||e.length<=0||null==n||e.startsWith(n)||o.excludes.findIndex((t=>e.startsWith(t)))>=0?e:`${null!=r?r:""}${n}${e.startsWith("/")?"":"/"}${e}`}const h={radix:-1,characters:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"};function f(e,t){const{radix:n,characters:r}=Object.assign({},h,t);if(null==r)return"";const l=r.split(""),a=[];if(null!=e){const t=null==n||n<=0?l.length:n;for(let n=0;n<e;n+=1)a[n]=l[0|Math.random()*t]}else{a[8]=a[13]=a[18]=a[23]="-",a[14]="4";for(let e=0;e<36;e+=1)if(null==a[e]){const t=0|16*Math.random();a[e]=l[19===e?3&t|8:t]}}return a.join("")}const p={lowercase:!0,digits:null};function g(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;const{lowercase:n,digits:r}=Object.assign({},p,t),l=n??p.lowercase?["b","kb","mb","gb","tb","pb","eb","zb","yb"]:["B","KB","MB","GB","TB","PB","EB","ZB","YB"],a=Number(e),i=Math.floor(Math.log(a)/Math.log(1024)),s=a/1024**i;return null!=r?`${s.toFixed(r)}${l[i]}`:`${s}${l[i]}`}const d={key:"id",parentKey:"pid",processor:e=>e};function m(e,t){const{key:n,parentKey:r,processor:l}=Object.assign({},d,t);if(null==e||null==n||null==r||null==l)return[];const a=e.reduce(((e,t)=>(e[t[n]]=t,e)),{});return e.reduce(((e,t)=>{if(null!=t[r]){const n=a[t[r]];null!=n?(null==n.children&&(n.children=[]),n.children.push(l(t))):e.push(l(t))}else e.push(l(t));return e}),[])}const b={childrenKey:"children",processor:e=>e};function y(e,t){const{childrenKey:n,processor:r}=Object.assign({},b,t);return null==e||null==n||null==r?[]:e.reduce(((e,l)=>{let{[n]:a,...i}=l;return e.push(r(i)),a&&a.length>0&&e.push(...y(a,t)),e}),[])}const M={childrenKey:"children"};function v(e,t){const{childrenKey:n,processor:r}=Object.assign({},M,t);if(null!=e&&null!=n)for(const l of e){"function"==typeof r&&r(l,t?.parent);const e=l[n];e&&e.length>0&&v(e,Object.assign({},t,{parent:l}))}}const O=6371e3,D=2*Math.PI*O/360,x=Math.PI/180,T=180/Math.PI,j=1e6;function S(e){return Array.isArray(e)?e:[e.longitude,e.latitude]}function F(e){return e.map((e=>S(e)))}function $(e){const[t,n]=F(e).reduce(((e,t)=>(e[0].push(t[0]),e[1].push(t[1]),e)),[[],[]]);return t.sort(((e,t)=>e-t)),n.sort(((e,t)=>e-t)),[(t[0]+t[t.length-1])/2,(n[0]+n[n.length-1])/2]}function C(e,t){const n=e[0]*x,r=e[1]*x,l=t[0]*x,a=t[1]*x,i=-Math.atan2(Math.sin(n-l)*Math.cos(a),Math.cos(r)*Math.sin(a)-Math.sin(r)*Math.cos(a)*Math.cos(n-l));return(i<0?i+2*Math.PI:i)*T}function R(e,t,n){const r=C(t,e)-C(t,n);return r<0?r+360:r}function A(e){if(e.length<3)return 0;const t=F(e);return Math.abs(t.reduce(((e,n,r)=>{const l=(r+1)%t.length,a=t[r][0]*D*Math.cos(t[r][1]*x),i=t[r][1]*D,s=t[l][0]*D*Math.cos(t[l][1]*x);return e+=a*(t[l][1]*D)-s*i}),0))}function B(e){if(e.length<3)return 0;const t=F(e),n=t.reduce(((e,n,r)=>{const l=(r+1)%t.length,a=(r+2)%t.length;return e+=R(t[r],t[l],t[a])}),0),r=180*(t.length-2),l=n-r,a=x*O*O;return l>420?(360*t.length-n-r)*a:l>300&&l<420?Math.abs(360-l)*a:l*a}function E(e){const t=A(e);return t>j?B(e):t}function U(e,t){return I(.0015*e)}function w(e,t){return I(e/.0015)}function P(e,t){return I(1e-4*e)}function K(e,t){return I(1e4*e)}function N(e,t){return I(e/15)}function z(e,t){return I(15*e)}function I(e,t){return null==t||t<0?e:Number(e.toFixed(t))}const k={isEmpty:t,isNotEmpty:n,DefaultSplitOptions:r,split:l,underline2hump:a,hump2underline:i,number2chinese:s,ConvertUrlConfig:o,DefaultConvertUrlOptions:u,convertUrl:c,DefaultUuidOptions:h,uuid:f,DefaultFormatFileSizeOptions:p,formatFileSize:g},L={DefaultFlat2TreeOptions:d,flat2tree:m,DefaultTree2FlatOptions:b,tree2flat:y,DefaultRecursiveTraversalOptions:M,recursiveTraversal:v},W={EarthRadiusMetres:O,DegreeMetres:D,DegreeRadians:x,RadianDegrees:T,PlaneAreaThreshold:j,point2array:S,points2array:F,planeCenter:$,bearing:C,angle:R,planeArea:A,sphereArea:B,area:E,sm2mu:U,mu2sm:w,sm2ha:P,ha2sm:K,mu2ha:N,ha2mu:z,decimal:I},_={string:k,array:L,geometry:W};e.ConvertUrlConfig=o,e.DefaultConvertUrlOptions=u,e.DefaultFlat2TreeOptions=d,e.DefaultFormatFileSizeOptions=p,e.DefaultRecursiveTraversalOptions=M,e.DefaultSplitOptions=r,e.DefaultTree2FlatOptions=b,e.DefaultUuidOptions=h,e.DegreeMetres=D,e.DegreeRadians=x,e.EarthRadiusMetres=O,e.PlaneAreaThreshold=j,e.RadianDegrees=T,e.angle=R,e.area=E,e.array=L,e.bearing=C,e.convertUrl=c,e.decimal=I,e.default=_,e.flat2tree=m,e.formatFileSize=g,e.geometry=W,e.ha2mu=z,e.ha2sm=K,e.hump2underline=i,e.isEmptyString=t,e.isNotEmptyString=n,e.mu2ha=N,e.mu2sm=w,e.number2chinese=s,e.planeArea=A,e.planeCenter=$,e.point2array=S,e.points2array=F,e.recursiveTraversal=v,e.sm2ha=P,e.sm2mu=U,e.sphereArea=B,e.split=l,e.string=k,e.tree2flat=y,e.underline2hump=a,e.uuid=f,Object.defineProperty(e,"__esModule",{value:!0})}));