@lntvow/utils 5.1.1 → 5.1.2

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 CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var we=Object.create;var Y=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var Ae=Object.getOwnPropertyNames;var Se=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var je=(e,t)=>{for(var r in t)Y(e,r,{get:t[r],enumerable:!0})},ae=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ae(t))!Re.call(e,i)&&i!==r&&Y(e,i,{get:()=>t[i],enumerable:!(n=Oe(t,i))||n.enumerable});return e};var B=(e,t,r)=>(r=e!=null?we(Se(e)):{},ae(t||!e||!e.__esModule?Y(r,"default",{value:e,enumerable:!0}):r,e)),Te=e=>ae(Y({},"__esModule",{value:!0}),e);var Tt={};je(Tt,{UtilsError:()=>W,base64Decode:()=>$e,base64Encode:()=>Ie,castArray:()=>A,compose:()=>Ce,composeRight:()=>Fe,debounce:()=>We,debugWarn:()=>ve,decimalToBinary:()=>Pe,deepClone:()=>T,deepMerge:()=>Le,generateRandomArray:()=>ut,generateRandomColor:()=>lt,generateRandomDate:()=>oe,generateRandomEmail:()=>Ot,generateRandomFloat:()=>At,generateRandomIdCard:()=>St,generateRandomMobilePhone:()=>Rt,generateRandomStringFromSource:()=>v,getRandomInt:()=>d,getRandomItem:()=>l,getRandomString:()=>h,getRandomUrl:()=>jt,hasChanged:()=>Ne,hasCircularReference:()=>Ge,isArguments:()=>J,isArray:()=>b,isBoolean:()=>U,isDate:()=>H,isDateString:()=>re,isDef:()=>ke,isEmail:()=>at,isEmptyString:()=>st,isFiniteNumber:()=>Me,isFloat:()=>Qe,isFunction:()=>F,isIdCard:()=>mt,isInteger:()=>rt,isMap:()=>z,isMobilePhone:()=>ct,isNegativeFloat:()=>et,isNegativeInteger:()=>ot,isNil:()=>ee,isNonNegativeFloat:()=>Ze,isNonNegativeInteger:()=>te,isNonPositiveFloat:()=>tt,isNonPositiveInteger:()=>it,isNull:()=>De,isNumber:()=>p,isObject:()=>E,isObjectLike:()=>C,isPlainObject:()=>y,isPositiveFloat:()=>Je,isPositiveInteger:()=>nt,isPromise:()=>Z,isRegExp:()=>Q,isSet:()=>G,isString:()=>j,isStringNumber:()=>ft,isSymbol:()=>V,isURL:()=>pt,isUndef:()=>M,isWeakMap:()=>X,isWeakSet:()=>q,log:()=>D,objectToString:()=>se,omit:()=>Xe,pick:()=>qe,qs:()=>pe,throttle:()=>Ke,throwError:()=>m,toTypeString:()=>x,toTypeValue:()=>Ee,withRetry:()=>Ue});module.exports=Te(Tt);function E(e){let t=typeof e;return e!==null&&(t==="object"||t==="function")}function C(e){return e!==null&&typeof e=="object"}var se=Object.prototype.toString,x=e=>se.call(e),Ee=e=>x(e).slice(8,-1),j=e=>typeof e=="string",p=e=>typeof e=="number",Me=e=>typeof e=="number"&&Number.isFinite(e),U=e=>typeof e=="boolean",De=e=>e===null,M=e=>e===void 0,V=e=>typeof e=="symbol",b=Array.isArray,F=e=>typeof e=="function",z=e=>x(e)==="[object Map]",G=e=>x(e)==="[object Set]",X=e=>x(e)==="[object WeakMap]",q=e=>x(e)==="[object WeakSet]",H=e=>x(e)==="[object Date]",Q=e=>x(e)==="[object RegExp]",J=e=>x(e)==="[object Arguments]",Z=e=>C(e)&&F(e?.then)&&F(e?.catch),ee=e=>e==null,ke=e=>e!=null,Ne=(e,t)=>e!==t;function y(e){return x(e)==="[object Object]"}function A(e){return b(e)?e:[e]}function Pe(e){let t=[],r,n="";for(;e>0;)r=Math.floor(e%2),t.push(r),e=Math.floor(e/2);for(;t.length>0;)n+=t.pop().toString();return n}var me="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Ie(e){let t="",r="";for(let i=0;i<e.length;i++)r+=e[i].charCodeAt(0).toString(2).padStart(8,"0");for(let i=0;i<r.length;i+=6)t+=me[Number.parseInt(r.slice(i,i+6).padEnd(6,"0"),2)];let n=t.length%4;return n!==0&&(t+="=".repeat(4-n)),t}function $e(e){let t="",r="";for(let n=0;n<e.length&&e[n]!=="=";n++)r+=me.indexOf(e[n]).toString(2).padStart(6,"0");for(let n=0;n<r.length;n+=8){let i=Number.parseInt(r.slice(n,n+8),2);i&&(t+=String.fromCharCode(i))}return t}function Ce(...e){return e.reduce((t,r)=>function(...n){return r(t(...n))})}function Fe(...e){return e.reduce((t,r)=>function(...n){return t(r(...n))})}function We(e,t=500){let r=null;return function(...n){r&&clearTimeout(r),r=setTimeout(()=>{e.apply(this,n)},t)}}function T(e){let t=new WeakMap,r=[{predicate:H,handler:u},{predicate:Q,handler:S},{predicate:z,handler:ye},{predicate:G,handler:he},{predicate:Z,handler:g},{predicate:X,handler:N},{predicate:q,handler:w},{predicate:o=>o instanceof Boolean||o instanceof Number||o instanceof String,handler:P},{predicate:o=>o instanceof Error,handler:R},{predicate:o=>typeof Node<"u"&&o instanceof Node,handler:O},{predicate:J,handler:L},{predicate:o=>o instanceof ArrayBuffer,handler:K},{predicate:o=>o instanceof DataView,handler:be},{predicate:o=>ArrayBuffer.isView(o),handler:xe}];function n(o){if(!C(o))return o;if(t.has(o))return t.get(o);for(let f of r)if(f.predicate(o))return f.handler(o);let s=b(o)?Object.setPrototypeOf([],Object.getPrototypeOf(o)):Object.create(Object.getPrototypeOf(o));return t.set(o,s),c(o,s),s}function i(o,s){let f=Object.getOwnPropertyDescriptors(o);for(let I of Reflect.ownKeys(f)){let $=f[I];$.get||$.set?Object.defineProperty(s,I,$):Object.defineProperty(s,I,{...$,value:n($.value)})}}function c(o,s){i(o,s),_e(o,s)}function u(o){let s=new Date(o);return t.set(o,s),c(o,s),s}function S(o){let s=new RegExp(o.source,o.flags);return s.lastIndex=o.lastIndex,t.set(o,s),c(o,s),s}function g(o){return o}function N(){return new WeakMap}function w(){return new WeakSet}function P(o){let s=o.valueOf(),f=new Object(s);return t.set(o,f),i(o,f),f}function R(o){let s=new o.constructor(o.message);return t.set(o,s),i(o,s),s}function O(o){return{}}function L(o){let s=Object.create(Object.getPrototypeOf(o));return t.set(o,s),c(o,s),s}function K(o){let s=new o.constructor(o.byteLength);return new Uint8Array(s).set(new Uint8Array(o)),t.set(o,s),s}function be(o){let s=n(o.buffer),f=new DataView(s,o.byteOffset,o.byteLength);return t.set(o,f),f}function xe(o){let s=new o.constructor(o);return t.set(o,s),s}function ye(o){let s=new Map;return t.set(o,s),o.forEach((f,I)=>s.set(n(I),n(f))),c(o,s),s}function he(o){let s=new Set;return t.set(o,s),o.forEach(f=>s.add(n(f))),c(o,s),s}return n(e)}function _e(e,t){Object.isFrozen(e)?Object.freeze(t):Object.isSealed(e)?Object.seal(t):Object.isExtensible(e)||Object.preventExtensions(t)}function Le(e,t,r={}){return fe(ce(e,r),ce(t,r),r)}function fe(e,t,r){return b(e)?Be(e,t,r):Ye(e,t,r)}function Ye(e,t,r){if(!y(t))return t;let n=Object.getOwnPropertyDescriptors(t);return Reflect.ownKeys(t).forEach(i=>{(y(e[i])||b(e[i]))&&(y(t[i])||b(t[i]))?e[i]=fe(e[i],t[i],r):Object.defineProperty(e,i,n[i])}),e}function Be(e,t,r){let{mergeStrategy:n="replace"}=r;if(b(t))switch(n){case"merge":return e.concat(t);case"replace":return t;default:return t}return t}function ce(e,t){let{deepClone:r=!0}=t;return r?T(e):e}var W=class extends Error{constructor(t,r="Utils"){super(t),this.name=r}};function m(e,t){throw new W(`[${e}] ${t}`)}function ve(e,t){let r=j(e)?new W(`[${e}] ${t}`,"UtilsWarn"):e;console.warn(r)}var _=(e,t,...r)=>{if(!t)return;let n=r.length===0?"":r.length===1?r[0]:r;console[e](`[Log] ${t}${r.length===0?"":":"}`,n)},D=(e,...t)=>{_("info",e,...t)};D.info=(e,...t)=>{_("info",e,...t)};D.warn=(e,...t)=>{_("warn",e,...t)};D.error=(e,...t)=>{_("error",e,...t)};typeof globalThis<"u"&&(globalThis.lntvowSetLogImpl=e=>_=e);var pe={stringify:e=>(E(e)||m("stringify","Input must be an object"),new URLSearchParams(e).toString()),parse:e=>(j(e)||m("parse","Input must be a string"),Object.fromEntries(new URLSearchParams(e).entries())),appendQueryString:(e,t)=>{let r=pe.stringify(t);return e.includes("?")?e.endsWith("?")||e.endsWith("&")?`${e}${r}`:`${e}&${r}`:`${e}?${r}`}};function Ke(e,t=500){let r=null;return function(...n){if(ee(r))return r=Date.now(),e.apply(this,n);let i=Date.now();if(i-r>=t)return r=i,e.apply(this,n)}}function Ue(e){Ve(e);let{fn:t,maxAttempts:r=3,retryDelay:n=1e3,enableExponentialBackoff:i=!1,signal:c}=e,u,S=c?new Promise((N,w)=>{let P=()=>w(ue());c.addEventListener("abort",P),u=()=>c.removeEventListener("abort",P)}):null;return new Promise((N,w)=>{(async()=>{for(let R=1;R<=r;R++){if(c?.aborted)return w(ue());try{let O=await Promise.race(S?[t(),S]:[t()]);return N(O)}catch(O){let L=i?n*2**(R-1):n;if(D("withRetry",`Attempt ${R}/${r} failed. Retrying in ${L}ms...`),O instanceof Error&&O.name==="AbortError"||R===r)return w(O);await new Promise(K=>setTimeout(K,L))}}})()}).finally(()=>u?.())}function Ve(e){y(e)||m("withRetry",'"Options" must be an object'),typeof e.fn!="function"&&m("withRetry",'"fn" must be a function that returns a Promise'),!M(e.maxAttempts)&&(!Number.isInteger(e.maxAttempts)||e.maxAttempts<1)&&m("withRetry",'"maxAttempts" must be a positive integer'),!M(e.retryDelay)&&(!p(e.retryDelay)||e.retryDelay<0)&&m("withRetry",'"retryDelay" must be a non-negative number'),!M(e.enableExponentialBackoff)&&!U(e.enableExponentialBackoff)&&m("withRetry",'"enableExponentialBackoff" must be a boolean'),!M(e.signal)&&typeof e.signal!="object"&&m("withRetry",'"signal" must be an AbortSignal')}var ze="The operation was aborted";function ue(e=ze){let t=new Error(e);return t.name="AbortError",t}function Ge(e){E(e)||m("hasCircularReference",'"obj" must be a object');let t=new Set;function r(n){if(E(n)){if(t.has(n))return!0;t.add(n);for(let i of Object.keys(n))if(r(n[i]))return!0;t.delete(n)}return!1}return r(e)}function Xe(e,t){if(!y(e))return{};let r=T(e),n=A(t);for(let i of n)Reflect.deleteProperty(r,i);return r}function qe(e,t,r={}){let{includeProto:n=!1,includeSymbols:i=!0,includeNonEnum:c=!1}=r,u={};return y(e)&&A(t).forEach(g=>{V(g)&&!i||!(n?g in e:Object.hasOwn(e,g))||!c&&(n?He(e,g):Object.getOwnPropertyDescriptor(e,g))?.enumerable===!1||(u[g]=T(e[g]))}),u}function He(e,t){let r=e;for(;r!==null;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Object.getPrototypeOf(r)}}function Qe(e){return/^-?(?:0|[1-9]\d*)\.\d+$/.test(e)}function Je(e){return/^(?:0\.0*[1-9]\d*|[1-9]\d*\.\d+)$/.test(e)}function Ze(e){return/^(?:0|[1-9]\d*)\.\d+$/.test(e)}function et(e){return/^-(?:0\.0*[1-9]\d*|[1-9]\d*\.\d+)$/.test(e)}function tt(e){return/^-(?:0|[1-9]\d*)\.\d+$/.test(e)}function rt(e){return/^-?(?:0|[1-9]\d*)$/.test(e)}function nt(e){return/^[1-9]\d*$/.test(e)}function te(e){return/^(?:0|[1-9]\d*)$/.test(e)&&!Object.is(e,-0)}function ot(e){return/^-[1-9]\d*$/.test(e)}function it(e){return/^-(?:0|[1-9]\d*)$/.test(e)||Object.is(e,-0)}var le=B(require("dayjs"),1);function re(e,t="YYYY-MM-DD HH:mm:ss"){return(0,le.default)(e,t,!0).isValid()}function at(e){return/^[^\s@]+@[^\s@][^\s.@]*\.[^\s@]+$/.test(e)}function st(e){return e===""}var ne=B(require("dayjs"),1);function mt(e){if(!/^[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!1;let r=e.slice(6,14);return re(r,"YYYYMMDD")&&(0,ne.default)(r,"YYYYMMDD").isBefore((0,ne.default)())}function ct(e){return/^1[3-9]\d{9}$/.test(e)}var ft=e=>{if(!j(e)||!/^-?\d+(?:\.\d+)?$/.test(e))return!1;let r=Number(e);return!(r>Number.MAX_SAFE_INTEGER||r<Number.MIN_SAFE_INTEGER)};function pt(e){return/^https?:\/\/\S+$/i.test(e)}function ut(e,t){return(!p(e)||!te(e.toString()))&&m("generateRandomArray","num must be greater than 0"),F(t)||m("generateRandomArray","cb must be a function"),Array.from({length:e},()=>t())}function lt(){return`#${Math.floor(Math.random()*16777215).toString(16).padStart(6,"0")}`}var k=B(require("dayjs"),1),ge=B(require("dayjs/plugin/customParseFormat.js"),1);function l(e){return e[Math.floor(Math.random()*e.length)]}function d(e={}){p(e)&&(e={max:e});let{min:t=1,max:r=l(gt())}=e;dt(t,r);let n=Math.ceil(t),i=Math.floor(r);return Math.floor(Math.random()*(i-n+1)+n)}function dt(e,t){let r=Math.ceil(e),n=Math.floor(t);Number.isSafeInteger(r)||m("getRandomInt",`The minimum value Math.ceil(${e}) should be a safe integer`),Number.isSafeInteger(n)||m("getRandomInt",`The maximum value Math.floor(${t}) should be a safe integer`),n<r&&(t>=e&&m("getRandomInt",`No integer value found between ${e} and ${t}`),m("getRandomInt",`The maximum value ${t} should be greater than the minimum value ${e}`))}function gt(){return Array.from({length:Number.MAX_SAFE_INTEGER.toString().length}).map((e,t)=>{let r=Number.MAX_SAFE_INTEGER.toString().slice(0,t+1);return Number(r)})}k.default.extend(ge.default);function oe(e={}){let{start:t="1800-01-01 00:00:00",end:r=(0,k.default)().format(de),format:n=de}=e,i=(0,k.default)(t),c=(0,k.default)(r);(!i.isValid()||!c.isValid())&&m("generateRandomDate","start and end parameters must be valid date format"),i.isAfter(c)&&m("generateRandomDate","start date must be before end date");let u=i.valueOf(),S=c.valueOf(),g=d({min:u,max:S});return(0,k.default)(g).format(n)}var de="YYYY-MM-DD HH:mm:ss";function h(e={}){let t=xt(e),r=yt(t);ht(r);let{length:n}=t;wt(n.min,n.max);let i=d(n),c=t.prefix||"";for(let u=0;u<i;u++)c+=r.charAt(Math.floor(Math.random()*r.length));return c+(t.suffix||"")}var bt=16,ie=1;function xt(e){let t=p(e);return{lowerCase:!0,upperCase:!0,number:!0,...t?{}:e,length:t?{max:e,min:e}:p(e.length)?{max:e.length,min:e.length}:{max:bt,min:ie,...e.length},extra:t?[]:[...new Set(A(e.extra||[]))]}}function yt(e){let t="";return e.lowerCase&&(t+="abcdefghijklmnopqrstuvwxyz"),e.upperCase&&(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZ"),e.number&&(t+="0123456789"),t+=A(e.extra).join(""),t}function ht(e){e.length===0&&m("getRandomString","At least one character set (lowercase, uppercase, number) must be enabled or extra characters provided")}function wt(e,t){Number.isInteger(e)||m("getRandomString","min must be an integer"),Number.isInteger(t)||m("getRandomString","max must be an integer"),e<ie&&m("getRandomString",`Minimum length cannot be less than ${ie}`),t<e&&m("getRandomString","Maximum length cannot be less than minimum length")}function Ot(){let e=["gmail.com","outlook.com","yahoo.com","qq.com","163.com","hotmail.com"],t=d({min:5,max:10}),r=h({length:t,lowerCase:!0,upperCase:!1,number:!0}),n=l(e);return`${r}@${n}`}function At(e={}){p(e)&&(e={max:e});let{min:t=0,max:r=1,fractionDigits:n=2}=e;if((!p(t)||!p(r))&&m("generateRandomFloat",'"min" and "max" must be numbers'),(!Number.isInteger(n)||n<0)&&m("generateRandomFloat",'"fractionDigits" must be a non-negative integer'),t===r)return Number(t.toFixed(n));t>r&&m("generateRandomFloat",`"max" (${r}) must be greater than "min" (${t})`);let i=Math.random()*(r-t)+t;return Number(i.toFixed(n))}function v(e,t){(!p(e)||e<=0)&&m("generateRandomStringFromSource",'"num" must be greater than 0'),(!b(t)||t.length===0)&&m("generateRandomStringFromSource",'"source" must be a non-empty array');let r="";for(let n=0;n<e;n++)r+=l(t);return r}function St(){let e=d({min:1e5,max:999999}),t=[0,1,2,3,4,5,6,7,8,9];return[e,oe({format:"YYYYMMDD"}),v(3,t),v(1,[...t,"X","x"])].join("")}function Rt(){return l(["13","14","15","16","17","18","19"])+d(999999999).toString().padEnd(9,"0")}function jt(){let e=["http://","https://"],t=[".com",".net",".org",".cn",".top"],r=[`?name=${h({length:{min:4,max:8}})}`,`?id=${d()}`,`?page=${h({length:{min:2,max:4}})}`,`?query=${h({length:{min:5,max:6}})}`,`?search=${h({length:{min:1,max:4}})}`,`?token=${h({length:{min:16,max:16}})}`];return`${l(e)}${h({length:{min:5,max:25}})}${l(t)}${l(r)}`}0&&(module.exports={UtilsError,base64Decode,base64Encode,castArray,compose,composeRight,debounce,debugWarn,decimalToBinary,deepClone,deepMerge,generateRandomArray,generateRandomColor,generateRandomDate,generateRandomEmail,generateRandomFloat,generateRandomIdCard,generateRandomMobilePhone,generateRandomStringFromSource,getRandomInt,getRandomItem,getRandomString,getRandomUrl,hasChanged,hasCircularReference,isArguments,isArray,isBoolean,isDate,isDateString,isDef,isEmail,isEmptyString,isFiniteNumber,isFloat,isFunction,isIdCard,isInteger,isMap,isMobilePhone,isNegativeFloat,isNegativeInteger,isNil,isNonNegativeFloat,isNonNegativeInteger,isNonPositiveFloat,isNonPositiveInteger,isNull,isNumber,isObject,isObjectLike,isPlainObject,isPositiveFloat,isPositiveInteger,isPromise,isRegExp,isSet,isString,isStringNumber,isSymbol,isURL,isUndef,isWeakMap,isWeakSet,log,objectToString,omit,pick,qs,throttle,throwError,toTypeString,toTypeValue,withRetry});
1
+ "use strict";var we=Object.create;var Y=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var Ae=Object.getOwnPropertyNames;var Se=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var je=(e,t)=>{for(var r in t)Y(e,r,{get:t[r],enumerable:!0})},ae=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ae(t))!Re.call(e,i)&&i!==r&&Y(e,i,{get:()=>t[i],enumerable:!(n=Oe(t,i))||n.enumerable});return e};var v=(e,t,r)=>(r=e!=null?we(Se(e)):{},ae(t||!e||!e.__esModule?Y(r,"default",{value:e,enumerable:!0}):r,e)),Te=e=>ae(Y({},"__esModule",{value:!0}),e);var Tt={};je(Tt,{UtilsError:()=>W,base64Decode:()=>$e,base64Encode:()=>Ie,castArray:()=>A,compose:()=>Ce,composeRight:()=>Fe,debounce:()=>We,debugWarn:()=>Be,decimalToBinary:()=>Pe,deepClone:()=>T,deepMerge:()=>Le,generateRandomArray:()=>ut,generateRandomColor:()=>lt,generateRandomDate:()=>oe,generateRandomEmail:()=>Ot,generateRandomFloat:()=>At,generateRandomIdCard:()=>St,generateRandomMobilePhone:()=>Rt,generateRandomStringFromSource:()=>B,getRandomInt:()=>d,getRandomItem:()=>l,getRandomString:()=>h,getRandomUrl:()=>jt,hasChanged:()=>Ne,hasCircularReference:()=>Ge,isArguments:()=>J,isArray:()=>b,isBoolean:()=>U,isDate:()=>H,isDateString:()=>re,isDef:()=>ke,isEmail:()=>at,isEmptyString:()=>st,isFiniteNumber:()=>Me,isFloat:()=>Qe,isFunction:()=>F,isIdCard:()=>mt,isInteger:()=>rt,isMap:()=>z,isMobilePhone:()=>ct,isNegativeFloat:()=>et,isNegativeInteger:()=>ot,isNil:()=>ee,isNonNegativeFloat:()=>Ze,isNonNegativeInteger:()=>te,isNonPositiveFloat:()=>tt,isNonPositiveInteger:()=>it,isNull:()=>De,isNumber:()=>p,isObject:()=>E,isObjectLike:()=>C,isPlainObject:()=>x,isPositiveFloat:()=>Je,isPositiveInteger:()=>nt,isPromise:()=>Z,isRegExp:()=>Q,isSet:()=>G,isString:()=>j,isStringNumber:()=>ft,isSymbol:()=>V,isURL:()=>pt,isUndef:()=>M,isWeakMap:()=>X,isWeakSet:()=>q,log:()=>D,objectToString:()=>se,omit:()=>Xe,pick:()=>qe,qs:()=>pe,throttle:()=>Ke,throwError:()=>m,toTypeString:()=>y,toTypeValue:()=>Ee,withRetry:()=>Ue});module.exports=Te(Tt);function E(e){let t=typeof e;return e!==null&&(t==="object"||t==="function")}function C(e){return e!==null&&typeof e=="object"}var se=Object.prototype.toString,y=e=>se.call(e),Ee=e=>y(e).slice(8,-1),j=e=>typeof e=="string",p=e=>typeof e=="number",Me=e=>typeof e=="number"&&Number.isFinite(e),U=e=>typeof e=="boolean",De=e=>e===null,M=e=>e===void 0,V=e=>typeof e=="symbol",b=Array.isArray,F=e=>typeof e=="function",z=e=>y(e)==="[object Map]",G=e=>y(e)==="[object Set]",X=e=>y(e)==="[object WeakMap]",q=e=>y(e)==="[object WeakSet]",H=e=>y(e)==="[object Date]",Q=e=>y(e)==="[object RegExp]",J=e=>y(e)==="[object Arguments]",Z=e=>C(e)&&F(e?.then)&&F(e?.catch),ee=e=>e==null,ke=e=>e!=null,Ne=(e,t)=>e!==t;function x(e){return y(e)==="[object Object]"}function A(e){return b(e)?e:[e]}function Pe(e){let t=[],r,n="";for(;e>0;)r=Math.floor(e%2),t.push(r),e=Math.floor(e/2);for(;t.length>0;)n+=t.pop().toString();return n}var me="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Ie(e){let t="",r="";for(let i=0;i<e.length;i++)r+=e[i].charCodeAt(0).toString(2).padStart(8,"0");for(let i=0;i<r.length;i+=6)t+=me[Number.parseInt(r.slice(i,i+6).padEnd(6,"0"),2)];let n=t.length%4;return n!==0&&(t+="=".repeat(4-n)),t}function $e(e){let t="",r="";for(let n=0;n<e.length&&e[n]!=="=";n++)r+=me.indexOf(e[n]).toString(2).padStart(6,"0");for(let n=0;n<r.length;n+=8){let i=Number.parseInt(r.slice(n,n+8),2);i&&(t+=String.fromCharCode(i))}return t}function Ce(...e){return e.reduce((t,r)=>function(...n){return r(t(...n))})}function Fe(...e){return e.reduce((t,r)=>function(...n){return t(r(...n))})}function We(e,t=500){let r=null;return function(...n){r&&clearTimeout(r),r=setTimeout(()=>{e.apply(this,n)},t)}}function T(e){let t=new WeakMap,r=[{predicate:H,handler:u},{predicate:Q,handler:S},{predicate:z,handler:xe},{predicate:G,handler:he},{predicate:Z,handler:g},{predicate:X,handler:N},{predicate:q,handler:w},{predicate:o=>o instanceof Boolean||o instanceof Number||o instanceof String,handler:P},{predicate:o=>o instanceof Error,handler:R},{predicate:o=>typeof Node<"u"&&o instanceof Node,handler:O},{predicate:J,handler:L},{predicate:o=>o instanceof ArrayBuffer,handler:K},{predicate:o=>o instanceof DataView,handler:be},{predicate:o=>ArrayBuffer.isView(o),handler:ye}];function n(o){if(!C(o))return o;if(t.has(o))return t.get(o);for(let f of r)if(f.predicate(o))return f.handler(o);let s=b(o)?Object.setPrototypeOf([],Object.getPrototypeOf(o)):Object.create(Object.getPrototypeOf(o));return t.set(o,s),c(o,s),s}function i(o,s){let f=Object.getOwnPropertyDescriptors(o);for(let I of Reflect.ownKeys(f)){let $=f[I];$.get||$.set?Object.defineProperty(s,I,$):Object.defineProperty(s,I,{...$,value:n($.value)})}}function c(o,s){i(o,s),_e(o,s)}function u(o){let s=new Date(o);return t.set(o,s),c(o,s),s}function S(o){let s=new RegExp(o.source,o.flags);return s.lastIndex=o.lastIndex,t.set(o,s),c(o,s),s}function g(o){return o}function N(){return new WeakMap}function w(){return new WeakSet}function P(o){let s=o.valueOf(),f=new Object(s);return t.set(o,f),i(o,f),f}function R(o){let s=new o.constructor(o.message);return t.set(o,s),i(o,s),s}function O(o){return{}}function L(o){let s=Object.create(Object.getPrototypeOf(o));return t.set(o,s),c(o,s),s}function K(o){let s=new o.constructor(o.byteLength);return new Uint8Array(s).set(new Uint8Array(o)),t.set(o,s),s}function be(o){let s=n(o.buffer),f=new DataView(s,o.byteOffset,o.byteLength);return t.set(o,f),f}function ye(o){let s=new o.constructor(o);return t.set(o,s),s}function xe(o){let s=new Map;return t.set(o,s),o.forEach((f,I)=>s.set(n(I),n(f))),c(o,s),s}function he(o){let s=new Set;return t.set(o,s),o.forEach(f=>s.add(n(f))),c(o,s),s}return n(e)}function _e(e,t){Object.isFrozen(e)?Object.freeze(t):Object.isSealed(e)?Object.seal(t):Object.isExtensible(e)||Object.preventExtensions(t)}function Le(e,t,r={}){return fe(ce(e,r),ce(t,r),r)}function fe(e,t,r){return b(e)?ve(e,t,r):Ye(e,t,r)}function Ye(e,t,r){if(!x(t))return t;let n=Object.getOwnPropertyDescriptors(t);return Reflect.ownKeys(t).forEach(i=>{(x(e[i])||b(e[i]))&&(x(t[i])||b(t[i]))?e[i]=fe(e[i],t[i],r):Object.defineProperty(e,i,n[i])}),e}function ve(e,t,r){let{mergeStrategy:n="replace"}=r;if(b(t))switch(n){case"merge":return e.concat(t);case"replace":return t;default:return t}return t}function ce(e,t){let{deepClone:r=!0}=t;return r?T(e):e}var W=class extends Error{constructor(t,r="Utils"){super(t),this.name=r}};function m(e,t){throw new W(`[${e}] ${t}`)}function Be(e,t){let r=j(e)?new W(`[${e}] ${t}`,"UtilsWarn"):e;console.warn(r)}var _=(e,t,...r)=>{if(!t)return;let n=r.length===0?"":r.length===1?r[0]:r;console[e](`[Log] ${t}${r.length===0?"":":"}`,n)},D=(e,...t)=>{_("info",e,...t)};D.info=(e,...t)=>{_("info",e,...t)};D.warn=(e,...t)=>{_("warn",e,...t)};D.error=(e,...t)=>{_("error",e,...t)};typeof globalThis<"u"&&(globalThis.lntvowSetLogImpl=e=>_=e);var pe={stringify:e=>(E(e)||m("stringify","Input must be an object"),new URLSearchParams(e).toString()),parse:e=>(j(e)||m("parse","Input must be a string"),Object.fromEntries(new URLSearchParams(e).entries())),appendQueryString:(e,t)=>{let r=pe.stringify(t);return e.includes("?")?e.endsWith("?")||e.endsWith("&")?`${e}${r}`:`${e}&${r}`:`${e}?${r}`}};function Ke(e,t=500){let r=null;return function(...n){if(ee(r))return r=Date.now(),e.apply(this,n);let i=Date.now();if(i-r>=t)return r=i,e.apply(this,n)}}function Ue(e){Ve(e);let{fn:t,maxAttempts:r=3,retryDelay:n=1e3,enableExponentialBackoff:i=!1,signal:c}=e,u,S=c?new Promise((N,w)=>{let P=()=>w(ue());c.addEventListener("abort",P),u=()=>c.removeEventListener("abort",P)}):null;return new Promise((N,w)=>{(async()=>{for(let R=1;R<=r;R++){if(c?.aborted)return w(ue());try{let O=await Promise.race(S?[t(),S]:[t()]);return N(O)}catch(O){let L=i?n*2**(R-1):n;if(D("withRetry",`Attempt ${R}/${r} failed. Retrying in ${L}ms...`),O instanceof Error&&O.name==="AbortError"||R===r)return w(O);await new Promise(K=>setTimeout(K,L))}}})()}).finally(()=>u?.())}function Ve(e){x(e)||m("withRetry",'"Options" must be an object'),typeof e.fn!="function"&&m("withRetry",'"fn" must be a function that returns a Promise'),!M(e.maxAttempts)&&(!Number.isInteger(e.maxAttempts)||e.maxAttempts<1)&&m("withRetry",'"maxAttempts" must be a positive integer'),!M(e.retryDelay)&&(!p(e.retryDelay)||e.retryDelay<0)&&m("withRetry",'"retryDelay" must be a non-negative number'),!M(e.enableExponentialBackoff)&&!U(e.enableExponentialBackoff)&&m("withRetry",'"enableExponentialBackoff" must be a boolean'),!M(e.signal)&&typeof e.signal!="object"&&m("withRetry",'"signal" must be an AbortSignal')}var ze="The operation was aborted";function ue(e=ze){let t=new Error(e);return t.name="AbortError",t}function Ge(e){E(e)||m("hasCircularReference",'"obj" must be a object');let t=new Set;function r(n){if(E(n)){if(t.has(n))return!0;t.add(n);for(let i of Object.keys(n))if(r(n[i]))return!0;t.delete(n)}return!1}return r(e)}function Xe(e,t){if(!x(e))return{};let r=T(e),n=A(t);for(let i of n)Reflect.deleteProperty(r,i);return r}function qe(e,t,r={}){let{includeProto:n=!1,includeSymbols:i=!0,includeNonEnum:c=!1}=r,u={};return x(e)&&A(t).forEach(g=>{V(g)&&!i||!(n?g in e:Object.hasOwn(e,g))||!c&&(n?He(e,g):Object.getOwnPropertyDescriptor(e,g))?.enumerable===!1||(u[g]=T(e[g]))}),u}function He(e,t){let r=e;for(;r!==null;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Object.getPrototypeOf(r)}}function Qe(e){return/^-?(?:0|[1-9]\d*)\.\d+$/.test(e)}function Je(e){return/^(?:0\.0*[1-9]\d*|[1-9]\d*\.\d+)$/.test(e)}function Ze(e){return/^(?:0|[1-9]\d*)\.\d+$/.test(e)}function et(e){return/^-(?:0\.0*[1-9]\d*|[1-9]\d*\.\d+)$/.test(e)}function tt(e){return/^-(?:0|[1-9]\d*)\.\d+$/.test(e)}function rt(e){return/^-?(?:0|[1-9]\d*)$/.test(e)}function nt(e){return/^[1-9]\d*$/.test(e)}function te(e){return/^(?:0|[1-9]\d*)$/.test(e)&&!Object.is(e,-0)}function ot(e){return/^-[1-9]\d*$/.test(e)}function it(e){return/^-(?:0|[1-9]\d*)$/.test(e)||Object.is(e,-0)}var le=v(require("dayjs"),1);function re(e,t="YYYY-MM-DD HH:mm:ss"){return(0,le.default)(e,t,!0).isValid()}function at(e){return/^[^\s@]+@[^\s@][^\s.@]*\.[^\s@]+$/.test(e)}function st(e){return e===""}var ne=v(require("dayjs"),1);function mt(e){if(!/^[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!1;let r=e.slice(6,14);return re(r,"YYYYMMDD")&&(0,ne.default)(r,"YYYYMMDD").isBefore((0,ne.default)())}function ct(e){return/^1[3-9]\d{9}$/.test(e)}var ft=e=>{if(!j(e)||!/^-?\d+(?:\.\d+)?$/.test(e))return!1;let r=Number(e);return!(r>Number.MAX_SAFE_INTEGER||r<Number.MIN_SAFE_INTEGER)};function pt(e){return/^https?:\/\/\S+$/i.test(e)}function ut(e,t){return(!p(e)||!te(e.toString()))&&m("generateRandomArray","num must be greater than 0"),F(t)||m("generateRandomArray","cb must be a function"),Array.from({length:e},()=>t())}function lt(){return`#${Math.floor(Math.random()*16777215).toString(16).padStart(6,"0")}`}var k=v(require("dayjs"),1),ge=v(require("dayjs/plugin/customParseFormat.js"),1);function l(e){return e[Math.floor(Math.random()*e.length)]}function d(e={}){p(e)&&(e={max:e});let{min:t=1,max:r=l(gt())}=e;dt(t,r);let n=Math.ceil(t),i=Math.floor(r);return Math.floor(Math.random()*(i-n+1)+n)}function dt(e,t){let r=Math.ceil(e),n=Math.floor(t);Number.isSafeInteger(r)||m("getRandomInt",`The minimum value Math.ceil(${e}) should be a safe integer`),Number.isSafeInteger(n)||m("getRandomInt",`The maximum value Math.floor(${t}) should be a safe integer`),n<r&&(t>=e&&m("getRandomInt",`No integer value found between ${e} and ${t}`),m("getRandomInt",`The maximum value ${t} should be greater than the minimum value ${e}`))}function gt(){return Array.from({length:Number.MAX_SAFE_INTEGER.toString().length}).map((e,t)=>{let r=Number.MAX_SAFE_INTEGER.toString().slice(0,t+1);return Number(r)})}k.default.extend(ge.default);function oe(e={}){let{start:t="1800-01-01 00:00:00",end:r=(0,k.default)().format(de),format:n=de}=e,i=(0,k.default)(t),c=(0,k.default)(r);(!i.isValid()||!c.isValid())&&m("generateRandomDate","start and end parameters must be valid date format"),i.isAfter(c)&&m("generateRandomDate","start date must be before end date");let u=i.valueOf(),S=c.valueOf(),g=d({min:u,max:S});return(0,k.default)(g).format(n)}var de="YYYY-MM-DD HH:mm:ss";function h(e={}){let t=yt(e),r=xt(t);ht(r);let{length:n}=t;wt(n.min,n.max);let i=d(n),c=t.prefix||"";for(let u=0;u<i;u++)c+=r.charAt(Math.floor(Math.random()*r.length));return c+(t.suffix||"")}var bt=16,ie=1;function yt(e){let t=p(e);return{lowerCase:!0,upperCase:!0,number:!0,...t?{}:e,length:t?{max:e,min:e}:p(e.length)?{max:e.length,min:e.length}:{max:bt,min:ie,...e.length},extra:t?[]:[...new Set(A(e.extra||[]))]}}function xt(e){let t="";return e.lowerCase&&(t+="abcdefghijklmnopqrstuvwxyz"),e.upperCase&&(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZ"),e.number&&(t+="0123456789"),t+=A(e.extra).join(""),t}function ht(e){e.length===0&&m("getRandomString","At least one character set (lowercase, uppercase, number) must be enabled or extra characters provided")}function wt(e,t){Number.isInteger(e)||m("getRandomString","min must be an integer"),Number.isInteger(t)||m("getRandomString","max must be an integer"),e<ie&&m("getRandomString",`Minimum length cannot be less than ${ie}`),t<e&&m("getRandomString","Maximum length cannot be less than minimum length")}function Ot(){let e=["gmail.com","outlook.com","yahoo.com","qq.com","163.com","hotmail.com"],t=d({min:5,max:10}),r=h({length:t,lowerCase:!0,upperCase:!1,number:!0}),n=l(e);return`${r}@${n}`}function At(e={}){p(e)&&(e={max:e});let{min:t=0,max:r=1,fractionDigits:n=2}=e;if((!p(t)||!p(r))&&m("generateRandomFloat",'"min" and "max" must be numbers'),(!Number.isInteger(n)||n<0)&&m("generateRandomFloat",'"fractionDigits" must be a non-negative integer'),t===r)return Number(t.toFixed(n));t>r&&m("generateRandomFloat",`"max" (${r}) must be greater than "min" (${t})`);let i=Math.random()*(r-t)+t;return Number(i.toFixed(n))}function B(e,t){(!p(e)||e<=0)&&m("generateRandomStringFromSource",'"num" must be greater than 0'),(!b(t)||t.length===0)&&m("generateRandomStringFromSource",'"source" must be a non-empty array');let r="";for(let n=0;n<e;n++)r+=l(t);return r}function St(){let e=d({min:1e5,max:999999}),t=[0,1,2,3,4,5,6,7,8,9];return[e,oe({format:"YYYYMMDD"}),B(3,t),B(1,[...t,"X","x"])].join("")}function Rt(){return l(["13","14","15","16","17","18","19"])+d(999999999).toString().padEnd(9,"0")}function jt(){let e=["http://","https://"],t=[".com",".net",".org",".cn",".top"],r=[`?name=${h({length:{min:4,max:8}})}`,`?id=${d()}`,`?page=${h({length:{min:2,max:4}})}`,`?query=${h({length:{min:5,max:6}})}`,`?search=${h({length:{min:1,max:4}})}`,`?token=${h({length:{min:16,max:16}})}`];return`${l(e)}${h({length:{min:5,max:25}})}${l(t)}${l(r)}`}0&&(module.exports={UtilsError,base64Decode,base64Encode,castArray,compose,composeRight,debounce,debugWarn,decimalToBinary,deepClone,deepMerge,generateRandomArray,generateRandomColor,generateRandomDate,generateRandomEmail,generateRandomFloat,generateRandomIdCard,generateRandomMobilePhone,generateRandomStringFromSource,getRandomInt,getRandomItem,getRandomString,getRandomUrl,hasChanged,hasCircularReference,isArguments,isArray,isBoolean,isDate,isDateString,isDef,isEmail,isEmptyString,isFiniteNumber,isFloat,isFunction,isIdCard,isInteger,isMap,isMobilePhone,isNegativeFloat,isNegativeInteger,isNil,isNonNegativeFloat,isNonNegativeInteger,isNonPositiveFloat,isNonPositiveInteger,isNull,isNumber,isObject,isObjectLike,isPlainObject,isPositiveFloat,isPositiveInteger,isPromise,isRegExp,isSet,isString,isStringNumber,isSymbol,isURL,isUndef,isWeakMap,isWeakSet,log,objectToString,omit,pick,qs,throttle,throwError,toTypeString,toTypeValue,withRetry});
2
2
  /* v8 ignore if -- @preserve */
