full-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.
@@ -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, 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';
1
+ export { JSONLike, JsonLike, PasswordOptions, TimeParts, UniqueDeepOptions, arrFuncArgs, arrReplaceTemplate, arrSplitBatches, arrUniqueDeep, boolNormalize, dateFloorMin, datePartsSec, dateSecParts, dateStr, env, ipNumStr, ipStrNum, isArr, isArrFilled, isBool, isBoolOrBoolTree, 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, 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';
1
+ export { JSONLike, JsonLike, PasswordOptions, TimeParts, UniqueDeepOptions, arrFuncArgs, arrReplaceTemplate, arrSplitBatches, arrUniqueDeep, boolNormalize, dateFloorMin, datePartsSec, dateSecParts, dateStr, env, ipNumStr, ipStrNum, isArr, isArrFilled, isBool, isBoolOrBoolTree, 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=[],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
1
+ function v(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(j(l))return P(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 A(d)}catch{}return d})}function tn(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 B(n){return n==null||typeof n!="object"||n instanceof Date}function U(n,t){return Array.isArray(n)?Array.isArray(t)?t:[t]:t}function F(n,t){if(n==null)return n;if(B(t))return U(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 en(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 sn(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 P(n){switch(true){case h(n):return n;case S(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 cn(n=0){await new Promise(t=>setTimeout(()=>t(true),n));}function mn(n){return process.env[n]}function dn(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 yn(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 bn(n){let{days:t=0,hours:r=0,minutes:e=0,seconds:i=0}=n;return t*86400+r*3600+e*60+i}function hn(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 Sn(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 On(n){if(!S(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 w(n){return b(n)&&Object.keys(n).length>0}function q(n){if(h(n))return true;if(!w(n))return false;for(let t of Object.keys(n))if(!q(n[t]))return false;return true}function Jn(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 K=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z]{2,})+$/;function zn(n){return a(n)?K.test(n):false}function Un(n){return n!=null}function N(n){return typeof n=="function"}var H=/^(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 qn(n){if(!u(n))return false;let t=n.trim();return H.test(t)}function Yn(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 nt(n){return p(n)&&!Number.isInteger(n)}function et(n){return p(n)&&n<0}function $(n){return p(n)&&n<=0}function S(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)&&!(n instanceof Date)}function yt(n){return w(n)?Object.values(n).every(t=>t===null||!b(t)&&!x(t)||!N(t)):false}function kt(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 St(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 j(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 At(n){if(!a(n))return false;let t=n.trim().toLowerCase();return t==="asc"||t==="desc"}function $t(n){return u(n)&&/^[A-Za-z_][A-Za-z0-9_]*$/.test(n)}function Wt(n){return N(n)&&/^class\s/.test(Function.prototype.toString.call(n))}var Y=/^(['"`])([\s\S]*)\1$/;function T(n,t){let r=n.trim(),e=W(r);if(e.ok)return e.value;let i=Y.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 A(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(w(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 Qt(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 O(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 O(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 O(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 lr(n){if(!u(n))return "";let t=z(n);return a(t)?t[0].toUpperCase()+t.slice(1):""}function gr(n){return u(n)&&g(n)===""||n===void 0?null:n}function br(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 Tr(n){return u(n)&&g(n)===""||n===null?void 0:n}var Dr=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 jr(n=""){return {}}function Ir(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{v as arrFuncArgs,en as arrReplaceTemplate,tn as arrSplitBatches,sn as arrUniqueDeep,P as boolNormalize,dn as dateFloorMin,bn as datePartsSec,hn as dateSecParts,yn as dateStr,mn as env,On as ipNumStr,Sn as ipStrNum,x as isArr,L as isArrFilled,h as isBool,q as isBoolOrBoolTree,Wt as isClass,Jn as isDate,zn as isEmail,Un as isExists,N as isFunc,qn as isIpAddr,Yn as isMacAddr,p as isNum,nt as isNumFloat,et as isNumN,$ as isNumNZ,S as isNumP,R as isNumPZ,b as isObj,w as isObjFilled,yt as isObjFlat,kt as isPassword,St as isPhone,u as isStr,At as isStrAscDesc,j as isStrBool,a as isStrFilled,$t as isVar,A as jsonDecode,Qt as jsonEncode,W as jsonParse,T as jsonStrLike,_ as numNormalize,z as strLowerCase,lr as strNormalCase,Dr as strNormalize,gr as strNull,br as strPhone,g as strTrim,Tr as strUndefined,Ir as urlDecode,jr as urlObj,cn as wait};//# sourceMappingURL=browser.mjs.map
2
2
  //# sourceMappingURL=browser.mjs.map