@rzl-zone/utils-js
Version:
A modern, lightweight set of JavaScript utility functions with TypeScript support for everyday development, crafted to enhance code readability and maintainability.
10 lines • 369 kB
JavaScript
/*!
* ====================================================
* Rzl Utils-JS.
* ----------------------------------------------------
* Version: 3.11.0.
* Author: Rizalvin Dwiky.
* Repository: https://github.com/rzl-zone/utils-js.
* ====================================================
*/
var RzlUtilsJs=function(){"use strict";var e=Object.defineProperty,t=(t,r)=>{for(var d in r)e(t,d,{get:r[d],enumerable:!0})},r={};t(r,{assertIsArray:()=>q,assertIsBigInt:()=>H,assertIsBoolean:()=>B,assertIsNumber:()=>G,assertIsPlainObject:()=>f,assertIsString:()=>Y});var d=e=>"boolean"==typeof e,n=e=>"function"==typeof e;function a(e){return null==e}function i(e){return Array.isArray(e)}function o(e){return"object"==typeof e&&!a(e)&&!i(e)}function s(e){if(!o(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}var u=e=>"string"==typeof e;function l(e){return o(e)&&"[object Number]"===Object.prototype.toString.call(e)}function c(e){return"number"==typeof e?Number.isNaN(e):l(e)&&Number.isNaN(e.valueOf())}var m=e=>null===e;function f(e,t={}){s(e)||U({value:e,options:t,requiredValidType:"plain object"})}var $=(e,t={})=>{f(t,{message:({currentType:e,validType:t})=>`Second parameter (\`options\`) must be of type \`${t}\`, but received: \`${e}\`.`});let r=!(!s(t)||!d(t.includeNaN))&&t.includeNaN;B(r,{message:({currentType:e,validType:t})=>`Parameter \`includeNaN\` property of the \`options\` (second parameter) must be of type \`${t}\`, but received: \`${e}\`.`});let n="number"==typeof e;return r?n:n&&!Number.isNaN(e)},p=e=>"symbol"==typeof e,h=e=>typeof e>"u";function g(e){return i(e)||o(e)}function y(e,t,r={}){if(!u(e)&&!g(e)&&!n(e))return!1;f(r,{message:({currentType:e,validType:t})=>`Third parameter (\`options\`) must be of type \`${t}\`, but received: \`${e}\`.`});let d=void 0===r.discardUndefined||r.discardUndefined,a=void 0!==r.discardNull&&r.discardNull;B(d,{message:({currentType:e,validType:t})=>`Parameter \`discardUndefined\` property of the \`options\` (third parameter) must be of type \`${t}\`, but received: \`${e}\`.`}),B(a,{message:({currentType:e,validType:t})=>`Parameter \`discardNull\` property of the \`options\` (third parameter) must be of type \`${t}\`, but received: \`${e}\`.`});let i=[];if(u(t)&&t.trim().length>0||$(t,{includeNaN:!0}))($(t,{includeNaN:!0})?String(t):t).split(".").forEach(e=>{let t=e.match(/^\[(\d+)\]$/),r=e.match(/^Symbol\((.+)\)$/);t?i.push(Number(t[1])):r?i.push(Symbol.for(r[1])):c(Number(e))?i.push(e):i.push(Number(e))});else{if(!p(t))return!1;i.push(t)}let o=u(e)&&e.trim().length>0?Object(e):e;for(let e of i)if(u(e)&&e.trim().length>0||$(e,{includeNaN:!0})){if(m(o)||!Object.prototype.hasOwnProperty.call(o,e))return!1;o=o[e]}else{if(!p(e))return!1;{if(m(o)||"object"!=typeof o&&!n(o))return!1;let t=Object.getOwnPropertySymbols(o).find(t=>t===e||t.description===e.description);if(!t)return!1;o=o[t]}}return!(d&&h(o)||a&&m(o))}var b=(e,t={})=>{if(!u(e))return!1;f(t,{message:({currentType:e,validType:t})=>`Second parameter (\`options\`) must be of type \`${t}\`, but received: \`${e}\`.`});let r=!y(t,"trim")||t.trim;return B(r,{message:({currentType:e,validType:t})=>`Parameter \`trim\` property of the \`options\` (second parameter) must be of type \`${t}\`, but received: \`${e}\`.`}),(r?e.trim():e).length>0},v=e=>"[object Error]"===Object.prototype.toString.call(e)||e instanceof Error,w=e=>typeof Buffer<"u"&&"function"==typeof Buffer.isBuffer&&Buffer.isBuffer(e);function k(e){return o(e)&&"[object String]"===Object.prototype.toString.call(e)}function S(e){return o(e)&&"[object Boolean]"===Object.prototype.toString.call(e)}function N(e){if("number"==typeof e||l(e)){let t=Number(e);return t===1/0||t===-1/0}return!1}function C(e){return Array.isArray(e)&&e.length>0}function T(e){return"[object Set]"===Object.prototype.toString.call(e)||e instanceof Set}var P=e=>{let t="";return i(e)?t=e.map(e=>b(e)?e.trim():"").filter(e=>e.length).join("-"):b(e)&&(t=e.trim()),t.split(/[^\p{L}\p{N}]+/u).filter(Boolean)},x=e=>{let t=new Set([]),r=e=>e.trim().split(/[^\p{L}\p{N}]+/u).filter(Boolean).join("");if(b(e)){let d=r(e);d&&t.add(d)}return C(e)&&e.forEach(e=>{if(b(e)){let d=r(e);d&&t.add(d)}}),T(e)&&e.forEach(e=>{if(b(e)){let d=r(e);d&&t.add(d)}}),t},E=(e,t)=>{if(!C(e)&&!b(e))return"";let r=P(e),d=x(t);return r.map(e=>d.has(e)?e:e.toLowerCase()).join("-").replace(/^-+|-+$/g,"")},A=(e,t)=>{if(!C(e)&&!b(e))return"";let r=P(e),d=x(t);return r.map(e=>d.has(e)?e:e.toLowerCase()).join(".")},M=(e,t)=>{if(!C(e)&&!b(e))return"";let r=P(e),d=x(t);return r.map((e,t)=>d.has(e)?e:0===t?e.toLowerCase():e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join("")},I=(e,t)=>{if(!C(e)&&!b(e))return"";let r=P(e),d=x(t);return r.map(e=>d.has(e)?e:e.toLowerCase()).join("-")},O=(e,t)=>{if(!C(e)&&!b(e))return"";let r=P(e),d=x(t);return r.map(e=>d.has(e)?e:e.toLowerCase()).join("_")},j=(e,t)=>{if(!C(e)&&!b(e))return"";let r=P(e),d=x(t);return r.map(e=>d.has(e)?e:e.toLowerCase()).join(" ")},D=(e,t)=>{if(!C(e)&&!b(e))return"";let r=P(e),d=x(t);return r.map(e=>d.has(e)?e:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join("")},F=(e,t)=>{if(!C(e)&&!b(e))return"";let r=P(e),d=x(t);return r.map(e=>d.has(e)?e:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ")},L=class e{static FIXES_RAW=Object.freeze({string:"String",number:"Number",boolean:"Boolean",bigint:"Bigint",symbol:"Symbol",undefined:"Undefined",null:"Null",regexp:"Reg Exp",reflect:"Reflect",proxy:"Proxy",atomics:"Atomics",array:"Array",object:"Object",function:"Function",arguments:"Arguments",asyncfunction:"Async Function",generatorfunction:"Generator Function",asyncgeneratorfunction:"Async Generator Function",generator:"Generator",promise:"Promise",evalerror:"Eval Error",rangeerror:"Range Error",referenceerror:"Reference Error",syntaxerror:"Syntax Error",typeerror:"Type Error",urierror:"URI Error",aggregateerror:"Aggregate Error",error:"Error",int8array:"Int 8 Array",uint8array:"Uint 8 Array",uint8clampedarray:"Uint 8 Clamped Array",int16array:"Int 16 Array",uint16array:"Uint 16 Array",int32array:"Int 32 Array",uint32array:"Uint 32 Array",float32array:"Float 32 Array",float64array:"Float 64 Array",bigint64array:"Big Int 64 Array",biguint64array:"Big Uint 64 Array",arraybuffer:"Array Buffer",sharedarraybuffer:"Shared Array Buffer",dataview:"Data View",arraybufferview:"Array Buffer View",map:"Map",set:"Set",weakmap:"Weak Map",weakset:"Weak Set",mapiterator:"Map Iterator",weakmapiterator:"Weak Map Iterator",setiterator:"Set Iterator",weaksetiterator:"Weak Set Iterator",arrayiterator:"Array Iterator",stringiterator:"String Iterator",asynciterator:"Async Iterator",iteratorresult:"Iterator Result",arrayiteratorresult:"Array Iterator Result",readablestream:"Readable Stream",writablestream:"Writable Stream",transformstream:"Transform Stream",readablestreamdefaultreader:"Readable Stream Default Reader",writablestreamdefaultwriter:"Writable Stream Default Writer",readablestreamdefaultcontroller:"Readable Stream Default Controller",transformstreamdefaultcontroller:"Transform Stream Default Controller",abortcontroller:"Abort Controller",abortsignal:"Abort Signal",fetch:"fetch",request:"Request",response:"Response",headers:"Headers",formdata:"FormData",blob:"Blob",file:"File",filelist:"FileList",filereader:"FileReader",intl:"Intl",collator:"Intl. Collator",datetimeformat:"Intl. Date Time Format",displaynames:"Intl. Display Names",listformat:"Intl. List Format",locale:"Intl. Locale",numberformat:"Intl. Number Format",pluralrules:"Intl. Plural Rules",relativetimeformat:"Intl. Relative Time Format",segmenter:"Intl. Segmenter",weakref:"Weak Ref",urlpattern:"URLPattern",structuredclone:"structured Clone",finalizationregistry:"Finalization Registry",performance:"Performance",performanceobserver:"Performance Observer",performanceentry:"Performance Entry",performancemark:"Performance Mark",performancemeasure:"Performance Measure",webassembly:"Web Assembly",wasmmodule:"WebAssembly. Module",wasminstance:"WebAssembly. Instance",wasmmemory:"WebAssembly. Memory",wasmtable:"WebAssembly. Table",buffer:"Buffer",process:"Process",eventemitter:"Event Emitter",stream:"Stream",fs:"fs",path:"path",url:"URL",urlsearchparams:"URL Search Params",node:"Node",element:"Element",htmlelement:"HTML Element",svgelement:"SVG Element",document:"Document",documentfragment:"Document Fragment",shadowroot:"Shadow Root",nodelist:"Node List",htmlcollection:"HTML Collection",resizeobserver:"Resize Observer",mutationobserver:"Mutation Observer",intersectionobserver:"Intersection Observer",symboliterator:"Symbol. Iterator",symbolasynciterator:"Symbol. Async Iterator",symboltostringtag:"Symbol. To String Tag",symbolspecies:"Symbol. Species",symbolhasinstance:"Symbol. Has Instance",symbolisconcatspreadable:"Symbol. Is Concat Spreadable",symbolunscopables:"Symbol. Unscopables",symbolmatch:"Symbol. Match",symbolreplace:"Symbol. Replace",symbolsearch:"Symbol. Search",symbolsplit:"Symbol. Split",symboltoprimitive:"Symbol. To Primitive",symbolmatchall:"Symbol. Match All",symbolarguments:"Symbol. Arguments",math:"Math",bigintconstructor:"Bigint Constructor",numberconstructor:"Number Constructor",stringconstructor:"String Constructor",booleanconstructor:"Boolean Constructor",formdataevent:"Form Data Event",customevent:"Custom Event",messagechannel:"Message Channel",messageport:"Message Port",messageevent:"Message Event",websocket:"Web Socket",eventsource:"Event Source",indexeddb:"IndexedDB",idbrequest:"IDB Request",idbtransaction:"IDB Transaction",idbobjectstore:"IDB Object Store",idbcursor:"IDB Cursor",localstorage:"Local Storage",sessionstorage:"Session Storage",navigator:"Navigator",geolocation:"Geolocation",clipboard:"Clipboard",notification:"Notification",canvas:"Canvas",canvasrenderingcontext2d:"Canvas Rendering Context 2D",offscreencanvas:"Offscreen Canvas",webglrenderingcontext:"WebGL Rendering Context",imagedata:"Image Data",imagebitmap:"Image Bitmap",mediastream:"Media Stream",mediarecorder:"Media Recorder",mediastreamtrack:"Media Stream Track",audiocontext:"Audio Context",audiobuffer:"Audio Buffer",audioworklet:"Audio Worklet",worker:"Worker",sharedworker:"Shared Worker",serviceworker:"Service Worker",workerglobalscope:"Worker Global Scope",structuredcloneerror:"Structured Clone Error",transferable:"Transferable",report:"Report",console:"Console",diagnosticreport:"Diagnostic Report",domrect:"DOM Rect",dompoint:"DOM Point",dommatrix:"DOM Matrix",domparser:"DOM Parser",xmlhttprequest:"XML HTTP Request",customelementregistry:"Custom Element Registry",text:"Text",comment:"Comment",animation:"Animation",documenttype:"Document Type",characterdata:"Character Data",animationevent:"Animation Event",customemmetregistry:"Custom Emmet Registry",websocketmessageevent:"WebSocket Message Event"});static SPECIAL_TYPE=Object.freeze(["-Infinity","Infinity","NaN"]);static ACRONYMS=Object.freeze(["URI","URL","URN","HTTP","HTTPS","FTP","FTPS","SFTP","SSH","SMTP","POP3","IMAP","WS","WSS","TCP","UDP","IP","ICMP","ARP","RTP","RTSP","SIP","HTML","XHTML","XML","WBR","CSS","SVG","JSON","JSONP","DOM","IDB","DB","RTC","ICE","TLS","SSL","CORS","WASM","CSR","SSR","PWA","DPI","CDN","JS","TS","JSX","TSX","CLI","API","SDK","UI","UX","OS","ID","UUID","PID","NPM","YARN","ESM","CJS","BOM","MVC","MVVM","ORM","DAO","CRUD","FIFO","LIFO","OOP","FP","REPL","CSV","TSV","SQL","YAML","JSON","MD","INI","PDF","XLS","XLSX","RTF","XML","BMP","GIF","PNG","JPEG","WEBP","MP3","MP4","AVI","MOV","FLAC","MKV","WAV","URLSearchParams","XHR","2D","3D","GL","WebGL","TTL","UID","GID","MAC","IP","DNS","DHCP","VPN","LAN","WAN","SSID","IoT","API","SDK","CLI","LTS","EOL","CPU","GPU","RAM","ROM","SSD","HDD","BIOS","USB","PCI","SATA","DIMM","DDR","VGA","HDMI","KVM","ASIC","FPGA","SoC","NAS","SAN","TCP","UDP","IP","MAC","DNS","DHCP","VPN","LAN","WAN","SSID","NAT","QoS","MPLS","BGP","OSPF","ICMP","IGMP","LLDP","ARP","RARP","AES","RSA","OTP","MFA","PKI","VPN","IAM","ACL","CSP","XSS","CSRF","HSTS","WAF","DDoS","IDS","IPS","SOC","SIEM","AWS","GCP","AZURE","CI","CD","K8S","IaC","PaaS","SaaS","IaaS","API","CLI","SDK","REST","SOAP","JSON-RPC","gRPC","ELB","EKS","AKS","FaaS","CaaS","GUI","IDE","FAQ","UX","UI","CLI","API","SDK","LTS","EOL","WYSIWYG","CMS","CRM","GPS","LED","OLED","LCD","RFID","NFC","CPU","GPU","AI","ML","DL","DB","SQL","NoSQL","ORM","JSON","XML","CSV","HTTP","HTTPS","TDD","BDD","CI","CD","QA","SLA","SLO","MTTR","MTBF","UAT","RPA","KPI","OKR","ROI","RFP","SLA","CRM","ERP","PMO","SCRUM","KANBAN","FPS","HDR","VR","AR","3D","2D","MP3","MP4","GIF","PNG","JPEG","SVG","BMP","TIFF","POSIX","NTFS","FAT","EXT","EXT4","APFS","HFS","ISO","HTML","CSS","JS","TS","PHP","SQL","JSON","XML","YAML","BASH","ZSH","JSON","YAML","INI","DOTENV","VM","VMM","VPC","OCI","LXC","Docker","K8S","CRI","CNI"]);static FIXES_CASTABLE_TABLE=Object.freeze(Object.entries(e.FIXES_RAW).reduce((t,[r,d])=>(t[e.normalizeKeyForCase(r)]=d,t),{}));formatCase="toKebabCase";useAcronyms=!1;constructor(e){this.formatCase=e?.formatCase,this.useAcronyms=e?.useAcronyms}determineOptions(e){return{formatCase:e?.formatCase||this.formatCase,useAcronyms:e?.useAcronyms??this.useAcronyms}}getHtmlElementType(t,r){let{formatCase:d,useAcronyms:n}=this.determineOptions(r);if(typeof HTMLElement>"u"||!(t instanceof HTMLElement))return null;let a=t.tagName,i={a:"Anchor",abbr:"Abbreviation",address:"Address",area:"Area",article:"Article",aside:"Aside",audio:"Audio",b:"Bold",base:"Base",bdi:"BDI",bdo:"BDO",blockquote:"Blockquote",body:"Body",br:"Break",button:"Button",canvas:"Canvas",caption:"Caption",cite:"Cite",code:"Code",col:"Column",colgroup:"Column Group",data:"Data",datalist:"Datalist",dd:"Definition Description",del:"Deleted Text",details:"Details",dfn:"Definition",dialog:"Dialog",div:"Div",dl:"Definition List",dt:"Definition Term",em:"Emphasis",embed:"Embed",fieldset:"Fieldset",figcaption:"Figcaption",figure:"Figure",footer:"Footer",form:"Form",h1:"Heading 1",h2:"Heading 2",h3:"Heading 3",h4:"Heading 4",h5:"Heading 5",h6:"Heading 6",head:"Head",header:"Header",hr:"Horizontal Rule",html:"HTML",i:"Italic",iframe:"IFrame",img:"Image",input:"Input",ins:"Inserted Text",kbd:"Keyboard",label:"Label",legend:"Legend",li:"List Item",link:"Link",main:"Main",map:"Map",mark:"Mark",meta:"Meta",meter:"Meter",nav:"Nav",noscript:"NoScript",object:"Object",ol:"Ordered List",optgroup:"Option Group",option:"Option",output:"Output",p:"Paragraph",param:"Param",picture:"Picture",pre:"Preformatted",progress:"Progress",q:"Quote",rp:"RP",rt:"RT",ruby:"Ruby",s:"Strikethrough",samp:"Sample",script:"Script",section:"Section",select:"Select",small:"Small",source:"Source",span:"Span",strong:"Strong",style:"Style",sub:"Subscript",summary:"Summary",sup:"Superscript",table:"Table",tbody:"Table Body",td:"Table Data",template:"Template",textarea:"Textarea",tfoot:"Table Footer",th:"Table Header",thead:"Table Head",time:"Time",title:"Title",tr:"Table Row",track:"Track",u:"Underline",ul:"Unordered List",var:"Variable",video:"Video",wbr:"WBR"},o=e.FIXES_CASTABLE_TABLE[e.normalizeKeyForCase(a)]??(i[a]?`HTML ${i[a]} Element`:"HTML Element");return this.converter(o,{formatCase:d,useAcronyms:n})}getCommentNodeType(t,r){let{formatCase:d,useAcronyms:n}=this.determineOptions(r);return t instanceof Comment?this.converter(e.FIXES_CASTABLE_TABLE[e.normalizeKeyForCase("comment")]??"Comment",{formatCase:d,useAcronyms:n}):null}getTextNodeType(t,r){let{formatCase:d,useAcronyms:n}=this.determineOptions(r);return t instanceof Text?this.converter(e.FIXES_CASTABLE_TABLE[e.normalizeKeyForCase("text")]??"Text",{formatCase:d,useAcronyms:n}):null}getOtherNodeType(t,r){let{formatCase:d,useAcronyms:n}=this.determineOptions(r);return typeof Node<"u"&&t instanceof Node?this.converter(e.FIXES_CASTABLE_TABLE[e.normalizeKeyForCase("node")]??"Node",{formatCase:d,useAcronyms:n}):null}getSymbolName(t,r){let{formatCase:d,useAcronyms:n}=this.determineOptions(r),a=new Map([[Symbol.iterator,"symboliterator"],[Symbol.asyncIterator,"symbolasynciterator"],[Symbol.toStringTag,"symboltostringtag"],[Symbol.species,"symbolspecies"],[Symbol.hasInstance,"symbolhasinstance"],[Symbol.isConcatSpreadable,"symbolisconcatspreadable"],[Symbol.unscopables,"symbolunscopables"],[Symbol.match,"symbolmatch"],[Symbol.replace,"symbolreplace"],[Symbol.search,"symbolsearch"],[Symbol.split,"symbolsplit"],[Symbol.toPrimitive,"symboltoprimitive"],[Symbol.matchAll,"symbolmatchall"]]).get(t);return a?this.converter(e.FIXES_CASTABLE_TABLE[e.normalizeKeyForCase(a)]??a,{formatCase:d,useAcronyms:n}):this.converter(e.FIXES_CASTABLE_TABLE[e.normalizeKeyForCase("symbol")]??"Symbol",{formatCase:d,useAcronyms:n})}detectDomNodeType(e,t){let{formatCase:r,useAcronyms:d}=this.determineOptions(t);try{return this.getHtmlElementType(e,{formatCase:r,useAcronyms:d})||this.getCommentNodeType(e,{formatCase:r,useAcronyms:d})||this.getTextNodeType(e,{formatCase:r,useAcronyms:d})||this.getOtherNodeType(e,{formatCase:r,useAcronyms:d})}catch{return null}}isProxy(e){if(m(e)||!g(e))return!1;let t=Object.prototype.toString.call(e);if(["[object Array]","[object Date]","[object RegExp]","[object Map]","[object Set]","[object WeakMap]","[object WeakSet]","[object Function]","[object Error]","[object Promise]","[object Generator]","[object GeneratorFunction]","[object AsyncFunction]"].includes(t))return!1;try{return Reflect.defineProperty(e,"__proxy_detect__",{configurable:!0,value:1}),Reflect.deleteProperty(e,"__proxy_detect__"),!1}catch{return!0}}converter(t,r){let{formatCase:d,useAcronyms:n}=this.determineOptions(r),a=n?e.ACRONYMS:[];switch(d){case"slugify":return E(t,a);case"toDotCase":return A(t,a);case"toCamelCase":return M(t,a);case"toSnakeCase":return O(t,a);case"toLowerCase":return j(t,a);case"toPascalCase":return D(t,a);case"toPascalCaseSpace":return F(t,a);default:return I(t,a)}}static normalizeKeyForCase(e){return e.replace(/[\s_\-\.]+/g,"").toLowerCase()}static get castableTable(){return e.FIXES_CASTABLE_TABLE}static get specialType(){return this.SPECIAL_TYPE}static get fixesRaw(){return this.FIXES_RAW}static get acronymsList(){return this.ACRONYMS}},R=(()=>{let e=new Map;return(t,r={})=>{s(r)||(r={});let d=JSON.stringify({formatCase:r.formatCase||"toKebabCase",useAcronyms:r.useAcronyms??!1}),a=e.get(d);if(a||(e.size>=25&&e.clear(),a=new L(r),e.set(d,a)),m(t))return a.converter(L.castableTable[L.normalizeKeyForCase("null")]??"Null");if(c(t))return"NaN";if(N(t))return String(t);if(typeof BigInt<"u"&&t===BigInt)return a.converter(L.castableTable[L.normalizeKeyForCase("bigint constructor")]);if(l(t)||t===Number)return a.converter(L.castableTable[L.normalizeKeyForCase("number constructor")]);if(k(t)||t===String)return a.converter(L.castableTable[L.normalizeKeyForCase("string constructor")]);if(S(t)||t===Boolean)return a.converter(L.castableTable[L.normalizeKeyForCase("boolean constructor")]);let i=typeof t;if(!g(t)&&!n(t)&&"symbol"!==i)return a.converter(L.castableTable[L.normalizeKeyForCase(i)]??i);if("symbol"===i)return a.getSymbolName(t);if(g(t)&&"EventEmitter"===t.constructor?.name)return a.converter(L.castableTable[L.normalizeKeyForCase("event emitter")]??"Event Emitter");let u=a.detectDomNodeType(t);if(u)return u;if(w(t))return a.converter(L.castableTable[L.normalizeKeyForCase("buffer")]??"Buffer");if(a.isProxy(t))return a.converter(L.castableTable[L.normalizeKeyForCase("proxy")]??"Proxy");if(o(t)&&n(t?.next)&&n(t?.throw))return a.converter(L.castableTable[L.normalizeKeyForCase("generator")]??"Generator");if(v(t)){let e=t.constructor?.name??"Error";return a.converter(L.castableTable[L.normalizeKeyForCase(e)]??L.castableTable[L.normalizeKeyForCase(e.replace(/\s+/g,""))]??e)}if(g(t)&&"done"in t&&"value"in t&&2===Object.keys(t).length)return a.converter(L.castableTable[L.normalizeKeyForCase("iterator result")]);if(m(Object.getPrototypeOf(t)))return a.converter(L.castableTable[L.normalizeKeyForCase("object")]??"Object");let f=Object.prototype.toString.call(t).slice(8,-1)||"Object",$=L.castableTable[L.normalizeKeyForCase(f)];if($)return a.converter($);let p=t?.constructor?.name;return p&&"Object"!==p?a.converter(L.castableTable[L.normalizeKeyForCase(p)]??p):a.converter(f)}})(),z=(e,t)=>{switch(e){case"Error":throw new Error(t);case"EvalError":throw new EvalError(t);case"RangeError":throw new RangeError(t);case"ReferenceError":throw new ReferenceError(t);case"SyntaxError":throw new SyntaxError(t);case"URIError":throw new URIError(t);default:throw new TypeError(t)}};function U(e){let{requiredValidType:t,value:r,options:d}=e||{},{message:a,formatCase:i,useAcronyms:o,errorType:u="TypeError"}=s(d)?d:{},l=I(t),c=R(r,{formatCase:i,useAcronyms:o}),m={currentType:c,validType:l},f=`Parameter input (\`value\`) must be of type \`${l}\`, but received: \`${c}\`.`,$=n(a)?b(a(m))?a(m).trim():f:b(a)?a.trim():f;return z(u,$)}var B=(e,t={})=>{d(e)||U({value:e,options:t,requiredValidType:"boolean"})},W=e=>"bigint"==typeof e,H=(e,t={})=>{W(e)||U({value:e,options:t,requiredValidType:"bigint"})},G=(e,t={})=>{let r=y(t,"includeNaN")?t.includeNaN:void 0;$(e,{includeNaN:r})||U({value:e,options:t,requiredValidType:"number"})};function q(e,t){i(e)||U({value:e,options:t,requiredValidType:"array"})}var Y=(e,t={})=>{u(e)||U({value:e,options:t,requiredValidType:"string"})},_={};t(_,{cleanParsedData:()=>we,convertType:()=>ge,dedupeArray:()=>oe,extractDigits:()=>ke,filterNilArray:()=>V,parseCurrencyString:()=>he,parseCustomDate:()=>ye,removeObjectPaths:()=>Pe,safeJsonParse:()=>Se,safeStableStringify:()=>ae,toBooleanContent:()=>me,toBooleanContentDeep:()=>fe,toBooleanExplicit:()=>$e,toBooleanLoose:()=>pe,toNumberArrayUnRecursive:()=>X,toNumberDeep:()=>Ae,toStringArrayUnRecursive:()=>Q,toStringDeep:()=>Me,toStringDeepForce:()=>ie});var K=e=>!i(e)||0===e.length;function V(e){return a(e)?void 0:i(e)?e.reduce((e,t)=>{if(!a(t))if(i(t)){let r=V(t);r&&!K(r)&&e.push(r)}else e.push(t);return e},[]):[]}function X(e,t={}){f(t,{message:({currentType:e,validType:t})=>`Second parameter (\`options\`) must be of type \`${t}\`, but received: \`${e}\`.`});let r=!y(t,"removeInvalidValueNumber")||t.removeInvalidValueNumber;if(B(r,{message:({currentType:e,validType:t})=>`Parameter \`removeInvalidValueNumber\` property of the \`options\` (second parameter) must be of type \`${t}\`, but received: \`${e}\`.`}),i(e)){let t=Array.from(e,e=>{if(W(e))return Number(e);let t=String(e).trim().match(/-?\d+(\.\d+)?/);return t?Number(t[0]):m(e)?null:void 0});return r?V(t):t}}function J(e){return $(e)&&Number.isFinite(e)}function Q(e,t={}){f(t,{message:({currentType:e,validType:t})=>`Second parameter (\`options\`) must be of type \`${t}\`, but received: \`${e}\`.`});let r=!y(t,"removeInvalidValue")||t.removeInvalidValue;if(B(r,{message:({currentType:e,validType:t})=>`Parameter \`removeInvalidValue\` property of the \`options\` (second parameter) must be of type \`${t}\`, but received: \`${e}\`.`}),i(e)){let t=Array.from(e,e=>u(e)||J(e)||d(e)||W(e)?String(e):m(e)?null:void 0);return r?V(t):t}}function Z(e){return"[object Map]"===Object.prototype.toString.call(e)||e instanceof Map}var ee=(e,t={})=>{f(t,{message:({currentType:e,validType:t})=>`Second parameter (\`options\`) must be of type \`${t}\`, but received: \`${e}\`.`});let r=!(!s(t)||!d(t.skipInvalidDate))&&t.skipInvalidDate,n=e instanceof Date;return r?n:n&&!c(e.getTime())},te=e=>e instanceof RegExp;function re(e){return e instanceof ArrayBuffer}function de(e,t,r,d=new WeakMap){if(e===t||e!=e&&t!=t)return!0;if(!g(e)||!g(t))return!1;if(d.get(e)===t)return!0;d.set(e,t);let n=(e,t,n,a,i)=>{if(r){let o=r(e,t,n,a,i,d);if(!h(o))return o}return de(e,t,r,d)};if(ee(e)&&ee(t))return e.getTime()===t.getTime();if(te(e)&&te(t))return e.source===t.source&&e.flags===t.flags;if(v(e)&&v(t))return e.name===t.name&&e.message===t.message;if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){let r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),d=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);if(r.length!==d.length)return!1;for(let e=0;e<r.length;e++)if(r[e]!==d[e])return!1;return!0}if(re(e)&&re(t)){if(e.byteLength!==t.byteLength)return!1;let r=new Uint8Array(e),d=new Uint8Array(t);for(let e=0;e<r.length;e++)if(r[e]!==d[e])return!1;return!0}if(Z(e)&&Z(t)){if(e.size!==t.size)return!1;for(let[n,a]of e)if(!t.has(n)||!de(a,t.get(n),r,d))return!1;return!0}if(T(e)&&T(t)){if(e.size!==t.size)return!1;for(let n of e){let e=!1;for(let a of t)if(de(n,a,r,d)){e=!0;break}if(!e)return!1}return!0}if(i(e)&&i(t)){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r],r,e,t))return!1;return!0}if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;let a=Reflect.ownKeys(e),o=Reflect.ownKeys(t);if(a.length!==o.length)return!1;for(let r of a){if(!n(e[r],t[r],r,e,t))return!1}return!0}function ne(e,t){return de(e,t,void 0,new WeakMap)}var ae=(e,t={})=>{f(t,{message:({currentType:e,validType:t})=>`Second parameter (\`options\`) must be of type \`${t}\`, but received: \`${e}\`.`});let r=!!y(t,"pretty")&&t.pretty,a=!y(t,"sortKeys")||t.sortKeys,s=!!y(t,"sortArray")&&t.sortArray,u=!!y(t,"keepUndefined")&&t.keepUndefined;if(!(d(a)&&d(s)&&d(r)&&d(u)))throw new TypeError(`Parameters \`sortKeys\`, \`sortArray\`, \`keepUndefined\` and \`pretty\` property of the \`options\` (second parameter) must be of type \`boolean\`, but received: "['sortKeys': \`${R(a)}\`, 'sortArray': \`${R(s)}\`, 'keepUndefined': \`${R(u)}\`, 'pretty': \`${R(r)}\`]".`);if(h(e))return u?"undefined":"null";let b=new WeakSet,v=e=>m(e)||!g(e)&&!n(e),w=e=>{if(l(e)){let t=e.valueOf();return c(t)||N(t)?null:t}if(k(e)||S(e))return e.valueOf();if(!n(e)&&!p(e)){if(W(e))return e.toString();if(c(e)||N(e))return null;if(h(e))return u?void 0:null;if(g(e)){if(b.has(e))return"[Circular]";if(b.add(e),ee(e))return e.toISOString();if(Z(e))return{map:Array.from(e.entries()).map(([e,t])=>[e,w(t)])};if(T(e))return{set:Array.from(e.values()).map(w)};if(i(e)){let t=e.map(w);if(s){let e=[],r=[];for(let d of t)v(d)?e.push(d):r.push(d);return e.sort((e,t)=>$(e)&&$(t)?e-t:String(e).localeCompare(String(t))),[...e,...r]}return t}let t=Object.keys(e);a&&t.sort((e,t)=>{let r=Number(e),d=Number(t);return c(r)||c(d)?e.localeCompare(t):r-d});let r={};if(o(e))for(let d of t){let t=w(e[d]);h(t)||(r[d]=t)}return r}return e}};try{return JSON.stringify(w(e),null,r?2:0)}catch(e){return console.warn("Error in safeStableStringify:",e),"{}"}};function ie(e,t){if(!1!==t&&"stringOrNumber"!==t&&"primitives"!==t&&"all"!==t)throw new TypeError(`Second parameter \`forceToString\` must be of type \`false\` or \`string\` with value one of "stringOrNumber" | "primitives" | "all", but received: \`${R(t)}\`, with value: \`${ae(t,{keepUndefined:!0})}\`.`);if(c(e))return"primitives"===t||"all"===t?"NaN":NaN;if(u(e)||$(e))return"stringOrNumber"===t||"primitives"===t||"all"===t?String(e):e;if(d(e)||W(e)||a(e))return"primitives"===t||"all"===t?String(e):e;if(l(e)||S(e)||k(e))return"all"===t?e.valueOf().toString():e;if(p(e)||n(e))return"all"===t?e.toString():e;if(i(e))return e.map(e=>ie(e,t));if(g(e)){if(ee(e))return"all"===t?e.toISOString():e;if(te(e)||v(e)||e instanceof Promise)return"all"===t?e.toString():e;if(T(e))return"all"===t?[...e].map(e=>ie(e,t)):e;if(Z(e))return"all"===t?[...e.entries()].map(([e,r])=>[ie(e,t),ie(r,t)]):e;let r={};if(o(e))for(let d of Object.keys(e))r[d]=ie(e[d],t);return r}return e}var oe=(e,t={})=>{q(e,{message:({currentType:e,validType:t})=>`First parameter (\`inputArray\`) must be of type \`${t}\` (array literal or instance), but received: \`${e}\`.`}),f(t,{message:({currentType:e,validType:t})=>`Second parameter (\`options\`) must be of type \`${t}\`, but received: \`${e}\`.`});let r=!!y(t,"flatten")&&t.flatten,d=!!y(t,"forceToString")&&t.forceToString;if(!1!==d&&"stringOrNumber"!==d&&"primitives"!==d&&"all"!==d)throw new TypeError(`Parameter \`forceToString\` property of the \`options\` (second parameter) must be of type \`false\` or \`string\` with value one of "stringOrNumber" | "primitives" | "all", but received: \`${R(d)}\`, with value: \`${ae(d,{keepUndefined:!0})}\`.`);B(r,{message:({currentType:e,validType:t})=>`Parameter \`flatten\` property of the \`options\` (second parameter) must be of type \`${t}\`, but received: \`${e}\`.`});let n=e=>{let t=[];return e.reduce((e,r)=>{let a=i(r)?n(r):ie(r,d);return t.some(e=>ne(e,a))||(t.push(a),e.push(a)),e},[])},a=e=>i(e)?e.flatMap(a):T(e)?[...e].flatMap(a):Z(e)?[...e.values()].flatMap(a):[e];return n(r?a(e):e)};function se(e,t={}){if(!o(e))return!0;f(t,{message:({currentType:e,validType:t})=>`Second parameter (\`options\`) must be of type \`${t}\`, but received: \`${e}\`.`});let r=!!y(t,"checkSymbols")&&t.checkSymbols;B(r,{message:({currentType:e,validType:t})=>`Parameter \`checkSymbols\` property of the \`options\` (second parameter) must be of type \`${t}\`, but received: \`${e}\`.`});let d=0===Object.keys(e).length;return r?d&&0===Object.getOwnPropertySymbols(e).length:d}var ue=(e,t={})=>!b(e,t),le=(e,t={})=>{f(t,{message:({currentType:e,validType:t})=>`Second parameter (\`options\`) must be of type \`${t}\`, but received: \`${e}\`.`});let r=!!y(t,"checkSymbols")&&t.checkSymbols;return B(r,{message:({currentType:e,validType:t})=>`Parameter \`checkSymbols\` property of the \`options\` (second parameter) must be of type \`${t}\`, but received: \`${e}\`.`}),!(!a(e)&&!1!==e&&!c(e))||(u(e)?ue(e):i(e)?K(e):!!o(e)&&se(e,{checkSymbols:r}))},ce=(e,t={})=>!le(e,t),me=e=>!a(e)&&(u(e)?b(e):d(e)?e:$(e,{includeNaN:!0})?0!==e:i(e)||o(e)?ce(e):!!e),fe=e=>!a(e)&&(u(e)?b(e):d(e)?e:$(e,{includeNaN:!0})?0!==e:i(e)?e.some(fe):!!o(e)&&Object.values(e).some(fe)),$e=(e,t={})=>{if(a(e))return!1;s(t)||(t={});let r=!!y(t,"caseInsensitive")&&t.caseInsensitive,n=!y(t,"trimString")||t.trimString,i=!!y(t,"includeIndeterminate")&&t.includeIndeterminate;if(!d(r)||!d(n)||!d(i))throw new TypeError(`Parameters \`caseInsensitive\`, \`trimString\` and \`includeIndeterminate\` property of the \`options\` (second parameter) expected to be a \`boolean\` type, but received: ['caseInsensitive': \`${R(r)}\`, 'trimString': \`${R(n)}\`, 'includeIndeterminate': \`${R(i)}\`].`);if(u(e)){let t=e;n&&(t=t.trim()),r&&(t=t.toLowerCase());let d=["true","on","yes","1"];return i&&d.push("indeterminate"),d.includes(t)}return $(e)?1===e:!!d(e)&&e},pe=e=>!a(e)&&(u(e)?!ue(e):d(e)?e:$(e,{includeNaN:!0})?0!==e:i(e)?e.length>0:!!e),he=e=>{if(!b(e))return 0;let t=e.trim().replace(/\u00A0/g,"").replace(/\u202F/g,""),r=!1;/^\(.*\)$/.test(t)&&(r=!0,t=t.slice(1,-1).trim()),t=t.replace(/^[-\s]+/,e=>e.includes("-")?"-":"").replace(/[\s.,-]+$/,""),r=r||/^-/.test(t)||/^[^\d]*-/.test(t);let d=t.replace(/[^0-9.,'\s]/g,"").replace(/[\s']/g,""),n=d.match(/,\d{2}/g);if(n&&n.length>1)d=d.replace(/,/g,"");else{let e=(d.match(/\./g)||[]).length,t=(d.match(/,/g)||[]).length;if(e>1&&0===t)d=d.replace(/\./g,"");else if(t>1&&0===e)d=d.replace(/,/g,"");else{let e=d.lastIndexOf(","),t=d.lastIndexOf(".");if(e>t)d=d.replace(/\./g,"").replace(",",".");else if(t>e)d=d.replace(/,/g,"");else if(e>t){let t=d.slice(0,e).replace(/,/g,"").replace(/\./g,""),r=d.slice(e+1);d=t+"."+r}else if(t>e){let e=d.slice(0,t).replace(/\./g,"").replace(/,/g,""),r=d.slice(t+1);d=e+"."+r}else-1!==e?d=d.replace(/,/g,""):-1!==t&&(d=d.replace(/\./g,""))}}let a=parseFloat(d)||0;return r?-a:a},ge=e=>{let t={undefined:void 0,null:null,nan:NaN,true:!0,false:!1,yes:!0,no:!1};if(u(e)){let r=e.trim().toLowerCase();if(Object.prototype.hasOwnProperty.call(t,r))return t[r];let d=r.replace(/,/g,""),n=Number(d);return!c(n)&&b(d)?n:e.trim()}return e},ye=(e,t)=>{if(!b(e)||!b(t))throw new TypeError(`Parameter \`dateString\` and \`format\` must be of type \`string\` and not empty-string, but received: "['dateString': \`${R(e)}\` - (current value: \`${ae(e,{keepUndefined:!0})}\`), 'format': \`${R(t)}\` - (current value: \`${ae(t,{keepUndefined:!0})}\`)]".`);let r,d,n,a=e.split(/[-/]/).map(Number);if(3!==a.length||a.some(isNaN))return null;if("DD/MM/YYYY"===t)[r,d,n]=a;else{if("MM/DD/YYYY"!==t)return null;[d,r,n]=a}d-=1;let i=new Date(n,d,r);return i.getFullYear()!==n||i.getMonth()!==d||i.getDate()!==r?null:i},be=()=>{},ve=(e={})=>{f(e,{message:({currentType:e,validType:t})=>`Second parameter (\`options\`) must be of type \`${t}\`, but received: \`${e}\`.`});let t=!!y(e,"convertBooleans")&&e.convertBooleans,r=!!y(e,"convertDates")&&e.convertDates,a=!!y(e,"convertNumbers")&&e.convertNumbers,o=!!y(e,"loggingOnFail")&&e.loggingOnFail,s=!!y(e,"removeEmptyArrays")&&e.removeEmptyArrays,u=!!y(e,"removeEmptyObjects")&&e.removeEmptyObjects,l=!!y(e,"removeNulls")&&e.removeNulls,c=!!y(e,"removeUndefined")&&e.removeUndefined,m=!!y(e,"strictMode")&&e.strictMode,$=!!y(e,"checkSymbols")&&e.checkSymbols,p=!!y(e,"convertNaN")&&e.convertNaN,h=y(e,"customDateFormats")?e.customDateFormats:[],g=y(e,"onError")?e.onError:be;if(!(d(t)&&d(r)&&d(a)&&d(p)&&d($)&&d(o)&&d(s)&&d(u)&&d(l)&&d(c)&&d(m)&&i(h)&&n(g)))throw new TypeError(`Invalid \`options\` parameter (second argument): \`convertBooleans\`, \`convertDates\`, \`convertNumbers\`, \`loggingOnFail\`, \`removeEmptyArrays\`, \`removeEmptyObjects\`, \`removeNulls\`, \`removeUndefined\`, \`strictMode\` expected to be a \`boolean\` type, \`customDateFormats\` expected to be a \`array\` type and \`onError\` expected to be a \`void function\` type. But received: ['convertBooleans': \`${R(t)}\`, 'convertDates': \`${R(r)}\`, 'convertNumbers': \`${R(a)}\`, 'loggingOnFail': \`${R(o)}\`, 'removeEmptyArrays': \`${R(s)}\`, 'removeEmptyObjects': \`${R(u)}\`, 'removeNulls': \`${R(l)}\`, 'removeUndefined': \`${R(c)}\`, 'strictMode': \`${R(m)}\`, 'customDateFormats': \`${R(h)}\`, 'onError': \`${R(g)}\`].`);return{convertBooleans:t,convertDates:r,convertNumbers:a,convertNaN:p,loggingOnFail:o,removeEmptyArrays:s,removeEmptyObjects:u,removeNulls:l,removeUndefined:c,strictMode:m,customDateFormats:h,onError:g,checkSymbols:$}},we=(e,t={})=>{let r=ve(t);if(m(e))return r.removeNulls?void 0:null;if(!h(e)){if(u(e)){let t=e.trim();if(r.convertNaN&&"NaN"===t)return NaN;if(r.convertNumbers&&!isNaN(Number(t)))return Number(t);if(r.convertBooleans){if("true"===t)return!0;if("false"===t)return!1}if(r.convertDates){if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(t))return new Date(t);if(r.customDateFormats?.length)for(let e of r.customDateFormats){let r=ye(t,e);if(r)return r}}return r.strictMode?void 0:t}if(i(e)){let t=e.map(e=>we(e,r)).filter(e=>!h(e));return r.removeEmptyArrays&&K(t)?void 0:t}if(o(e)){let t={};for(let d in e)if(Object.prototype.hasOwnProperty.call(e,d)){let n=we(e[d],r);h(n)||(t[d]=n)}return r.removeEmptyObjects&&se(t,{checkSymbols:r.checkSymbols})?void 0:t}return r.strictMode?void 0:e}r.removeUndefined},ke=e=>{if(!u(e)&&!$(e))return 0;let t=String(e).trim().replace(/[^0-9]/g,"");return Number(t)||0};function Se(e,t={}){if(m(e))return null;let r=ve(t);if(r.convertNaN&&(c(e)||b(e)&&"NaN"===e))return NaN;if(r.convertNumbers&&!c(Number(e))&&$(ke(e)))return Number(e);if(u(e))try{let t=function(e){let t=new Set(["\\",'"',"/","b","f","n","r","t","u"]),r="",d=!1,n=!1,a=!1;for(let i=0;i<e.length;i++){let o=e[i];if(a)d?"'"===o?r+="'":t.has(o)?r+="\\"===o?"\\\\":'"'===o?'\\"':"\\"+o:r+="\\\\"+o:n?'"'===o?r+='\\"':t.has(o)?r+="\\"+o:r+="\\\\"+o:r+="\\"+o,a=!1;else if("\\"!==o){if(d||n){if(d){if("'"===o){r+='"',d=!1;continue}}else if(n&&'"'===o){r+='"',n=!1;continue}}else{if("'"===o){r+='"',d=!0;continue}if('"'===o){r+='"',n=!0;continue}}r+=o}else a=!0}return r}(e);t=r.removeUndefined?t.replace(/,\s*"[^"]*"\s*:\s*undefined(?=\s*[},])/g,"").replace(/"[^"]*"\s*:\s*undefined\s*(,)?/g,""):t.replace(/:\s*undefined(?=\s*[,}])/g,":null"),t=r.convertNaN?t.replace(/:\s*NaN(?=\s*[,}])/g,':"NaN"'):t.replace(/:\s*NaN(?=\s*[,}])/g,':"NaN"').replace(/,\s*"[^"]*"\s*:\s*NaN(?=\s*[},])/g,"").replace(/"[^"]*"\s*:\s*NaN\s*(,)?/g,""),t=t.replace(/,(\s*[}\]])/g,"$1");let d=JSON.parse(t);return we(d,r)}catch(e){return r.loggingOnFail&&console.error("Failed to parsing at `safeJsonParse`:",e),void r.onError(v(e)?new Error(e.message.replace(/^JSON\.parse:/,"Failed to parsing")):new Error(String(e)))}}var Ne=e=>{try{if(n(structuredClone))return structuredClone(e)}catch{}return JSON.parse(JSON.stringify(e))},Ce=(e,t)=>{if(!g(e))return e;let[r,...d]=t;if(i(e))for(let r of e)g(r)&&Ce(r,t);else K(d)?s(e)&&delete e[r]:s(e)&&g(e[r])&&Ce(e[r],d);return e},Te=(e,t)=>{if(!s(e))return e;let[r,...d]=t;return 0===d.length?s(e)&&delete e[r]:s(e[r])&&Te(e[r],d),e};function Pe(e,t,r=!0){if(se(e,{checkSymbols:!0}))return{};if(q(t,{message:({currentType:e,validType:r})=>`Second parameter (\`keysToDelete\`) must be of type \`${r}\` with value of { key: string, deep?: boolean } plain-object, but received: \`${e}\`, with value: \`${ae(t,{keepUndefined:!0})}\`.`}),!t.every(e=>s(e)&&"key"in e))throw new TypeError(`Each element in Second Parameter (\`keysToDelete\`) must be of type \`plain-object\` with at least a "key" property (optionally "deep"), but received: \`${ae(t,{keepUndefined:!0})}\`.`);let n=r?Ne(e):e;for(let{key:e,deep:r}of t){if(Y(e,{message:({currentType:e,validType:t})=>`Parameter \`key\` at Second Parameter (\`keysToDelete\`) must be of type \`${t}\`, but received: \`${e}\`.`}),!h(r)&&!d(r))throw new TypeError(`Parameter \`deep\` at Second Parameter (\`keysToDelete\`) ➔ (key: "${e}", deep: ${r}) must be of type \`boolean\` or \`undefined\`, but received: \`${R(r)}\`.`);let t=e.split(".");n=r?Ce(n,t):Te(n,t)}return n}var xe=new Set(["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]","[object BigInt64Array]","[object BigUint64Array]"]);function Ee(e){return null!=e&&"object"==typeof e&&xe.has(Object.prototype.toString.call(e))}function Ae(e,t={}){return f(t,{message:({currentType:e,validType:t})=>`Second parameter (\`options\`) must be of type \`${t}\`, but received: \`${e}\`.`}),function e(t,r){if(a(t)||te(t))return;let{removeEmptyArrays:n,removeEmptyObjects:s,isRoot:u}=r;if(!d(s)||!d(n))throw new TypeError(`Parameters \`removeEmptyObjects\` and \`removeEmptyArrays\` property of the \`options\` (second parameter) must be of type \`boolean\`, but received: ['removeEmptyObjects': \`${R(s)}\`, 'removeEmptyArrays': \`${R(n)}\`].`);if($(t)||d(t)||b(t)){let e=Number(t);return N(e)||c(e)?void 0:e}if(l(t)||k(t)||S(t)){let e=Number(t.valueOf());return N(e)||c(e)?void 0:e}if(ee(t,{skipInvalidDate:!0}))try{return c(t.getTime())?0:t.getTime()}catch{return 0}if(w(t)){let r=Array.from(t).map(t=>e(t,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1})).filter(e=>!h(e));return n&&K(r)?void 0:r}if(Ee(t)){if(t instanceof BigInt64Array||t instanceof BigUint64Array){let r=Array.from(t).map(t=>e(t,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1})).filter(e=>!h(e));return n&&K(r)?void 0:r}{let r=Array.from(t).map(t=>e(t,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1})).filter(e=>!h(e));return n&&K(r)?void 0:r}}if(T(t)){let r=Array.from(t).map(t=>e(t,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1})).filter(e=>!h(e));return n&&K(r)?void 0:r}if(Z(t)){let r=Array.from(t.entries()).map(([t,r])=>{let d=e(t,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1}),a=e(r,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1});return h(d)||h(a)?void 0:[d,a]}).filter(e=>!h(e));return n&&(r=r.filter(e=>!K(e))),n&&K(r)?void 0:r}if(i(t)){let r=t.map(t=>e(t,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1})).filter(e=>!h(e));return n&&K(r)?void 0:r}if(o(t)){let r={};for(let[d,a]of Object.entries(t)){let t=e(a,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1});h(t)||(r[d]=t)}return s&&se(r)?u?{}:void 0:r}}(e,{removeEmptyObjects:!!y(t,"removeEmptyObjects")&&t.removeEmptyObjects,removeEmptyArrays:!!y(t,"removeEmptyArrays")&&t.removeEmptyArrays,isRoot:!0})}function Me(e,t={}){return f(t,{message:({currentType:e,validType:t})=>`Second parameter (\`options\`) must be of type \`${t}\`, but received: \`${e}\`.`}),function e(t,r){if(a(t)||N(t))return;let{removeEmptyArrays:n,removeEmptyObjects:s,isRoot:m}=r;if(!d(s)||!d(n))throw new TypeError(`Parameters \`removeEmptyObjects\` and \`removeEmptyArrays\` property of the \`options\` (second parameter) must be of type \`boolean\`, but received: ['removeEmptyObjects': \`${R(s)}\`, 'removeEmptyArrays': \`${R(n)}\`].`);if($(t)||u(t)||d(t))return String(t);if(l(t)){let e=t.valueOf();return N(e)||c(e)?void 0:e.toString()}if(k(t))return t.valueOf();if(S(t))return t.valueOf().toString();if(ee(t,{skipInvalidDate:!0}))try{return t.toISOString()}catch{return t.toString()}if(te(t))return t.toString();if(w(t))return Array.from(t).map(e=>String(e)).filter(e=>!h(e));if(Ee(t)){if(t instanceof BigInt64Array||t instanceof BigUint64Array){let r=Array.from(t).map(t=>e(t,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1})).map(e=>String(e)).filter(e=>!h(e));return n&&K(r)?void 0:r}{let r=Array.from(t).map(t=>e(t,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1})).map(e=>String(e)).filter(e=>!h(e));return n&&K(r)?void 0:r}}if(T(t)){let r=Array.from(t).map(t=>e(t,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1})).filter(e=>!h(e));return n&&K(r)?void 0:r}if(Z(t)){let r=Array.from(t.entries()).map(([t,r])=>[e(t,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1}),e(r,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1})]).filter(([e,t])=>!h(e)&&!h(t));return n&&K(r)?void 0:r}if(i(t)){let r=t.map(t=>e(t,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1})).filter(e=>!h(e));return n&&(r=r.filter(e=>!(i(e)&&0===e.length))),n&&K(r)?void 0:r}if(o(t)){let r={};for(let[d,a]of Object.entries(t)){let t=e(a,{removeEmptyObjects:s,removeEmptyArrays:n,isRoot:!1});h(t)?i(a)&&!n&&(r[d]=[]):r[d]=t}return s&&0===Object.keys(r).length?m?{}:void 0:r}}(e,{removeEmptyObjects:!!y(t,"removeEmptyObjects")&&t.removeEmptyObjects,removeEmptyArrays:!!y(t,"removeEmptyArrays")&&t.removeEmptyArrays,isRoot:!0})}var Ie={};t(Ie,{disableUserInteraction:()=>je,enableUserInteraction:()=>De,removeElementFocus:()=>Fe,scrollToTop:()=>Le});var Oe=()=>typeof window>"u"||typeof document>"u",je=(e="on_processing")=>{if(Oe())return;Y(e,{message:({validType:e,currentType:t})=>`First parameter \`className\` must be of type \`${e}\`, but received: \`${t}\`.`});let{documentElement:t}=document;t&&!t.classList.contains(e)&&t.classList.add(e)},De=(e="on_processing")=>{if(Oe())return;Y(e,{message:({validType:e,currentType:t})=>`First parameter \`className\` must be of type \`${e}\`, but received: \`${t}\`.`});let{documentElement:t}=document;t&&t.classList.contains(e)&&t.classList.remove(e)},Fe=()=>{if(Oe())return;let e=document.activeElement;e instanceof HTMLElement&&e.blur()},Le=e=>{if(Oe())return;s(e)||(e={});let t=y(e,"behavior")&&b(e.behavior)&&["auto","instant","smooth"].includes(e.behavior)?e.behavior:"smooth",r=y(e,"timeout")&&$(e.timeout)&&e.timeout>=1?e.timeout:1;r=r>2147483647?2147483647:r,setTimeout(()=>window.scrollTo({top:0,left:0,behavior:t}),r)},Re={};function ze(e){return"number"==typeof e&&Number.isInteger(e)}t(Re,{censorEmail:()=>rd,chunkString:()=>nd,formatCurrency:()=>Ue,formatDateFns:()=>oa,formatDateIntl:()=>sa,formatDateTime:()=>ua,formatNumber:()=>Be,formatPhoneNumber:()=>ed,getGMTOffset:()=>la,truncateString:()=>ad});var Ue=(e,t={})=>{if(!u(e)&&!J(e))throw new TypeError(`First parameter (\`value\`) must be of type \`string\` or \`primitive-number\`, but received: \`${R(e)}\`, with value: \`${ae(e,{keepUndefined:!0})}\`.`);f(t,{message:({currentType:e,validType:t})=>`Second parameter (\`options\`) must be of type \`${t}\`, but received: \`${e}\`.`});let r=!!y(t,"decimal")&&t.decimal,a=y(t,"totalDecimal")?t.totalDecimal:2,i=!y(t,"endDecimal")||t.endDecimal,o=!!y(t,"indianFormat")&&t.indianFormat,l=y(t,"suffixCurrency")?t.suffixCurrency:"",m=y(t,"suffixDecimal")?t.suffixDecimal:"",$=y(t,"roundedDecimal")?t.roundedDecimal:"round",p=y(t,"negativeFormat")?t.negativeFormat:"dash",g=y(t,"separatorDecimals")?t.separatorDecimals:",",b=y(t,"separator")?t.separator:".";if(!(u(b)&&u(g)&&u(l)&&u(m)))throw new TypeError(`Parameter \`separator\`, \`separatorDecimals\`, \`suffixCurrency\` and \`suffixDecimal\` property of the \`options\` (second parameter) must be of type \`string\`, but received: ['separator': \`${R(b)}\`, 'separatorDecimals': \`${R(g)}\`, 'suffixCurrency': \`${R(l)}\`, 'suffixDecimal': \`${R(m)}\`].`);if(!d(r)||!d(i)||!d(o))throw new TypeError(`Parameter \`decimal\`, \`endDecimal\` and \`indianFormat\` property of the \`options\` (second parameter) must be of type \`boolean\`, but received: ['decimal': \`${R(r)}\`, 'endDecimal': \`${R(i)}\`, 'indianFormat': \`${R(o)}\`].`);if(!ze(a))throw new TypeError(`Parameter \`totalDecimal\` property of the \`options\` (second parameter) must be of type \`integer-number\`, but received: \`${R(a)}\`, with value: \`${ae(length,{keepUndefined:!0})}\`.`);if(!1!==$&&"round"!==$&&"ceil"!==$&&"floor"!==$)throw new TypeError(`Parameter \`roundedDecimal\` property of the \`options\` (second parameter) must be of type \`false\` or \`string\` must be one of "round" | "ceil" | "floor", but received: \`${R($)}\`, with value: \`${ae($,{keepUndefined:!0})}\`.`);if("abs"!==p&&"brackets"!==p&&"dash"!==p&&!s(p))throw new TypeError(`Parameter \`negativeFormat\` property of the \`options\` (second parameter) must be of type \`string\` must be one of "abs" | "brackets" | "dash" or \`plain-object\` type, but received: \`${R(p)}\`, with value: \`${ae(p,{keepUndefined:!0})}\`.`);let v=u(e)?he(e):e;if(c(v))throw new TypeError("First parameter (`value`) could not be parsed into a valid `number`.");let w,k="",S="",N=Math.abs(v),C=Math.pow(10,a);if($){let e=N*C;switch($){case"round":N=Math.round(e)/C;break;case"ceil":N=Math.ceil(e)/C;break;case"floor":N=Math.floor(e)/C}}if($)[k,S]=N.toFixed(a).split("."),S=S??"".padEnd(a,"0");else{let e=String(N).split(".");k=e[0],S=(e[1]||"").slice(0,a).padEnd(a,"0")}if(o?(b=",",g=".",w=(l.trim().length?l:"")+((e,t)=>{let r=e.slice(-3),d=e.slice(0,-3);return d?d.replace(/\B(?=(\d{2})+(?!\d))/g,t)+t+r:r})(k,b)):w=(l.trim().length?l:"")+k.replace(/\B(?=(\d{3})+(?!\d))/g,b),r&&!h(S)&&a>0){let e=g+S;i&&(e+=m),w+=e}if(v<0)if("dash"===p)w="-"+w;else if("brackets"===p)w="("+w+")";else if("abs"!==p&&s(p))if(y(p,"custom")){let e=p.custom;if(!n(e))throw new TypeError(`Parameter \`negativeFormat.custom\` property of the \`options\` (second parameter) must be of type function: \`(formatted: string) => string\`, but received: \`${R(e)}\`.`);let t=e(w);Y(t,{message:({currentType:e,validType:t})=>`Parameter \`negativeFormat.custom\` property of the \`options\` (second parameter) expected return a \`${t}\` type value, but received: \`${e}\`.`}),w=t}else{let e=p.style||"dash",t=!h(p.space)&&p.space;if(B(t,{message:({currentType:e,validType:t})=>`Parameter \`negativeFormat.space\` property of the \`options\` (second parameter) must be of type \`${t} or undefined\`, but received: \`${e}\`.`}),"abs"!==e&&"brackets"!==e&&"dash"!==e)throw new TypeError(`Parameter \`negativeFormat.style\` property of the \`options\` (second parameter) must be of type \`string\` must be of type "abs" | "brackets" | "dash", but received: \`${R(e)}\`, with value: \`${ae(e,{keepUndefined:!0})}\`.`);switch(e){case"dash":w="-"+(t?" ":"")+w;break;case"brackets":w=t?`( ${w} )`:`(${w})`}}return w},Be=(e,t=",")=>{if(!u(e)&&!J(e))throw new TypeError(`First parameter (\`value\`) must be of type \`string\` or \`primitive number\`, but received: \`${R(e)}\`.`);if(!u(t))throw new TypeError(`Second parameter (\`separator\`) must be of type \`string\` or empty as \`undefined\`, but received: \`${R(t)}\`.`);let r="."===(t=u(t)?t:",")?",":".",d=e.toString().trim(),n=d.lastIndexOf("."),a=d.lastIndexOf(","),i="";n>a?i=".":a>n&&(i=",");let o=d,s="";if(i){let e=d.split(i);o=e.slice(0,-1).join(i),s=e.slice(-1)[0]}o=o.replace(/[^\d]/g,"");let l=o.replace(/\B(?=(\d{3})+(?!\d))/g,t);return s?`${l}${r}${s}`:l},We={version:4,country_calling_codes:{1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],383:["XK"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],850:["KP"],852:["HK"],853:["MO"],855:["KH"