@lntvow/utils 3.0.3 → 3.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +431 -0
- package/dist/index.d.ts +431 -498
- package/dist/index.js +1 -0
- package/package.json +4 -4
- package/dist/index.mjs +0 -546
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("dayjs");function ve(...e){return e.reduce((t,n)=>function(...r){return n(t(...r))})}function xe(...e){return e.reduce((t,n)=>function(...r){return t(n(...r))})}function Re(e,t=500){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,r)},t)}}const ue=Object.prototype.toString,z=e=>ue.call(e);let re=null;function Ne(e){H(e)&&(re=e)}const Le=(e,...t)=>{const n=t.length===0?"":t.length===1?t[0]:t;console.log(`%c ${e} `,"padding: 2px; border-radius: 3px; color: #fff; background: #000; font-weight: bold;",n),re&&re(e,n)},Fe=(...e)=>console.warn(...e),Pe=(...e)=>console.error(...e),Ie=e=>z(e)==="[object Map]",Ze=e=>z(e)==="[object Set]",de=e=>z(e)==="[object Date]",fe=e=>z(e)==="[object RegExp]",H=e=>typeof e=="function",_=e=>typeof e=="number",le=e=>typeof e=="string",je=e=>typeof e=="symbol",p=e=>e!==null&&typeof e=="object",Ue=e=>p(e)&&H(e.then)&&H(e.catch),Z=e=>e==null,Te=e=>e===void 0,He=e=>e===null,ze=e=>e!=null,_e=e=>typeof e=="boolean",N=Array.isArray,B=(e,t)=>Object.hasOwn(e,t),qe=(e,t)=>e!==t;function ie(e){const t=new WeakMap;function n(r){if(de(r))return new Date(r);if(fe(r))return new RegExp(r);if(p(r)){if(t.has(r))return t.get(r);let i={};if(N(r)){i=[],t.set(r,i);for(let o=0;o<r.length;o++)i[o]=n(r[o]);return i}t.set(r,i);for(const o in r)B(r,o)&&(i[o]=n(r[o]));return i}else return r}return n(e)}class me extends Error{constructor(t){super(t),this.name="LntvowError"}}function $(e,t){throw new me(`[${e}] ${t}`)}function ge(e,t){if(process.env.NODE_ENV!=="production"){const n=le(e)?new me(`[${e}] ${t}`):e;console.warn(n)}}const he=({from:e,replacement:t,version:n,type:r="API"})=>{ge(`${r}`,`${e} is about to be deprecated in version ${n}, please use ${t} instead.`)};function j(e,t,n){return(!p(e)||!p(t))&&$("deepMerge","template 和 source 必须是对象"),N(e)?Ve(e,t,n):We(e,t,n)}function We(e,t,n){const r=I(t,n);return Object.keys(e).forEach(o=>{Z(t[o])?r[o]=I(e[o],n):r[o]=p(e[o])&&p(t[o])?j(e[o],t[o],n):I(t[o],n)}),r}function Ve(e,t,n){if(N(t)){const r=I(t,n);return r.push(...I(e,n)),r}else return I(e,n)}function I(e,t){const{deepClone:n=!0}=t||{};return n?ie(e):e}function Xe(e,t){const{decode:n}=j({decode:!0},t||{}),r={};e.startsWith("?")&&(e=e.slice(1)),e.includes("?")&&(e=e.slice(e.indexOf("?")+1));const i=e.split("&").filter(Boolean);for(const o of i){const[l,d]=o.split("=");r[l]=n?decodeURIComponent(d):d}return r}function pe(e,t){const{encode:n}=j({encode:!0},t||{}),r=[];for(const i in e){const o=e[i];r.push(`${i}=${n?encodeURIComponent(o):o}`)}return r.join("&")}function Be(e,t,n){const r=j({encode:!0},n||{}),i=pe(t,r);return e.includes("?")?e.endsWith("?")||e.endsWith("&")?`${e}${i}`:`${e}&${i}`:`${e}?${i}`}const Ge={parse:Xe,stringify:pe,appendQueryString:Be};function Ke(e,t=500){let n=null;return function(...r){if(Z(n))return n=Date.now(),e.apply(this,r);{const i=Date.now();if(i-n>=t)return n=i,e.apply(this,r)}}}function Qe(e){return/^-?\d{1,3}\.\d{6}$/.test(e)}function Je(e){return!Z(e)&&/^[\dA-Za-z\u4E00-\u9FA5]+$/.test(e)}function ke(e){return!Z(e)&&/^[A-Za-z\u4E00-\u9FA5]+$/.test(e)}function et(e){return!Z(e)&&/^[\d!"#$%&'()*+,./:;<=>?@A-Z[\\\]^_`{|}~]+$/.test(e)}function tt(e){return/^[\dA-Z_]+$/.test(e)}function nt(e){return he({from:"validatorEmail",replacement:"isEmail",version:"2.4.0"}),/^([\w-])+@([\w-])+(\.[\w-])+/.test(e)}function se(e){return N(e)?e:[e]}function rt(e,t){return(!p(e)||!p(t))&&$("deepMerge","template 和 source 必须是对象"),N(e)?void 0:$e(e,t)}function $e(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r],o=t[r];p(i)&&p(o)?n[r]=$e(i,o):Object.is(i,o)||(n[r]=o)}),n}function ot(e,t){const n=ie(e);return se(t).forEach(i=>{B(n,i)&&delete n[i]}),n}function it(e,t){const n={};return se(t).forEach(i=>{B(e,i)&&(n[i]=e[i])}),n}function st(e,t){return(!_(e)||e<=0)&&$("generateRandomArray","num 必须大于0"),H(t)||$("generateRandomArray","cb 必须是函数"),Array.from({length:e}).fill(0).map((n,r)=>t(n,r))}function at(){return`#${Math.random().toString(16).slice(2,8).padEnd(6,"0")}`}var ct=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ut(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Me={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(ct,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d\d/,o=/\d\d?/,l=/\d*[^-_:/,()\s\d]+/,d={},L=function(s){return(s=+s)+(s>68?1900:2e3)},f=function(s){return function(a){this[s]=+a}},q=[/[+-]\d\d:?(\d\d)?|Z/,function(s){(this.zone||(this.zone={})).offset=function(a){if(!a||a==="Z")return 0;var c=a.match(/([+-]|\d\d)/g),u=60*c[1]+(+c[2]||0);return u===0?0:c[0]==="+"?-u:u}(s)}],U=function(s){var a=d[s];return a&&(a.indexOf?a:a.s.concat(a.f))},S=function(s,a){var c,u=d.meridiem;if(u){for(var b=1;b<=24;b+=1)if(s.indexOf(u(b,0,a))>-1){c=b>12;break}}else c=s===(a?"pm":"PM");return c},ye={A:[l,function(s){this.afternoon=S(s,!1)}],a:[l,function(s){this.afternoon=S(s,!0)}],S:[/\d/,function(s){this.milliseconds=100*+s}],SS:[i,function(s){this.milliseconds=10*+s}],SSS:[/\d{3}/,function(s){this.milliseconds=+s}],s:[o,f("seconds")],ss:[o,f("seconds")],m:[o,f("minutes")],mm:[o,f("minutes")],H:[o,f("hours")],h:[o,f("hours")],HH:[o,f("hours")],hh:[o,f("hours")],D:[o,f("day")],DD:[i,f("day")],Do:[l,function(s){var a=d.ordinal,c=s.match(/\d+/);if(this.day=c[0],a)for(var u=1;u<=31;u+=1)a(u).replace(/\[|\]/g,"")===s&&(this.day=u)}],M:[o,f("month")],MM:[i,f("month")],MMM:[l,function(s){var a=U("months"),c=(U("monthsShort")||a.map(function(u){return u.slice(0,3)})).indexOf(s)+1;if(c<1)throw new Error;this.month=c%12||c}],MMMM:[l,function(s){var a=U("months").indexOf(s)+1;if(a<1)throw new Error;this.month=a%12||a}],Y:[/[+-]?\d+/,f("year")],YY:[i,function(s){this.year=L(s)}],YYYY:[/\d{4}/,f("year")],Z:q,ZZ:q};function De(s){var a,c;a=s,c=d&&d.formats;for(var u=(s=a.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(v,A,M){var g=M&&M.toUpperCase();return A||c[M]||n[M]||c[g].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(O,C,x){return C||x.slice(1)})})).match(r),b=u.length,w=0;w<b;w+=1){var T=u[w],E=ye[T],Y=E&&E[0],y=E&&E[1];u[w]=y?{regex:Y,parser:y}:T.replace(/^\[|\]$/g,"")}return function(v){for(var A={},M=0,g=0;M<b;M+=1){var O=u[M];if(typeof O=="string")g+=O.length;else{var C=O.regex,x=O.parser,W=v.slice(g),F=C.exec(W)[0];x.call(A,F),v=v.replace(F,"")}}return function(R){var h=R.afternoon;if(h!==void 0){var P=R.hours;h?P<12&&(R.hours+=12):P===12&&(R.hours=0),delete R.afternoon}}(A),A}}return function(s,a,c){c.p.customParseFormat=!0,s&&s.parseTwoDigitYear&&(L=s.parseTwoDigitYear);var u=a.prototype,b=u.parse;u.parse=function(w){var T=w.date,E=w.utc,Y=w.args;this.$u=E;var y=Y[1];if(typeof y=="string"){var v=Y[2]===!0,A=Y[3]===!0,M=v||A,g=Y[2];A&&(g=Y[2]),d=this.$locale(),!v&&g&&(d=c.Ls[g]),this.$d=function(W,F,R){try{if(["x","X"].indexOf(F)>-1)return new Date((F==="X"?1e3:1)*W);var h=De(F)(W),P=h.year,V=h.month,Ae=h.day,Oe=h.hours,Ce=h.minutes,Se=h.seconds,Ee=h.milliseconds,ce=h.zone,K=new Date,Q=Ae||(P||V?1:K.getDate()),J=P||K.getFullYear(),X=0;P&&!V||(X=V>0?V-1:K.getMonth());var k=Oe||0,ee=Ce||0,te=Se||0,ne=Ee||0;return ce?new Date(Date.UTC(J,X,Q,k,ee,te,ne+60*ce.offset*1e3)):R?new Date(Date.UTC(J,X,Q,k,ee,te,ne)):new Date(J,X,Q,k,ee,te,ne)}catch{return new Date("")}}(T,y,E),this.init(),g&&g!==!0&&(this.$L=this.locale(g).$L),M&&T!=this.format(y)&&(this.$d=new Date("")),d={}}else if(y instanceof Array)for(var O=y.length,C=1;C<=O;C+=1){Y[1]=y[C-1];var x=c.apply(this,Y);if(x.isValid()){this.$d=x.$d,this.$L=x.$L,this.init();break}C===O&&(this.$d=new Date(""))}else b.call(this,w)}}})})(Me);var dt=Me.exports;const be=ut(dt);function D(e={}){_(e)&&(e={max:e});const{min:t=0,max:n=Number.MAX_SAFE_INTEGER}=e,r=Math.ceil(t),i=Math.floor(n);return r===i?r:(i<r&&(n>=t&&$("generateRandomInteger",`未找到 ${t} 和 ${n} 之间的整数值`),$("generateRandomInteger",`最大值 ${n} 应大于最小值 ${t}`)),Math.floor(Math.random()*(i-r+1)+r))}m.extend(be);function ae(e={}){const{start:t="1800-01-01 00:00:00",end:n=m().format("YYYY-MM-DD HH:mm:ss"),format:r="YYYY-MM-DD HH:mm:ss"}=e;(!m(t).isValid()||!m(n).isValid())&&$("generateRandomDate","start end 参数必须是合法的时间格式");const i=m(t).year(),o=m(n).year(),l=D({min:i,max:o}),d=D({min:1,max:12}),L=D({min:1,max:31}),f=D(23),q=D(59),U=D(59),S=m(`${l}-${d}-${L} ${f}:${q}:${U}`);return S.isBefore(m(t))||S.isAfter(m(n))?(console.log("不合法时间",m(S).format("YYYY-MM-DD HH:mm:ss")),ae(e)):S.format(r)}function we(e,t={}){const{lowerCase:n,upperCase:r,number:i}=j({lowerCase:!0,upperCase:!0,number:!0},t);n||r||i||$("generateRandomString","lowerCase upperCase number 至少需要一个参数为true");let o="";n&&(o+="abcdefghijklmnopqrstuvwxyz"),r&&(o+="ABCDEFGHIJKLMNOPQRSTUVWXYZ"),i&&(o+="0123456789");let l="";for(let d=0;d<e;d++){const L=Math.floor(Math.random()*o.length);l+=o.charAt(L)}return l}function G(e){return e[Math.floor(Math.random()*e.length)]}function ft(){const e=["gmail.com","yahoo.com","outlook.com","example.com","qq.com","163.com"];return`${we(10)}@${G(e)}`}function lt(e={}){_(e)&&(e={max:e});const{min:t=0,max:n=1,fractionDigits:r=2}=e;if(t===n)return t;if(t>n)throw new Error(`最大值 ${n} 应大于最小值 ${t}`);return Math.random()*(n-t)+t}function oe(e,t){(!_(e)||e<=0)&&$("generateRandomStringFromSource","num 必须大于0"),(!N(t)||t.length===0)&&$("generateRandomStringFromSource","source 不能为空数组");let n="";for(let r=0;r<e;r++)n+=G(t);return n}function mt(){const e=D({min:1e5,max:999999}),t=[0,1,2,3,4,5,6,7,8,9];return[e,ae({format:"YYYYMMDD"}),oe(3,t),oe(1,[...t,"X","x"])].join("")}function gt(){return G(["13","14","15","16","17","18","19"])+D(999999999).toString().padEnd(9,"0")}function ht(e){return/^\d+$/.test(e)}function pt(e){return/^[\u4E00-\u9FA5]+$/.test(e)}function $t(e){return/^[A-Za-z]+$/.test(e)}function Mt(e){return/^[A-Z]+$/.test(e)}function bt(e){return/^[\dA-Z]+$/.test(e)}function wt(e){return/^[\dA-Z\u4E00-\u9FA5]+$/.test(e)}function Yt(e){return/^[a-z]+$/.test(e)}function yt(e){return/^[\da-z]+$/.test(e)}function Dt(e){return/^[\da-z\u4E00-\u9FA5]+$/.test(e)}function At(e,t={}){const{integer:n=!0}=t;return n?/^-?(0|[1-9]\d*)(\.\d+)?$/.test(e):/^-?(0|[1-9]\d*)\.\d+$/.test(e)}function Ot(e,t={}){const{integer:n=!0}=t;return n?/^[1-9]\d*\.?\d*|^0\.\d*[1-9]\d*$/.test(e):/^[1-9]\d*\.\d*|^0\.\d*[1-9]\d*$/.test(e)}function Ct(e,t={}){const{integer:n=!0}=t;return n?/^-[1-9]\d*\.?\d*|^-0\.\d*[1-9]\d*$/.test(e):/^-[1-9]\d*\.\d*|^-0\.\d*[1-9]\d*$/.test(e)}function St(e,t={}){const{integer:n=!0}=t;return n?/^(0|[1-9]\d*)(\.\d+)?$/.test(e):/^(0|[1-9]\d*)\.\d+$/.test(e)}function Et(e,t={}){const{integer:n=!0}=t;return n?/^(-?0(\.0+)?|-(0|[1-9]\d*)(\.\d+)?)$/.test(e):/^(-?0\.0+|-(0|[1-9]\d*)\.\d+)$/.test(e)}function vt(e){return/^-?(0|[1-9]\d*)$/.test(e)}function xt(e){return/^[1-9]\d*$/.test(e)}function Rt(e){return/^(0|[1-9]\d*)$/.test(e)}function Nt(e){return/^-([1-9]\d*)$/.test(e)}function Lt(e){return/^(0|-(0|[1-9]\d*))$/.test(e)}function Ft(e){return/^1[3-9]\d{9}$/.test(e)}function Pt(e){return/^([\w-])+@([\w-])+(\.[\w-])+/.test(e)}function It(e){return e===""}function Ye(e,t="YYYY-MM-DD HH:mm:ss"){return m.extend(be),m(e,t,!0).isValid()}function Zt(e){let t=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e);return!t||(t=Ye(e.slice(6,14),"YYYYMMDD"),!t),t}exports.castArray=se;exports.compareProperties=rt;exports.compose=ve;exports.composeRight=xe;exports.debounce=Re;exports.debugWarn=ge;exports.deepClone=ie;exports.deepMerge=j;exports.deprecated=he;exports.error=Pe;exports.excludeProperties=ot;exports.extractProperties=it;exports.generateRandomArray=st;exports.generateRandomColor=at;exports.generateRandomDate=ae;exports.generateRandomEmail=ft;exports.generateRandomFloat=lt;exports.generateRandomIdCard=mt;exports.generateRandomInteger=D;exports.generateRandomMobilePhone=gt;exports.generateRandomString=we;exports.generateRandomStringFromSource=oe;exports.getRandomItem=G;exports.hasChanged=qe;exports.hasOwn=B;exports.initLog=Ne;exports.isArray=N;exports.isBoolean=_e;exports.isChinese=pt;exports.isDate=de;exports.isDateString=Ye;exports.isDef=ze;exports.isEmail=Pt;exports.isEmptyString=It;exports.isEnglishAphabet=$t;exports.isFloat=At;exports.isFunction=H;exports.isIdCard=Zt;exports.isInteger=vt;exports.isLowerCase=Yt;exports.isLowerCaseAndNumber=yt;exports.isLowerCaseAndNumberAndChinese=Dt;exports.isMap=Ie;exports.isMobilePhone=Ft;exports.isNegativeFloat=Ct;exports.isNegativeFloatOrZero=Et;exports.isNegativeInteger=Nt;exports.isNegativeIntegerOrZero=Lt;exports.isNull=He;exports.isNumber=_;exports.isNumberOrNumberString=ht;exports.isObject=p;exports.isPositiveFloat=Ot;exports.isPositiveFloatOrZero=St;exports.isPositiveInteger=xt;exports.isPositiveIntegerOrZero=Rt;exports.isPromise=Ue;exports.isRegExp=fe;exports.isSet=Ze;exports.isString=le;exports.isSymbol=je;exports.isUndef=Z;exports.isUndefined=Te;exports.isUpperCase=Mt;exports.isUpperCaseAndNumber=bt;exports.isUpperCaseAndNumberAndChinese=wt;exports.log=Le;exports.objectToString=ue;exports.qs=Ge;exports.throttle=Ke;exports.throwError=$;exports.toTypeString=z;exports.validatorChineseOrEnglish=ke;exports.validatorChineseOrEnglishOrNumber=Je;exports.validatorEmail=nt;exports.validatorLatitudeOrLongitude=Qe;exports.validatorUppercaseOrNumbersOrSpecial=et;exports.validatorUppercaseOrNumbersOrUnderline=tt;exports.warn=Fe;
|
|
1
|
+
"use strict";var V=Object.create;var R=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var X=Object.getOwnPropertyNames;var Q=Object.getPrototypeOf,J=Object.prototype.hasOwnProperty;var ee=(e,t)=>{for(var r in t)R(e,r,{get:t[r],enumerable:!0})},U=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of X(t))!J.call(e,o)&&o!==r&&R(e,o,{get:()=>t[o],enumerable:!(n=B(t,o))||n.enumerable});return e};var T=(e,t,r)=>(r=e!=null?V(Q(e)):{},U(t||!e||!e.__esModule?R(r,"default",{value:e,enumerable:!0}):r,e)),te=e=>U(R({},"__esModule",{value:!0}),e);var ut={};ee(ut,{castArray:()=>M,compareProperties:()=>Se,compose:()=>re,composeRight:()=>ne,debounce:()=>oe,debugWarn:()=>Z,deepClone:()=>w,deepMerge:()=>g,deprecated:()=>k,error:()=>ue,excludeProperties:()=>Ce,extractProperties:()=>Fe,generateRandomArray:()=>Ie,generateRandomColor:()=>Ne,generateRandomDate:()=>j,generateRandomEmail:()=>Ye,generateRandomFloat:()=>ke,generateRandomIdCard:()=>Pe,generateRandomInteger:()=>p,generateRandomMobilePhone:()=>Ue,generateRandomString:()=>P,generateRandomStringFromSource:()=>D,getRandomItem:()=>l,hasChanged:()=>be,hasOwn:()=>O,initLog:()=>ie,isArray:()=>c,isBoolean:()=>le,isChinese:()=>Ze,isDate:()=>I,isDateString:()=>z,isDef:()=>xe,isEmail:()=>it,isEmptyString:()=>st,isEnglishAphabet:()=>_e,isFloat:()=>qe,isFunction:()=>y,isIdCard:()=>at,isInteger:()=>Je,isLowerCase:()=>ze,isLowerCaseAndNumber:()=>We,isLowerCaseAndNumberAndChinese:()=>Le,isMap:()=>ce,isMobilePhone:()=>ot,isNegativeFloat:()=>Be,isNegativeFloatOrZero:()=>Qe,isNegativeInteger:()=>rt,isNegativeIntegerOrZero:()=>nt,isNull:()=>ge,isNumber:()=>f,isNumberOrNumberString:()=>ve,isObject:()=>u,isPositiveFloat:()=>Ve,isPositiveFloatOrZero:()=>Xe,isPositiveInteger:()=>et,isPositiveIntegerOrZero:()=>tt,isPromise:()=>fe,isRegExp:()=>N,isSet:()=>pe,isString:()=>Y,isSymbol:()=>me,isUndef:()=>d,isUndefined:()=>de,isUpperCase:()=>Ge,isUpperCaseAndNumber:()=>He,isUpperCaseAndNumberAndChinese:()=>Ke,log:()=>se,objectToString:()=>v,qs:()=>we,throttle:()=>$e,throwError:()=>a,toTypeString:()=>A,validatorChineseOrEnglish:()=>Ee,validatorChineseOrEnglishOrNumber:()=>Te,validatorEmail:()=>De,validatorLatitudeOrLongitude:()=>Re,validatorUppercaseOrNumbersOrSpecial:()=>Me,validatorUppercaseOrNumbersOrUnderline:()=>je,warn:()=>ae});module.exports=te(ut);function re(...e){return e.reduce((t,r)=>function(...n){return r(t(...n))})}function ne(...e){return e.reduce((t,r)=>function(...n){return t(r(...n))})}function oe(e,t=500){let r=null;return function(...n){r&&clearTimeout(r),r=setTimeout(()=>{e.apply(this,n)},t)}}var v=Object.prototype.toString,A=e=>v.call(e),F=null;function ie(e){y(e)&&(F=e)}var se=(e,...t)=>{let r=t.length===0?"":t.length===1?t[0]:t;console.log(`%c ${e} `,"padding: 2px; border-radius: 3px; color: #fff; background: #000; font-weight: bold;",r),F&&F(e,r)},ae=(...e)=>console.warn(...e),ue=(...e)=>console.error(...e),ce=e=>A(e)==="[object Map]",pe=e=>A(e)==="[object Set]",I=e=>A(e)==="[object Date]",N=e=>A(e)==="[object RegExp]",y=e=>typeof e=="function",f=e=>typeof e=="number",Y=e=>typeof e=="string",me=e=>typeof e=="symbol",u=e=>e!==null&&typeof e=="object",fe=e=>u(e)&&y(e.then)&&y(e.catch),d=e=>e==null,de=e=>e===void 0,ge=e=>e===null,xe=e=>e!=null,le=e=>typeof e=="boolean",c=Array.isArray,O=(e,t)=>Object.hasOwn(e,t),be=(e,t)=>e!==t;function w(e){let t=new WeakMap;function r(n){if(I(n))return new Date(n);if(N(n))return new RegExp(n);if(u(n)){if(t.has(n))return t.get(n);let o={};if(c(n)){o=[],t.set(n,o);for(let i=0;i<n.length;i++)o[i]=r(n[i]);return o}t.set(n,o);for(let i in n)O(n,i)&&(o[i]=r(n[i]));return o}else return n}return r(e)}var E=class extends Error{constructor(t){super(t),this.name="LntvowError"}};function a(e,t){throw new E(`[${e}] ${t}`)}function Z(e,t){if(process.env.NODE_ENV!=="production"){let r=Y(e)?new E(`[${e}] ${t}`):e;console.warn(r)}}var k=({from:e,replacement:t,version:r,type:n="API"})=>{Z(`${n}`,`${e} is about to be deprecated in version ${r}, please use ${t} instead.`)};function g(e,t,r){return(!u(e)||!u(t))&&a("deepMerge","template \u548C source \u5FC5\u987B\u662F\u5BF9\u8C61"),c(e)?Oe(e,t,r):ye(e,t,r)}function ye(e,t,r){let n=h(t,r);return Object.keys(e).forEach(i=>{d(t[i])?n[i]=h(e[i],r):n[i]=u(e[i])&&u(t[i])?g(e[i],t[i],r):h(t[i],r)}),n}function Oe(e,t,r){if(c(t)){let n=h(t,r);return n.push(...h(e,r)),n}else return h(e,r)}function h(e,t){let{deepClone:r=!0}=t||{};return r?w(e):e}function he(e,t){let{decode:r}=g({decode:!0},t||{}),n={};e.startsWith("?")&&(e=e.slice(1)),e.includes("?")&&(e=e.slice(e.indexOf("?")+1));let o=e.split("&").filter(Boolean);for(let i of o){let[b,x]=i.split("=");n[b]=r?decodeURIComponent(x):x}return n}function _(e,t){let{encode:r}=g({encode:!0},t||{}),n=[];for(let o in e){let i=e[o];n.push(`${o}=${r?encodeURIComponent(i):i}`)}return n.join("&")}function Ae(e,t,r){let n=g({encode:!0},r||{}),o=_(t,n);return e.includes("?")?e.endsWith("?")||e.endsWith("&")?`${e}${o}`:`${e}&${o}`:`${e}?${o}`}var we={parse:he,stringify:_,appendQueryString:Ae};function $e(e,t=500){let r=null;return function(...n){if(d(r))return r=Date.now(),e.apply(this,n);{let o=Date.now();if(o-r>=t)return r=o,e.apply(this,n)}}}function Re(e){return/^-?\d{1,3}\.\d{6}$/.test(e)}function Te(e){return!d(e)&&/^[\dA-Za-z\u4E00-\u9FA5]+$/.test(e)}function Ee(e){return!d(e)&&/^[A-Za-z\u4E00-\u9FA5]+$/.test(e)}function Me(e){return!d(e)&&/^[\d!"#$%&'()*+,./:;<=>?@A-Z[\\\]^_`{|}~]+$/.test(e)}function je(e){return/^[\dA-Z_]+$/.test(e)}function De(e){return k({from:"validatorEmail",replacement:"isEmail",version:"2.4.0"}),/^([\w-])+@([\w-])+(\.[\w-])+/.test(e)}function M(e){return c(e)?e:[e]}function Se(e,t){return(!u(e)||!u(t))&&a("deepMerge","template \u548C source \u5FC5\u987B\u662F\u5BF9\u8C61"),c(e)?void 0:G(e,t)}function G(e,t){let r={};return Object.keys(e).forEach(n=>{let o=e[n],i=t[n];u(o)&&u(i)?r[n]=G(o,i):Object.is(o,i)||(r[n]=i)}),r}function Ce(e,t){let r=w(e);return M(t).forEach(o=>{O(r,o)&&delete r[o]}),r}function Fe(e,t){let r={};return M(t).forEach(o=>{O(e,o)&&(r[o]=e[o])}),r}function Ie(e,t){return(!f(e)||e<=0)&&a("generateRandomArray","num \u5FC5\u987B\u5927\u4E8E0"),y(t)||a("generateRandomArray","cb \u5FC5\u987B\u662F\u51FD\u6570"),Array.from({length:e}).fill(0).map((r,n)=>t(r,n))}function Ne(){return`#${Math.random().toString(16).slice(2,8).padEnd(6,"0")}`}var m=T(require("dayjs"),1),H=T(require("dayjs/plugin/customParseFormat"),1);function p(e={}){f(e)&&(e={max:e});let{min:t=0,max:r=Number.MAX_SAFE_INTEGER}=e,n=Math.ceil(t),o=Math.floor(r);return n===o?n:(o<n&&(r>=t&&a("generateRandomInteger",`\u672A\u627E\u5230 ${t} \u548C ${r} \u4E4B\u95F4\u7684\u6574\u6570\u503C`),a("generateRandomInteger",`\u6700\u5927\u503C ${r} \u5E94\u5927\u4E8E\u6700\u5C0F\u503C ${t}`)),Math.floor(Math.random()*(o-n+1)+n))}(0,m.extend)(H.default);function j(e={}){let{start:t="1800-01-01 00:00:00",end:r=(0,m.default)().format("YYYY-MM-DD HH:mm:ss"),format:n="YYYY-MM-DD HH:mm:ss"}=e;(!(0,m.default)(t).isValid()||!(0,m.default)(r).isValid())&&a("generateRandomDate","start end \u53C2\u6570\u5FC5\u987B\u662F\u5408\u6CD5\u7684\u65F6\u95F4\u683C\u5F0F");let o=(0,m.default)(t).year(),i=(0,m.default)(r).year(),b=p({min:o,max:i}),x=p({min:1,max:12}),C=p({min:1,max:31}),W=p(23),L=p(59),q=p(59),$=(0,m.default)(`${b}-${x}-${C} ${W}:${L}:${q}`);return $.isBefore((0,m.default)(t))||$.isAfter((0,m.default)(r))?(console.log("\u4E0D\u5408\u6CD5\u65F6\u95F4",(0,m.default)($).format("YYYY-MM-DD HH:mm:ss")),j(e)):$.format(n)}function P(e,t={}){let{lowerCase:r,upperCase:n,number:o}=g({lowerCase:!0,upperCase:!0,number:!0},t);r||n||o||a("generateRandomString","lowerCase upperCase number \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u53C2\u6570\u4E3Atrue");let i="";r&&(i+="abcdefghijklmnopqrstuvwxyz"),n&&(i+="ABCDEFGHIJKLMNOPQRSTUVWXYZ"),o&&(i+="0123456789");let b="";for(let x=0;x<e;x++){let C=Math.floor(Math.random()*i.length);b+=i.charAt(C)}return b}function l(e){return e[Math.floor(Math.random()*e.length)]}function Ye(){let e=["gmail.com","yahoo.com","outlook.com","example.com","qq.com","163.com"];return`${P(10)}@${l(e)}`}function ke(e={}){f(e)&&(e={max:e});let{min:t=0,max:r=1,fractionDigits:n=2}=e;if(t===r)return t;if(t>r)throw new Error(`\u6700\u5927\u503C ${r} \u5E94\u5927\u4E8E\u6700\u5C0F\u503C ${t}`);return Math.random()*(r-t)+t}function D(e,t){(!f(e)||e<=0)&&a("generateRandomStringFromSource","num \u5FC5\u987B\u5927\u4E8E0"),(!c(t)||t.length===0)&&a("generateRandomStringFromSource","source \u4E0D\u80FD\u4E3A\u7A7A\u6570\u7EC4");let r="";for(let n=0;n<e;n++)r+=l(t);return r}function Pe(){let e=p({min:1e5,max:999999}),t=[0,1,2,3,4,5,6,7,8,9];return[e,j({format:"YYYYMMDD"}),D(3,t),D(1,[...t,"X","x"])].join("")}function Ue(){return l(["13","14","15","16","17","18","19"])+p(999999999).toString().padEnd(9,"0")}function ve(e){return/^\d+$/.test(e)}function Ze(e){return/^[\u4E00-\u9FA5]+$/.test(e)}function _e(e){return/^[A-Za-z]+$/.test(e)}function Ge(e){return/^[A-Z]+$/.test(e)}function He(e){return/^[\dA-Z]+$/.test(e)}function Ke(e){return/^[\dA-Z\u4E00-\u9FA5]+$/.test(e)}function ze(e){return/^[a-z]+$/.test(e)}function We(e){return/^[\da-z]+$/.test(e)}function Le(e){return/^[\da-z\u4E00-\u9FA5]+$/.test(e)}function qe(e,t={}){let{integer:r=!0}=t;return r?/^-?(0|[1-9]\d*)(\.\d+)?$/.test(e):/^-?(0|[1-9]\d*)\.\d+$/.test(e)}function Ve(e,t={}){let{integer:r=!0}=t;return r?/^[1-9]\d*\.?\d*|^0\.\d*[1-9]\d*$/.test(e):/^[1-9]\d*\.\d*|^0\.\d*[1-9]\d*$/.test(e)}function Be(e,t={}){let{integer:r=!0}=t;return r?/^-[1-9]\d*\.?\d*|^-0\.\d*[1-9]\d*$/.test(e):/^-[1-9]\d*\.\d*|^-0\.\d*[1-9]\d*$/.test(e)}function Xe(e,t={}){let{integer:r=!0}=t;return r?/^(0|[1-9]\d*)(\.\d+)?$/.test(e):/^(0|[1-9]\d*)\.\d+$/.test(e)}function Qe(e,t={}){let{integer:r=!0}=t;return r?/^(-?0(\.0+)?|-(0|[1-9]\d*)(\.\d+)?)$/.test(e):/^(-?0\.0+|-(0|[1-9]\d*)\.\d+)$/.test(e)}function Je(e){return/^-?(0|[1-9]\d*)$/.test(e)}function et(e){return/^[1-9]\d*$/.test(e)}function tt(e){return/^(0|[1-9]\d*)$/.test(e)}function rt(e){return/^-([1-9]\d*)$/.test(e)}function nt(e){return/^(0|-(0|[1-9]\d*))$/.test(e)}var S=T(require("dayjs"),1),K=T(require("dayjs/plugin/customParseFormat"),1);function ot(e){return/^1[3-9]\d{9}$/.test(e)}function it(e){return/^([\w-])+@([\w-])+(\.[\w-])+/.test(e)}function st(e){return e===""}function z(e,t="YYYY-MM-DD HH:mm:ss"){return(0,S.extend)(K.default),(0,S.default)(e,t,!0).isValid()}function at(e){let t=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e);return!t||(t=z(e.slice(6,14),"YYYYMMDD"),!t),t}0&&(module.exports={castArray,compareProperties,compose,composeRight,debounce,debugWarn,deepClone,deepMerge,deprecated,error,excludeProperties,extractProperties,generateRandomArray,generateRandomColor,generateRandomDate,generateRandomEmail,generateRandomFloat,generateRandomIdCard,generateRandomInteger,generateRandomMobilePhone,generateRandomString,generateRandomStringFromSource,getRandomItem,hasChanged,hasOwn,initLog,isArray,isBoolean,isChinese,isDate,isDateString,isDef,isEmail,isEmptyString,isEnglishAphabet,isFloat,isFunction,isIdCard,isInteger,isLowerCase,isLowerCaseAndNumber,isLowerCaseAndNumberAndChinese,isMap,isMobilePhone,isNegativeFloat,isNegativeFloatOrZero,isNegativeInteger,isNegativeIntegerOrZero,isNull,isNumber,isNumberOrNumberString,isObject,isPositiveFloat,isPositiveFloatOrZero,isPositiveInteger,isPositiveIntegerOrZero,isPromise,isRegExp,isSet,isString,isSymbol,isUndef,isUndefined,isUpperCase,isUpperCaseAndNumber,isUpperCaseAndNumberAndChinese,log,objectToString,qs,throttle,throwError,toTypeString,validatorChineseOrEnglish,validatorChineseOrEnglishOrNumber,validatorEmail,validatorLatitudeOrLongitude,validatorUppercaseOrNumbersOrSpecial,validatorUppercaseOrNumbersOrUnderline,warn});
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 将非数组转换为数组 如果是目标本就是数组则直接返回
|
|
3
|
+
* @param target 目标
|
|
4
|
+
* @example castArray(1) => [1]
|
|
5
|
+
*/
|
|
6
|
+
declare function castArray<T>(target: T | T[]): T[];
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @description compose
|
|
10
|
+
* @param fns 任意函数
|
|
11
|
+
*/
|
|
12
|
+
declare function compose(...fns: ((...args: any[]) => any)[]): (...args: any[]) => any;
|
|
13
|
+
/**
|
|
14
|
+
* @description compose 从右到左
|
|
15
|
+
* @param fns 任意函数
|
|
16
|
+
*/
|
|
17
|
+
declare function composeRight(...fns: ((...args: any[]) => any)[]): (...args: any[]) => any;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @description 防抖函数
|
|
21
|
+
* @param target 目标函数
|
|
22
|
+
* @param wait 等待时间 默认 500ms
|
|
23
|
+
* @example debounce(() => console.log('debounce'), 500)
|
|
24
|
+
*/
|
|
25
|
+
declare function debounce(target: Function, wait?: number): (...args: any[]) => void;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @description 深拷贝
|
|
29
|
+
* @param target 拷贝对象
|
|
30
|
+
* @example deepClone({ name: 1, obj: { name: 1 }, arr: [1, 2, 3] }) => { name: 1, obj: { name: 1 }, arr: [1, 2, 3] }
|
|
31
|
+
*/
|
|
32
|
+
declare function deepClone<T>(target: T): T;
|
|
33
|
+
|
|
34
|
+
type AnyObject = Record<string, any>;
|
|
35
|
+
type ArrayItem<T> = T extends (infer U)[] ? U : never;
|
|
36
|
+
declare const objectToString: () => string;
|
|
37
|
+
declare const toTypeString: (value: unknown) => string;
|
|
38
|
+
declare function initLog(cb: Function): void;
|
|
39
|
+
declare const log: (name: unknown, ...arg: unknown[]) => void;
|
|
40
|
+
declare const warn: (...arg: unknown[]) => void;
|
|
41
|
+
declare const error: (...arg: unknown[]) => void;
|
|
42
|
+
declare const isMap: (val: unknown) => val is Map<any, any>;
|
|
43
|
+
declare const isSet: (val: unknown) => val is Set<any>;
|
|
44
|
+
declare const isDate: (val: unknown) => val is Date;
|
|
45
|
+
declare const isRegExp: (val: unknown) => val is RegExp;
|
|
46
|
+
declare const isFunction: (val: unknown) => val is Function;
|
|
47
|
+
declare const isNumber: (val: unknown) => val is number;
|
|
48
|
+
declare const isString: (val: unknown) => val is string;
|
|
49
|
+
declare const isSymbol: (val: unknown) => val is symbol;
|
|
50
|
+
declare const isObject: (val: unknown) => val is Record<any, any>;
|
|
51
|
+
declare const isPromise: <T = any>(val: unknown) => val is Promise<T>;
|
|
52
|
+
declare const isUndef: (val: unknown) => val is null | undefined;
|
|
53
|
+
declare const isUndefined: (val: unknown) => val is undefined;
|
|
54
|
+
declare const isNull: (val: unknown) => val is null;
|
|
55
|
+
declare const isDef: <T>(val: T) => val is NonNullable<T>;
|
|
56
|
+
declare const isBoolean: (val: unknown) => val is boolean;
|
|
57
|
+
declare const isArray: (arg: any) => arg is any[];
|
|
58
|
+
declare const hasOwn: <T extends object, U extends keyof T>(target: T, key: U) => boolean;
|
|
59
|
+
declare const hasChanged: (oldValue: unknown, newValue: unknown) => boolean;
|
|
60
|
+
type Arrayable<T> = T | T[];
|
|
61
|
+
|
|
62
|
+
interface DeepMergeOptions {
|
|
63
|
+
/**
|
|
64
|
+
* @description 是否开启深拷贝 默认开启
|
|
65
|
+
* @default true
|
|
66
|
+
*/
|
|
67
|
+
deepClone: boolean;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @description 深度合并两对象
|
|
71
|
+
* @param template 模板对象 就是默认值
|
|
72
|
+
* @param source 源对象 就是用户传入的值
|
|
73
|
+
* @param options 配置对象
|
|
74
|
+
* @example deepMerge({ name: 1, obj: { name: '默认' , text: '旧值' }, arr: [1, 2, 3] }, { name: 1, obj: { name: '修改', age: '新增' }, test: 'test' }) => { name: 1, obj: { name: '修改', text: '旧值', age: '新增' }, arr: [1, 2, 3], test: 'test' }
|
|
75
|
+
*/
|
|
76
|
+
declare function deepMerge(template: AnyObject, source: AnyObject, options?: DeepMergeOptions): any;
|
|
77
|
+
|
|
78
|
+
declare function throwError(scope: string, message: string): void;
|
|
79
|
+
declare function debugWarn(err: Error): void;
|
|
80
|
+
declare function debugWarn(scope: string, message: string): void;
|
|
81
|
+
declare const deprecated: ({ from, replacement, version, type, }: {
|
|
82
|
+
from: string;
|
|
83
|
+
replacement: string;
|
|
84
|
+
version: string;
|
|
85
|
+
type?: 'API';
|
|
86
|
+
}) => void;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @description 解析查询字符串
|
|
90
|
+
* @param str 转换的字符串
|
|
91
|
+
* @return 转换后的对象
|
|
92
|
+
* @example
|
|
93
|
+
* parse('a=1&b=2') => { a: '1', b: '2' }
|
|
94
|
+
* parse('?a=1&b=2') => { a: '1', b: '2' }
|
|
95
|
+
* parse('&a=1&b=2') => { a: '1', b: '2' }
|
|
96
|
+
* parse('from=%E4%B8%AD%E5%9B%BD') => { from: '中国' }
|
|
97
|
+
* parse('from=%E4%B8%AD%E5%9B%BD', { decode: false }) => { from: '%E4%B8%AD%E5%9B%BD' }
|
|
98
|
+
*/
|
|
99
|
+
declare function parse(str: string, options?: ParseOptions): Record<string, string>;
|
|
100
|
+
/**
|
|
101
|
+
*@description 转换对象为查询字符串
|
|
102
|
+
* @param obj 转换的对象
|
|
103
|
+
* @return 转换后的字符串
|
|
104
|
+
* @example
|
|
105
|
+
* stringify({ a: '1', b: '2' }) => 'a=1&b=2'
|
|
106
|
+
* stringify({ from: '中国' }) => 'from=%E4%B8%AD%E5%9B%BD'
|
|
107
|
+
* stringify({ from: '中国' }, { encode: false }) => 'from=中国'
|
|
108
|
+
*/
|
|
109
|
+
declare function stringify(obj: Record<string, any>, options?: StringifyOptions): string;
|
|
110
|
+
/**
|
|
111
|
+
* @description url追加查询字符串
|
|
112
|
+
* @param url url
|
|
113
|
+
* @param obj 查询字符串对象
|
|
114
|
+
* @return 追加后的url
|
|
115
|
+
* @example
|
|
116
|
+
* appendQueryString('https://www.baidu.com', { a: '1', b: '2' }) => 'https://www.baidu.com?a=1&b=2'
|
|
117
|
+
* appendQueryString('/pages/index?id=10', { test:'23' }) => '/pages/index?id=10&test=23'
|
|
118
|
+
*/
|
|
119
|
+
declare function appendQueryString(url: string, obj: AnyObject, options?: StringifyOptions): string;
|
|
120
|
+
declare const qs: {
|
|
121
|
+
parse: typeof parse;
|
|
122
|
+
stringify: typeof stringify;
|
|
123
|
+
appendQueryString: typeof appendQueryString;
|
|
124
|
+
};
|
|
125
|
+
interface ParseOptions {
|
|
126
|
+
/**
|
|
127
|
+
* @description 是否解码
|
|
128
|
+
* @default true
|
|
129
|
+
*/
|
|
130
|
+
decode?: boolean;
|
|
131
|
+
}
|
|
132
|
+
interface StringifyOptions {
|
|
133
|
+
/**
|
|
134
|
+
* @description 是否编码
|
|
135
|
+
* @default true
|
|
136
|
+
*/
|
|
137
|
+
encode?: boolean;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* @description 节流函数
|
|
142
|
+
* @param target 目标函数
|
|
143
|
+
* @param wait 等待时间 默认 500ms
|
|
144
|
+
* @example throttle(() => console.log('hello world'), 500)
|
|
145
|
+
*/
|
|
146
|
+
declare function throttle(target: Function, wait?: number): (...args: any[]) => any;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* @description 校验经纬度
|
|
150
|
+
*/
|
|
151
|
+
declare function validatorLatitudeOrLongitude(value: string): boolean;
|
|
152
|
+
/**
|
|
153
|
+
* @description 校验中文、字母、数字
|
|
154
|
+
*/
|
|
155
|
+
declare function validatorChineseOrEnglishOrNumber(value: string): boolean;
|
|
156
|
+
/**
|
|
157
|
+
* @description 校验中英文
|
|
158
|
+
*/
|
|
159
|
+
declare function validatorChineseOrEnglish(value: string): boolean;
|
|
160
|
+
/**
|
|
161
|
+
* @description 校验大写字母、数字、特殊字符 特殊字符包括 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
|
|
162
|
+
*/
|
|
163
|
+
declare function validatorUppercaseOrNumbersOrSpecial(value: string): boolean;
|
|
164
|
+
/**
|
|
165
|
+
* @description 校验大写字母、数字、_
|
|
166
|
+
*/
|
|
167
|
+
declare function validatorUppercaseOrNumbersOrUnderline(value: string): boolean;
|
|
168
|
+
/**
|
|
169
|
+
* @description 校验是否为邮箱
|
|
170
|
+
* @deprecated 使用 isEmail 代替
|
|
171
|
+
*/
|
|
172
|
+
declare function validatorEmail(value: string): boolean;
|
|
173
|
+
|
|
174
|
+
declare function compareProperties(target: AnyObject, source: AnyObject): void | AnyObject;
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* @description 排除对象中的某些属性
|
|
178
|
+
* @param target 目标对象
|
|
179
|
+
* @param properties 要排除的属性
|
|
180
|
+
* @example excludeProperties({ a: 1, b: 2, c: 3 }, ['a', 'b']) => { c: 3 }
|
|
181
|
+
*/
|
|
182
|
+
declare function excludeProperties<T extends AnyObject, K extends keyof T>(target: T, properties: Arrayable<K>): Omit<T, K>;
|
|
183
|
+
/**
|
|
184
|
+
* @description 提取对象中的某些属性
|
|
185
|
+
* @param target 目标对象
|
|
186
|
+
* @param properties 要提取的属性
|
|
187
|
+
* @example extractProperties({ a: 1, b: 2, c: 3 }, ['a', 'b']) => { a: 1, b: 2 }
|
|
188
|
+
*/
|
|
189
|
+
declare function extractProperties<T extends AnyObject, K extends keyof T>(target: T, properties: Arrayable<K>): Pick<T, K>;
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* @description 生成随机数组
|
|
193
|
+
* @example generateRandomArray(4, () => 1) => [1, 1, 1, 1]
|
|
194
|
+
* */
|
|
195
|
+
declare function generateRandomArray<T>(num: number, cb: (item?: unknown, index?: number) => T): T[];
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* @description 生成随机颜色
|
|
199
|
+
* @example generateRandomColor() => '#f36a38'
|
|
200
|
+
* */
|
|
201
|
+
declare function generateRandomColor(): string;
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* @description 生成随机时间
|
|
205
|
+
* @example generateRandomDate() => '2021-07-01 08:51:34'
|
|
206
|
+
* */
|
|
207
|
+
declare function generateRandomDate(options?: GenerateRandomDate): string;
|
|
208
|
+
interface GenerateRandomDate {
|
|
209
|
+
/**
|
|
210
|
+
* @description 开始时间
|
|
211
|
+
* @default 1800-01-01 00:00:00
|
|
212
|
+
*/
|
|
213
|
+
start?: string | Date;
|
|
214
|
+
/**
|
|
215
|
+
* @description 结束时间
|
|
216
|
+
* @default 当前时间
|
|
217
|
+
*/
|
|
218
|
+
end?: string | Date;
|
|
219
|
+
/**
|
|
220
|
+
* @description 时间格式
|
|
221
|
+
* @default YYYY-MM-DD HH:mm:ss
|
|
222
|
+
*/
|
|
223
|
+
format?: string;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* @description 生成随机邮箱
|
|
228
|
+
* @example generateRandomEmail() => lZtJqMl0dyTO3WDGzFDO@example.com
|
|
229
|
+
*/
|
|
230
|
+
declare function generateRandomEmail(): string;
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* @description 生成范围内的随机浮点数
|
|
234
|
+
* @example generateRandomFloat() => 0.35
|
|
235
|
+
* */
|
|
236
|
+
declare function generateRandomFloat(options?: GenerateRandomFloat): number;
|
|
237
|
+
type GenerateRandomFloat = number | {
|
|
238
|
+
/**
|
|
239
|
+
* @description 最大值
|
|
240
|
+
* @default 1.00
|
|
241
|
+
*/
|
|
242
|
+
max?: number;
|
|
243
|
+
/**
|
|
244
|
+
* @description 最小值
|
|
245
|
+
* @default 0.00
|
|
246
|
+
*/
|
|
247
|
+
min?: number;
|
|
248
|
+
/**
|
|
249
|
+
* @description 小数位数
|
|
250
|
+
* @default 2
|
|
251
|
+
*/
|
|
252
|
+
fractionDigits?: number;
|
|
253
|
+
};
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* @description 生成随机二代身份证号
|
|
257
|
+
* @example generateRandomIdCard() => '410304200210165258'
|
|
258
|
+
*/
|
|
259
|
+
declare function generateRandomIdCard(): string;
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* @description 生成范围内的随机整数
|
|
263
|
+
* @example generateRandomInteger() => 217342
|
|
264
|
+
* */
|
|
265
|
+
declare function generateRandomInteger(options?: GenerateRandomIntegerOptions): number;
|
|
266
|
+
type GenerateRandomIntegerOptions = number | {
|
|
267
|
+
/**
|
|
268
|
+
* @description 最大值
|
|
269
|
+
* @default Number.MAX_SAFE_INTEGER
|
|
270
|
+
*/
|
|
271
|
+
max?: number;
|
|
272
|
+
/**
|
|
273
|
+
* @description 最小值
|
|
274
|
+
* @default 0
|
|
275
|
+
*/
|
|
276
|
+
min?: number;
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* @description 生成随机手机号码
|
|
281
|
+
* @example generateRandomMobilePhone() => 13012345678
|
|
282
|
+
*/
|
|
283
|
+
declare function generateRandomMobilePhone(): string;
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* @description 生成随机字符串 大小写字母和数字
|
|
287
|
+
* @param length 返回字符串的长度
|
|
288
|
+
* @example generateRandomString(20) => 'lZtJqMl0dyTO3WDGzFDO'
|
|
289
|
+
* */
|
|
290
|
+
declare function generateRandomString(length: number, options?: GenerateRandomStringOptions): string;
|
|
291
|
+
interface GenerateRandomStringOptions {
|
|
292
|
+
/**
|
|
293
|
+
* @description 是否包含小写字母
|
|
294
|
+
* @default true
|
|
295
|
+
*/
|
|
296
|
+
lowerCase?: boolean;
|
|
297
|
+
/**
|
|
298
|
+
* @description 是否包含大写字母
|
|
299
|
+
* @default true
|
|
300
|
+
*/
|
|
301
|
+
upperCase?: boolean;
|
|
302
|
+
/**
|
|
303
|
+
* @description 是否包含数字
|
|
304
|
+
* @default true
|
|
305
|
+
*/
|
|
306
|
+
number?: boolean;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* @description 生成随机数据从数据源中
|
|
311
|
+
* @param num 随机获取数据源子项次数
|
|
312
|
+
* @example generateRandomStringFromSource(4, ['1', 'b', 'c', 'd', 'e']) => 'dea1'
|
|
313
|
+
* */
|
|
314
|
+
declare function generateRandomStringFromSource(num: number, source: (number | string)[]): string;
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* @description 获取数组中的随机元素
|
|
318
|
+
* @example getRandomItem([0, 1, 2, 3, 4]) => 2
|
|
319
|
+
*/
|
|
320
|
+
declare function getRandomItem<T>(list: T[]): T;
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* @description 校验是否为数字
|
|
324
|
+
*/
|
|
325
|
+
declare function isNumberOrNumberString(val: string): boolean;
|
|
326
|
+
/**
|
|
327
|
+
* @description 校验是否为中文
|
|
328
|
+
*/
|
|
329
|
+
declare function isChinese(val: string): boolean;
|
|
330
|
+
/**
|
|
331
|
+
* @description 校验是否为英文字母
|
|
332
|
+
*/
|
|
333
|
+
declare function isEnglishAphabet(val: string): boolean;
|
|
334
|
+
/**
|
|
335
|
+
* @description 校验是否为大写字母
|
|
336
|
+
*/
|
|
337
|
+
declare function isUpperCase(val: string): boolean;
|
|
338
|
+
/**
|
|
339
|
+
* @description 校验是否为大写字母和数字
|
|
340
|
+
*/
|
|
341
|
+
declare function isUpperCaseAndNumber(val: string): boolean;
|
|
342
|
+
/**
|
|
343
|
+
* @description 校验是否为大写字母数字和中文
|
|
344
|
+
*/
|
|
345
|
+
declare function isUpperCaseAndNumberAndChinese(val: string): boolean;
|
|
346
|
+
/**
|
|
347
|
+
* @description 校验是否为小写字母
|
|
348
|
+
*/
|
|
349
|
+
declare function isLowerCase(val: string): boolean;
|
|
350
|
+
/**
|
|
351
|
+
* @description 校验是否为小写字母和数字
|
|
352
|
+
*/
|
|
353
|
+
declare function isLowerCaseAndNumber(val: string): boolean;
|
|
354
|
+
/**
|
|
355
|
+
* @description 校验是否为小写字母数字和中文
|
|
356
|
+
*/
|
|
357
|
+
declare function isLowerCaseAndNumberAndChinese(val: string): boolean;
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* @description 校验是否为浮点数
|
|
361
|
+
*/
|
|
362
|
+
declare function isFloat(val: string, floatOptions?: FloatOptions): boolean;
|
|
363
|
+
/**
|
|
364
|
+
* @description 校验是否为大于零的浮点数
|
|
365
|
+
*/
|
|
366
|
+
declare function isPositiveFloat(val: string, floatOptions?: FloatOptions): boolean;
|
|
367
|
+
/**
|
|
368
|
+
* @description 校验是否为小于零的浮点数
|
|
369
|
+
*/
|
|
370
|
+
declare function isNegativeFloat(val: string, floatOptions?: FloatOptions): boolean;
|
|
371
|
+
/**
|
|
372
|
+
* @description 校验是否为大于等于零的浮点数
|
|
373
|
+
*/
|
|
374
|
+
declare function isPositiveFloatOrZero(val: string, floatOptions?: FloatOptions): boolean;
|
|
375
|
+
/**
|
|
376
|
+
* @description 校验是否为小于等于零的浮点数
|
|
377
|
+
*/
|
|
378
|
+
declare function isNegativeFloatOrZero(val: string, floatOptions?: FloatOptions): boolean;
|
|
379
|
+
interface FloatOptions {
|
|
380
|
+
/**
|
|
381
|
+
* @description 是否包括整数
|
|
382
|
+
* @default true
|
|
383
|
+
*/
|
|
384
|
+
integer?: boolean;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* @description 校验是否为整数
|
|
389
|
+
*/
|
|
390
|
+
declare function isInteger(val: string): boolean;
|
|
391
|
+
/**
|
|
392
|
+
* @description 校验否为正整数
|
|
393
|
+
*/
|
|
394
|
+
declare function isPositiveInteger(val: string): boolean;
|
|
395
|
+
/**
|
|
396
|
+
* @description 校验是否为大于等于零的整数
|
|
397
|
+
*/
|
|
398
|
+
declare function isPositiveIntegerOrZero(val: string): boolean;
|
|
399
|
+
/**
|
|
400
|
+
* @description 校验是否为负整数
|
|
401
|
+
*/
|
|
402
|
+
declare function isNegativeInteger(val: string): boolean;
|
|
403
|
+
/**
|
|
404
|
+
* @description 校验是否为小于等于零的整数
|
|
405
|
+
*/
|
|
406
|
+
declare function isNegativeIntegerOrZero(val: string): boolean;
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* @description 校验是否为手机号
|
|
410
|
+
*/
|
|
411
|
+
declare function isMobilePhone(val: string): boolean;
|
|
412
|
+
/**
|
|
413
|
+
* @description 校验是否为邮箱
|
|
414
|
+
*/
|
|
415
|
+
declare function isEmail(val: string): boolean;
|
|
416
|
+
/**
|
|
417
|
+
* @description 校验是否为空字符串
|
|
418
|
+
*/
|
|
419
|
+
declare function isEmptyString(val: unknown): boolean;
|
|
420
|
+
/**
|
|
421
|
+
* @description 校验是否为合法时间格式
|
|
422
|
+
* @param format 时间格式 默认 YYYY-MM-DD HH:mm:ss
|
|
423
|
+
* @link https://day.js.org/docs/zh-CN/parse/string-format
|
|
424
|
+
*/
|
|
425
|
+
declare function isDateString(val: string, format?: string): boolean;
|
|
426
|
+
/**
|
|
427
|
+
* @description 校验是否为二代身份证号
|
|
428
|
+
*/
|
|
429
|
+
declare function isIdCard(val: string): boolean;
|
|
430
|
+
|
|
431
|
+
export { type AnyObject, type ArrayItem, type Arrayable, type FloatOptions, type GenerateRandomDate, type GenerateRandomFloat, type GenerateRandomIntegerOptions, type GenerateRandomStringOptions, type ParseOptions, type StringifyOptions, castArray, compareProperties, compose, composeRight, debounce, debugWarn, deepClone, deepMerge, deprecated, error, excludeProperties, extractProperties, generateRandomArray, generateRandomColor, generateRandomDate, generateRandomEmail, generateRandomFloat, generateRandomIdCard, generateRandomInteger, generateRandomMobilePhone, generateRandomString, generateRandomStringFromSource, getRandomItem, hasChanged, hasOwn, initLog, isArray, isBoolean, isChinese, isDate, isDateString, isDef, isEmail, isEmptyString, isEnglishAphabet, isFloat, isFunction, isIdCard, isInteger, isLowerCase, isLowerCaseAndNumber, isLowerCaseAndNumberAndChinese, isMap, isMobilePhone, isNegativeFloat, isNegativeFloatOrZero, isNegativeInteger, isNegativeIntegerOrZero, isNull, isNumber, isNumberOrNumberString, isObject, isPositiveFloat, isPositiveFloatOrZero, isPositiveInteger, isPositiveIntegerOrZero, isPromise, isRegExp, isSet, isString, isSymbol, isUndef, isUndefined, isUpperCase, isUpperCaseAndNumber, isUpperCaseAndNumberAndChinese, log, objectToString, qs, throttle, throwError, toTypeString, validatorChineseOrEnglish, validatorChineseOrEnglishOrNumber, validatorEmail, validatorLatitudeOrLongitude, validatorUppercaseOrNumbersOrSpecial, validatorUppercaseOrNumbersOrUnderline, warn };
|