full-utils 3.0.4 → 3.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- export { JSONLike, JsonLike, PasswordOptions, TimeParts, UniqueDeepOptions, arrFuncArgs, arrReplaceTemplate, arrSplitBatches, arrUniqueDeep, boolNormalize, dateFloorMin, datePartsSec, dateSecParts, dateStr, env, ipNumStr, ipStrNum, isArr, isArrFilled, isBool, isClass, isDate, isEmail, isExists, isFunc, isIpAddr, isMacAddr, isNum, isNumFloat, isNumN, isNumNZ, isNumP, isNumPZ, isObj, isObjFilled, isPassword, isPhone, isStr, isStrAscDesc, isStrBool, isStrFilled, isVar, jsonDecode, jsonEncode, jsonParse, jsonStrLike, numNormalize, strLowerCase, strNormalCase, strNormalize, strNull, strPhone, strTrim, strUndefined, urlDecode, urlObj, wait } from './index.cjs';
1
+ export { JSONLike, JsonLike, PasswordOptions, TimeParts, UniqueDeepOptions, arrFuncArgs, arrReplaceTemplate, arrSplitBatches, arrUniqueDeep, boolNormalize, dateFloorMin, datePartsSec, dateSecParts, dateStr, env, ipNumStr, ipStrNum, isArr, isArrFilled, isBool, isClass, isDate, isEmail, isExists, isFunc, isIpAddr, isMacAddr, isNum, isNumFloat, isNumN, isNumNZ, isNumP, isNumPZ, isObj, isObjFilled, isObjFlat, isPassword, isPhone, isStr, isStrAscDesc, isStrBool, isStrFilled, isVar, jsonDecode, jsonEncode, jsonParse, jsonStrLike, numNormalize, strLowerCase, strNormalCase, strNormalize, strNull, strPhone, strTrim, strUndefined, urlDecode, urlObj, wait } from './index.cjs';
package/dist/browser.d.ts CHANGED
@@ -1 +1 @@
1
- export { JSONLike, JsonLike, PasswordOptions, TimeParts, UniqueDeepOptions, arrFuncArgs, arrReplaceTemplate, arrSplitBatches, arrUniqueDeep, boolNormalize, dateFloorMin, datePartsSec, dateSecParts, dateStr, env, ipNumStr, ipStrNum, isArr, isArrFilled, isBool, isClass, isDate, isEmail, isExists, isFunc, isIpAddr, isMacAddr, isNum, isNumFloat, isNumN, isNumNZ, isNumP, isNumPZ, isObj, isObjFilled, isPassword, isPhone, isStr, isStrAscDesc, isStrBool, isStrFilled, isVar, jsonDecode, jsonEncode, jsonParse, jsonStrLike, numNormalize, strLowerCase, strNormalCase, strNormalize, strNull, strPhone, strTrim, strUndefined, urlDecode, urlObj, wait } from './index.js';
1
+ export { JSONLike, JsonLike, PasswordOptions, TimeParts, UniqueDeepOptions, arrFuncArgs, arrReplaceTemplate, arrSplitBatches, arrUniqueDeep, boolNormalize, dateFloorMin, datePartsSec, dateSecParts, dateStr, env, ipNumStr, ipStrNum, isArr, isArrFilled, isBool, isClass, isDate, isEmail, isExists, isFunc, isIpAddr, isMacAddr, isNum, isNumFloat, isNumN, isNumNZ, isNumP, isNumPZ, isObj, isObjFilled, isObjFlat, isPassword, isPhone, isStr, isStrAscDesc, isStrBool, isStrFilled, isVar, jsonDecode, jsonEncode, jsonParse, jsonStrLike, numNormalize, strLowerCase, strNormalCase, strNormalize, strNull, strPhone, strTrim, strUndefined, urlDecode, urlObj, wait } from './index.js';
package/dist/browser.mjs CHANGED
@@ -1,2 +1,2 @@
1
- function X(n){if(!u(n))return [n];let t=n.trim();if(t==="")return [];if(t.startsWith("[")&&t.endsWith("]")&&(t=t.slice(1,-1).trim(),t===""))return [];let r="",e=false,i=null,o=false,s=0,c=0,m=0,y=[],x=()=>{let l=r.trim();l!==""&&y.push(l),r="";};for(let l=0;l<t.length;l++){let f=t[l];if(e){if(r+=f,o){o=false;continue}if(f==="\\"){o=true;continue}f===i&&(e=false,i=null);continue}if(f==='"'||f==="'"){e=true,i=f,r+=f;continue}if(f==="("){s++,r+=f;continue}if(f===")"){s=Math.max(0,s-1),r+=f;continue}if(f==="["){c++,r+=f;continue}if(f==="]"){c=Math.max(0,c-1),r+=f;continue}if(f==="{"){m++,r+=f;continue}if(f==="}"){m=Math.max(0,m-1),r+=f;continue}if(f===","&&s===0&&c===0&&m===0){x();continue}r+=f;}return r.length&&x(),y.map(l=>{if(l.startsWith("$")&&l.includes("(")&&l.endsWith(")"))return l;if(l==="null")return null;if(l==="undefined")return;if(P(l))return D(l);let f=O(l);if(Number.isFinite(f))return f;if(l==="Infinity")return 1/0;if(l==="-Infinity")return -1/0;let d=String(l||"");if(d.length>=2&&(d.startsWith("'")&&d.endsWith("'")||d.startsWith('"')&&d.endsWith('"')))return d.slice(1,-1).replace(/\\\\/g,"\\").replace(/\\'/g,"'").replace(/\\"/g,'"');if(d.startsWith("{")&&d.endsWith("}")||d.startsWith("[")&&d.endsWith("]"))try{return A(d)}catch{}return d})}function nn(n,t){if(!Number.isInteger(t)||t<=0)return [];let r=[],e=0;for(;e<n.length;)r.push(n.slice(e,e+t)),e+=t;return r}function j(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function U(n){return n==null||typeof n!="object"||n instanceof Date}function B(n,t){return Array.isArray(n)?Array.isArray(t)?t:[t]:t}function N(n,t){if(n==null)return n;if(U(t))return B(n,t);if(Array.isArray(n))return n.map(i=>N(i,t));if(!j(n)||!j(t))return n;let r={...n},e=false;for(let i of Object.keys(t)){if(!(i in n))continue;let o=N(n[i],t[i]);o!==n[i]&&(r[i]=o,e=true);}return e?r:n}function rn(n,t){return N(n,t)}function Z(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)&&!(n instanceof Date)}function V(n){let t=new WeakSet,r=e=>{if(e===null)return "null";let i=typeof e;if(i==="string")return JSON.stringify(e);if(i==="number")return Number.isNaN(e)?'"__NaN__"':String(e);if(i==="boolean")return e?"true":"false";if(i==="undefined")return '"__undefined__"';if(i==="bigint")return `"__bigint__:${String(e)}"`;if(i==="function")return '"__function__"';if(e instanceof Date)return `"__date__:${e.toISOString()}"`;if(Array.isArray(e))return "["+e.map(r).join(",")+"]";if(i==="object"&&e){let o=e;return t.has(o)?'"__circular__"':(t.add(o),"{"+Object.keys(o).sort().map(m=>JSON.stringify(m)+":"+r(o[m])).join(",")+"}")}return JSON.stringify(String(e))};return r(n)}function Q(n){if(n===null)return "null";let t=typeof n;return t==="string"?"s:"+n:t==="number"?"n:"+(Number.isNaN(n)?"__NaN__":n):t==="boolean"?"b:"+n:t==="undefined"?"u:":t==="bigint"?"bi:"+String(n):n instanceof Date?"d:"+n.toISOString():"o:"+V(n)}function on(n,t){let r=t?.keyFn??Q,e=i=>{if(Array.isArray(i)){let o=i.map(e),s=new Set,c=[];for(let m of o){let y=r(m);s.has(y)||(s.add(y),c.push(m));}return c}if(Z(i)){let o={};for(let s of Object.keys(i))o[s]=e(i[s]);return o}return i};return e(n)}function D(n){switch(true){case b(n):return n;case w(n):return true;case _(n):return false;case(a(n)&&["true","1","yes","on"].includes(String(n??"").trim().toLowerCase())):return true;case(a(n)&&["false","0","no","off"].includes(String(n??"").trim().toLowerCase())):return false}return false}async function an(n=0){await new Promise(t=>setTimeout(()=>t(true),n));}function ln(n){return process.env[n]}function pn(n=1,t=new Date){let r=Math.min(60,Math.max(1,Math.trunc(Math.abs(n)))),e=t.getMinutes(),i=Math.floor(e/r)*r,o=new Date(t);return o.setMinutes(i,0,0),o}function gn(n=new Date){let t=m=>String(m).padStart(2,"0"),r=n.getFullYear(),e=t(n.getMonth()+1),i=t(n.getDate()),o=t(n.getHours()),s=t(n.getMinutes()),c=t(n.getSeconds());return `${r}-${e}-${i} ${o}:${s}:${c}`}function xn(n){let{days:t=0,hours:r=0,minutes:e=0,seconds:i=0}=n;return t*86400+r*3600+e*60+i}function kn(n){if(!Number.isFinite(n)||n<0)throw new Error("Invalid total seconds");let t=Math.floor(n/86400),r=Math.floor(n%86400/3600),e=Math.floor(n%3600/60),i=n%60;return {days:t,hours:r,minutes:e,seconds:i}}function wn(n){let t=n.split(".").map(o=>Number(o));if(t.length!==4||t.some(o=>!Number.isInteger(o)||o<0||o>255))throw new Error("Invalid IPv4 address");let r=new ArrayBuffer(4),e=new DataView(r),i=0;for(;i<4;)e.setUint8(i,t[i]),i++;return e.getUint32(0,false)}function Fn(n){if(!w(n))return "";let t=new ArrayBuffer(4),r=new DataView(t);r.setUint32(0,n,false);let e=[],i=0;for(;i<4;)e.push(r.getUint8(i)),i++;return e.join(".")}function h(n){return Array.isArray(n)}function I(n){return h(n)&&n.length>0}function b(n){return typeof n=="boolean"}function In(n){if(n instanceof Date)return !Number.isNaN(n.getTime());if(u(n)||p(n)){let t=new Date(n);return !Number.isNaN(t.getTime())}return false}var q=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z]{2,})+$/;function Wn(n){return a(n)?q.test(n):false}function Jn(n){return n!=null}function $(n){return typeof n=="function"}var K=/^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/;function zn(n){if(!u(n))return false;let t=n.trim();return K.test(t)}function Zn(n){return u(n)&&/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/.test(n)}function p(n){return typeof n=="number"&&Number.isFinite(n)}function Kn(n){return p(n)&&!Number.isInteger(n)}function Gn(n){return p(n)&&n<0}function _(n){return p(n)&&n<=0}function w(n){return p(n)&&n>0}function L(n){return p(n)&&n>=0}function k(n){return typeof n=="object"&&n!==null&&Object.prototype.toString.call(n)==="[object Object]"&&!Array.isArray(n)}function W(n){return k(n)&&Object.keys(n).length>0}function at(n,{minLength:t=8,maxLength:r=256,requireUppercase:e=true,requireLowercase:i=true,requireDigit:o=true,requireSpecial:s=true}={}){return !(!u(n)||n.length<t||n.length>r||e&&!/[A-ZА-Я]/.test(n)||i&&!/[a-zа-я]/.test(n)||o&&!/\d/.test(n)||s&&!/[~!?@#$%^&*_\-+()\[\]{}><\\\/|"'.,:;=]/.test(n))}function mt(n){if(!a(n)&&!p(n))return false;let t=String(n).trim();return !(t.startsWith("-")||(t.match(/\+/g)||[]).length>1||t.includes("+")&&!t.startsWith("+")||!/^\+?[0-9-]+$/.test(t)||t.length<3||t.length>20||!/[0-9]$/.test(t)||t.includes("--"))}function u(n){return typeof n=="string"}function P(n){if(!a(n))return false;let t=n.trim().toLowerCase();return t==="true"||t==="false"}function a(n){return u(n)&&n.trim().length>0}function bt(n){if(!a(n))return false;let t=n.trim().toLowerCase();return t==="asc"||t==="desc"}function Nt(n){return u(n)&&/^[A-Za-z_][A-Za-z0-9_]*$/.test(n)}function Dt(n){return $(n)&&/^class\s/.test(Function.prototype.toString.call(n))}var H=/^(['"`])([\s\S]*)\1$/;function S(n,t){let r=n.trim(),e=E(r);if(e.ok)return e.value;let i=H.exec(r);return i?i[2]:t?r:null}function E(n){try{return {ok:!0,value:JSON.parse(n)}}catch{}return {ok:false}}function A(n,t=false){if(n===null||p(n)||b(n))return n;if(I(n)){let r=n,e=[];for(let i of r)a(i)?e.push(S(String(i),t)):e.push(i);return e}if(W(n)){let r=n,e={};for(let i of Object.keys(r)){let o=r[i];a(o)?e[i]=S(String(o),t):e[i]=o;}return e}return h(n)||k(n)?n:a(n)?S(String(n),t):null}function Et(n){try{return k(n)||h(n)?JSON.stringify(n):""}catch{}return ""}function J(n){let t=n.sign<0?"-":"",r=n.digitsInteger.toString();if(n.scale===0)return t+r;let e=n.scale-r.length;if(e>=0)return t+"0."+"0".repeat(e)+r;let i=r.length-n.scale,o=r.slice(0,i),s=r.slice(i);return t+o+"."+s}function R(n){return Number(J(n))}function T(n,t){let r=/^([0-9]+)(?:\.([0-9]*))?e([+\-]?[0-9]+)$/i.exec((()=>{let[o,s]=t.split(/e/i),[c,m=""]=o.split("."),y=c.replace(/^0+/,"")+m,x=parseInt(s,10)-m.length;return `${y||"0"}e${x}`})());if(!r)throw new Error("Failed to parse exponential notation.");let e=r[1],i=parseInt(r[3],10);if(L(i))return e=e+"0".repeat(i),{sign:n,integerPart:e||"0",fractionalPart:""};{let o=-i;if(o>=e.length){let s="0".repeat(o-e.length);return {sign:n,integerPart:"0",fractionalPart:s+e}}else {let s=e.length-o;return {sign:n,integerPart:e.slice(0,s),fractionalPart:e.slice(s)}}}}function C(n){if(typeof n=="bigint"){let t=n<0n?-1:1,r=(n<0n?-n:n).toString();return {sign:t,integerPart:r,fractionalPart:""}}if(typeof n=="number"){if(!Number.isFinite(n))throw new Error("Input number is not finite.");let t=n<0?-1:1,e=Math.abs(n).toExponential(30);return T(t,e)}if(typeof n=="string"){let t=n.trim().replace(",",".");if(!t)throw new Error("Input string is empty.");let r=1;if((t.startsWith("+")||t.startsWith("-"))&&(r=t.startsWith("-")?-1:1,t=t.slice(1)),/^[0-9]*\.?[0-9]*(e[+\-]?[0-9]+)?$/i.test(t)){if(/e/i.test(t))return T(r,t);let[e="0",i=""]=t.split(".");return {sign:r,integerPart:e,fractionalPart:i}}throw new Error("Invalid numeric string.")}throw new Error("Unsupported input type.")}function F(n){let{sign:t,integerPart:r,fractionalPart:e}=C(n),i=r.replace(/^0+/,"")||"0",o=e.replace(/0+$/,""),s=i+o||"0";return {sign:t,digitsInteger:BigInt(s),scale:o.length}}function M(n,t,r="half-up"){let e=Math.max(0,Math.trunc(t));if(n.scale<=e)return {...n};let i=n.scale-e,o=10n**BigInt(i),s=n.digitsInteger/o,c=n.digitsInteger%o;if(r==="trunc"||c===0n)return {sign:n.sign,digitsInteger:s,scale:e};let m=o/2n,x=c>=m?s+1n:s;return {sign:n.sign,digitsInteger:x,scale:e}}function O(n,t=1,r=false){try{return R(t>1?M(F(n),t,"half-up"):F(n))}catch(e){if(r)throw e}return 0}function z(n){if(!u(n))return "";let t=g(n);return a(t)?t.toLowerCase():""}function tr(n){if(!u(n))return "";let t=z(n);return a(t)?t[0].toUpperCase()+t.slice(1):""}function or(n){return u(n)&&g(n)===""||n===void 0?null:n}function fr(n,t="+7"){if(!u(n))return null;let r=g(n).replace(/[\s\-().]/g,"");return /^00\d{8,15}$/.test(r)?r="+"+r.slice(2):/^\d{10}$/.test(r)?r=t+r:/^\d{9,15}$/.test(r)&&!r.startsWith("0")&&(r="+"+r),/^\+\d{10,15}$/.test(r)?r:null}function g(n,t=""){let r=String(u(n)?n.trim().normalize("NFKC").replace(/[\u200B-\u200D\uFEFF]/g,""):"");return t?r.split(t).filter(e=>!!e).join(t):r}function dr(n){return u(n)&&g(n)===""||n===null?void 0:n}var xr=n=>{if(!u(n))return n;let t=String(g(n)||"");return t===""?null:String(t.toLowerCase()||"").replace(/\s+/g," ").replace(/\t+/g,"").replace(/\n+/g,"")};function kr(n=""){return {}}function Sr(n){if(!a(n))return String(n);let t="____RAW_PERCENT____",r=n.replace(/%(?![0-9A-Fa-f]{2})/g,t),e=new Set(["22","7B","7D","3A","2C","5B","5D","5C"]);return r.replace(/%([0-9A-Fa-f]{2})/g,(o,s)=>{let c=s.toUpperCase();return e.has(c)?decodeURIComponent(`%${c}`):`%${c}`}).split(t).join("%")}export{X as arrFuncArgs,rn as arrReplaceTemplate,nn as arrSplitBatches,on as arrUniqueDeep,D as boolNormalize,pn as dateFloorMin,xn as datePartsSec,kn as dateSecParts,gn as dateStr,ln as env,Fn as ipNumStr,wn as ipStrNum,h as isArr,I as isArrFilled,b as isBool,Dt as isClass,In as isDate,Wn as isEmail,Jn as isExists,$ as isFunc,zn as isIpAddr,Zn as isMacAddr,p as isNum,Kn as isNumFloat,Gn as isNumN,_ as isNumNZ,w as isNumP,L as isNumPZ,k as isObj,W as isObjFilled,at as isPassword,mt as isPhone,u as isStr,bt as isStrAscDesc,P as isStrBool,a as isStrFilled,Nt as isVar,A as jsonDecode,Et as jsonEncode,E as jsonParse,S as jsonStrLike,O as numNormalize,z as strLowerCase,tr as strNormalCase,xr as strNormalize,or as strNull,fr as strPhone,g as strTrim,dr as strUndefined,Sr as urlDecode,kr as urlObj,an as wait};//# sourceMappingURL=browser.mjs.map
1
+ function X(n){if(!u(n))return [n];let t=n.trim();if(t==="")return [];if(t.startsWith("[")&&t.endsWith("]")&&(t=t.slice(1,-1).trim(),t===""))return [];let r="",e=false,i=null,o=false,s=0,c=0,m=0,y=[],k=()=>{let l=r.trim();l!==""&&y.push(l),r="";};for(let l=0;l<t.length;l++){let f=t[l];if(e){if(r+=f,o){o=false;continue}if(f==="\\"){o=true;continue}f===i&&(e=false,i=null);continue}if(f==='"'||f==="'"){e=true,i=f,r+=f;continue}if(f==="("){s++,r+=f;continue}if(f===")"){s=Math.max(0,s-1),r+=f;continue}if(f==="["){c++,r+=f;continue}if(f==="]"){c=Math.max(0,c-1),r+=f;continue}if(f==="{"){m++,r+=f;continue}if(f==="}"){m=Math.max(0,m-1),r+=f;continue}if(f===","&&s===0&&c===0&&m===0){k();continue}r+=f;}return r.length&&k(),y.map(l=>{if(l.startsWith("$")&&l.includes("(")&&l.endsWith(")"))return l;if(l==="null")return null;if(l==="undefined")return;if(A(l))return O(l);let f=_(l);if(Number.isFinite(f))return f;if(l==="Infinity")return 1/0;if(l==="-Infinity")return -1/0;let d=String(l||"");if(d.length>=2&&(d.startsWith("'")&&d.endsWith("'")||d.startsWith('"')&&d.endsWith('"')))return d.slice(1,-1).replace(/\\\\/g,"\\").replace(/\\'/g,"'").replace(/\\"/g,'"');if(d.startsWith("{")&&d.endsWith("}")||d.startsWith("[")&&d.endsWith("]"))try{return j(d)}catch{}return d})}function nn(n,t){if(!Number.isInteger(t)||t<=0)return [];let r=[],e=0;for(;e<n.length;)r.push(n.slice(e,e+t)),e+=t;return r}function I(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function U(n){return n==null||typeof n!="object"||n instanceof Date}function B(n,t){return Array.isArray(n)?Array.isArray(t)?t:[t]:t}function F(n,t){if(n==null)return n;if(U(t))return B(n,t);if(Array.isArray(n))return n.map(i=>F(i,t));if(!I(n)||!I(t))return n;let r={...n},e=false;for(let i of Object.keys(t)){if(!(i in n))continue;let o=F(n[i],t[i]);o!==n[i]&&(r[i]=o,e=true);}return e?r:n}function rn(n,t){return F(n,t)}function Z(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)&&!(n instanceof Date)}function V(n){let t=new WeakSet,r=e=>{if(e===null)return "null";let i=typeof e;if(i==="string")return JSON.stringify(e);if(i==="number")return Number.isNaN(e)?'"__NaN__"':String(e);if(i==="boolean")return e?"true":"false";if(i==="undefined")return '"__undefined__"';if(i==="bigint")return `"__bigint__:${String(e)}"`;if(i==="function")return '"__function__"';if(e instanceof Date)return `"__date__:${e.toISOString()}"`;if(Array.isArray(e))return "["+e.map(r).join(",")+"]";if(i==="object"&&e){let o=e;return t.has(o)?'"__circular__"':(t.add(o),"{"+Object.keys(o).sort().map(m=>JSON.stringify(m)+":"+r(o[m])).join(",")+"}")}return JSON.stringify(String(e))};return r(n)}function Q(n){if(n===null)return "null";let t=typeof n;return t==="string"?"s:"+n:t==="number"?"n:"+(Number.isNaN(n)?"__NaN__":n):t==="boolean"?"b:"+n:t==="undefined"?"u:":t==="bigint"?"bi:"+String(n):n instanceof Date?"d:"+n.toISOString():"o:"+V(n)}function on(n,t){let r=t?.keyFn??Q,e=i=>{if(Array.isArray(i)){let o=i.map(e),s=new Set,c=[];for(let m of o){let y=r(m);s.has(y)||(s.add(y),c.push(m));}return c}if(Z(i)){let o={};for(let s of Object.keys(i))o[s]=e(i[s]);return o}return i};return e(n)}function O(n){switch(true){case h(n):return n;case w(n):return true;case $(n):return false;case(a(n)&&["true","1","yes","on"].includes(String(n??"").trim().toLowerCase())):return true;case(a(n)&&["false","0","no","off"].includes(String(n??"").trim().toLowerCase())):return false}return false}async function an(n=0){await new Promise(t=>setTimeout(()=>t(true),n));}function ln(n){return process.env[n]}function pn(n=1,t=new Date){let r=Math.min(60,Math.max(1,Math.trunc(Math.abs(n)))),e=t.getMinutes(),i=Math.floor(e/r)*r,o=new Date(t);return o.setMinutes(i,0,0),o}function gn(n=new Date){let t=m=>String(m).padStart(2,"0"),r=n.getFullYear(),e=t(n.getMonth()+1),i=t(n.getDate()),o=t(n.getHours()),s=t(n.getMinutes()),c=t(n.getSeconds());return `${r}-${e}-${i} ${o}:${s}:${c}`}function xn(n){let{days:t=0,hours:r=0,minutes:e=0,seconds:i=0}=n;return t*86400+r*3600+e*60+i}function kn(n){if(!Number.isFinite(n)||n<0)throw new Error("Invalid total seconds");let t=Math.floor(n/86400),r=Math.floor(n%86400/3600),e=Math.floor(n%3600/60),i=n%60;return {days:t,hours:r,minutes:e,seconds:i}}function wn(n){let t=n.split(".").map(o=>Number(o));if(t.length!==4||t.some(o=>!Number.isInteger(o)||o<0||o>255))throw new Error("Invalid IPv4 address");let r=new ArrayBuffer(4),e=new DataView(r),i=0;for(;i<4;)e.setUint8(i,t[i]),i++;return e.getUint32(0,false)}function Fn(n){if(!w(n))return "";let t=new ArrayBuffer(4),r=new DataView(t);r.setUint32(0,n,false);let e=[],i=0;for(;i<4;)e.push(r.getUint8(i)),i++;return e.join(".")}function x(n){return Array.isArray(n)}function L(n){return x(n)&&n.length>0}function h(n){return typeof n=="boolean"}function In(n){if(n instanceof Date)return !Number.isNaN(n.getTime());if(u(n)||p(n)){let t=new Date(n);return !Number.isNaN(t.getTime())}return false}var q=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z]{2,})+$/;function Rn(n){return a(n)?q.test(n):false}function En(n){return n!=null}function S(n){return typeof n=="function"}var K=/^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/;function zn(n){if(!u(n))return false;let t=n.trim();return K.test(t)}function Zn(n){return u(n)&&/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/.test(n)}function p(n){return typeof n=="number"&&Number.isFinite(n)}function Kn(n){return p(n)&&!Number.isInteger(n)}function Gn(n){return p(n)&&n<0}function $(n){return p(n)&&n<=0}function w(n){return p(n)&&n>0}function R(n){return p(n)&&n>=0}function b(n){return typeof n=="object"&&n!==null&&Object.prototype.toString.call(n)==="[object Object]"&&!Array.isArray(n)}function N(n){return b(n)&&Object.keys(n).length>0}function mt(n){return N(n)?Object.values(n).every(t=>t===null||!b(t)&&!x(t)||!S(t)):false}function gt(n,{minLength:t=8,maxLength:r=256,requireUppercase:e=true,requireLowercase:i=true,requireDigit:o=true,requireSpecial:s=true}={}){return !(!u(n)||n.length<t||n.length>r||e&&!/[A-ZА-Я]/.test(n)||i&&!/[a-zа-я]/.test(n)||o&&!/\d/.test(n)||s&&!/[~!?@#$%^&*_\-+()\[\]{}><\\\/|"'.,:;=]/.test(n))}function bt(n){if(!a(n)&&!p(n))return false;let t=String(n).trim();return !(t.startsWith("-")||(t.match(/\+/g)||[]).length>1||t.includes("+")&&!t.startsWith("+")||!/^\+?[0-9-]+$/.test(t)||t.length<3||t.length>20||!/[0-9]$/.test(t)||t.includes("--"))}function u(n){return typeof n=="string"}function A(n){if(!a(n))return false;let t=n.trim().toLowerCase();return t==="true"||t==="false"}function a(n){return u(n)&&n.trim().length>0}function Pt(n){if(!a(n))return false;let t=n.trim().toLowerCase();return t==="asc"||t==="desc"}function At(n){return u(n)&&/^[A-Za-z_][A-Za-z0-9_]*$/.test(n)}function It(n){return S(n)&&/^class\s/.test(Function.prototype.toString.call(n))}var H=/^(['"`])([\s\S]*)\1$/;function T(n,t){let r=n.trim(),e=W(r);if(e.ok)return e.value;let i=H.exec(r);return i?i[2]:t?r:null}function W(n){try{return {ok:!0,value:JSON.parse(n)}}catch{}return {ok:false}}function j(n,t=false){if(n===null||p(n)||h(n))return n;if(L(n)){let r=n,e=[];for(let i of r)a(i)?e.push(T(String(i),t)):e.push(i);return e}if(N(n)){let r=n,e={};for(let i of Object.keys(r)){let o=r[i];a(o)?e[i]=T(String(o),t):e[i]=o;}return e}return x(n)||b(n)?n:a(n)?T(String(n),t):null}function Ut(n){try{return b(n)||x(n)?JSON.stringify(n):""}catch{}return ""}function E(n){let t=n.sign<0?"-":"",r=n.digitsInteger.toString();if(n.scale===0)return t+r;let e=n.scale-r.length;if(e>=0)return t+"0."+"0".repeat(e)+r;let i=r.length-n.scale,o=r.slice(0,i),s=r.slice(i);return t+o+"."+s}function J(n){return Number(E(n))}function P(n,t){let r=/^([0-9]+)(?:\.([0-9]*))?e([+\-]?[0-9]+)$/i.exec((()=>{let[o,s]=t.split(/e/i),[c,m=""]=o.split("."),y=c.replace(/^0+/,"")+m,k=parseInt(s,10)-m.length;return `${y||"0"}e${k}`})());if(!r)throw new Error("Failed to parse exponential notation.");let e=r[1],i=parseInt(r[3],10);if(R(i))return e=e+"0".repeat(i),{sign:n,integerPart:e||"0",fractionalPart:""};{let o=-i;if(o>=e.length){let s="0".repeat(o-e.length);return {sign:n,integerPart:"0",fractionalPart:s+e}}else {let s=e.length-o;return {sign:n,integerPart:e.slice(0,s),fractionalPart:e.slice(s)}}}}function C(n){if(typeof n=="bigint"){let t=n<0n?-1:1,r=(n<0n?-n:n).toString();return {sign:t,integerPart:r,fractionalPart:""}}if(typeof n=="number"){if(!Number.isFinite(n))throw new Error("Input number is not finite.");let t=n<0?-1:1,e=Math.abs(n).toExponential(30);return P(t,e)}if(typeof n=="string"){let t=n.trim().replace(",",".");if(!t)throw new Error("Input string is empty.");let r=1;if((t.startsWith("+")||t.startsWith("-"))&&(r=t.startsWith("-")?-1:1,t=t.slice(1)),/^[0-9]*\.?[0-9]*(e[+\-]?[0-9]+)?$/i.test(t)){if(/e/i.test(t))return P(r,t);let[e="0",i=""]=t.split(".");return {sign:r,integerPart:e,fractionalPart:i}}throw new Error("Invalid numeric string.")}throw new Error("Unsupported input type.")}function D(n){let{sign:t,integerPart:r,fractionalPart:e}=C(n),i=r.replace(/^0+/,"")||"0",o=e.replace(/0+$/,""),s=i+o||"0";return {sign:t,digitsInteger:BigInt(s),scale:o.length}}function M(n,t,r="half-up"){let e=Math.max(0,Math.trunc(t));if(n.scale<=e)return {...n};let i=n.scale-e,o=10n**BigInt(i),s=n.digitsInteger/o,c=n.digitsInteger%o;if(r==="trunc"||c===0n)return {sign:n.sign,digitsInteger:s,scale:e};let m=o/2n,k=c>=m?s+1n:s;return {sign:n.sign,digitsInteger:k,scale:e}}function _(n,t=1,r=false){try{return J(t>1?M(D(n),t,"half-up"):D(n))}catch(e){if(r)throw e}return 0}function z(n){if(!u(n))return "";let t=g(n);return a(t)?t.toLowerCase():""}function ur(n){if(!u(n))return "";let t=z(n);return a(t)?t[0].toUpperCase()+t.slice(1):""}function lr(n){return u(n)&&g(n)===""||n===void 0?null:n}function dr(n,t="+7"){if(!u(n))return null;let r=g(n).replace(/[\s\-().]/g,"");return /^00\d{8,15}$/.test(r)?r="+"+r.slice(2):/^\d{10}$/.test(r)?r=t+r:/^\d{9,15}$/.test(r)&&!r.startsWith("0")&&(r="+"+r),/^\+\d{10,15}$/.test(r)?r:null}function g(n,t=""){let r=String(u(n)?n.trim().normalize("NFKC").replace(/[\u200B-\u200D\uFEFF]/g,""):"");return t?r.split(t).filter(e=>!!e).join(t):r}function hr(n){return u(n)&&g(n)===""||n===null?void 0:n}var Nr=n=>{if(!u(n))return n;let t=String(g(n)||"");return t===""?null:String(t.toLowerCase()||"").replace(/\s+/g," ").replace(/\t+/g,"").replace(/\n+/g,"")};function Fr(n=""){return {}}function Or(n){if(!a(n))return String(n);let t="____RAW_PERCENT____",r=n.replace(/%(?![0-9A-Fa-f]{2})/g,t),e=new Set(["22","7B","7D","3A","2C","5B","5D","5C"]);return r.replace(/%([0-9A-Fa-f]{2})/g,(o,s)=>{let c=s.toUpperCase();return e.has(c)?decodeURIComponent(`%${c}`):`%${c}`}).split(t).join("%")}export{X as arrFuncArgs,rn as arrReplaceTemplate,nn as arrSplitBatches,on as arrUniqueDeep,O as boolNormalize,pn as dateFloorMin,xn as datePartsSec,kn as dateSecParts,gn as dateStr,ln as env,Fn as ipNumStr,wn as ipStrNum,x as isArr,L as isArrFilled,h as isBool,It as isClass,In as isDate,Rn as isEmail,En as isExists,S as isFunc,zn as isIpAddr,Zn as isMacAddr,p as isNum,Kn as isNumFloat,Gn as isNumN,$ as isNumNZ,w as isNumP,R as isNumPZ,b as isObj,N as isObjFilled,mt as isObjFlat,gt as isPassword,bt as isPhone,u as isStr,Pt as isStrAscDesc,A as isStrBool,a as isStrFilled,At as isVar,j as jsonDecode,Ut as jsonEncode,W as jsonParse,T as jsonStrLike,_ as numNormalize,z as strLowerCase,ur as strNormalCase,Nr as strNormalize,lr as strNull,dr as strPhone,g as strTrim,hr as strUndefined,Or as urlDecode,Fr as urlObj,an as wait};//# sourceMappingURL=browser.mjs.map
2
2
  //# sourceMappingURL=browser.mjs.map