@lntvow/utils 3.0.6 → 3.0.7
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 +76 -72
- package/dist/index.d.ts +76 -72
- package/dist/index.js +1 -1
- package/package.json +2 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
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});
|
|
1
|
+
"use strict";var V=Object.create;var $=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)$(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&&$(e,o,{get:()=>t[o],enumerable:!(n=B(t,o))||n.enumerable});return e};var R=(e,t,r)=>(r=e!=null?V(Q(e)):{},U(t||!e||!e.__esModule?$(r,"default",{value:e,enumerable:!0}):r,e)),te=e=>U($({},"__esModule",{value:!0}),e);var ct={};ee(ct,{castArray:()=>E,compareProperties:()=>De,compose:()=>re,composeRight:()=>ne,debounce:()=>oe,debugWarn:()=>Z,deepClone:()=>A,deepMerge:()=>g,deprecated:()=>Y,error:()=>ue,excludeProperties:()=>Ce,extractProperties:()=>Fe,generateRandomArray:()=>Ie,generateRandomColor:()=>Ne,generateRandomDate:()=>M,generateRandomEmail:()=>ke,generateRandomFloat:()=>Ye,generateRandomIdCard:()=>Pe,generateRandomInteger:()=>p,generateRandomMobilePhone:()=>Ue,generateRandomString:()=>P,generateRandomStringFromSource:()=>j,getRandomItem:()=>l,hasChanged:()=>be,hasOwn:()=>O,initLog:()=>ie,isArray:()=>c,isBoolean:()=>le,isChinese:()=>Ze,isDate:()=>I,isDateString:()=>H,isDef:()=>xe,isEmail:()=>it,isEmptyString:()=>st,isEnglishAphabet:()=>_e,isFloat:()=>qe,isFunction:()=>y,isIdCard:()=>at,isInteger:()=>Je,isLowerCase:()=>He,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:()=>k,isSymbol:()=>me,isUndef:()=>d,isUndefined:()=>de,isUpperCase:()=>Ge,isUpperCaseAndNumber:()=>Ke,isUpperCaseAndNumberAndChinese:()=>ze,isUrl:()=>ut,log:()=>se,objectToString:()=>v,qs:()=>Ae,throttle:()=>$e,throwError:()=>a,toTypeString:()=>w,validatorChineseOrEnglish:()=>Ee,validatorChineseOrEnglishOrNumber:()=>Te,validatorEmail:()=>Se,validatorLatitudeOrLongitude:()=>Re,validatorUppercaseOrNumbersOrSpecial:()=>Me,validatorUppercaseOrNumbersOrUnderline:()=>je,warn:()=>ae});module.exports=te(ct);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,w=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=>w(e)==="[object Map]",pe=e=>w(e)==="[object Set]",I=e=>w(e)==="[object Date]",N=e=>w(e)==="[object RegExp]",y=e=>typeof e=="function",f=e=>typeof e=="number",k=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 A(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 T=class extends Error{constructor(t){super(t),this.name="LntvowError"}};function a(e,t){throw new T(`[${e}] ${t}`)}function Z(e,t){if(process.env.NODE_ENV!=="production"){let r=k(e)?new T(`[${e}] ${t}`):e;console.warn(r)}}var Y=({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?A(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 we(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 Ae={parse:he,stringify:_,appendQueryString:we};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 Se(e){return Y({from:"validatorEmail",replacement:"isEmail",version:"2.4.0"}),/^([\w-])+@([\w-])+(\.[\w-])+/.test(e)}function E(e){return c(e)?e:[e]}function De(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=A(e);return E(t).forEach(o=>{O(r,o)&&delete r[o]}),r}function Fe(e,t){let r={};return E(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=R(require("dayjs"),1),K=R(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)(K.default);function M(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}),D=p({min:1,max:31}),W=p(23),L=p(59),q=p(59),C=(0,m.default)(`${b}-${x}-${D} ${W}:${L}:${q}`);return C.isBefore((0,m.default)(t))||C.isAfter((0,m.default)(r))?M(e):C.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 D=Math.floor(Math.random()*i.length);b+=i.charAt(D)}return b}function l(e){return e[Math.floor(Math.random()*e.length)]}function ke(){let e=["gmail.com","yahoo.com","outlook.com","example.com","qq.com","163.com"];return`${P(10)}@${l(e)}`}function Ye(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 j(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,M({format:"YYYYMMDD"}),j(3,t),j(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 Ke(e){return/^[\dA-Z]+$/.test(e)}function ze(e){return/^[\dA-Z\u4E00-\u9FA5]+$/.test(e)}function He(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=R(require("dayjs"),1),z=R(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 H(e,t="YYYY-MM-DD HH:mm:ss"){return(0,S.extend)(z.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}[\dX]$/i.test(e);return!t||(t=H(e.slice(6,14),"YYYYMMDD"),!t),t}function ut(e){return/^(?:http|https):\/\/[\w.]+/.test(e)}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,isUrl,log,objectToString,qs,throttle,throwError,toTypeString,validatorChineseOrEnglish,validatorChineseOrEnglishOrNumber,validatorEmail,validatorLatitudeOrLongitude,validatorUppercaseOrNumbersOrSpecial,validatorUppercaseOrNumbersOrUnderline,warn});
|
package/dist/index.d.cts
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @param target 目标
|
|
2
|
+
* 将非数组转换为数组 如果是目标本就是数组则直接返回
|
|
4
3
|
* @example castArray(1) => [1]
|
|
5
4
|
*/
|
|
6
5
|
declare function castArray<T>(target: T | T[]): T[];
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
|
-
*
|
|
8
|
+
* compose
|
|
10
9
|
* @param fns 任意函数
|
|
11
10
|
*/
|
|
12
11
|
declare function compose(...fns: ((...args: any[]) => any)[]): (...args: any[]) => any;
|
|
13
12
|
/**
|
|
14
|
-
*
|
|
13
|
+
* compose 从右到左
|
|
15
14
|
* @param fns 任意函数
|
|
16
15
|
*/
|
|
17
16
|
declare function composeRight(...fns: ((...args: any[]) => any)[]): (...args: any[]) => any;
|
|
18
17
|
|
|
19
18
|
/**
|
|
20
|
-
*
|
|
19
|
+
* 防抖函数
|
|
21
20
|
* @param target 目标函数
|
|
22
21
|
* @param wait 等待时间 默认 500ms
|
|
23
22
|
* @example debounce(() => console.log('debounce'), 500)
|
|
@@ -25,7 +24,7 @@ declare function composeRight(...fns: ((...args: any[]) => any)[]): (...args: an
|
|
|
25
24
|
declare function debounce(target: Function, wait?: number): (...args: any[]) => void;
|
|
26
25
|
|
|
27
26
|
/**
|
|
28
|
-
*
|
|
27
|
+
* 深拷贝
|
|
29
28
|
* @param target 拷贝对象
|
|
30
29
|
* @example deepClone({ name: 1, obj: { name: 1 }, arr: [1, 2, 3] }) => { name: 1, obj: { name: 1 }, arr: [1, 2, 3] }
|
|
31
30
|
*/
|
|
@@ -61,13 +60,13 @@ type Arrayable<T> = T | T[];
|
|
|
61
60
|
|
|
62
61
|
interface DeepMergeOptions {
|
|
63
62
|
/**
|
|
64
|
-
*
|
|
63
|
+
* 是否开启深拷贝 默认开启
|
|
65
64
|
* @default true
|
|
66
65
|
*/
|
|
67
66
|
deepClone: boolean;
|
|
68
67
|
}
|
|
69
68
|
/**
|
|
70
|
-
*
|
|
69
|
+
* 深度合并两对象
|
|
71
70
|
* @param template 模板对象 就是默认值
|
|
72
71
|
* @param source 源对象 就是用户传入的值
|
|
73
72
|
* @param options 配置对象
|
|
@@ -86,7 +85,7 @@ declare const deprecated: ({ from, replacement, version, type, }: {
|
|
|
86
85
|
}) => void;
|
|
87
86
|
|
|
88
87
|
/**
|
|
89
|
-
*
|
|
88
|
+
* 解析查询字符串
|
|
90
89
|
* @param str 转换的字符串
|
|
91
90
|
* @return 转换后的对象
|
|
92
91
|
* @example
|
|
@@ -98,7 +97,7 @@ declare const deprecated: ({ from, replacement, version, type, }: {
|
|
|
98
97
|
*/
|
|
99
98
|
declare function parse(str: string, options?: ParseOptions): Record<string, string>;
|
|
100
99
|
/**
|
|
101
|
-
|
|
100
|
+
* 转换对象为查询字符串
|
|
102
101
|
* @param obj 转换的对象
|
|
103
102
|
* @return 转换后的字符串
|
|
104
103
|
* @example
|
|
@@ -108,7 +107,7 @@ declare function parse(str: string, options?: ParseOptions): Record<string, stri
|
|
|
108
107
|
*/
|
|
109
108
|
declare function stringify(obj: Record<string, any>, options?: StringifyOptions): string;
|
|
110
109
|
/**
|
|
111
|
-
*
|
|
110
|
+
* url追加查询字符串
|
|
112
111
|
* @param url url
|
|
113
112
|
* @param obj 查询字符串对象
|
|
114
113
|
* @return 追加后的url
|
|
@@ -124,21 +123,21 @@ declare const qs: {
|
|
|
124
123
|
};
|
|
125
124
|
interface ParseOptions {
|
|
126
125
|
/**
|
|
127
|
-
*
|
|
126
|
+
* 是否解码
|
|
128
127
|
* @default true
|
|
129
128
|
*/
|
|
130
129
|
decode?: boolean;
|
|
131
130
|
}
|
|
132
131
|
interface StringifyOptions {
|
|
133
132
|
/**
|
|
134
|
-
*
|
|
133
|
+
* 是否编码
|
|
135
134
|
* @default true
|
|
136
135
|
*/
|
|
137
136
|
encode?: boolean;
|
|
138
137
|
}
|
|
139
138
|
|
|
140
139
|
/**
|
|
141
|
-
*
|
|
140
|
+
* 节流函数
|
|
142
141
|
* @param target 目标函数
|
|
143
142
|
* @param wait 等待时间 默认 500ms
|
|
144
143
|
* @example throttle(() => console.log('hello world'), 500)
|
|
@@ -146,27 +145,27 @@ interface StringifyOptions {
|
|
|
146
145
|
declare function throttle(target: Function, wait?: number): (...args: any[]) => any;
|
|
147
146
|
|
|
148
147
|
/**
|
|
149
|
-
*
|
|
148
|
+
* 校验经纬度
|
|
150
149
|
*/
|
|
151
150
|
declare function validatorLatitudeOrLongitude(value: string): boolean;
|
|
152
151
|
/**
|
|
153
|
-
*
|
|
152
|
+
* 校验中文、字母、数字
|
|
154
153
|
*/
|
|
155
154
|
declare function validatorChineseOrEnglishOrNumber(value: string): boolean;
|
|
156
155
|
/**
|
|
157
|
-
*
|
|
156
|
+
* 校验中英文
|
|
158
157
|
*/
|
|
159
158
|
declare function validatorChineseOrEnglish(value: string): boolean;
|
|
160
159
|
/**
|
|
161
|
-
*
|
|
160
|
+
* 校验大写字母、数字、特殊字符 特殊字符包括 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
|
|
162
161
|
*/
|
|
163
162
|
declare function validatorUppercaseOrNumbersOrSpecial(value: string): boolean;
|
|
164
163
|
/**
|
|
165
|
-
*
|
|
164
|
+
* 校验大写字母、数字、_
|
|
166
165
|
*/
|
|
167
166
|
declare function validatorUppercaseOrNumbersOrUnderline(value: string): boolean;
|
|
168
167
|
/**
|
|
169
|
-
*
|
|
168
|
+
* 校验是否为邮箱
|
|
170
169
|
* @deprecated 使用 isEmail 代替
|
|
171
170
|
*/
|
|
172
171
|
declare function validatorEmail(value: string): boolean;
|
|
@@ -174,14 +173,14 @@ declare function validatorEmail(value: string): boolean;
|
|
|
174
173
|
declare function compareProperties(target: AnyObject, source: AnyObject): void | AnyObject;
|
|
175
174
|
|
|
176
175
|
/**
|
|
177
|
-
*
|
|
176
|
+
* 排除对象中的某些属性
|
|
178
177
|
* @param target 目标对象
|
|
179
178
|
* @param properties 要排除的属性
|
|
180
179
|
* @example excludeProperties({ a: 1, b: 2, c: 3 }, ['a', 'b']) => { c: 3 }
|
|
181
180
|
*/
|
|
182
181
|
declare function excludeProperties<T extends AnyObject, K extends keyof T>(target: T, properties: Arrayable<K>): Omit<T, K>;
|
|
183
182
|
/**
|
|
184
|
-
*
|
|
183
|
+
* 提取对象中的某些属性
|
|
185
184
|
* @param target 目标对象
|
|
186
185
|
* @param properties 要提取的属性
|
|
187
186
|
* @example extractProperties({ a: 1, b: 2, c: 3 }, ['a', 'b']) => { a: 1, b: 2 }
|
|
@@ -189,243 +188,248 @@ declare function excludeProperties<T extends AnyObject, K extends keyof T>(targe
|
|
|
189
188
|
declare function extractProperties<T extends AnyObject, K extends keyof T>(target: T, properties: Arrayable<K>): Pick<T, K>;
|
|
190
189
|
|
|
191
190
|
/**
|
|
192
|
-
*
|
|
191
|
+
* 生成随机数组
|
|
193
192
|
* @example generateRandomArray(4, () => 1) => [1, 1, 1, 1]
|
|
194
193
|
* */
|
|
195
194
|
declare function generateRandomArray<T>(num: number, cb: (item?: unknown, index?: number) => T): T[];
|
|
196
195
|
|
|
197
196
|
/**
|
|
198
|
-
*
|
|
197
|
+
* 生成随机颜色
|
|
199
198
|
* @example generateRandomColor() => '#f36a38'
|
|
200
199
|
* */
|
|
201
200
|
declare function generateRandomColor(): string;
|
|
202
201
|
|
|
203
202
|
/**
|
|
204
|
-
*
|
|
203
|
+
* 生成随机时间
|
|
205
204
|
* @example generateRandomDate() => '2021-07-01 08:51:34'
|
|
206
205
|
* */
|
|
207
206
|
declare function generateRandomDate(options?: GenerateRandomDate): string;
|
|
208
207
|
interface GenerateRandomDate {
|
|
209
208
|
/**
|
|
210
|
-
*
|
|
209
|
+
* 开始时间
|
|
211
210
|
* @default 1800-01-01 00:00:00
|
|
212
211
|
*/
|
|
213
212
|
start?: string | Date;
|
|
214
213
|
/**
|
|
215
|
-
*
|
|
214
|
+
* 结束时间
|
|
216
215
|
* @default 当前时间
|
|
217
216
|
*/
|
|
218
217
|
end?: string | Date;
|
|
219
218
|
/**
|
|
220
|
-
*
|
|
219
|
+
* 时间格式
|
|
221
220
|
* @default YYYY-MM-DD HH:mm:ss
|
|
222
221
|
*/
|
|
223
222
|
format?: string;
|
|
224
223
|
}
|
|
225
224
|
|
|
226
225
|
/**
|
|
227
|
-
*
|
|
226
|
+
* 生成随机邮箱
|
|
228
227
|
* @example generateRandomEmail() => lZtJqMl0dyTO3WDGzFDO@example.com
|
|
229
228
|
*/
|
|
230
229
|
declare function generateRandomEmail(): string;
|
|
231
230
|
|
|
232
231
|
/**
|
|
233
|
-
*
|
|
232
|
+
* 生成范围内的随机浮点数
|
|
234
233
|
* @example generateRandomFloat() => 0.35
|
|
235
234
|
* */
|
|
236
235
|
declare function generateRandomFloat(options?: GenerateRandomFloat): number;
|
|
237
236
|
type GenerateRandomFloat = number | {
|
|
238
237
|
/**
|
|
239
|
-
*
|
|
238
|
+
* 最大值
|
|
240
239
|
* @default 1.00
|
|
241
240
|
*/
|
|
242
241
|
max?: number;
|
|
243
242
|
/**
|
|
244
|
-
*
|
|
243
|
+
* 最小值
|
|
245
244
|
* @default 0.00
|
|
246
245
|
*/
|
|
247
246
|
min?: number;
|
|
248
247
|
/**
|
|
249
|
-
*
|
|
248
|
+
* 小数位数
|
|
250
249
|
* @default 2
|
|
251
250
|
*/
|
|
252
251
|
fractionDigits?: number;
|
|
253
252
|
};
|
|
254
253
|
|
|
255
254
|
/**
|
|
256
|
-
*
|
|
255
|
+
* 生成随机二代身份证号
|
|
257
256
|
* @example generateRandomIdCard() => '410304200210165258'
|
|
258
257
|
*/
|
|
259
258
|
declare function generateRandomIdCard(): string;
|
|
260
259
|
|
|
261
260
|
/**
|
|
262
|
-
*
|
|
261
|
+
* 生成范围内的随机整数
|
|
263
262
|
* @example generateRandomInteger() => 217342
|
|
264
263
|
* */
|
|
265
264
|
declare function generateRandomInteger(options?: GenerateRandomIntegerOptions): number;
|
|
266
265
|
type GenerateRandomIntegerOptions = number | {
|
|
267
266
|
/**
|
|
268
|
-
*
|
|
267
|
+
* 最大值
|
|
269
268
|
* @default Number.MAX_SAFE_INTEGER
|
|
270
269
|
*/
|
|
271
270
|
max?: number;
|
|
272
271
|
/**
|
|
273
|
-
*
|
|
272
|
+
* 最小值
|
|
274
273
|
* @default 0
|
|
275
274
|
*/
|
|
276
275
|
min?: number;
|
|
277
276
|
};
|
|
278
277
|
|
|
279
278
|
/**
|
|
280
|
-
*
|
|
279
|
+
* 生成随机手机号码
|
|
281
280
|
* @example generateRandomMobilePhone() => 13012345678
|
|
282
281
|
*/
|
|
283
282
|
declare function generateRandomMobilePhone(): string;
|
|
284
283
|
|
|
285
284
|
/**
|
|
286
|
-
*
|
|
285
|
+
* 生成随机字符串 大小写字母和数字
|
|
287
286
|
* @param length 返回字符串的长度
|
|
288
287
|
* @example generateRandomString(20) => 'lZtJqMl0dyTO3WDGzFDO'
|
|
289
288
|
* */
|
|
290
289
|
declare function generateRandomString(length: number, options?: GenerateRandomStringOptions): string;
|
|
291
290
|
interface GenerateRandomStringOptions {
|
|
292
291
|
/**
|
|
293
|
-
*
|
|
292
|
+
* 是否包含小写字母
|
|
294
293
|
* @default true
|
|
295
294
|
*/
|
|
296
295
|
lowerCase?: boolean;
|
|
297
296
|
/**
|
|
298
|
-
*
|
|
297
|
+
* 是否包含大写字母
|
|
299
298
|
* @default true
|
|
300
299
|
*/
|
|
301
300
|
upperCase?: boolean;
|
|
302
301
|
/**
|
|
303
|
-
*
|
|
302
|
+
* 是否包含数字
|
|
304
303
|
* @default true
|
|
305
304
|
*/
|
|
306
305
|
number?: boolean;
|
|
307
306
|
}
|
|
308
307
|
|
|
309
308
|
/**
|
|
310
|
-
*
|
|
309
|
+
* 生成随机数据从数据源中
|
|
311
310
|
* @param num 随机获取数据源子项次数
|
|
312
311
|
* @example generateRandomStringFromSource(4, ['1', 'b', 'c', 'd', 'e']) => 'dea1'
|
|
313
312
|
* */
|
|
314
313
|
declare function generateRandomStringFromSource(num: number, source: (number | string)[]): string;
|
|
315
314
|
|
|
316
315
|
/**
|
|
317
|
-
*
|
|
316
|
+
* 获取数组中的随机元素
|
|
318
317
|
* @example getRandomItem([0, 1, 2, 3, 4]) => 2
|
|
319
318
|
*/
|
|
320
319
|
declare function getRandomItem<T>(list: T[]): T;
|
|
321
320
|
|
|
322
321
|
/**
|
|
323
|
-
*
|
|
322
|
+
* 校验是否为数字
|
|
324
323
|
*/
|
|
325
324
|
declare function isNumberOrNumberString(val: string): boolean;
|
|
326
325
|
/**
|
|
327
|
-
*
|
|
326
|
+
* 校验是否为中文
|
|
328
327
|
*/
|
|
329
328
|
declare function isChinese(val: string): boolean;
|
|
330
329
|
/**
|
|
331
|
-
*
|
|
330
|
+
* 校验是否为英文字母
|
|
332
331
|
*/
|
|
333
332
|
declare function isEnglishAphabet(val: string): boolean;
|
|
334
333
|
/**
|
|
335
|
-
*
|
|
334
|
+
* 校验是否为大写字母
|
|
336
335
|
*/
|
|
337
336
|
declare function isUpperCase(val: string): boolean;
|
|
338
337
|
/**
|
|
339
|
-
*
|
|
338
|
+
* 校验是否为大写字母和数字
|
|
340
339
|
*/
|
|
341
340
|
declare function isUpperCaseAndNumber(val: string): boolean;
|
|
342
341
|
/**
|
|
343
|
-
*
|
|
342
|
+
* 校验是否为大写字母数字和中文
|
|
344
343
|
*/
|
|
345
344
|
declare function isUpperCaseAndNumberAndChinese(val: string): boolean;
|
|
346
345
|
/**
|
|
347
|
-
*
|
|
346
|
+
* 校验是否为小写字母
|
|
348
347
|
*/
|
|
349
348
|
declare function isLowerCase(val: string): boolean;
|
|
350
349
|
/**
|
|
351
|
-
*
|
|
350
|
+
* 校验是否为小写字母和数字
|
|
352
351
|
*/
|
|
353
352
|
declare function isLowerCaseAndNumber(val: string): boolean;
|
|
354
353
|
/**
|
|
355
|
-
*
|
|
354
|
+
* 校验是否为小写字母数字和中文
|
|
356
355
|
*/
|
|
357
356
|
declare function isLowerCaseAndNumberAndChinese(val: string): boolean;
|
|
358
357
|
|
|
359
358
|
/**
|
|
360
|
-
*
|
|
359
|
+
* 校验是否为浮点数
|
|
361
360
|
*/
|
|
362
361
|
declare function isFloat(val: string, floatOptions?: FloatOptions): boolean;
|
|
363
362
|
/**
|
|
364
|
-
*
|
|
363
|
+
* 校验是否为大于零的浮点数
|
|
365
364
|
*/
|
|
366
365
|
declare function isPositiveFloat(val: string, floatOptions?: FloatOptions): boolean;
|
|
367
366
|
/**
|
|
368
|
-
*
|
|
367
|
+
* 校验是否为小于零的浮点数
|
|
369
368
|
*/
|
|
370
369
|
declare function isNegativeFloat(val: string, floatOptions?: FloatOptions): boolean;
|
|
371
370
|
/**
|
|
372
|
-
*
|
|
371
|
+
* 校验是否为大于等于零的浮点数
|
|
373
372
|
*/
|
|
374
373
|
declare function isPositiveFloatOrZero(val: string, floatOptions?: FloatOptions): boolean;
|
|
375
374
|
/**
|
|
376
|
-
*
|
|
375
|
+
* 校验是否为小于等于零的浮点数
|
|
377
376
|
*/
|
|
378
377
|
declare function isNegativeFloatOrZero(val: string, floatOptions?: FloatOptions): boolean;
|
|
379
378
|
interface FloatOptions {
|
|
380
379
|
/**
|
|
381
|
-
*
|
|
380
|
+
* 是否包括整数
|
|
382
381
|
* @default true
|
|
383
382
|
*/
|
|
384
383
|
integer?: boolean;
|
|
385
384
|
}
|
|
386
385
|
|
|
387
386
|
/**
|
|
388
|
-
*
|
|
387
|
+
* 校验是否为整数
|
|
389
388
|
*/
|
|
390
389
|
declare function isInteger(val: string): boolean;
|
|
391
390
|
/**
|
|
392
|
-
*
|
|
391
|
+
* 校验否为正整数
|
|
393
392
|
*/
|
|
394
393
|
declare function isPositiveInteger(val: string): boolean;
|
|
395
394
|
/**
|
|
396
|
-
*
|
|
395
|
+
* 校验是否为大于等于零的整数
|
|
397
396
|
*/
|
|
398
397
|
declare function isPositiveIntegerOrZero(val: string): boolean;
|
|
399
398
|
/**
|
|
400
|
-
*
|
|
399
|
+
* 校验是否为负整数
|
|
401
400
|
*/
|
|
402
401
|
declare function isNegativeInteger(val: string): boolean;
|
|
403
402
|
/**
|
|
404
|
-
*
|
|
403
|
+
* 校验是否为小于等于零的整数
|
|
405
404
|
*/
|
|
406
405
|
declare function isNegativeIntegerOrZero(val: string): boolean;
|
|
407
406
|
|
|
408
407
|
/**
|
|
409
|
-
*
|
|
408
|
+
* 校验是否为手机号
|
|
410
409
|
*/
|
|
411
410
|
declare function isMobilePhone(val: string): boolean;
|
|
412
411
|
/**
|
|
413
|
-
*
|
|
412
|
+
* 校验是否为邮箱
|
|
414
413
|
*/
|
|
415
414
|
declare function isEmail(val: string): boolean;
|
|
416
415
|
/**
|
|
417
|
-
*
|
|
416
|
+
* 校验是否为空字符串
|
|
418
417
|
*/
|
|
419
418
|
declare function isEmptyString(val: unknown): boolean;
|
|
420
419
|
/**
|
|
421
|
-
*
|
|
422
|
-
* @param format 时间格式
|
|
423
|
-
* @
|
|
420
|
+
* 校验是否为合法时间格式
|
|
421
|
+
* @param format 时间格式
|
|
422
|
+
* @default 'YYYY-MM-DD HH:mm:ss'
|
|
423
|
+
* @see https://day.js.org/docs/zh-CN/parse/string-format
|
|
424
424
|
*/
|
|
425
425
|
declare function isDateString(val: string, format?: string): boolean;
|
|
426
426
|
/**
|
|
427
|
-
*
|
|
427
|
+
* 校验是否为二代身份证号
|
|
428
428
|
*/
|
|
429
429
|
declare function isIdCard(val: string): boolean;
|
|
430
|
+
/**
|
|
431
|
+
* 是否是链接
|
|
432
|
+
*/
|
|
433
|
+
declare function isUrl(val: string): boolean;
|
|
430
434
|
|
|
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 };
|
|
435
|
+
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, isUrl, log, objectToString, qs, throttle, throwError, toTypeString, validatorChineseOrEnglish, validatorChineseOrEnglishOrNumber, validatorEmail, validatorLatitudeOrLongitude, validatorUppercaseOrNumbersOrSpecial, validatorUppercaseOrNumbersOrUnderline, warn };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @param target 目标
|
|
2
|
+
* 将非数组转换为数组 如果是目标本就是数组则直接返回
|
|
4
3
|
* @example castArray(1) => [1]
|
|
5
4
|
*/
|
|
6
5
|
declare function castArray<T>(target: T | T[]): T[];
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
|
-
*
|
|
8
|
+
* compose
|
|
10
9
|
* @param fns 任意函数
|
|
11
10
|
*/
|
|
12
11
|
declare function compose(...fns: ((...args: any[]) => any)[]): (...args: any[]) => any;
|
|
13
12
|
/**
|
|
14
|
-
*
|
|
13
|
+
* compose 从右到左
|
|
15
14
|
* @param fns 任意函数
|
|
16
15
|
*/
|
|
17
16
|
declare function composeRight(...fns: ((...args: any[]) => any)[]): (...args: any[]) => any;
|
|
18
17
|
|
|
19
18
|
/**
|
|
20
|
-
*
|
|
19
|
+
* 防抖函数
|
|
21
20
|
* @param target 目标函数
|
|
22
21
|
* @param wait 等待时间 默认 500ms
|
|
23
22
|
* @example debounce(() => console.log('debounce'), 500)
|
|
@@ -25,7 +24,7 @@ declare function composeRight(...fns: ((...args: any[]) => any)[]): (...args: an
|
|
|
25
24
|
declare function debounce(target: Function, wait?: number): (...args: any[]) => void;
|
|
26
25
|
|
|
27
26
|
/**
|
|
28
|
-
*
|
|
27
|
+
* 深拷贝
|
|
29
28
|
* @param target 拷贝对象
|
|
30
29
|
* @example deepClone({ name: 1, obj: { name: 1 }, arr: [1, 2, 3] }) => { name: 1, obj: { name: 1 }, arr: [1, 2, 3] }
|
|
31
30
|
*/
|
|
@@ -61,13 +60,13 @@ type Arrayable<T> = T | T[];
|
|
|
61
60
|
|
|
62
61
|
interface DeepMergeOptions {
|
|
63
62
|
/**
|
|
64
|
-
*
|
|
63
|
+
* 是否开启深拷贝 默认开启
|
|
65
64
|
* @default true
|
|
66
65
|
*/
|
|
67
66
|
deepClone: boolean;
|
|
68
67
|
}
|
|
69
68
|
/**
|
|
70
|
-
*
|
|
69
|
+
* 深度合并两对象
|
|
71
70
|
* @param template 模板对象 就是默认值
|
|
72
71
|
* @param source 源对象 就是用户传入的值
|
|
73
72
|
* @param options 配置对象
|
|
@@ -86,7 +85,7 @@ declare const deprecated: ({ from, replacement, version, type, }: {
|
|
|
86
85
|
}) => void;
|
|
87
86
|
|
|
88
87
|
/**
|
|
89
|
-
*
|
|
88
|
+
* 解析查询字符串
|
|
90
89
|
* @param str 转换的字符串
|
|
91
90
|
* @return 转换后的对象
|
|
92
91
|
* @example
|
|
@@ -98,7 +97,7 @@ declare const deprecated: ({ from, replacement, version, type, }: {
|
|
|
98
97
|
*/
|
|
99
98
|
declare function parse(str: string, options?: ParseOptions): Record<string, string>;
|
|
100
99
|
/**
|
|
101
|
-
|
|
100
|
+
* 转换对象为查询字符串
|
|
102
101
|
* @param obj 转换的对象
|
|
103
102
|
* @return 转换后的字符串
|
|
104
103
|
* @example
|
|
@@ -108,7 +107,7 @@ declare function parse(str: string, options?: ParseOptions): Record<string, stri
|
|
|
108
107
|
*/
|
|
109
108
|
declare function stringify(obj: Record<string, any>, options?: StringifyOptions): string;
|
|
110
109
|
/**
|
|
111
|
-
*
|
|
110
|
+
* url追加查询字符串
|
|
112
111
|
* @param url url
|
|
113
112
|
* @param obj 查询字符串对象
|
|
114
113
|
* @return 追加后的url
|
|
@@ -124,21 +123,21 @@ declare const qs: {
|
|
|
124
123
|
};
|
|
125
124
|
interface ParseOptions {
|
|
126
125
|
/**
|
|
127
|
-
*
|
|
126
|
+
* 是否解码
|
|
128
127
|
* @default true
|
|
129
128
|
*/
|
|
130
129
|
decode?: boolean;
|
|
131
130
|
}
|
|
132
131
|
interface StringifyOptions {
|
|
133
132
|
/**
|
|
134
|
-
*
|
|
133
|
+
* 是否编码
|
|
135
134
|
* @default true
|
|
136
135
|
*/
|
|
137
136
|
encode?: boolean;
|
|
138
137
|
}
|
|
139
138
|
|
|
140
139
|
/**
|
|
141
|
-
*
|
|
140
|
+
* 节流函数
|
|
142
141
|
* @param target 目标函数
|
|
143
142
|
* @param wait 等待时间 默认 500ms
|
|
144
143
|
* @example throttle(() => console.log('hello world'), 500)
|
|
@@ -146,27 +145,27 @@ interface StringifyOptions {
|
|
|
146
145
|
declare function throttle(target: Function, wait?: number): (...args: any[]) => any;
|
|
147
146
|
|
|
148
147
|
/**
|
|
149
|
-
*
|
|
148
|
+
* 校验经纬度
|
|
150
149
|
*/
|
|
151
150
|
declare function validatorLatitudeOrLongitude(value: string): boolean;
|
|
152
151
|
/**
|
|
153
|
-
*
|
|
152
|
+
* 校验中文、字母、数字
|
|
154
153
|
*/
|
|
155
154
|
declare function validatorChineseOrEnglishOrNumber(value: string): boolean;
|
|
156
155
|
/**
|
|
157
|
-
*
|
|
156
|
+
* 校验中英文
|
|
158
157
|
*/
|
|
159
158
|
declare function validatorChineseOrEnglish(value: string): boolean;
|
|
160
159
|
/**
|
|
161
|
-
*
|
|
160
|
+
* 校验大写字母、数字、特殊字符 特殊字符包括 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
|
|
162
161
|
*/
|
|
163
162
|
declare function validatorUppercaseOrNumbersOrSpecial(value: string): boolean;
|
|
164
163
|
/**
|
|
165
|
-
*
|
|
164
|
+
* 校验大写字母、数字、_
|
|
166
165
|
*/
|
|
167
166
|
declare function validatorUppercaseOrNumbersOrUnderline(value: string): boolean;
|
|
168
167
|
/**
|
|
169
|
-
*
|
|
168
|
+
* 校验是否为邮箱
|
|
170
169
|
* @deprecated 使用 isEmail 代替
|
|
171
170
|
*/
|
|
172
171
|
declare function validatorEmail(value: string): boolean;
|
|
@@ -174,14 +173,14 @@ declare function validatorEmail(value: string): boolean;
|
|
|
174
173
|
declare function compareProperties(target: AnyObject, source: AnyObject): void | AnyObject;
|
|
175
174
|
|
|
176
175
|
/**
|
|
177
|
-
*
|
|
176
|
+
* 排除对象中的某些属性
|
|
178
177
|
* @param target 目标对象
|
|
179
178
|
* @param properties 要排除的属性
|
|
180
179
|
* @example excludeProperties({ a: 1, b: 2, c: 3 }, ['a', 'b']) => { c: 3 }
|
|
181
180
|
*/
|
|
182
181
|
declare function excludeProperties<T extends AnyObject, K extends keyof T>(target: T, properties: Arrayable<K>): Omit<T, K>;
|
|
183
182
|
/**
|
|
184
|
-
*
|
|
183
|
+
* 提取对象中的某些属性
|
|
185
184
|
* @param target 目标对象
|
|
186
185
|
* @param properties 要提取的属性
|
|
187
186
|
* @example extractProperties({ a: 1, b: 2, c: 3 }, ['a', 'b']) => { a: 1, b: 2 }
|
|
@@ -189,243 +188,248 @@ declare function excludeProperties<T extends AnyObject, K extends keyof T>(targe
|
|
|
189
188
|
declare function extractProperties<T extends AnyObject, K extends keyof T>(target: T, properties: Arrayable<K>): Pick<T, K>;
|
|
190
189
|
|
|
191
190
|
/**
|
|
192
|
-
*
|
|
191
|
+
* 生成随机数组
|
|
193
192
|
* @example generateRandomArray(4, () => 1) => [1, 1, 1, 1]
|
|
194
193
|
* */
|
|
195
194
|
declare function generateRandomArray<T>(num: number, cb: (item?: unknown, index?: number) => T): T[];
|
|
196
195
|
|
|
197
196
|
/**
|
|
198
|
-
*
|
|
197
|
+
* 生成随机颜色
|
|
199
198
|
* @example generateRandomColor() => '#f36a38'
|
|
200
199
|
* */
|
|
201
200
|
declare function generateRandomColor(): string;
|
|
202
201
|
|
|
203
202
|
/**
|
|
204
|
-
*
|
|
203
|
+
* 生成随机时间
|
|
205
204
|
* @example generateRandomDate() => '2021-07-01 08:51:34'
|
|
206
205
|
* */
|
|
207
206
|
declare function generateRandomDate(options?: GenerateRandomDate): string;
|
|
208
207
|
interface GenerateRandomDate {
|
|
209
208
|
/**
|
|
210
|
-
*
|
|
209
|
+
* 开始时间
|
|
211
210
|
* @default 1800-01-01 00:00:00
|
|
212
211
|
*/
|
|
213
212
|
start?: string | Date;
|
|
214
213
|
/**
|
|
215
|
-
*
|
|
214
|
+
* 结束时间
|
|
216
215
|
* @default 当前时间
|
|
217
216
|
*/
|
|
218
217
|
end?: string | Date;
|
|
219
218
|
/**
|
|
220
|
-
*
|
|
219
|
+
* 时间格式
|
|
221
220
|
* @default YYYY-MM-DD HH:mm:ss
|
|
222
221
|
*/
|
|
223
222
|
format?: string;
|
|
224
223
|
}
|
|
225
224
|
|
|
226
225
|
/**
|
|
227
|
-
*
|
|
226
|
+
* 生成随机邮箱
|
|
228
227
|
* @example generateRandomEmail() => lZtJqMl0dyTO3WDGzFDO@example.com
|
|
229
228
|
*/
|
|
230
229
|
declare function generateRandomEmail(): string;
|
|
231
230
|
|
|
232
231
|
/**
|
|
233
|
-
*
|
|
232
|
+
* 生成范围内的随机浮点数
|
|
234
233
|
* @example generateRandomFloat() => 0.35
|
|
235
234
|
* */
|
|
236
235
|
declare function generateRandomFloat(options?: GenerateRandomFloat): number;
|
|
237
236
|
type GenerateRandomFloat = number | {
|
|
238
237
|
/**
|
|
239
|
-
*
|
|
238
|
+
* 最大值
|
|
240
239
|
* @default 1.00
|
|
241
240
|
*/
|
|
242
241
|
max?: number;
|
|
243
242
|
/**
|
|
244
|
-
*
|
|
243
|
+
* 最小值
|
|
245
244
|
* @default 0.00
|
|
246
245
|
*/
|
|
247
246
|
min?: number;
|
|
248
247
|
/**
|
|
249
|
-
*
|
|
248
|
+
* 小数位数
|
|
250
249
|
* @default 2
|
|
251
250
|
*/
|
|
252
251
|
fractionDigits?: number;
|
|
253
252
|
};
|
|
254
253
|
|
|
255
254
|
/**
|
|
256
|
-
*
|
|
255
|
+
* 生成随机二代身份证号
|
|
257
256
|
* @example generateRandomIdCard() => '410304200210165258'
|
|
258
257
|
*/
|
|
259
258
|
declare function generateRandomIdCard(): string;
|
|
260
259
|
|
|
261
260
|
/**
|
|
262
|
-
*
|
|
261
|
+
* 生成范围内的随机整数
|
|
263
262
|
* @example generateRandomInteger() => 217342
|
|
264
263
|
* */
|
|
265
264
|
declare function generateRandomInteger(options?: GenerateRandomIntegerOptions): number;
|
|
266
265
|
type GenerateRandomIntegerOptions = number | {
|
|
267
266
|
/**
|
|
268
|
-
*
|
|
267
|
+
* 最大值
|
|
269
268
|
* @default Number.MAX_SAFE_INTEGER
|
|
270
269
|
*/
|
|
271
270
|
max?: number;
|
|
272
271
|
/**
|
|
273
|
-
*
|
|
272
|
+
* 最小值
|
|
274
273
|
* @default 0
|
|
275
274
|
*/
|
|
276
275
|
min?: number;
|
|
277
276
|
};
|
|
278
277
|
|
|
279
278
|
/**
|
|
280
|
-
*
|
|
279
|
+
* 生成随机手机号码
|
|
281
280
|
* @example generateRandomMobilePhone() => 13012345678
|
|
282
281
|
*/
|
|
283
282
|
declare function generateRandomMobilePhone(): string;
|
|
284
283
|
|
|
285
284
|
/**
|
|
286
|
-
*
|
|
285
|
+
* 生成随机字符串 大小写字母和数字
|
|
287
286
|
* @param length 返回字符串的长度
|
|
288
287
|
* @example generateRandomString(20) => 'lZtJqMl0dyTO3WDGzFDO'
|
|
289
288
|
* */
|
|
290
289
|
declare function generateRandomString(length: number, options?: GenerateRandomStringOptions): string;
|
|
291
290
|
interface GenerateRandomStringOptions {
|
|
292
291
|
/**
|
|
293
|
-
*
|
|
292
|
+
* 是否包含小写字母
|
|
294
293
|
* @default true
|
|
295
294
|
*/
|
|
296
295
|
lowerCase?: boolean;
|
|
297
296
|
/**
|
|
298
|
-
*
|
|
297
|
+
* 是否包含大写字母
|
|
299
298
|
* @default true
|
|
300
299
|
*/
|
|
301
300
|
upperCase?: boolean;
|
|
302
301
|
/**
|
|
303
|
-
*
|
|
302
|
+
* 是否包含数字
|
|
304
303
|
* @default true
|
|
305
304
|
*/
|
|
306
305
|
number?: boolean;
|
|
307
306
|
}
|
|
308
307
|
|
|
309
308
|
/**
|
|
310
|
-
*
|
|
309
|
+
* 生成随机数据从数据源中
|
|
311
310
|
* @param num 随机获取数据源子项次数
|
|
312
311
|
* @example generateRandomStringFromSource(4, ['1', 'b', 'c', 'd', 'e']) => 'dea1'
|
|
313
312
|
* */
|
|
314
313
|
declare function generateRandomStringFromSource(num: number, source: (number | string)[]): string;
|
|
315
314
|
|
|
316
315
|
/**
|
|
317
|
-
*
|
|
316
|
+
* 获取数组中的随机元素
|
|
318
317
|
* @example getRandomItem([0, 1, 2, 3, 4]) => 2
|
|
319
318
|
*/
|
|
320
319
|
declare function getRandomItem<T>(list: T[]): T;
|
|
321
320
|
|
|
322
321
|
/**
|
|
323
|
-
*
|
|
322
|
+
* 校验是否为数字
|
|
324
323
|
*/
|
|
325
324
|
declare function isNumberOrNumberString(val: string): boolean;
|
|
326
325
|
/**
|
|
327
|
-
*
|
|
326
|
+
* 校验是否为中文
|
|
328
327
|
*/
|
|
329
328
|
declare function isChinese(val: string): boolean;
|
|
330
329
|
/**
|
|
331
|
-
*
|
|
330
|
+
* 校验是否为英文字母
|
|
332
331
|
*/
|
|
333
332
|
declare function isEnglishAphabet(val: string): boolean;
|
|
334
333
|
/**
|
|
335
|
-
*
|
|
334
|
+
* 校验是否为大写字母
|
|
336
335
|
*/
|
|
337
336
|
declare function isUpperCase(val: string): boolean;
|
|
338
337
|
/**
|
|
339
|
-
*
|
|
338
|
+
* 校验是否为大写字母和数字
|
|
340
339
|
*/
|
|
341
340
|
declare function isUpperCaseAndNumber(val: string): boolean;
|
|
342
341
|
/**
|
|
343
|
-
*
|
|
342
|
+
* 校验是否为大写字母数字和中文
|
|
344
343
|
*/
|
|
345
344
|
declare function isUpperCaseAndNumberAndChinese(val: string): boolean;
|
|
346
345
|
/**
|
|
347
|
-
*
|
|
346
|
+
* 校验是否为小写字母
|
|
348
347
|
*/
|
|
349
348
|
declare function isLowerCase(val: string): boolean;
|
|
350
349
|
/**
|
|
351
|
-
*
|
|
350
|
+
* 校验是否为小写字母和数字
|
|
352
351
|
*/
|
|
353
352
|
declare function isLowerCaseAndNumber(val: string): boolean;
|
|
354
353
|
/**
|
|
355
|
-
*
|
|
354
|
+
* 校验是否为小写字母数字和中文
|
|
356
355
|
*/
|
|
357
356
|
declare function isLowerCaseAndNumberAndChinese(val: string): boolean;
|
|
358
357
|
|
|
359
358
|
/**
|
|
360
|
-
*
|
|
359
|
+
* 校验是否为浮点数
|
|
361
360
|
*/
|
|
362
361
|
declare function isFloat(val: string, floatOptions?: FloatOptions): boolean;
|
|
363
362
|
/**
|
|
364
|
-
*
|
|
363
|
+
* 校验是否为大于零的浮点数
|
|
365
364
|
*/
|
|
366
365
|
declare function isPositiveFloat(val: string, floatOptions?: FloatOptions): boolean;
|
|
367
366
|
/**
|
|
368
|
-
*
|
|
367
|
+
* 校验是否为小于零的浮点数
|
|
369
368
|
*/
|
|
370
369
|
declare function isNegativeFloat(val: string, floatOptions?: FloatOptions): boolean;
|
|
371
370
|
/**
|
|
372
|
-
*
|
|
371
|
+
* 校验是否为大于等于零的浮点数
|
|
373
372
|
*/
|
|
374
373
|
declare function isPositiveFloatOrZero(val: string, floatOptions?: FloatOptions): boolean;
|
|
375
374
|
/**
|
|
376
|
-
*
|
|
375
|
+
* 校验是否为小于等于零的浮点数
|
|
377
376
|
*/
|
|
378
377
|
declare function isNegativeFloatOrZero(val: string, floatOptions?: FloatOptions): boolean;
|
|
379
378
|
interface FloatOptions {
|
|
380
379
|
/**
|
|
381
|
-
*
|
|
380
|
+
* 是否包括整数
|
|
382
381
|
* @default true
|
|
383
382
|
*/
|
|
384
383
|
integer?: boolean;
|
|
385
384
|
}
|
|
386
385
|
|
|
387
386
|
/**
|
|
388
|
-
*
|
|
387
|
+
* 校验是否为整数
|
|
389
388
|
*/
|
|
390
389
|
declare function isInteger(val: string): boolean;
|
|
391
390
|
/**
|
|
392
|
-
*
|
|
391
|
+
* 校验否为正整数
|
|
393
392
|
*/
|
|
394
393
|
declare function isPositiveInteger(val: string): boolean;
|
|
395
394
|
/**
|
|
396
|
-
*
|
|
395
|
+
* 校验是否为大于等于零的整数
|
|
397
396
|
*/
|
|
398
397
|
declare function isPositiveIntegerOrZero(val: string): boolean;
|
|
399
398
|
/**
|
|
400
|
-
*
|
|
399
|
+
* 校验是否为负整数
|
|
401
400
|
*/
|
|
402
401
|
declare function isNegativeInteger(val: string): boolean;
|
|
403
402
|
/**
|
|
404
|
-
*
|
|
403
|
+
* 校验是否为小于等于零的整数
|
|
405
404
|
*/
|
|
406
405
|
declare function isNegativeIntegerOrZero(val: string): boolean;
|
|
407
406
|
|
|
408
407
|
/**
|
|
409
|
-
*
|
|
408
|
+
* 校验是否为手机号
|
|
410
409
|
*/
|
|
411
410
|
declare function isMobilePhone(val: string): boolean;
|
|
412
411
|
/**
|
|
413
|
-
*
|
|
412
|
+
* 校验是否为邮箱
|
|
414
413
|
*/
|
|
415
414
|
declare function isEmail(val: string): boolean;
|
|
416
415
|
/**
|
|
417
|
-
*
|
|
416
|
+
* 校验是否为空字符串
|
|
418
417
|
*/
|
|
419
418
|
declare function isEmptyString(val: unknown): boolean;
|
|
420
419
|
/**
|
|
421
|
-
*
|
|
422
|
-
* @param format 时间格式
|
|
423
|
-
* @
|
|
420
|
+
* 校验是否为合法时间格式
|
|
421
|
+
* @param format 时间格式
|
|
422
|
+
* @default 'YYYY-MM-DD HH:mm:ss'
|
|
423
|
+
* @see https://day.js.org/docs/zh-CN/parse/string-format
|
|
424
424
|
*/
|
|
425
425
|
declare function isDateString(val: string, format?: string): boolean;
|
|
426
426
|
/**
|
|
427
|
-
*
|
|
427
|
+
* 校验是否为二代身份证号
|
|
428
428
|
*/
|
|
429
429
|
declare function isIdCard(val: string): boolean;
|
|
430
|
+
/**
|
|
431
|
+
* 是否是链接
|
|
432
|
+
*/
|
|
433
|
+
declare function isUrl(val: string): boolean;
|
|
430
434
|
|
|
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 };
|
|
435
|
+
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, isUrl, log, objectToString, qs, throttle, throwError, toTypeString, validatorChineseOrEnglish, validatorChineseOrEnglishOrNumber, validatorEmail, validatorLatitudeOrLongitude, validatorUppercaseOrNumbersOrSpecial, validatorUppercaseOrNumbersOrUnderline, warn };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function J(...e){return e.reduce((t,r)=>function(...n){return r(t(...n))})}function ee(...e){return e.reduce((t,r)=>function(...n){return t(r(...n))})}function ne(e,t=500){let r=null;return function(...n){r&&clearTimeout(r),r=setTimeout(()=>{e.apply(this,n)},t)}}var _=Object.prototype.toString
|
|
1
|
+
function J(...e){return e.reduce((t,r)=>function(...n){return r(t(...n))})}function ee(...e){return e.reduce((t,r)=>function(...n){return t(r(...n))})}function ne(e,t=500){let r=null;return function(...n){r&&clearTimeout(r),r=setTimeout(()=>{e.apply(this,n)},t)}}var _=Object.prototype.toString,A=e=>_.call(e),M=null;function se(e){h(e)&&(M=e)}var ae=(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),M&&M(e,r)},ue=(...e)=>console.warn(...e),ce=(...e)=>console.error(...e),pe=e=>A(e)==="[object Map]",me=e=>A(e)==="[object Set]",C=e=>A(e)==="[object Date]",F=e=>A(e)==="[object RegExp]",h=e=>typeof e=="function",f=e=>typeof e=="number",I=e=>typeof e=="string",fe=e=>typeof e=="symbol",c=e=>e!==null&&typeof e=="object",de=e=>c(e)&&h(e.then)&&h(e.catch),d=e=>e==null,ge=e=>e===void 0,xe=e=>e===null,le=e=>e!=null,be=e=>typeof e=="boolean",p=Array.isArray,w=(e,t)=>Object.hasOwn(e,t),ye=(e,t)=>e!==t;function $(e){let t=new WeakMap;function r(n){if(C(n))return new Date(n);if(F(n))return new RegExp(n);if(c(n)){if(t.has(n))return t.get(n);let o={};if(p(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)w(n,i)&&(o[i]=r(n[i]));return o}else return n}return r(e)}var R=class extends Error{constructor(t){super(t),this.name="LntvowError"}};function u(e,t){throw new R(`[${e}] ${t}`)}function G(e,t){if(process.env.NODE_ENV!=="production"){let r=I(e)?new R(`[${e}] ${t}`):e;console.warn(r)}}var N=({from:e,replacement:t,version:r,type:n="API"})=>{G(`${n}`,`${e} is about to be deprecated in version ${r}, please use ${t} instead.`)};function l(e,t,r){return(!c(e)||!c(t))&&u("deepMerge","template \u548C source \u5FC5\u987B\u662F\u5BF9\u8C61"),p(e)?z(e,t,r):K(e,t,r)}function K(e,t,r){let n=y(t,r);return Object.keys(e).forEach(i=>{d(t[i])?n[i]=y(e[i],r):n[i]=c(e[i])&&c(t[i])?l(e[i],t[i],r):y(t[i],r)}),n}function z(e,t,r){if(p(t)){let n=y(t,r);return n.push(...y(e,r)),n}else return y(e,r)}function y(e,t){let{deepClone:r=!0}=t||{};return r?$(e):e}function H(e,t){let{decode:r}=l({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 k(e,t){let{encode:r}=l({encode:!0},t||{}),n=[];for(let o in e){let i=e[o];n.push(`${o}=${r?encodeURIComponent(i):i}`)}return n.join("&")}function W(e,t,r){let n=l({encode:!0},r||{}),o=k(t,n);return e.includes("?")?e.endsWith("?")||e.endsWith("&")?`${e}${o}`:`${e}&${o}`:`${e}?${o}`}var Ie={parse:H,stringify:k,appendQueryString:W};function Pe(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 Ge(e){return/^-?\d{1,3}\.\d{6}$/.test(e)}function Ke(e){return!d(e)&&/^[\dA-Za-z\u4E00-\u9FA5]+$/.test(e)}function ze(e){return!d(e)&&/^[A-Za-z\u4E00-\u9FA5]+$/.test(e)}function He(e){return!d(e)&&/^[\d!"#$%&'()*+,./:;<=>?@A-Z[\\\]^_`{|}~]+$/.test(e)}function We(e){return/^[\dA-Z_]+$/.test(e)}function Le(e){return N({from:"validatorEmail",replacement:"isEmail",version:"2.4.0"}),/^([\w-])+@([\w-])+(\.[\w-])+/.test(e)}function j(e){return p(e)?e:[e]}function gt(e,t){return(!c(e)||!c(t))&&u("deepMerge","template \u548C source \u5FC5\u987B\u662F\u5BF9\u8C61"),p(e)?void 0:Y(e,t)}function Y(e,t){let r={};return Object.keys(e).forEach(n=>{let o=e[n],i=t[n];c(o)&&c(i)?r[n]=Y(o,i):Object.is(o,i)||(r[n]=i)}),r}function Ot(e,t){let r=$(e);return j(t).forEach(o=>{w(r,o)&&delete r[o]}),r}function ht(e,t){let r={};return j(t).forEach(o=>{w(e,o)&&(r[o]=e[o])}),r}function jt(e,t){return(!f(e)||e<=0)&&u("generateRandomArray","num \u5FC5\u987B\u5927\u4E8E0"),h(t)||u("generateRandomArray","cb \u5FC5\u987B\u662F\u51FD\u6570"),Array.from({length:e}).fill(0).map((r,n)=>t(r,n))}function Ct(){return`#${Math.random().toString(16).slice(2,8).padEnd(6,"0")}`}import g,{extend as L}from"dayjs";import q from"dayjs/plugin/customParseFormat";function m(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&&u("generateRandomInteger",`\u672A\u627E\u5230 ${t} \u548C ${r} \u4E4B\u95F4\u7684\u6574\u6570\u503C`),u("generateRandomInteger",`\u6700\u5927\u503C ${r} \u5E94\u5927\u4E8E\u6700\u5C0F\u503C ${t}`)),Math.floor(Math.random()*(o-n+1)+n))}L(q);function S(e={}){let{start:t="1800-01-01 00:00:00",end:r=g().format("YYYY-MM-DD HH:mm:ss"),format:n="YYYY-MM-DD HH:mm:ss"}=e;(!g(t).isValid()||!g(r).isValid())&&u("generateRandomDate","start end \u53C2\u6570\u5FC5\u987B\u662F\u5408\u6CD5\u7684\u65F6\u95F4\u683C\u5F0F");let o=g(t).year(),i=g(r).year(),b=m({min:o,max:i}),x=m({min:1,max:12}),T=m({min:1,max:31}),U=m(23),v=m(59),Z=m(59),E=g(`${b}-${x}-${T} ${U}:${v}:${Z}`);return E.isBefore(g(t))||E.isAfter(g(r))?S(e):E.format(n)}function P(e,t={}){let{lowerCase:r,upperCase:n,number:o}=l({lowerCase:!0,upperCase:!0,number:!0},t);r||n||o||u("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 T=Math.floor(Math.random()*i.length);b+=i.charAt(T)}return b}function O(e){return e[Math.floor(Math.random()*e.length)]}function Bt(){let e=["gmail.com","yahoo.com","outlook.com","example.com","qq.com","163.com"];return`${P(10)}@${O(e)}`}function er(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)&&u("generateRandomStringFromSource","num \u5FC5\u987B\u5927\u4E8E0"),(!p(t)||t.length===0)&&u("generateRandomStringFromSource","source \u4E0D\u80FD\u4E3A\u7A7A\u6570\u7EC4");let r="";for(let n=0;n<e;n++)r+=O(t);return r}function pr(){let e=m({min:1e5,max:999999}),t=[0,1,2,3,4,5,6,7,8,9];return[e,S({format:"YYYYMMDD"}),D(3,t),D(1,[...t,"X","x"])].join("")}function xr(){return O(["13","14","15","16","17","18","19"])+m(999999999).toString().padEnd(9,"0")}function Cr(e){return/^\d+$/.test(e)}function Fr(e){return/^[\u4E00-\u9FA5]+$/.test(e)}function Ir(e){return/^[A-Za-z]+$/.test(e)}function Nr(e){return/^[A-Z]+$/.test(e)}function kr(e){return/^[\dA-Z]+$/.test(e)}function Yr(e){return/^[\dA-Z\u4E00-\u9FA5]+$/.test(e)}function Pr(e){return/^[a-z]+$/.test(e)}function Ur(e){return/^[\da-z]+$/.test(e)}function vr(e){return/^[\da-z\u4E00-\u9FA5]+$/.test(e)}function Gr(e,t={}){let{integer:r=!0}=t;return r?/^-?(0|[1-9]\d*)(\.\d+)?$/.test(e):/^-?(0|[1-9]\d*)\.\d+$/.test(e)}function Kr(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 zr(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 Hr(e,t={}){let{integer:r=!0}=t;return r?/^(0|[1-9]\d*)(\.\d+)?$/.test(e):/^(0|[1-9]\d*)\.\d+$/.test(e)}function Wr(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 Vr(e){return/^-?(0|[1-9]\d*)$/.test(e)}function Br(e){return/^[1-9]\d*$/.test(e)}function Xr(e){return/^(0|[1-9]\d*)$/.test(e)}function Qr(e){return/^-([1-9]\d*)$/.test(e)}function Jr(e){return/^(0|-(0|[1-9]\d*))$/.test(e)}import V,{extend as B}from"dayjs";import X from"dayjs/plugin/customParseFormat";function cn(e){return/^1[3-9]\d{9}$/.test(e)}function pn(e){return/^([\w-])+@([\w-])+(\.[\w-])+/.test(e)}function mn(e){return e===""}function Q(e,t="YYYY-MM-DD HH:mm:ss"){return B(X),V(e,t,!0).isValid()}function fn(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}[\dX]$/i.test(e);return!t||(t=Q(e.slice(6,14),"YYYYMMDD"),!t),t}function dn(e){return/^(?:http|https):\/\/[\w.]+/.test(e)}export{j as castArray,gt as compareProperties,J as compose,ee as composeRight,ne as debounce,G as debugWarn,$ as deepClone,l as deepMerge,N as deprecated,ce as error,Ot as excludeProperties,ht as extractProperties,jt as generateRandomArray,Ct as generateRandomColor,S as generateRandomDate,Bt as generateRandomEmail,er as generateRandomFloat,pr as generateRandomIdCard,m as generateRandomInteger,xr as generateRandomMobilePhone,P as generateRandomString,D as generateRandomStringFromSource,O as getRandomItem,ye as hasChanged,w as hasOwn,se as initLog,p as isArray,be as isBoolean,Fr as isChinese,C as isDate,Q as isDateString,le as isDef,pn as isEmail,mn as isEmptyString,Ir as isEnglishAphabet,Gr as isFloat,h as isFunction,fn as isIdCard,Vr as isInteger,Pr as isLowerCase,Ur as isLowerCaseAndNumber,vr as isLowerCaseAndNumberAndChinese,pe as isMap,cn as isMobilePhone,zr as isNegativeFloat,Wr as isNegativeFloatOrZero,Qr as isNegativeInteger,Jr as isNegativeIntegerOrZero,xe as isNull,f as isNumber,Cr as isNumberOrNumberString,c as isObject,Kr as isPositiveFloat,Hr as isPositiveFloatOrZero,Br as isPositiveInteger,Xr as isPositiveIntegerOrZero,de as isPromise,F as isRegExp,me as isSet,I as isString,fe as isSymbol,d as isUndef,ge as isUndefined,Nr as isUpperCase,kr as isUpperCaseAndNumber,Yr as isUpperCaseAndNumberAndChinese,dn as isUrl,ae as log,_ as objectToString,Ie as qs,Pe as throttle,u as throwError,A as toTypeString,ze as validatorChineseOrEnglish,Ke as validatorChineseOrEnglishOrNumber,Le as validatorEmail,Ge as validatorLatitudeOrLongitude,He as validatorUppercaseOrNumbersOrSpecial,We as validatorUppercaseOrNumbersOrUnderline,ue as warn};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lntvow/utils",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.7",
|
|
4
4
|
"description": "工具库",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@lntvow/dev": "^1.1.2",
|
|
23
|
+
"@lntvow/eslint-config": "^9.3.7",
|
|
23
24
|
"@vitest/coverage-istanbul": "^1.6.0",
|
|
24
25
|
"@vitest/ui": "^1.6.0",
|
|
25
26
|
"deepmerge": "^4.3.1",
|