package/dist/index.d.ts CHANGED
@@ -18,6 +18,12 @@ type AnyObject = Record<PropertyKey, any>;
18
18
  * Represents a value that can be either a string or a number.
19
19
  */
20
20
  type StringNumber = string | number;
21
+ /**
22
+ * Represents an all-or-nothing object type: either the full `T` or none of its fields.
23
+ */
24
+ type AllOrNone<T extends Record<string, any>> = T | {
25
+ [K in keyof T]?: never;
26
+ };
21
27
 
22
28
  /**
23
29
  * Converts a non-array value to an array or returns the array as-is.
@@ -1408,4 +1414,4 @@ declare const isStringNumber: (val: string) => boolean;
1408
1414
  */
1409
1415
  declare function isURL(val: string): boolean;
1410
1416
 
1411
- export { type AnyObject, type ArrayItem, type Arrayable, type DeepMergeOptions, type GenerateRandomDateOptions, type GenerateRandomFloatOptions, type PlainObject, type StringNumber, UtilsError, type WithRetryOptions, base64Decode, base64Encode, castArray, compose, composeRight, debounce, debugWarn, decimalToBinary, deepClone, deepMerge, generateRandomArray, generateRandomColor, generateRandomDate, generateRandomEmail, generateRandomFloat, generateRandomIdCard, generateRandomMobilePhone, generateRandomStringFromSource, getRandomInt, getRandomItem, getRandomString, getRandomUrl, hasChanged, hasCircularReference, isArguments, isArray, isBoolean, isDate, isDateString, isDef, isEmail, isEmptyString, isFiniteNumber, isFloat, isFunction, isIdCard, isInteger, isMap, isMobilePhone, isNegativeFloat, isNegativeInteger, isNil, isNonNegativeFloat, isNonNegativeInteger, isNonPositiveFloat, isNonPositiveInteger, isNull, isNumber, isObject, isObjectLike, isPlainObject, isPositiveFloat, isPositiveInteger, isPromise, isRegExp, isSet, isString, isStringNumber, isSymbol, isURL, isUndef, isWeakMap, isWeakSet, log, objectToString, omit, pick, qs, throttle, throwError, toTypeString, toTypeValue, withRetry };
1417
+ export { type AllOrNone, type AnyObject, type ArrayItem, type Arrayable, type DeepMergeOptions, type GenerateRandomDateOptions, type GenerateRandomFloatOptions, type PlainObject, type StringNumber, UtilsError, type WithRetryOptions, base64Decode, base64Encode, castArray, compose, composeRight, debounce, debugWarn, decimalToBinary, deepClone, deepMerge, generateRandomArray, generateRandomColor, generateRandomDate, generateRandomEmail, generateRandomFloat, generateRandomIdCard, generateRandomMobilePhone, generateRandomStringFromSource, getRandomInt, getRandomItem, getRandomString, getRandomUrl, hasChanged, hasCircularReference, isArguments, isArray, isBoolean, isDate, isDateString, isDef, isEmail, isEmptyString, isFiniteNumber, isFloat, isFunction, isIdCard, isInteger, isMap, isMobilePhone, isNegativeFloat, isNegativeInteger, isNil, isNonNegativeFloat, isNonNegativeInteger, isNonPositiveFloat, isNonPositiveInteger, isNull, isNumber, isObject, isObjectLike, isPlainObject, isPositiveFloat, isPositiveInteger, isPromise, isRegExp, isSet, isString, isStringNumber, isSymbol, isURL, isUndef, isWeakMap, isWeakSet, log, objectToString, omit, pick, qs, throttle, throwError, toTypeString, toTypeValue, withRetry };
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  /* @ts-self-types="./utils.d.ts" */
2
- function P(e){let t=typeof e;return e!==null&&(t==="object"||t==="function")}function _(e){return e!==null&&typeof e=="object"}var de=Object.prototype.toString,y=e=>de.call(e),Fe=e=>y(e).slice(8,-1),T=e=>typeof e=="string",u=e=>typeof e=="number",We=e=>typeof e=="number"&&Number.isFinite(e),U=e=>typeof e=="boolean",_e=e=>e===null,I=e=>e===void 0,V=e=>typeof e=="symbol",x=Array.isArray,L=e=>typeof e=="function",z=e=>y(e)==="[object Map]",G=e=>y(e)==="[object Set]",X=e=>y(e)==="[object WeakMap]",q=e=>y(e)==="[object WeakSet]",H=e=>y(e)==="[object Date]",Q=e=>y(e)==="[object RegExp]",J=e=>y(e)==="[object Arguments]",Z=e=>_(e)&&L(e?.then)&&L(e?.catch),ee=e=>e==null,Le=e=>e!=null,Ye=(e,t)=>e!==t;function h(e){return y(e)==="[object Object]"}function j(e){return x(e)?e:[e]}function ot(e){let t=[],r,o="";for(;e>0;)r=Math.floor(e%2),t.push(r),e=Math.floor(e/2);for(;t.length>0;)o+=t.pop().toString();return o}var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function it(e){let t="",r="";for(let m=0;m<e.length;m++)r+=e[m].charCodeAt(0).toString(2).padStart(8,"0");for(let m=0;m<r.length;m+=6)t+=te[Number.parseInt(r.slice(m,m+6).padEnd(6,"0"),2)];let o=t.length%4;return o!==0&&(t+="=".repeat(4-o)),t}function at(e){let t="",r="";for(let o=0;o<e.length&&e[o]!=="=";o++)r+=te.indexOf(e[o]).toString(2).padStart(6,"0");for(let o=0;o<r.length;o+=8){let m=Number.parseInt(r.slice(o,o+8),2);m&&(t+=String.fromCharCode(m))}return t}function ct(...e){return e.reduce((t,r)=>function(...o){return r(t(...o))})}function ft(...e){return e.reduce((t,r)=>function(...o){return t(r(...o))})}function lt(e,t=500){let r=null;return function(...o){r&&clearTimeout(r),r=setTimeout(()=>{e.apply(this,o)},t)}}function E(e){let t=new WeakMap,r=[{predicate:H,handler:l},{predicate:Q,handler:S},{predicate:z,handler:ue},{predicate:G,handler:le},{predicate:Z,handler:d},{predicate:X,handler:M},{predicate:q,handler:O},{predicate:n=>n instanceof Boolean||n instanceof Number||n instanceof String,handler:D},{predicate:n=>n instanceof Error,handler:R},{predicate:n=>typeof Node<"u"&&n instanceof Node,handler:A},{predicate:J,handler:W},{predicate:n=>n instanceof ArrayBuffer,handler:B},{predicate:n=>n instanceof DataView,handler:fe},{predicate:n=>ArrayBuffer.isView(n),handler:pe}];function o(n){if(!_(n))return n;if(t.has(n))return t.get(n);for(let p of r)if(p.predicate(n))return p.handler(n);let s=x(n)?Object.setPrototypeOf([],Object.getPrototypeOf(n)):Object.create(Object.getPrototypeOf(n));return t.set(n,s),f(n,s),s}function m(n,s){let p=Object.getOwnPropertyDescriptors(n);for(let k of Reflect.ownKeys(p)){let N=p[k];N.get||N.set?Object.defineProperty(s,k,N):Object.defineProperty(s,k,{...N,value:o(N.value)})}}function f(n,s){m(n,s),ge(n,s)}function l(n){let s=new Date(n);return t.set(n,s),f(n,s),s}function S(n){let s=new RegExp(n.source,n.flags);return s.lastIndex=n.lastIndex,t.set(n,s),f(n,s),s}function d(n){return n}function M(){return new WeakMap}function O(){return new WeakSet}function D(n){let s=n.valueOf(),p=new Object(s);return t.set(n,p),m(n,p),p}function R(n){let s=new n.constructor(n.message);return t.set(n,s),m(n,s),s}function A(n){return{}}function W(n){let s=Object.create(Object.getPrototypeOf(n));return t.set(n,s),f(n,s),s}function B(n){let s=new n.constructor(n.byteLength);return new Uint8Array(s).set(new Uint8Array(n)),t.set(n,s),s}function fe(n){let s=o(n.buffer),p=new DataView(s,n.byteOffset,n.byteLength);return t.set(n,p),p}function pe(n){let s=new n.constructor(n);return t.set(n,s),s}function ue(n){let s=new Map;return t.set(n,s),n.forEach((p,k)=>s.set(o(k),o(p))),f(n,s),s}function le(n){let s=new Set;return t.set(n,s),n.forEach(p=>s.add(o(p))),f(n,s),s}return o(e)}function ge(e,t){Object.isFrozen(e)?Object.freeze(t):Object.isSealed(e)?Object.seal(t):Object.isExtensible(e)||Object.preventExtensions(t)}function Ot(e,t,r={}){return ne(re(e,r),re(t,r),r)}function ne(e,t,r){return x(e)?xe(e,t,r):be(e,t,r)}function be(e,t,r){if(!h(t))return t;let o=Object.getOwnPropertyDescriptors(t);return Reflect.ownKeys(t).forEach(m=>{(h(e[m])||x(e[m]))&&(h(t[m])||x(t[m]))?e[m]=ne(e[m],t[m],r):Object.defineProperty(e,m,o[m])}),e}function xe(e,t,r){let{mergeStrategy:o="replace"}=r;if(x(t))switch(o){case"merge":return e.concat(t);case"replace":return t;default:return t}return t}function re(e,t){let{deepClone:r=!0}=t;return r?E(e):e}var Y=class extends Error{constructor(t,r="Utils"){super(t),this.name=r}};function c(e,t){throw new Y(`[${e}] ${t}`)}function jt(e,t){let r=T(e)?new Y(`[${e}] ${t}`,"UtilsWarn"):e;console.warn(r)}var $=(e,t,...r)=>{if(!t)return;let o=r.length===0?"":r.length===1?r[0]:r;console[e](`[Log] ${t}${r.length===0?"":":"}`,o)},C=(e,...t)=>{$("info",e,...t)};C.info=(e,...t)=>{$("info",e,...t)};C.warn=(e,...t)=>{$("warn",e,...t)};C.error=(e,...t)=>{$("error",e,...t)};typeof globalThis<"u"&&(globalThis.lntvowSetLogImpl=e=>$=e);var ye={stringify:e=>(P(e)||c("stringify","Input must be an object"),new URLSearchParams(e).toString()),parse:e=>(T(e)||c("parse","Input must be a string"),Object.fromEntries(new URLSearchParams(e).entries())),appendQueryString:(e,t)=>{let r=ye.stringify(t);return e.includes("?")?e.endsWith("?")||e.endsWith("&")?`${e}${r}`:`${e}&${r}`:`${e}?${r}`}};function Ct(e,t=500){let r=null;return function(...o){if(ee(r))return r=Date.now(),e.apply(this,o);let m=Date.now();if(m-r>=t)return r=m,e.apply(this,o)}}function Ut(e){he(e);let{fn:t,maxAttempts:r=3,retryDelay:o=1e3,enableExponentialBackoff:m=!1,signal:f}=e,l,S=f?new Promise((M,O)=>{let D=()=>O(oe());f.addEventListener("abort",D),l=()=>f.removeEventListener("abort",D)}):null;return new Promise((M,O)=>{(async()=>{for(let R=1;R<=r;R++){if(f?.aborted)return O(oe());try{let A=await Promise.race(S?[t(),S]:[t()]);return M(A)}catch(A){let W=m?o*2**(R-1):o;if(C("withRetry",`Attempt ${R}/${r} failed. Retrying in ${W}ms...`),A instanceof Error&&A.name==="AbortError"||R===r)return O(A);await new Promise(B=>setTimeout(B,W))}}})()}).finally(()=>l?.())}function he(e){h(e)||c("withRetry",'"Options" must be an object'),typeof e.fn!="function"&&c("withRetry",'"fn" must be a function that returns a Promise'),!I(e.maxAttempts)&&(!Number.isInteger(e.maxAttempts)||e.maxAttempts<1)&&c("withRetry",'"maxAttempts" must be a positive integer'),!I(e.retryDelay)&&(!u(e.retryDelay)||e.retryDelay<0)&&c("withRetry",'"retryDelay" must be a non-negative number'),!I(e.enableExponentialBackoff)&&!U(e.enableExponentialBackoff)&&c("withRetry",'"enableExponentialBackoff" must be a boolean'),!I(e.signal)&&typeof e.signal!="object"&&c("withRetry",'"signal" must be an AbortSignal')}var we="The operation was aborted";function oe(e=we){let t=new Error(e);return t.name="AbortError",t}function mr(e){P(e)||c("hasCircularReference",'"obj" must be a object');let t=new Set;function r(o){if(P(o)){if(t.has(o))return!0;t.add(o);for(let m of Object.keys(o))if(r(o[m]))return!0;t.delete(o)}return!1}return r(e)}function dr(e,t){if(!h(e))return{};let r=E(e),o=j(t);for(let m of o)Reflect.deleteProperty(r,m);return r}function wr(e,t,r={}){let{includeProto:o=!1,includeSymbols:m=!0,includeNonEnum:f=!1}=r,l={};return h(e)&&j(t).forEach(d=>{V(d)&&!m||!(o?d in e:Object.hasOwn(e,d))||!f&&(o?Oe(e,d):Object.getOwnPropertyDescriptor(e,d))?.enumerable===!1||(l[d]=E(e[d]))}),l}function Oe(e,t){let r=e;for(;r!==null;){let o=Object.getOwnPropertyDescriptor(r,t);if(o)return o;r=Object.getPrototypeOf(r)}}function Dr(e){return/^-?(?:0|[1-9]\d*)\.\d+$/.test(e)}function kr(e){return/^(?:0\.0*[1-9]\d*|[1-9]\d*\.\d+)$/.test(e)}function Nr(e){return/^(?:0|[1-9]\d*)\.\d+$/.test(e)}function Pr(e){return/^-(?:0\.0*[1-9]\d*|[1-9]\d*\.\d+)$/.test(e)}function Ir(e){return/^-(?:0|[1-9]\d*)\.\d+$/.test(e)}function Fr(e){return/^-?(?:0|[1-9]\d*)$/.test(e)}function Wr(e){return/^[1-9]\d*$/.test(e)}function ie(e){return/^(?:0|[1-9]\d*)$/.test(e)&&!Object.is(e,-0)}function _r(e){return/^-[1-9]\d*$/.test(e)}function Lr(e){return/^-(?:0|[1-9]\d*)$/.test(e)||Object.is(e,-0)}import Ae from"dayjs";function ae(e,t="YYYY-MM-DD HH:mm:ss"){return Ae(e,t,!0).isValid()}function Vr(e){return/^[^\s@]+@[^\s@][^\s.@]*\.[^\s@]+$/.test(e)}function Xr(e){return e===""}import se from"dayjs";function Zr(e){if(!/^[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!1;let r=e.slice(6,14);return ae(r,"YYYYMMDD")&&se(r,"YYYYMMDD").isBefore(se())}function rn(e){return/^1[3-9]\d{9}$/.test(e)}var sn=e=>{if(!T(e)||!/^-?\d+(?:\.\d+)?$/.test(e))return!1;let r=Number(e);return!(r>Number.MAX_SAFE_INTEGER||r<Number.MIN_SAFE_INTEGER)};function fn(e){return/^https?:\/\/\S+$/i.test(e)}function Mn(e,t){return(!u(e)||!ie(e.toString()))&&c("generateRandomArray","num must be greater than 0"),L(t)||c("generateRandomArray","cb must be a function"),Array.from({length:e},()=>t())}function Nn(){return`#${Math.floor(Math.random()*16777215).toString(16).padStart(6,"0")}`}import F from"dayjs";import je from"dayjs/plugin/customParseFormat.js";function g(e){return e[Math.floor(Math.random()*e.length)]}function b(e={}){u(e)&&(e={max:e});let{min:t=1,max:r=g(Re())}=e;Se(t,r);let o=Math.ceil(t),m=Math.floor(r);return Math.floor(Math.random()*(m-o+1)+o)}function Se(e,t){let r=Math.ceil(e),o=Math.floor(t);Number.isSafeInteger(r)||c("getRandomInt",`The minimum value Math.ceil(${e}) should be a safe integer`),Number.isSafeInteger(o)||c("getRandomInt",`The maximum value Math.floor(${t}) should be a safe integer`),o<r&&(t>=e&&c("getRandomInt",`No integer value found between ${e} and ${t}`),c("getRandomInt",`The maximum value ${t} should be greater than the minimum value ${e}`))}function Re(){return Array.from({length:Number.MAX_SAFE_INTEGER.toString().length}).map((e,t)=>{let r=Number.MAX_SAFE_INTEGER.toString().slice(0,t+1);return Number(r)})}F.extend(je);function ce(e={}){let{start:t="1800-01-01 00:00:00",end:r=F().format(me),format:o=me}=e,m=F(t),f=F(r);(!m.isValid()||!f.isValid())&&c("generateRandomDate","start and end parameters must be valid date format"),m.isAfter(f)&&c("generateRandomDate","start date must be before end date");let l=m.valueOf(),S=f.valueOf(),d=b({min:l,max:S});return F(d).format(o)}var me="YYYY-MM-DD HH:mm:ss";function w(e={}){let t=Ee(e),r=Me(t);De(r);let{length:o}=t;ke(o.min,o.max);let m=b(o),f=t.prefix||"";for(let l=0;l<m;l++)f+=r.charAt(Math.floor(Math.random()*r.length));return f+(t.suffix||"")}var Te=16,v=1;function Ee(e){let t=u(e);return{lowerCase:!0,upperCase:!0,number:!0,...t?{}:e,length:t?{max:e,min:e}:u(e.length)?{max:e.length,min:e.length}:{max:Te,min:v,...e.length},extra:t?[]:[...new Set(j(e.extra||[]))]}}function Me(e){let t="";return e.lowerCase&&(t+="abcdefghijklmnopqrstuvwxyz"),e.upperCase&&(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZ"),e.number&&(t+="0123456789"),t+=j(e.extra).join(""),t}function De(e){e.length===0&&c("getRandomString","At least one character set (lowercase, uppercase, number) must be enabled or extra characters provided")}function ke(e,t){Number.isInteger(e)||c("getRandomString","min must be an integer"),Number.isInteger(t)||c("getRandomString","max must be an integer"),e<v&&c("getRandomString",`Minimum length cannot be less than ${v}`),t<e&&c("getRandomString","Maximum length cannot be less than minimum length")}function ro(){let e=["gmail.com","outlook.com","yahoo.com","qq.com","163.com","hotmail.com"],t=b({min:5,max:10}),r=w({length:t,lowerCase:!0,upperCase:!1,number:!0}),o=g(e);return`${r}@${o}`}function so(e={}){u(e)&&(e={max:e});let{min:t=0,max:r=1,fractionDigits:o=2}=e;if((!u(t)||!u(r))&&c("generateRandomFloat",'"min" and "max" must be numbers'),(!Number.isInteger(o)||o<0)&&c("generateRandomFloat",'"fractionDigits" must be a non-negative integer'),t===r)return Number(t.toFixed(o));t>r&&c("generateRandomFloat",`"max" (${r}) must be greater than "min" (${t})`);let m=Math.random()*(r-t)+t;return Number(m.toFixed(o))}function K(e,t){(!u(e)||e<=0)&&c("generateRandomStringFromSource",'"num" must be greater than 0'),(!x(t)||t.length===0)&&c("generateRandomStringFromSource",'"source" must be a non-empty array');let r="";for(let o=0;o<e;o++)r+=g(t);return r}function ho(){let e=b({min:1e5,max:999999}),t=[0,1,2,3,4,5,6,7,8,9];return[e,ce({format:"YYYYMMDD"}),K(3,t),K(1,[...t,"X","x"])].join("")}function Ro(){return g(["13","14","15","16","17","18","19"])+b(999999999).toString().padEnd(9,"0")}function ko(){let e=["http://","https://"],t=[".com",".net",".org",".cn",".top"],r=[`?name=${w({length:{min:4,max:8}})}`,`?id=${b()}`,`?page=${w({length:{min:2,max:4}})}`,`?query=${w({length:{min:5,max:6}})}`,`?search=${w({length:{min:1,max:4}})}`,`?token=${w({length:{min:16,max:16}})}`];return`${g(e)}${w({length:{min:5,max:25}})}${g(t)}${g(r)}`}export{Y as UtilsError,at as base64Decode,it as base64Encode,j as castArray,ct as compose,ft as composeRight,lt as debounce,jt as debugWarn,ot as decimalToBinary,E as deepClone,Ot as deepMerge,Mn as generateRandomArray,Nn as generateRandomColor,ce as generateRandomDate,ro as generateRandomEmail,so as generateRandomFloat,ho as generateRandomIdCard,Ro as generateRandomMobilePhone,K as generateRandomStringFromSource,b as getRandomInt,g as getRandomItem,w as getRandomString,ko as getRandomUrl,Ye as hasChanged,mr as hasCircularReference,J as isArguments,x as isArray,U as isBoolean,H as isDate,ae as isDateString,Le as isDef,Vr as isEmail,Xr as isEmptyString,We as isFiniteNumber,Dr as isFloat,L as isFunction,Zr as isIdCard,Fr as isInteger,z as isMap,rn as isMobilePhone,Pr as isNegativeFloat,_r as isNegativeInteger,ee as isNil,Nr as isNonNegativeFloat,ie as isNonNegativeInteger,Ir as isNonPositiveFloat,Lr as isNonPositiveInteger,_e as isNull,u as isNumber,P as isObject,_ as isObjectLike,h as isPlainObject,kr as isPositiveFloat,Wr as isPositiveInteger,Z as isPromise,Q as isRegExp,G as isSet,T as isString,sn as isStringNumber,V as isSymbol,fn as isURL,I as isUndef,X as isWeakMap,q as isWeakSet,C as log,de as objectToString,dr as omit,wr as pick,ye as qs,Ct as throttle,c as throwError,y as toTypeString,Fe as toTypeValue,Ut as withRetry};
2
+ function P(e){let t=typeof e;return e!==null&&(t==="object"||t==="function")}function _(e){return e!==null&&typeof e=="object"}var de=Object.prototype.toString,x=e=>de.call(e),Fe=e=>x(e).slice(8,-1),T=e=>typeof e=="string",u=e=>typeof e=="number",We=e=>typeof e=="number"&&Number.isFinite(e),U=e=>typeof e=="boolean",_e=e=>e===null,I=e=>e===void 0,V=e=>typeof e=="symbol",y=Array.isArray,L=e=>typeof e=="function",z=e=>x(e)==="[object Map]",G=e=>x(e)==="[object Set]",X=e=>x(e)==="[object WeakMap]",q=e=>x(e)==="[object WeakSet]",H=e=>x(e)==="[object Date]",Q=e=>x(e)==="[object RegExp]",J=e=>x(e)==="[object Arguments]",Z=e=>_(e)&&L(e?.then)&&L(e?.catch),ee=e=>e==null,Le=e=>e!=null,Ye=(e,t)=>e!==t;function h(e){return x(e)==="[object Object]"}function j(e){return y(e)?e:[e]}function ot(e){let t=[],r,o="";for(;e>0;)r=Math.floor(e%2),t.push(r),e=Math.floor(e/2);for(;t.length>0;)o+=t.pop().toString();return o}var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function it(e){let t="",r="";for(let m=0;m<e.length;m++)r+=e[m].charCodeAt(0).toString(2).padStart(8,"0");for(let m=0;m<r.length;m+=6)t+=te[Number.parseInt(r.slice(m,m+6).padEnd(6,"0"),2)];let o=t.length%4;return o!==0&&(t+="=".repeat(4-o)),t}function at(e){let t="",r="";for(let o=0;o<e.length&&e[o]!=="=";o++)r+=te.indexOf(e[o]).toString(2).padStart(6,"0");for(let o=0;o<r.length;o+=8){let m=Number.parseInt(r.slice(o,o+8),2);m&&(t+=String.fromCharCode(m))}return t}function ct(...e){return e.reduce((t,r)=>function(...o){return r(t(...o))})}function ft(...e){return e.reduce((t,r)=>function(...o){return t(r(...o))})}function lt(e,t=500){let r=null;return function(...o){r&&clearTimeout(r),r=setTimeout(()=>{e.apply(this,o)},t)}}function E(e){let t=new WeakMap,r=[{predicate:H,handler:l},{predicate:Q,handler:S},{predicate:z,handler:ue},{predicate:G,handler:le},{predicate:Z,handler:d},{predicate:X,handler:M},{predicate:q,handler:O},{predicate:n=>n instanceof Boolean||n instanceof Number||n instanceof String,handler:D},{predicate:n=>n instanceof Error,handler:R},{predicate:n=>typeof Node<"u"&&n instanceof Node,handler:A},{predicate:J,handler:W},{predicate:n=>n instanceof ArrayBuffer,handler:v},{predicate:n=>n instanceof DataView,handler:fe},{predicate:n=>ArrayBuffer.isView(n),handler:pe}];function o(n){if(!_(n))return n;if(t.has(n))return t.get(n);for(let p of r)if(p.predicate(n))return p.handler(n);let s=y(n)?Object.setPrototypeOf([],Object.getPrototypeOf(n)):Object.create(Object.getPrototypeOf(n));return t.set(n,s),f(n,s),s}function m(n,s){let p=Object.getOwnPropertyDescriptors(n);for(let k of Reflect.ownKeys(p)){let N=p[k];N.get||N.set?Object.defineProperty(s,k,N):Object.defineProperty(s,k,{...N,value:o(N.value)})}}function f(n,s){m(n,s),ge(n,s)}function l(n){let s=new Date(n);return t.set(n,s),f(n,s),s}function S(n){let s=new RegExp(n.source,n.flags);return s.lastIndex=n.lastIndex,t.set(n,s),f(n,s),s}function d(n){return n}function M(){return new WeakMap}function O(){return new WeakSet}function D(n){let s=n.valueOf(),p=new Object(s);return t.set(n,p),m(n,p),p}function R(n){let s=new n.constructor(n.message);return t.set(n,s),m(n,s),s}function A(n){return{}}function W(n){let s=Object.create(Object.getPrototypeOf(n));return t.set(n,s),f(n,s),s}function v(n){let s=new n.constructor(n.byteLength);return new Uint8Array(s).set(new Uint8Array(n)),t.set(n,s),s}function fe(n){let s=o(n.buffer),p=new DataView(s,n.byteOffset,n.byteLength);return t.set(n,p),p}function pe(n){let s=new n.constructor(n);return t.set(n,s),s}function ue(n){let s=new Map;return t.set(n,s),n.forEach((p,k)=>s.set(o(k),o(p))),f(n,s),s}function le(n){let s=new Set;return t.set(n,s),n.forEach(p=>s.add(o(p))),f(n,s),s}return o(e)}function ge(e,t){Object.isFrozen(e)?Object.freeze(t):Object.isSealed(e)?Object.seal(t):Object.isExtensible(e)||Object.preventExtensions(t)}function Ot(e,t,r={}){return ne(re(e,r),re(t,r),r)}function ne(e,t,r){return y(e)?ye(e,t,r):be(e,t,r)}function be(e,t,r){if(!h(t))return t;let o=Object.getOwnPropertyDescriptors(t);return Reflect.ownKeys(t).forEach(m=>{(h(e[m])||y(e[m]))&&(h(t[m])||y(t[m]))?e[m]=ne(e[m],t[m],r):Object.defineProperty(e,m,o[m])}),e}function ye(e,t,r){let{mergeStrategy:o="replace"}=r;if(y(t))switch(o){case"merge":return e.concat(t);case"replace":return t;default:return t}return t}function re(e,t){let{deepClone:r=!0}=t;return r?E(e):e}var Y=class extends Error{constructor(t,r="Utils"){super(t),this.name=r}};function c(e,t){throw new Y(`[${e}] ${t}`)}function jt(e,t){let r=T(e)?new Y(`[${e}] ${t}`,"UtilsWarn"):e;console.warn(r)}var $=(e,t,...r)=>{if(!t)return;let o=r.length===0?"":r.length===1?r[0]:r;console[e](`[Log] ${t}${r.length===0?"":":"}`,o)},C=(e,...t)=>{$("info",e,...t)};C.info=(e,...t)=>{$("info",e,...t)};C.warn=(e,...t)=>{$("warn",e,...t)};C.error=(e,...t)=>{$("error",e,...t)};typeof globalThis<"u"&&(globalThis.lntvowSetLogImpl=e=>$=e);var xe={stringify:e=>(P(e)||c("stringify","Input must be an object"),new URLSearchParams(e).toString()),parse:e=>(T(e)||c("parse","Input must be a string"),Object.fromEntries(new URLSearchParams(e).entries())),appendQueryString:(e,t)=>{let r=xe.stringify(t);return e.includes("?")?e.endsWith("?")||e.endsWith("&")?`${e}${r}`:`${e}&${r}`:`${e}?${r}`}};function Ct(e,t=500){let r=null;return function(...o){if(ee(r))return r=Date.now(),e.apply(this,o);let m=Date.now();if(m-r>=t)return r=m,e.apply(this,o)}}function Ut(e){he(e);let{fn:t,maxAttempts:r=3,retryDelay:o=1e3,enableExponentialBackoff:m=!1,signal:f}=e,l,S=f?new Promise((M,O)=>{let D=()=>O(oe());f.addEventListener("abort",D),l=()=>f.removeEventListener("abort",D)}):null;return new Promise((M,O)=>{(async()=>{for(let R=1;R<=r;R++){if(f?.aborted)return O(oe());try{let A=await Promise.race(S?[t(),S]:[t()]);return M(A)}catch(A){let W=m?o*2**(R-1):o;if(C("withRetry",`Attempt ${R}/${r} failed. Retrying in ${W}ms...`),A instanceof Error&&A.name==="AbortError"||R===r)return O(A);await new Promise(v=>setTimeout(v,W))}}})()}).finally(()=>l?.())}function he(e){h(e)||c("withRetry",'"Options" must be an object'),typeof e.fn!="function"&&c("withRetry",'"fn" must be a function that returns a Promise'),!I(e.maxAttempts)&&(!Number.isInteger(e.maxAttempts)||e.maxAttempts<1)&&c("withRetry",'"maxAttempts" must be a positive integer'),!I(e.retryDelay)&&(!u(e.retryDelay)||e.retryDelay<0)&&c("withRetry",'"retryDelay" must be a non-negative number'),!I(e.enableExponentialBackoff)&&!U(e.enableExponentialBackoff)&&c("withRetry",'"enableExponentialBackoff" must be a boolean'),!I(e.signal)&&typeof e.signal!="object"&&c("withRetry",'"signal" must be an AbortSignal')}var we="The operation was aborted";function oe(e=we){let t=new Error(e);return t.name="AbortError",t}function mr(e){P(e)||c("hasCircularReference",'"obj" must be a object');let t=new Set;function r(o){if(P(o)){if(t.has(o))return!0;t.add(o);for(let m of Object.keys(o))if(r(o[m]))return!0;t.delete(o)}return!1}return r(e)}function dr(e,t){if(!h(e))return{};let r=E(e),o=j(t);for(let m of o)Reflect.deleteProperty(r,m);return r}function wr(e,t,r={}){let{includeProto:o=!1,includeSymbols:m=!0,includeNonEnum:f=!1}=r,l={};return h(e)&&j(t).forEach(d=>{V(d)&&!m||!(o?d in e:Object.hasOwn(e,d))||!f&&(o?Oe(e,d):Object.getOwnPropertyDescriptor(e,d))?.enumerable===!1||(l[d]=E(e[d]))}),l}function Oe(e,t){let r=e;for(;r!==null;){let o=Object.getOwnPropertyDescriptor(r,t);if(o)return o;r=Object.getPrototypeOf(r)}}function Dr(e){return/^-?(?:0|[1-9]\d*)\.\d+$/.test(e)}function kr(e){return/^(?:0\.0*[1-9]\d*|[1-9]\d*\.\d+)$/.test(e)}function Nr(e){return/^(?:0|[1-9]\d*)\.\d+$/.test(e)}function Pr(e){return/^-(?:0\.0*[1-9]\d*|[1-9]\d*\.\d+)$/.test(e)}function Ir(e){return/^-(?:0|[1-9]\d*)\.\d+$/.test(e)}function Fr(e){return/^-?(?:0|[1-9]\d*)$/.test(e)}function Wr(e){return/^[1-9]\d*$/.test(e)}function ie(e){return/^(?:0|[1-9]\d*)$/.test(e)&&!Object.is(e,-0)}function _r(e){return/^-[1-9]\d*$/.test(e)}function Lr(e){return/^-(?:0|[1-9]\d*)$/.test(e)||Object.is(e,-0)}import Ae from"dayjs";function ae(e,t="YYYY-MM-DD HH:mm:ss"){return Ae(e,t,!0).isValid()}function Vr(e){return/^[^\s@]+@[^\s@][^\s.@]*\.[^\s@]+$/.test(e)}function Xr(e){return e===""}import se from"dayjs";function Zr(e){if(!/^[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!1;let r=e.slice(6,14);return ae(r,"YYYYMMDD")&&se(r,"YYYYMMDD").isBefore(se())}function rn(e){return/^1[3-9]\d{9}$/.test(e)}var sn=e=>{if(!T(e)||!/^-?\d+(?:\.\d+)?$/.test(e))return!1;let r=Number(e);return!(r>Number.MAX_SAFE_INTEGER||r<Number.MIN_SAFE_INTEGER)};function fn(e){return/^https?:\/\/\S+$/i.test(e)}function Mn(e,t){return(!u(e)||!ie(e.toString()))&&c("generateRandomArray","num must be greater than 0"),L(t)||c("generateRandomArray","cb must be a function"),Array.from({length:e},()=>t())}function Nn(){return`#${Math.floor(Math.random()*16777215).toString(16).padStart(6,"0")}`}import F from"dayjs";import je from"dayjs/plugin/customParseFormat.js";function g(e){return e[Math.floor(Math.random()*e.length)]}function b(e={}){u(e)&&(e={max:e});let{min:t=1,max:r=g(Re())}=e;Se(t,r);let o=Math.ceil(t),m=Math.floor(r);return Math.floor(Math.random()*(m-o+1)+o)}function Se(e,t){let r=Math.ceil(e),o=Math.floor(t);Number.isSafeInteger(r)||c("getRandomInt",`The minimum value Math.ceil(${e}) should be a safe integer`),Number.isSafeInteger(o)||c("getRandomInt",`The maximum value Math.floor(${t}) should be a safe integer`),o<r&&(t>=e&&c("getRandomInt",`No integer value found between ${e} and ${t}`),c("getRandomInt",`The maximum value ${t} should be greater than the minimum value ${e}`))}function Re(){return Array.from({length:Number.MAX_SAFE_INTEGER.toString().length}).map((e,t)=>{let r=Number.MAX_SAFE_INTEGER.toString().slice(0,t+1);return Number(r)})}F.extend(je);function ce(e={}){let{start:t="1800-01-01 00:00:00",end:r=F().format(me),format:o=me}=e,m=F(t),f=F(r);(!m.isValid()||!f.isValid())&&c("generateRandomDate","start and end parameters must be valid date format"),m.isAfter(f)&&c("generateRandomDate","start date must be before end date");let l=m.valueOf(),S=f.valueOf(),d=b({min:l,max:S});return F(d).format(o)}var me="YYYY-MM-DD HH:mm:ss";function w(e={}){let t=Ee(e),r=Me(t);De(r);let{length:o}=t;ke(o.min,o.max);let m=b(o),f=t.prefix||"";for(let l=0;l<m;l++)f+=r.charAt(Math.floor(Math.random()*r.length));return f+(t.suffix||"")}var Te=16,B=1;function Ee(e){let t=u(e);return{lowerCase:!0,upperCase:!0,number:!0,...t?{}:e,length:t?{max:e,min:e}:u(e.length)?{max:e.length,min:e.length}:{max:Te,min:B,...e.length},extra:t?[]:[...new Set(j(e.extra||[]))]}}function Me(e){let t="";return e.lowerCase&&(t+="abcdefghijklmnopqrstuvwxyz"),e.upperCase&&(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZ"),e.number&&(t+="0123456789"),t+=j(e.extra).join(""),t}function De(e){e.length===0&&c("getRandomString","At least one character set (lowercase, uppercase, number) must be enabled or extra characters provided")}function ke(e,t){Number.isInteger(e)||c("getRandomString","min must be an integer"),Number.isInteger(t)||c("getRandomString","max must be an integer"),e<B&&c("getRandomString",`Minimum length cannot be less than ${B}`),t<e&&c("getRandomString","Maximum length cannot be less than minimum length")}function ro(){let e=["gmail.com","outlook.com","yahoo.com","qq.com","163.com","hotmail.com"],t=b({min:5,max:10}),r=w({length:t,lowerCase:!0,upperCase:!1,number:!0}),o=g(e);return`${r}@${o}`}function so(e={}){u(e)&&(e={max:e});let{min:t=0,max:r=1,fractionDigits:o=2}=e;if((!u(t)||!u(r))&&c("generateRandomFloat",'"min" and "max" must be numbers'),(!Number.isInteger(o)||o<0)&&c("generateRandomFloat",'"fractionDigits" must be a non-negative integer'),t===r)return Number(t.toFixed(o));t>r&&c("generateRandomFloat",`"max" (${r}) must be greater than "min" (${t})`);let m=Math.random()*(r-t)+t;return Number(m.toFixed(o))}function K(e,t){(!u(e)||e<=0)&&c("generateRandomStringFromSource",'"num" must be greater than 0'),(!y(t)||t.length===0)&&c("generateRandomStringFromSource",'"source" must be a non-empty array');let r="";for(let o=0;o<e;o++)r+=g(t);return r}function ho(){let e=b({min:1e5,max:999999}),t=[0,1,2,3,4,5,6,7,8,9];return[e,ce({format:"YYYYMMDD"}),K(3,t),K(1,[...t,"X","x"])].join("")}function Ro(){return g(["13","14","15","16","17","18","19"])+b(999999999).toString().padEnd(9,"0")}function ko(){let e=["http://","https://"],t=[".com",".net",".org",".cn",".top"],r=[`?name=${w({length:{min:4,max:8}})}`,`?id=${b()}`,`?page=${w({length:{min:2,max:4}})}`,`?query=${w({length:{min:5,max:6}})}`,`?search=${w({length:{min:1,max:4}})}`,`?token=${w({length:{min:16,max:16}})}`];return`${g(e)}${w({length:{min:5,max:25}})}${g(t)}${g(r)}`}export{Y as UtilsError,at as base64Decode,it as base64Encode,j as castArray,ct as compose,ft as composeRight,lt as debounce,jt as debugWarn,ot as decimalToBinary,E as deepClone,Ot as deepMerge,Mn as generateRandomArray,Nn as generateRandomColor,ce as generateRandomDate,ro as generateRandomEmail,so as generateRandomFloat,ho as generateRandomIdCard,Ro as generateRandomMobilePhone,K as generateRandomStringFromSource,b as getRandomInt,g as getRandomItem,w as getRandomString,ko as getRandomUrl,Ye as hasChanged,mr as hasCircularReference,J as isArguments,y as isArray,U as isBoolean,H as isDate,ae as isDateString,Le as isDef,Vr as isEmail,Xr as isEmptyString,We as isFiniteNumber,Dr as isFloat,L as isFunction,Zr as isIdCard,Fr as isInteger,z as isMap,rn as isMobilePhone,Pr as isNegativeFloat,_r as isNegativeInteger,ee as isNil,Nr as isNonNegativeFloat,ie as isNonNegativeInteger,Ir as isNonPositiveFloat,Lr as isNonPositiveInteger,_e as isNull,u as isNumber,P as isObject,_ as isObjectLike,h as isPlainObject,kr as isPositiveFloat,Wr as isPositiveInteger,Z as isPromise,Q as isRegExp,G as isSet,T as isString,sn as isStringNumber,V as isSymbol,fn as isURL,I as isUndef,X as isWeakMap,q as isWeakSet,C as log,de as objectToString,dr as omit,wr as pick,xe as qs,Ct as throttle,c as throwError,x as toTypeString,Fe as toTypeValue,Ut as withRetry};
3
3
  /* v8 ignore if -- @preserve */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lntvow/utils",
3
- "version": "5.1.1",
3
+ "version": "5.1.2",
4
4
  "type": "module",
5
5
  "description": "TypeScript utilities",
6
6
  "keywords": [