full-utils 2.0.3 → 2.0.4
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/browser.cjs +2 -2
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.cts +1 -1
- package/dist/browser.d.ts +1 -1
- package/dist/browser.mjs +2 -2
- package/dist/browser.mjs.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +14 -12
- package/dist/index.d.ts +14 -12
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/dist/node.cjs +2 -2
- package/dist/node.cjs.map +1 -1
- package/dist/node.d.cts +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/node.mjs +2 -2
- package/dist/node.mjs.map +1 -1
- package/package.json +1 -1
package/dist/node.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { FixedDecimal, JSONLike, PasswordOptions, RangeIPv4Options, TimeParts, changeFixedDecimalScale, cidrToRange, convertExponentialToParts, extractHost, fixedDecimalToNum, fixedDecimalToStr, floorDateToMinutes, formatDateToString,
|
|
1
|
+
export { FixedDecimal, JSONLike, PasswordOptions, RangeIPv4Options, TimeParts, changeFixedDecimalScale, cidrToRange, convertExponentialToParts, extractHost, fixedDecimalToNum, fixedDecimalToStr, floorDateToMinutes, formatArrToSqlWhenCaseStr, formatDateToString, formatStrToFuncArgsArr, formatToBool, formatToLowerCase, formatToNormalCase, formatToNull, formatToNum, formatToPhone, formatToTrim, formatToUndefined, ipAddrToNum, isArr, isArrFilled, isBool, isDate, isEmail, isExists, isFunc, isIpAddr, isMacAddr, isNum, isNumFloat, isNumN, isNumNZ, isNumP, isNumPZ, isObj, isObjFilled, isPassword, isPhone, isStr, isStrAscDesc, isStrBool, isStrFilled, isVar, jsonDecode, jsonEncode, normalizeToDecimalComponents, numToIpAddr, parseIPv4, parseStringLike, parseToFixedDecimal, partsToSeconds, rangeIPv4, rangeIPv4ToArr, roundFixedDecimal, secondsToParts, splitArrToPortions, toGB, toGH, toH, toIPv4, tryParseJSON, wait } from './index.cjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Options controlling TCP connection behavior, request formatting, and response handling.
|
package/dist/node.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { FixedDecimal, JSONLike, PasswordOptions, RangeIPv4Options, TimeParts, changeFixedDecimalScale, cidrToRange, convertExponentialToParts, extractHost, fixedDecimalToNum, fixedDecimalToStr, floorDateToMinutes, formatDateToString,
|
|
1
|
+
export { FixedDecimal, JSONLike, PasswordOptions, RangeIPv4Options, TimeParts, changeFixedDecimalScale, cidrToRange, convertExponentialToParts, extractHost, fixedDecimalToNum, fixedDecimalToStr, floorDateToMinutes, formatArrToSqlWhenCaseStr, formatDateToString, formatStrToFuncArgsArr, formatToBool, formatToLowerCase, formatToNormalCase, formatToNull, formatToNum, formatToPhone, formatToTrim, formatToUndefined, ipAddrToNum, isArr, isArrFilled, isBool, isDate, isEmail, isExists, isFunc, isIpAddr, isMacAddr, isNum, isNumFloat, isNumN, isNumNZ, isNumP, isNumPZ, isObj, isObjFilled, isPassword, isPhone, isStr, isStrAscDesc, isStrBool, isStrFilled, isVar, jsonDecode, jsonEncode, normalizeToDecimalComponents, numToIpAddr, parseIPv4, parseStringLike, parseToFixedDecimal, partsToSeconds, rangeIPv4, rangeIPv4ToArr, roundFixedDecimal, secondsToParts, splitArrToPortions, toGB, toGH, toH, toIPv4, tryParseJSON, wait } from './index.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Options controlling TCP connection behavior, request formatting, and response handling.
|
package/dist/node.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
function dt(t){if(!f(t))return [t];let n=t.trim();if(n==="")return [];if(n.startsWith("[")&&n.endsWith("]")&&(n=n.slice(1,-1).trim(),n===""))return [];let r="",e=false,i=null,o=false,s=0,p=0,d=0,w=[],T=()=>{let u=r.trim();u!==""&&w.push(u),r="";};for(let u=0;u<n.length;u++){let c=n[u];if(e){if(r+=c,o){o=false;continue}if(c==="\\"){o=true;continue}c===i&&(e=false,i=null);continue}if(c==='"'||c==="'"){e=true,i=c,r+=c;continue}if(c==="("){s++,r+=c;continue}if(c===")"){s=Math.max(0,s-1),r+=c;continue}if(c==="["){p++,r+=c;continue}if(c==="]"){p=Math.max(0,p-1),r+=c;continue}if(c==="{"){d++,r+=c;continue}if(c==="}"){d=Math.max(0,d-1),r+=c;continue}if(c===","&&s===0&&p===0&&d===0){T();continue}r+=c;}return r.length&&T(),w.map(u=>{if(u.startsWith("$")&&u.includes("(")&&u.endsWith(")"))return u;if(u==="null")return null;if(u==="undefined")return;if(W(u))return J(u);let c=F(u);if(Number.isFinite(c))return c;if(u==="Infinity")return 1/0;if(u==="-Infinity")return -1/0;let g=String(u||"");if(g.length>=2&&(g.startsWith("'")&&g.endsWith("'")||g.startsWith('"')&&g.endsWith('"')))return g.slice(1,-1).replace(/\\\\/g,"\\").replace(/\\'/g,"'").replace(/\\"/g,'"');if(g.startsWith("{")&&g.endsWith("}")||g.startsWith("[")&&g.endsWith("]"))try{return Z(g)}catch{}return g})}function ht(t,n){if(!Number.isInteger(n)||n<=0)return [];let r=[],e=0;for(;e<t.length;)r.push(t.slice(e,e+n)),e+=n;return r}function J(t){switch(true){case $(t):return t;case S(t):return true;case _(t):return false;case(m(t)&&["true","1","yes","on"].includes(String(t??"").trim().toLowerCase())):return true;case(m(t)&&["false","0","no","off"].includes(String(t??"").trim().toLowerCase())):return false}return false}async function bt(t=0){await new Promise(n=>setTimeout(()=>n(true),t));}function yt(t=1,n=new Date){let r=Math.min(60,Math.max(1,Math.trunc(Math.abs(t)))),e=n.getMinutes(),i=Math.floor(e/r)*r,o=new Date(n);return o.setMinutes(i,0,0),o}function St(t=new Date){let n=d=>String(d).padStart(2,"0"),r=t.getFullYear(),e=n(t.getMonth()+1),i=n(t.getDate()),o=n(t.getHours()),s=n(t.getMinutes()),p=n(t.getSeconds());return `${r}-${e}-${i} ${o}:${s}:${p}`}function Ft(t){let{days:n=0,hours:r=0,minutes:e=0,seconds:i=0}=t;return n*86400+r*3600+e*60+i}function Ot(t){if(!Number.isFinite(t)||t<0)throw new Error("Invalid total seconds");let n=Math.floor(t/86400),r=Math.floor(t%86400/3600),e=Math.floor(t%3600/60),i=t%60;return {days:n,hours:r,minutes:e,seconds:i}}function G(t){let[n,r]=t.split("/"),e=I(n),i=r?Number(r):NaN;if(e===null||!Number.isInteger(i)||i<0||i>32)return null;let o=i===0?0:4294967295<<32-i>>>0,s=e&o,p=s|~o>>>0;return [D(s),D(p)]}function Bt(t){let n=t.split(".").map(o=>Number(o));if(n.length!==4||n.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,n[i]),i++;return e.getUint32(0,false)}function Mt(t){if(!S(t))return "";let n=new ArrayBuffer(4),r=new DataView(n);r.setUint32(0,t,false);let e=[],i=0;for(;i<4;)e.push(r.getUint8(i)),i++;return e.join(".")}function I(t){if(!f(t))return null;let n=b(t).split(".");if(n.length!==4)return null;let r=0;for(let e=0;e<4;e++){if(!/^\d{1,3}$/.test(n[e]))return null;let i=Number(n[e]);if(i<0||i>255)return null;r=r<<8|i;}return r>>>0}function*H(t,n,r={}){let{includeNetwork:e=true,includeBroadcast:i=true}=r,o,s,p=false,d=null;if(n===void 0&&t.includes("/")){let u=G(t);if(!u)throw new Error(`Invalid CIDR: "${t}"`);let[c,g]=u,[l,k]=t.split("/");d=Number(k),o=I(c),s=I(g),p=true;}else {let u=I(t);if(u===null)throw new Error(`Invalid IPv4: "${t}"`);if(o=u,n&&n.trim()!==""){let c=I(n);if(c===null)throw new Error(`Invalid IPv4: "${n}"`);s=c;}else {let c=o>>>24&255,g=o>>>16&255,l=o>>>8&255;s=(c<<24|g<<16|l<<8|255)>>>0;}}o>s&&([o,s]=[s,o]);let w=-1,T=-1;p&&d!==null&&d<=30&&(w=o,T=s);for(let u=o;u<=s;u=u+1>>>0){if(!e&&u===w){if(u===s)break;continue}if(!i&&u===T){if(u===s)break;continue}if(yield D(u),u===4294967295)break}}function Gt(t,n,r={}){let{limit:e=1e6}=r,i=[],o=0;for(let s of H(t,n,r)){if(o>=e)throw new Error(`Range is too large (> ${e}). Use the generator version instead.`);i.push(s),o++;}return i}function D(t){if(!Number.isInteger(t)||t<0||t>4294967295)throw new Error(`Invalid IPv4 number: ${t}`);return [t>>>24&255,t>>>16&255,t>>>8&255,t&255].join(".")}function O(t){return Array.isArray(t)}function V(t){return O(t)&&t.length>0}function $(t){return typeof t=="boolean"}function Xt(t){if(t instanceof Date)return !Number.isNaN(t.getTime());if(f(t)||a(t)){let n=new Date(t);return !Number.isNaN(n.getTime())}return false}var ot=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z]{2,})+$/;function rn(t){return m(t)?ot.test(t):false}function on(t){return t!=null}function Q(t){return typeof t=="function"}var st=/^(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 fn(t){if(!f(t))return false;let n=t.trim();return st.test(n)}function ln(t){return f(t)&&/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/.test(t)}function a(t){return typeof t=="number"&&Number.isFinite(t)}function hn(t){return a(t)&&!Number.isInteger(t)}function Tn(t){return a(t)&&t<0}function _(t){return a(t)&&t<=0}function S(t){return a(t)&&t>0}function v(t){return a(t)&&t>=0}function E(t){return typeof t=="object"&&t!==null&&Object.prototype.toString.call(t)==="[object Object]"&&!Array.isArray(t)}function K(t){return E(t)&&Object.keys(t).length>0}function An(t,{minLength:n=8,maxLength:r=256,requireUppercase:e=true,requireLowercase:i=true,requireDigit:o=true,requireSpecial:s=true}={}){return !(!f(t)||t.length<n||t.length>r||e&&!/[A-ZА-Я]/.test(t)||i&&!/[a-zа-я]/.test(t)||o&&!/\d/.test(t)||s&&!/[~!?@#$%^&*_\-+()\[\]{}><\\\/|"'.,:;=]/.test(t))}function Rn(t){if(!m(t)&&!a(t))return false;let n=String(t).trim();return !(n.startsWith("-")||(n.match(/\+/g)||[]).length>1||n.includes("+")&&!n.startsWith("+")||!/^\+?[0-9-]+$/.test(n)||n.length<3||n.length>20||!/[0-9]$/.test(n)||n.includes("--"))}function f(t){return typeof t=="string"}function W(t){if(!m(t))return false;let n=t.trim().toLowerCase();return n==="true"||n==="false"}function m(t){return f(t)&&t.trim().length>0}function Wn(t){if(!m(t))return false;let n=t.trim().toLowerCase();return n==="asc"||n==="desc"}function Gn(t){return f(t)&&/^[A-Za-z_][A-Za-z0-9_]*$/.test(t)}var ut=/^(['"`])([\s\S]*)\1$/;function R(t,n){let r=t.trim(),e=Y(r);if(e.ok)return e.value;let i=ut.exec(r);return i?i[2]:n?r:null}function Y(t){try{return {ok:!0,value:JSON.parse(t)}}catch{}return {ok:false}}function Z(t,n=false){if(t===null||a(t)||$(t))return t;if(V(t)){let r=t,e=[];for(let i of r)m(i)?e.push(R(String(i),n)):e.push(i);return e}if(K(t)){let r=t,e={};for(let i of Object.keys(r)){let o=r[i];m(o)?e[i]=R(String(o),n):e[i]=o;}return e}return O(t)||E(t)?t:m(t)?R(String(t),n):null}function nr(t){try{return E(t)||O(t)?JSON.stringify(t):""}catch{}return ""}function er(t,n){let r=Math.trunc(n);if(r===0)return {...t};if(r>0)return {sign:t.sign,digitsInteger:t.digitsInteger,scale:t.scale+r};let e=10n**BigInt(-r);return {sign:t.sign,digitsInteger:t.digitsInteger*e,scale:t.scale+r}}function j(t,n){let r=/^([0-9]+)(?:\.([0-9]*))?e([+\-]?[0-9]+)$/i.exec((()=>{let[o,s]=n.split(/e/i),[p,d=""]=o.split("."),w=p.replace(/^0+/,"")+d,T=parseInt(s,10)-d.length;return `${w||"0"}e${T}`})());if(!r)throw new Error("Failed to parse exponential notation.");let e=r[1],i=parseInt(r[3],10);if(v(i))return e=e+"0".repeat(i),{sign:t,integerPart:e||"0",fractionalPart:""};{let o=-i;if(o>=e.length){let s="0".repeat(o-e.length);return {sign:t,integerPart:"0",fractionalPart:s+e}}else {let s=e.length-o;return {sign:t,integerPart:e.slice(0,s),fractionalPart:e.slice(s)}}}}function q(t){return Number(X(t))}function X(t){let n=t.sign<0?"-":"",r=t.digitsInteger.toString();if(t.scale===0)return n+r;let e=t.scale-r.length;if(e>=0)return n+"0."+"0".repeat(e)+r;let i=r.length-t.scale,o=r.slice(0,i),s=r.slice(i);return n+o+"."+s}function F(t,n=1,r=false){try{return q(n>1?tt(z(t),n,"half-up"):z(t))}catch(e){if(r)throw e}return 0}function nt(t){if(typeof t=="bigint"){let n=t<0n?-1:1,r=(t<0n?-t:t).toString();return {sign:n,integerPart:r,fractionalPart:""}}if(typeof t=="number"){if(!Number.isFinite(t))throw new Error("Input number is not finite.");let n=t<0?-1:1,e=Math.abs(t).toExponential(30);return j(n,e)}if(typeof t=="string"){let n=t.trim().replace(",",".");if(!n)throw new Error("Input string is empty.");let r=1;if((n.startsWith("+")||n.startsWith("-"))&&(r=n.startsWith("-")?-1:1,n=n.slice(1)),/^[0-9]*\.?[0-9]*(e[+\-]?[0-9]+)?$/i.test(n)){if(/e/i.test(n))return j(r,n);let[e="0",i=""]=n.split(".");return {sign:r,integerPart:e,fractionalPart:i}}throw new Error("Invalid numeric string.")}throw new Error("Unsupported input type.")}function z(t){let{sign:n,integerPart:r,fractionalPart:e}=nt(t),i=r.replace(/^0+/,"")||"0",o=e.replace(/0+$/,""),s=i+o||"0";return {sign:n,digitsInteger:BigInt(s),scale:o.length}}function tt(t,n,r="half-up"){let e=Math.max(0,Math.trunc(n));if(t.scale<=e)return {...t};let i=t.scale-e,o=10n**BigInt(i),s=t.digitsInteger/o,p=t.digitsInteger%o;if(r==="trunc"||p===0n)return {sign:t.sign,digitsInteger:s,scale:e};let d=o/2n,T=p>=d?s+1n:s;return {sign:t.sign,digitsInteger:T,scale:e}}function rt(t){if(!f(t))return "";let n=b(t);return m(n)?n.toLowerCase():""}function br(t){if(!f(t))return "";let n=rt(t);return m(n)?n[0].toUpperCase()+n.slice(1):""}function Sr(t){return f(t)&&b(t)===""||t===void 0?null:t}function Ir(t,n="+7"){if(!f(t))return null;let r=b(t).replace(/[\s\-().]/g,"");return /^00\d{8,15}$/.test(r)?r="+"+r.slice(2):/^\d{10}$/.test(r)?r=n+r:/^\d{9,15}$/.test(r)&&!r.startsWith("0")&&(r="+"+r),/^\+\d{10,15}$/.test(r)?r:null}function b(t){return String(f(t)?t.trim().normalize("NFKC").replace(/[\u200B-\u200D\uFEFF]/g,""):"")}function $r(t){return f(t)&&b(t)===""||t===null?void 0:t}var ct=1024,et=ct*1024,A=et*1024,it=A*1024,ft=it*1024;function Cr(t,n=""){let r=F(t);if(!a(r))throw new Error(`toGB: value "${t}" is not numeric`);let e=String(n).trim().toLowerCase().replace(/\s+/g,""),i=e?e[0]:"g",o;switch(i){case "b":o=r/A;break;case "k":o=r/et;break;case "m":o=r/A;break;case "g":o=r;break;case "t":o=r*(it/A);break;case "p":o=r*(ft/A);break;default:o=r;break}if(!a(o))throw new Error(`toGB: result is not finite (value="${t}", unit="${n}")`);return Object.is(o,-0)?0:o}function L(t){return String(t).trim().toLowerCase().replace(/\s+/g,"").replace(/(?:\/?s|hash(?:es)?)$/i,"")}var at={h:1e-9,k:1e-6,m:.001,g:1,t:1e3,p:1e6,e:1e9};function Jr(t,n=""){let r=F(t);if(!a(r))return 0;let e=L(n),i=e?e[0]:"g",o=at[i]??1,s=r*o;if(!a(s))throw new Error(`toGH: result is not finite (value="${r}", unit="${e}")`);return Object.is(s,-0)?0:s}var mt={h:1,k:1e3,m:1e6,g:1e9,t:1e12,p:1e15,e:1e18};function Gr(t,n=""){let r=F(t);if(!a(r))return 0;let e=L(n),i=e?e[0]:"h",o=mt[i]??1,s=r*o;if(!a(s))throw new Error(`toH: result is not finite (value="${r}", unit="${e}")`);return Object.is(s,-0)?0:s}var lt=/^[a-zA-Z][a-zA-Z\d+\-.]*:/;function Qr(t=""){if(!m(t))return "";let n=t.trim(),r=lt.test(n)?n:`http://${n}`;try{return new URL(r).hostname}catch{let i=(n.split("@").pop()||n).split(/[/?#]/,1)[0],o=i.match(/^\[([^\]]+)\]/);return o?o[1]:i.split(":",1)[0]||""}}function x(t,n){let r=new Error(n??t);return r.code=t,r}var C=null;async function Xr(t,n,{port:r=4028,timeoutMs:e=0,connectTimeoutMs:i=0,encoding:o="utf8",signal:s,maxBytes:p=0,halfCloseAfterWrite:d=false,lineTerminator:w=""}={}){if(!(typeof process<"u"&&!!process.versions?.node))throw x("ENODEONLY","connectTCP is Node-only");if(!m(n))throw x("EBADHOST","`host` must be a non-empty string");if(!m(t))throw x("EBADMSG","`message` must be a non-empty string");if(!S(r)||r<1||r>65535)throw x("EBADPORT","`port` must be an integer in range 1..65535");let u=o.toLowerCase()==="utf-8"?"utf8":o;if(!C)try{C=await import('net');}catch{}if(!C)throw x("ENETIMPORT","FATAL: node:net import failed");return new Promise((c,g)=>{let l=new C.Socket,k=false,B=0,y=null,U=()=>{l.destroyed||l.destroy(x("EABORT","Operation cancelled")),N(x("EABORT","Operation cancelled"));},N=(h,P)=>{k||(k=true,l.removeAllListeners(),s&&s.removeEventListener("abort",U),l.destroyed||l.destroy(),y&&clearTimeout(y),h?g(h):c(P??""));};if(s){if(s.aborted)return N(x("EABORT","Operation cancelled"));s.addEventListener("abort",U,{once:true});}S(i)&&(y=setTimeout(()=>N(x("ETIMEDOUT","Connect timed out")),i),y&&Q(y.unref)&&y.unref()),S(e)&&(l.setTimeout(e),l.once("timeout",()=>N(x("ETIMEDOUT","Idle timeout"))));let M=[];l.on("data",h=>{if(k)return;let P=Buffer.isBuffer(h)?h:Buffer.from(h,u);if(S(p)&&B+P.length>p)return N(x("ERESPONSE_TOO_LARGE","Response exceeds maxBytes"));M.push(P),B+=P.length;}),l.once("end",()=>{if(k)return;let h=Buffer.concat(M,B).toString(u);N(void 0,h);}),l.once("close",h=>{if(k)return;let P=Buffer.concat(M,B).toString(u);h?N(x("ECLOSE","Socket closed with error")):N(void 0,P);}),l.once("error",h=>{k||N(h);}),l.once("connect",()=>{y&&(clearTimeout(y),y=null);let h=w?t+w:t;l.write(h,u)?d&&l.end():l.once("drain",()=>{d&&!k&&l.end();});}),l.connect({host:n,port:r});})}
|
|
2
|
-
export{
|
|
1
|
+
function gt(t){if(!c(t))return [t];let r=t.trim();if(r==="")return [];if(r.startsWith("[")&&r.endsWith("]")&&(r=r.slice(1,-1).trim(),r===""))return [];let n="",e=false,i=null,o=false,s=0,p=0,d=0,T=[],w=()=>{let u=n.trim();u!==""&&T.push(u),n="";};for(let u=0;u<r.length;u++){let f=r[u];if(e){if(n+=f,o){o=false;continue}if(f==="\\"){o=true;continue}f===i&&(e=false,i=null);continue}if(f==='"'||f==="'"){e=true,i=f,n+=f;continue}if(f==="("){s++,n+=f;continue}if(f===")"){s=Math.max(0,s-1),n+=f;continue}if(f==="["){p++,n+=f;continue}if(f==="]"){p=Math.max(0,p-1),n+=f;continue}if(f==="{"){d++,n+=f;continue}if(f==="}"){d=Math.max(0,d-1),n+=f;continue}if(f===","&&s===0&&p===0&&d===0){w();continue}n+=f;}return n.length&&w(),T.map(u=>{if(u.startsWith("$")&&u.includes("(")&&u.endsWith(")"))return u;if(u==="null")return null;if(u==="undefined")return;if(L(u))return R(u);let f=P(u);if(Number.isFinite(f))return f;if(u==="Infinity")return 1/0;if(u==="-Infinity")return -1/0;let g=String(u||"");if(g.length>=2&&(g.startsWith("'")&&g.endsWith("'")||g.startsWith('"')&&g.endsWith('"')))return g.slice(1,-1).replace(/\\\\/g,"\\").replace(/\\'/g,"'").replace(/\\"/g,'"');if(g.startsWith("{")&&g.endsWith("}")||g.startsWith("[")&&g.endsWith("]"))try{return _(g)}catch{}return g})}function xt(t,r){if(!Number.isInteger(r)||r<=0)return [];let n=[],e=0;for(;e<t.length;)n.push(t.slice(e,e+r)),e+=r;return n}function R(t){switch(true){case O(t):return t;case S(t):return true;case H(t):return false;case(m(t)&&["true","1","yes","on"].includes(String(t??"").trim().toLowerCase())):return true;case(m(t)&&["false","0","no","off"].includes(String(t??"").trim().toLowerCase())):return false}return false}async function kt(t=0){await new Promise(r=>setTimeout(()=>r(true),t));}function Nt(t=1,r=new Date){let n=Math.min(60,Math.max(1,Math.trunc(Math.abs(t)))),e=r.getMinutes(),i=Math.floor(e/n)*n,o=new Date(r);return o.setMinutes(i,0,0),o}function Ft(t=new Date){let r=d=>String(d).padStart(2,"0"),n=t.getFullYear(),e=r(t.getMonth()+1),i=r(t.getDate()),o=r(t.getHours()),s=r(t.getMinutes()),p=r(t.getSeconds());return `${n}-${e}-${i} ${o}:${s}:${p}`}function It(t){let{days:r=0,hours:n=0,minutes:e=0,seconds:i=0}=t;return r*86400+n*3600+e*60+i}function Ot(t){if(!Number.isFinite(t)||t<0)throw new Error("Invalid total seconds");let r=Math.floor(t/86400),n=Math.floor(t%86400/3600),e=Math.floor(t%3600/60),i=t%60;return {days:r,hours:n,minutes:e,seconds:i}}function G(t){let[r,n]=t.split("/"),e=E(r),i=n?Number(n):NaN;if(e===null||!Number.isInteger(i)||i<0||i>32)return null;let o=i===0?0:4294967295<<32-i>>>0,s=e&o,p=s|~o>>>0;return [D(s),D(p)]}function Bt(t){let r=t.split(".").map(o=>Number(o));if(r.length!==4||r.some(o=>!Number.isInteger(o)||o<0||o>255))throw new Error("Invalid IPv4 address");let n=new ArrayBuffer(4),e=new DataView(n),i=0;for(;i<4;)e.setUint8(i,r[i]),i++;return e.getUint32(0,false)}function jt(t){if(!S(t))return "";let r=new ArrayBuffer(4),n=new DataView(r);n.setUint32(0,t,false);let e=[],i=0;for(;i<4;)e.push(n.getUint8(i)),i++;return e.join(".")}function E(t){if(!c(t))return null;let r=b(t).split(".");if(r.length!==4)return null;let n=0;for(let e=0;e<4;e++){if(!/^\d{1,3}$/.test(r[e]))return null;let i=Number(r[e]);if(i<0||i>255)return null;n=n<<8|i;}return n>>>0}function*V(t,r,n={}){let{includeNetwork:e=true,includeBroadcast:i=true}=n,o,s,p=false,d=null;if(r===void 0&&t.includes("/")){let u=G(t);if(!u)throw new Error(`Invalid CIDR: "${t}"`);let[f,g]=u,[l,k]=t.split("/");d=Number(k),o=E(f),s=E(g),p=true;}else {let u=E(t);if(u===null)throw new Error(`Invalid IPv4: "${t}"`);if(o=u,r&&r.trim()!==""){let f=E(r);if(f===null)throw new Error(`Invalid IPv4: "${r}"`);s=f;}else {let f=o>>>24&255,g=o>>>16&255,l=o>>>8&255;s=(f<<24|g<<16|l<<8|255)>>>0;}}o>s&&([o,s]=[s,o]);let T=-1,w=-1;p&&d!==null&&d<=30&&(T=o,w=s);for(let u=o;u<=s;u=u+1>>>0){if(!e&&u===T){if(u===s)break;continue}if(!i&&u===w){if(u===s)break;continue}if(yield D(u),u===4294967295)break}}function Gt(t,r,n={}){let{limit:e=1e6}=n,i=[],o=0;for(let s of V(t,r,n)){if(o>=e)throw new Error(`Range is too large (> ${e}). Use the generator version instead.`);i.push(s),o++;}return i}function D(t){if(!Number.isInteger(t)||t<0||t>4294967295)throw new Error(`Invalid IPv4 number: ${t}`);return [t>>>24&255,t>>>16&255,t>>>8&255,t&255].join(".")}function I(t){return Array.isArray(t)}function C(t){return I(t)&&t.length>0}function O(t){return typeof t=="boolean"}function tr(t){if(t instanceof Date)return !Number.isNaN(t.getTime());if(c(t)||a(t)){let r=new Date(t);return !Number.isNaN(r.getTime())}return false}var st=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z]{2,})+$/;function er(t){return m(t)?st.test(t):false}function Q(t){return t!=null}function v(t){return typeof t=="function"}var ut=/^(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 fr(t){if(!c(t))return false;let r=t.trim();return ut.test(r)}function mr(t){return c(t)&&/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/.test(t)}function a(t){return typeof t=="number"&&Number.isFinite(t)}function gr(t){return a(t)&&!Number.isInteger(t)}function Tr(t){return a(t)&&t<0}function H(t){return a(t)&&t<=0}function S(t){return a(t)&&t>0}function q(t){return a(t)&&t>=0}function A(t){return typeof t=="object"&&t!==null&&Object.prototype.toString.call(t)==="[object Object]"&&!Array.isArray(t)}function K(t){return A(t)&&Object.keys(t).length>0}function Ar(t,{minLength:r=8,maxLength:n=256,requireUppercase:e=true,requireLowercase:i=true,requireDigit:o=true,requireSpecial:s=true}={}){return !(!c(t)||t.length<r||t.length>n||e&&!/[A-ZА-Я]/.test(t)||i&&!/[a-zа-я]/.test(t)||o&&!/\d/.test(t)||s&&!/[~!?@#$%^&*_\-+()\[\]{}><\\\/|"'.,:;=]/.test(t))}function Br(t){if(!m(t)&&!a(t))return false;let r=String(t).trim();return !(r.startsWith("-")||(r.match(/\+/g)||[]).length>1||r.includes("+")&&!r.startsWith("+")||!/^\+?[0-9-]+$/.test(r)||r.length<3||r.length>20||!/[0-9]$/.test(r)||r.includes("--"))}function c(t){return typeof t=="string"}function L(t){if(!m(t))return false;let r=t.trim().toLowerCase();return r==="true"||r==="false"}function m(t){return c(t)&&t.trim().length>0}function Wr(t){if(!m(t))return false;let r=t.trim().toLowerCase();return r==="asc"||r==="desc"}function _r(t){return c(t)&&/^[A-Za-z_][A-Za-z0-9_]*$/.test(t)}var ft=/^(['"`])([\s\S]*)\1$/;function M(t,r){let n=t.trim(),e=Y(n);if(e.ok)return e.value;let i=ft.exec(n);return i?i[2]:r?n:null}function Y(t){try{return {ok:!0,value:JSON.parse(t)}}catch{}return {ok:false}}function _(t,r=false){if(t===null||a(t)||O(t))return t;if(C(t)){let n=t,e=[];for(let i of n)m(i)?e.push(M(String(i),r)):e.push(i);return e}if(K(t)){let n=t,e={};for(let i of Object.keys(n)){let o=n[i];m(o)?e[i]=M(String(o),r):e[i]=o;}return e}return I(t)||A(t)?t:m(t)?M(String(t),r):null}function tn(t){try{return A(t)||I(t)?JSON.stringify(t):""}catch{}return ""}function nn(t,r){let n=Math.trunc(r);if(n===0)return {...t};if(n>0)return {sign:t.sign,digitsInteger:t.digitsInteger,scale:t.scale+n};let e=10n**BigInt(-n);return {sign:t.sign,digitsInteger:t.digitsInteger*e,scale:t.scale+n}}function W(t,r){let n=/^([0-9]+)(?:\.([0-9]*))?e([+\-]?[0-9]+)$/i.exec((()=>{let[o,s]=r.split(/e/i),[p,d=""]=o.split("."),T=p.replace(/^0+/,"")+d,w=parseInt(s,10)-d.length;return `${T||"0"}e${w}`})());if(!n)throw new Error("Failed to parse exponential notation.");let e=n[1],i=parseInt(n[3],10);if(q(i))return e=e+"0".repeat(i),{sign:t,integerPart:e||"0",fractionalPart:""};{let o=-i;if(o>=e.length){let s="0".repeat(o-e.length);return {sign:t,integerPart:"0",fractionalPart:s+e}}else {let s=e.length-o;return {sign:t,integerPart:e.slice(0,s),fractionalPart:e.slice(s)}}}}function X(t){return Number(tt(t))}function tt(t){let r=t.sign<0?"-":"",n=t.digitsInteger.toString();if(t.scale===0)return r+n;let e=t.scale-n.length;if(e>=0)return r+"0."+"0".repeat(e)+n;let i=n.length-t.scale,o=n.slice(0,i),s=n.slice(i);return r+o+"."+s}function P(t,r=1,n=false){try{return X(r>1?rt(J(t),r,"half-up"):J(t))}catch(e){if(n)throw e}return 0}function nt(t){if(typeof t=="bigint"){let r=t<0n?-1:1,n=(t<0n?-t:t).toString();return {sign:r,integerPart:n,fractionalPart:""}}if(typeof t=="number"){if(!Number.isFinite(t))throw new Error("Input number is not finite.");let r=t<0?-1:1,e=Math.abs(t).toExponential(30);return W(r,e)}if(typeof t=="string"){let r=t.trim().replace(",",".");if(!r)throw new Error("Input string is empty.");let n=1;if((r.startsWith("+")||r.startsWith("-"))&&(n=r.startsWith("-")?-1:1,r=r.slice(1)),/^[0-9]*\.?[0-9]*(e[+\-]?[0-9]+)?$/i.test(r)){if(/e/i.test(r))return W(n,r);let[e="0",i=""]=r.split(".");return {sign:n,integerPart:e,fractionalPart:i}}throw new Error("Invalid numeric string.")}throw new Error("Unsupported input type.")}function J(t){let{sign:r,integerPart:n,fractionalPart:e}=nt(t),i=n.replace(/^0+/,"")||"0",o=e.replace(/0+$/,""),s=i+o||"0";return {sign:r,digitsInteger:BigInt(s),scale:o.length}}function rt(t,r,n="half-up"){let e=Math.max(0,Math.trunc(r));if(t.scale<=e)return {...t};let i=t.scale-e,o=10n**BigInt(i),s=t.digitsInteger/o,p=t.digitsInteger%o;if(n==="trunc"||p===0n)return {sign:t.sign,digitsInteger:s,scale:e};let d=o/2n,w=p>=d?s+1n:s;return {sign:t.sign,digitsInteger:w,scale:e}}function et(t){if(!c(t))return "";let r=b(t);return m(r)?r.toLowerCase():""}function bn(t){if(!c(t))return "";let r=et(t);return m(r)?r[0].toUpperCase()+r.slice(1):""}function Sn(t){return c(t)&&b(t)===""||t===void 0?null:t}function In(t,r="+7"){if(!c(t))return null;let n=b(t).replace(/[\s\-().]/g,"");return /^00\d{8,15}$/.test(n)?n="+"+n.slice(2):/^\d{10}$/.test(n)?n=r+n:/^\d{9,15}$/.test(n)&&!n.startsWith("0")&&(n="+"+n),/^\+\d{10,15}$/.test(n)?n:null}function b(t){return String(c(t)?t.trim().normalize("NFKC").replace(/[\u200B-\u200D\uFEFF]/g,""):"")}function Bn(t){return c(t)&&b(t)===""||t===null?void 0:t}function Wn(t){let r="",n={},e=[];for(r in t[0])r!=="id"&&(n[r]=[]);t.forEach(i=>{let o="";for(o in i)if(I(n[o])){let s=`"${i[o]}"`;(O(i[o])||L(i[o]))&&(s=Number(R(i[o]))),Q(i[o])||(s="NULL"),n[o].push(`WHEN "${i.id}" THEN ${s}`);}});for(r in t[0])C(n[r])&&e.push(`${r} = CASE id ${n[r].join(" ")} END`);return e.join(",")}var ct=1024,it=ct*1024,$=it*1024,ot=$*1024,at=ot*1024;function _n(t,r=""){let n=P(t);if(!a(n))throw new Error(`toGB: value "${t}" is not numeric`);let e=String(r).trim().toLowerCase().replace(/\s+/g,""),i=e?e[0]:"g",o;switch(i){case "b":o=n/$;break;case "k":o=n/it;break;case "m":o=n/$;break;case "g":o=n;break;case "t":o=n*(ot/$);break;case "p":o=n*(at/$);break;default:o=n;break}if(!a(o))throw new Error(`toGB: result is not finite (value="${t}", unit="${r}")`);return Object.is(o,-0)?0:o}function j(t){return String(t).trim().toLowerCase().replace(/\s+/g,"").replace(/(?:\/?s|hash(?:es)?)$/i,"")}var mt={h:1e-9,k:1e-6,m:.001,g:1,t:1e3,p:1e6,e:1e9};function vn(t,r=""){let n=P(t);if(!a(n))return 0;let e=j(r),i=e?e[0]:"g",o=mt[i]??1,s=n*o;if(!a(s))throw new Error(`toGH: result is not finite (value="${n}", unit="${e}")`);return Object.is(s,-0)?0:s}var lt={h:1,k:1e3,m:1e6,g:1e9,t:1e12,p:1e15,e:1e18};function Xn(t,r=""){let n=P(t);if(!a(n))return 0;let e=j(r),i=e?e[0]:"h",o=lt[i]??1,s=n*o;if(!a(s))throw new Error(`toH: result is not finite (value="${n}", unit="${e}")`);return Object.is(s,-0)?0:s}var pt=/^[a-zA-Z][a-zA-Z\d+\-.]*:/;function ne(t=""){if(!m(t))return "";let r=t.trim(),n=pt.test(r)?r:`http://${r}`;try{return new URL(n).hostname}catch{let i=(r.split("@").pop()||r).split(/[/?#]/,1)[0],o=i.match(/^\[([^\]]+)\]/);return o?o[1]:i.split(":",1)[0]||""}}function x(t,r){let n=new Error(r??t);return n.code=t,n}var z=null;async function ue(t,r,{port:n=4028,timeoutMs:e=0,connectTimeoutMs:i=0,encoding:o="utf8",signal:s,maxBytes:p=0,halfCloseAfterWrite:d=false,lineTerminator:T=""}={}){if(!(typeof process<"u"&&!!process.versions?.node))throw x("ENODEONLY","connectTCP is Node-only");if(!m(r))throw x("EBADHOST","`host` must be a non-empty string");if(!m(t))throw x("EBADMSG","`message` must be a non-empty string");if(!S(n)||n<1||n>65535)throw x("EBADPORT","`port` must be an integer in range 1..65535");let u=o.toLowerCase()==="utf-8"?"utf8":o;if(!z)try{z=await import('net');}catch{}if(!z)throw x("ENETIMPORT","FATAL: node:net import failed");return new Promise((f,g)=>{let l=new z.Socket,k=false,B=0,y=null,Z=()=>{l.destroyed||l.destroy(x("EABORT","Operation cancelled")),N(x("EABORT","Operation cancelled"));},N=(h,F)=>{k||(k=true,l.removeAllListeners(),s&&s.removeEventListener("abort",Z),l.destroyed||l.destroy(),y&&clearTimeout(y),h?g(h):f(F??""));};if(s){if(s.aborted)return N(x("EABORT","Operation cancelled"));s.addEventListener("abort",Z,{once:true});}S(i)&&(y=setTimeout(()=>N(x("ETIMEDOUT","Connect timed out")),i),y&&v(y.unref)&&y.unref()),S(e)&&(l.setTimeout(e),l.once("timeout",()=>N(x("ETIMEDOUT","Idle timeout"))));let U=[];l.on("data",h=>{if(k)return;let F=Buffer.isBuffer(h)?h:Buffer.from(h,u);if(S(p)&&B+F.length>p)return N(x("ERESPONSE_TOO_LARGE","Response exceeds maxBytes"));U.push(F),B+=F.length;}),l.once("end",()=>{if(k)return;let h=Buffer.concat(U,B).toString(u);N(void 0,h);}),l.once("close",h=>{if(k)return;let F=Buffer.concat(U,B).toString(u);h?N(x("ECLOSE","Socket closed with error")):N(void 0,F);}),l.once("error",h=>{k||N(h);}),l.once("connect",()=>{y&&(clearTimeout(y),y=null);let h=T?t+T:t;l.write(h,u)?d&&l.end():l.once("drain",()=>{d&&!k&&l.end();});}),l.connect({host:r,port:n});})}
|
|
2
|
+
export{nn as changeFixedDecimalScale,G as cidrToRange,W as convertExponentialToParts,ne as extractHost,X as fixedDecimalToNum,tt as fixedDecimalToStr,Nt as floorDateToMinutes,Wn as formatArrToSqlWhenCaseStr,Ft as formatDateToString,gt as formatStrToFuncArgsArr,R as formatToBool,et as formatToLowerCase,bn as formatToNormalCase,Sn as formatToNull,P as formatToNum,In as formatToPhone,b as formatToTrim,Bn as formatToUndefined,Bt as ipAddrToNum,I as isArr,C as isArrFilled,O as isBool,tr as isDate,er as isEmail,Q as isExists,v as isFunc,fr as isIpAddr,mr as isMacAddr,a as isNum,gr as isNumFloat,Tr as isNumN,H as isNumNZ,S as isNumP,q as isNumPZ,A as isObj,K as isObjFilled,Ar as isPassword,Br as isPhone,c as isStr,Wr as isStrAscDesc,L as isStrBool,m as isStrFilled,_r as isVar,_ as jsonDecode,tn as jsonEncode,ue as netTCP,nt as normalizeToDecimalComponents,jt as numToIpAddr,E as parseIPv4,M as parseStringLike,J as parseToFixedDecimal,It as partsToSeconds,V as rangeIPv4,Gt as rangeIPv4ToArr,rt as roundFixedDecimal,Ot as secondsToParts,xt as splitArrToPortions,_n as toGB,vn as toGH,Xn as toH,D as toIPv4,Y as tryParseJSON,kt as wait};//# sourceMappingURL=node.mjs.map
|
|
3
3
|
//# sourceMappingURL=node.mjs.map
|