@rzl-zone/utils-js 2.1.0 → 3.0.0

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.
Files changed (129) hide show
  1. package/README.md +56 -27
  2. package/dist/NumberRangeUnion-DC-C3_Kq.d.ts +26 -0
  3. package/dist/any-BmdI8UbK.d.ts +67 -0
  4. package/dist/arrays-normalize-recursive-CnjYJ9xg.d.ts +72 -0
  5. package/dist/assertions/index.cjs +1 -0
  6. package/dist/assertions/index.d.ts +408 -0
  7. package/dist/assertions/index.js +1 -0
  8. package/dist/chunk-2HSNUPEO.cjs +1 -0
  9. package/dist/chunk-3YCFMGRB.js +1 -0
  10. package/dist/chunk-4Z75R3IT.cjs +1 -0
  11. package/dist/chunk-5C2SMIGX.cjs +1 -0
  12. package/dist/chunk-5Z2G23WP.js +1 -0
  13. package/dist/chunk-6C3ATUGM.cjs +1 -0
  14. package/dist/chunk-AJ25PWXX.cjs +1 -0
  15. package/dist/chunk-BHIBDDQF.js +1 -0
  16. package/dist/chunk-CE4JI2YB.js +1 -0
  17. package/dist/chunk-CMJ6UYWW.cjs +1 -0
  18. package/dist/chunk-D3VSHABU.cjs +1 -0
  19. package/dist/chunk-DG2GWBTS.cjs +1 -0
  20. package/dist/chunk-DVMHRLKP.cjs +1 -0
  21. package/dist/chunk-ECRNH4FW.js +1 -0
  22. package/dist/chunk-EKS4IZJR.cjs +1 -0
  23. package/dist/chunk-EOZKYR5S.cjs +1 -0
  24. package/dist/chunk-EUANTHVN.js +1 -0
  25. package/dist/chunk-EW3I4O7X.js +1 -0
  26. package/dist/chunk-F3E77L46.js +1 -0
  27. package/dist/chunk-FIAAX3UE.js +1 -0
  28. package/dist/chunk-FV7SEBKD.cjs +1 -0
  29. package/dist/chunk-G5LXIEFO.js +0 -0
  30. package/dist/chunk-GGWPB23G.cjs +1 -0
  31. package/dist/chunk-GVWGQNLF.js +1 -0
  32. package/dist/chunk-H3FXL4DU.cjs +1 -0
  33. package/dist/chunk-HHPDLSX2.cjs +1 -0
  34. package/dist/chunk-IMCLPT5V.cjs +1 -0
  35. package/dist/chunk-IRGE5W7L.js +1 -0
  36. package/dist/chunk-J2RGTPGK.cjs +1 -0
  37. package/dist/chunk-JARPXKBM.cjs +1 -0
  38. package/dist/chunk-JFJUPYDT.cjs +1 -0
  39. package/dist/chunk-JLP56WSM.js +1 -0
  40. package/dist/chunk-K3MV4AIN.cjs +1 -0
  41. package/dist/chunk-KHO2SBNA.cjs +1 -0
  42. package/dist/chunk-KOVO72OM.js +1 -0
  43. package/dist/chunk-LJ4M3VGE.js +1 -0
  44. package/dist/chunk-LJVGJLP4.js +1 -0
  45. package/dist/chunk-M47QIBXI.cjs +1 -0
  46. package/dist/chunk-MC3LXMCQ.js +1 -0
  47. package/dist/chunk-MISCBZJC.js +1 -0
  48. package/dist/chunk-MMSYCIJ2.cjs +1 -0
  49. package/dist/chunk-MTUBDVJ2.js +1 -0
  50. package/dist/chunk-O7UT5AN3.cjs +1 -0
  51. package/dist/chunk-OGPPP2S3.js +1 -0
  52. package/dist/chunk-OLPKAX7F.cjs +1 -0
  53. package/dist/chunk-ONZFBJVW.js +1 -0
  54. package/dist/chunk-ORZFHBEY.js +1 -0
  55. package/dist/chunk-OWV2P376.js +1 -0
  56. package/dist/chunk-QNKGP5DY.js +1 -0
  57. package/dist/chunk-RV2WK5E6.js +1 -0
  58. package/dist/chunk-SBF43G3B.cjs +1 -0
  59. package/dist/chunk-T4CIAKEK.js +1 -0
  60. package/dist/chunk-UDA26MCU.cjs +1 -0
  61. package/dist/chunk-VCFXNV3Q.cjs +1 -0
  62. package/dist/chunk-VHAPTHEA.cjs +1 -0
  63. package/dist/chunk-WVSPXFTY.js +1 -0
  64. package/dist/chunk-X74TUJSE.cjs +1 -0
  65. package/dist/chunk-XC3QHAK2.cjs +1 -0
  66. package/dist/chunk-XLDAIZRK.js +1 -0
  67. package/dist/chunk-XZJ7C4N6.js +1 -0
  68. package/dist/chunk-YV3K2EKJ.js +1 -0
  69. package/dist/chunk-ZHV5ZYVN.cjs +1 -0
  70. package/dist/chunk-ZL7J6GTP.js +1 -0
  71. package/dist/chunk-ZTCLKKMB.js +1 -0
  72. package/dist/conversions/index.cjs +1 -0
  73. package/dist/conversions/index.d.ts +1436 -0
  74. package/dist/conversions/index.js +1 -0
  75. package/dist/env/index.cjs +1 -0
  76. package/dist/env/index.d.ts +16 -0
  77. package/dist/env/index.js +1 -0
  78. package/dist/events/index.cjs +1 -0
  79. package/dist/events/index.d.ts +122 -0
  80. package/dist/events/index.js +1 -0
  81. package/dist/extends-Bk_SBGdT.d.ts +367 -0
  82. package/dist/formatting/index.cjs +1 -0
  83. package/dist/formatting/index.d.ts +950 -0
  84. package/dist/formatting/index.js +1 -0
  85. package/dist/generator/index.cjs +1 -0
  86. package/dist/generator/index.d.ts +186 -0
  87. package/dist/generator/index.js +1 -0
  88. package/dist/if-CvT4R7Kh.d.ts +18 -0
  89. package/dist/is-array--YjXV-Wx.d.ts +1207 -0
  90. package/dist/isPlainObject-BVhBAPHX.d.ts +169 -0
  91. package/dist/never-BfayMBF9.d.ts +75 -0
  92. package/dist/next/index.cjs +1 -1
  93. package/dist/next/index.d.ts +130 -110
  94. package/dist/next/index.js +1 -1
  95. package/dist/next/server/index.cjs +1 -1
  96. package/dist/next/server/index.d.ts +9 -23
  97. package/dist/next/server/index.js +1 -1
  98. package/dist/nils-DMz3kU7M.d.ts +177 -0
  99. package/dist/omit-VvmIsZmX.d.ts +28 -0
  100. package/dist/operations/index.cjs +1 -0
  101. package/dist/operations/index.d.ts +127 -0
  102. package/dist/operations/index.js +1 -0
  103. package/dist/parsers/index.cjs +1 -0
  104. package/dist/parsers/index.d.ts +36 -0
  105. package/dist/parsers/index.js +1 -0
  106. package/dist/predicates/index.cjs +1 -0
  107. package/dist/predicates/index.d.ts +1865 -0
  108. package/dist/predicates/index.js +1 -0
  109. package/dist/prettify-C4xLcYOP.d.ts +353 -0
  110. package/dist/promise/index.cjs +1 -0
  111. package/dist/promise/index.d.ts +31 -0
  112. package/dist/promise/index.js +1 -0
  113. package/dist/rzl-utils.global.js +1 -1
  114. package/dist/string-XA-til3C.d.ts +351 -0
  115. package/dist/strings/index.cjs +1 -0
  116. package/dist/strings/index.d.ts +741 -0
  117. package/dist/strings/index.js +1 -0
  118. package/dist/tailwind/index.cjs +1 -0
  119. package/dist/tailwind/index.d.ts +565 -0
  120. package/dist/tailwind/index.js +1 -0
  121. package/dist/type-data-DDs-u2kq.d.ts +261 -0
  122. package/dist/types/index.d.ts +3054 -1555
  123. package/dist/urls/index.cjs +1 -0
  124. package/dist/urls/index.d.ts +393 -0
  125. package/dist/urls/index.js +1 -0
  126. package/package.json +196 -27
  127. package/dist/index.cjs +0 -1
  128. package/dist/index.d.ts +0 -4334
  129. package/dist/index.js +0 -1
@@ -1 +1 @@
1
- function E(r){return Array.isArray(r)}var o=r=>typeof r=="string";var h=(r,e)=>{if(!o(r))return true;s(e)||(e={});let{trim:n=true}=e;return n&&(r=r.trim()),r===""};var d=r=>typeof r=="boolean";var $=r=>r instanceof Error;function T(r){return Array.isArray(r)&&r.length>0}function s(r){return typeof r=="object"&&!v(r)&&!E(r)}var p=(r,e)=>{if(!o(r))return false;s(e)||(e={});let{trim:n=true}=e;return(n?r.trim():r).length>0};var u=r=>typeof r>"u";function v(r){return r==null}var c=(r,e={trimOnly:false})=>{if(!p(r))return "";s(e)||(e={});let{trimOnly:n=false}=e;return n?r.trim():r.replace(/\s+/g,"")};var w=(r,e="/")=>{if(!p(e))throw new TypeError(`Invalid parameter:'defaultPath' must be a string and string is non-empty string. Received:${typeof e}(${e})`);if(!p(r))return e;try{if(r=c(r,{trimOnly:!0}),r=r.replace(/\s+/g,""),r.startsWith("http://")||r.startsWith("https://")){let n=new URL(r);return `${n.pathname}${n.search}${n.hash}`.replace(/^\/+/,"/")}return "/"+r.replace(/^\/+/,"").replace(/\/{2,}/g,"/")}catch(n){let t=$(n)?n:new Error("Unknown error from function `normalizePathname()`");throw new x(`Failed to normalize pathname in function \`normalizePathname()\`:${t.message}`,t)}};var y=(r,e)=>{if(!p(r))return "";if(!u(e)){if(!s(e))throw new TypeError("Options must be an object.");if("prefixColon"in e&&!d(e.prefixColon))throw new TypeError("Option `prefixColon` must be a boolean.")}let n=r.replace(/\D+/g,"");return n?e?.prefixColon??false?`:${n}`:n:""};var x=class r extends Error{constructor(n,t){super(n);this.originalError=t;this.name="NormalizePathnameError",Error.captureStackTrace&&Error.captureStackTrace(this,r);}};function G(r,e){if(!o(r)||h(r))throw new TypeError(`\u{1F6A8}'generateRoute' Failed:- Invalid 'route' value.- Expected a non-empty string,but received ${typeof r}:${JSON.stringify(r)}`);if(!r.includes("["))return r;if(!s(e))throw new Error(`\u{1F6A8}'generateRoute' Failed cause in route "${r}":- Missing or invalid parameters object for route:"${r}",expected an object mapping parameters.`);if(!e)throw new Error(`\u{1F6A8}'generateRoute' Failed cause in route "${r}":- Missing parameters object for route:"${r}"`);let n=["?","&","#","=","/"," ","'",'"',"(",")","+",";","%","@",":"],t=[],i=Array.from(r.matchAll(/\[(\w+)\]/g)).map(a=>a[1]);for(let a of i){let l=e[a];if(u(l)){t.push(`- Missing parameter:"${a}".`);continue}let f=l.trim();if(!f){t.push(`- Parameter "${a}" cannot be empty.`);continue}f.includes("/")&&t.push(`- Parameter "${a}" contains slashes "/" which is not allowed.`);let g=n.filter(m=>m!=="/").filter(m=>f.includes(m));g.length>0&&t.push(`- Parameter "${a}" contains invalid characters(${g.length>1?g.join(","):g}). These characters are not allowed because they could cause issues in URL structure. The following characters are forbidden in route parameters:(${n.join(",")}).`);}if(T(t))throw new Error(`\u{1F6A8}'generateRoute' Failed cause in route "${r}":${t.join(``)}`);return r.replace(/\[(\w+)\]/g,(a,l)=>e[l].trim().replace(/^\/+|\/+$/g,"")).replace(/\/+/g,"/")}var rr=(r="",e)=>{try{let f=function(m,P){return `${m.replace(/\/+$/,"")}/${P.replace(/^\/+/,"")}`};var n=f;if(!o(r))throw new TypeError(`Invalid type for 'pathname'. Expected 'string',received:${typeof r}`);s(e)||(e={});let{prefix:t="/api",withOrigin:i=!0}=e;if(!u(t)&&!o(t))throw new TypeError(`Invalid type for 'prefix'. Expected 'string',received:${typeof t}`);if(!d(i))throw new TypeError(`Invalid type for 'withOrigin'. Expected 'boolean',received:${typeof i}`);r=w(r),t=w(t);let a=t.endsWith("/")?t:t+"/";(r===t||r===t+"/"||r.startsWith(a))&&(r=r.slice(t.length),r=w(r));let l=b({suffix:t});return f(i?l:new URL(l).pathname,r).replace(/\/+$/,"")}catch(t){throw new Error("Failed to generate backend API URL in `createBeApiUrl()`,Error:"+t)}};var b=({suffix:r="/"}={})=>{if(!o(r))throw new TypeError(`Invalid type for 'suffix'. Expected string,received:${typeof r}`);try{let e=process.env.NEXT_PUBLIC_BACKEND_API_URL?.trim();if(e){e=c(e);let i=new URL(e);!!!i.port&&process.env.NEXT_PUBLIC_PORT_BE&&(e=i.origin+y(process.env.NEXT_PUBLIC_PORT_BE,{prefixColon:!0}));}else e="http://localhost"+y(process.env.NEXT_PUBLIC_PORT_BE||"8000",{prefixColon:!0});r=c(r).length?c(r):"/";let n=new URL(e.replace(/\/+$/,"")).origin,t=r==="/"?"/":`${r.startsWith("/")?"":"/"}${r.replace(/\/+$/,"")}`;return `${n}${t}`}catch(e){throw new Error("Invalid `NEXT_PUBLIC_BACKEND_API_URL`,failed to generate from `getBeApiUrl()`,Error:"+e)}};var or=()=>{try{let r=process.env.NEXT_PUBLIC_BASE_URL?.trim(),e=process.env.NEXT_PUBLIC_PORT_FE?.trim(),n=r||"http://localhost";n=c(n).replace(/\/+$/,"");let t=/:\/\/[^/]+:\d+/.test(n);!t&&e?n+=y(e,{prefixColon:!0}):!t&&!r&&(n+=":3000");let i=new URL(n);return `${i.protocol}//${i.hostname}${i.port?`:${i.port}`:""}`}catch(r){throw new Error("Invalid `NEXT_PUBLIC_BASE_URL`,failed to generate from `getBaseUrl()`,Error:"+r)}};export{rr as createBeApiUrl,G as generateRoute,or as getBaseUrl,b as getBeApiUrl};
1
+ import{normalizePathname as e,formatEnvPort as r}from"../chunk-LJVGJLP4.js";import{removeSpaces as t}from"../chunk-MISCBZJC.js";import{isEmptyString as o}from"../chunk-KOVO72OM.js";import{assertIsString as n}from"../chunk-T4CIAKEK.js";import"../chunk-WVSPXFTY.js";import{safeStableStringify as i}from"../chunk-BHIBDDQF.js";import"../chunk-QNKGP5DY.js";import{isString as a,getPreciseType as s,assertIsPlainObject as p,isNil as c,isNonEmptyArray as u,isNonEmptyString as l,isPlainObject as m,isUndefined as f,assertIsBoolean as h,isError as $}from"../chunk-EW3I4O7X.js";function d(e,r){if(!a(e)||o(e))throw new TypeError(`❌ 'generateRoute' Failed:\n- Invalid 'route' value.\n- Must be of type \`string\` and non-empty string, but received: "${s(e)}": \`${i(e)}\`.`);if(!/[\\[\]]/.test(e))return e;if(p(r,{message:({validType:r})=>`❌ 'generateRoute' Failed cause in route "${e}":\n- Missing or invalid parameters \`${r}\` for route: "${e}", must be of type \`${r}\` mapping parameters.`}),c(r))throw new TypeError(`❌ 'generateRoute' Failed cause in route "${e}":\n- Missing parameters \`plain-object\` for route: "${e}".`);const t=["?","&","#","=","/","'",'"',"(",")","+",";","%","@",":"],n=[],m=Array.from(e.matchAll(/\[(\w+)\]/g)).map(e=>e[1]);for(const e of m){const i=r[e];if(!a(i)){n.push(`- Invalid parameter: "${e}" must be of type \`string\`, but received: \`${s(i)}\`.`);continue}if(o(i)){n.push(`- Parameter "${e}" cannot be empty string.`);continue}const p=t.filter(e=>i.includes(e));if(/\s/.test(i)&&p.push("white-space(s)"),p.length>0){const r=p.map(e=>"`"===e?"backtick - (`)":`\`${e}\``);t.includes("white-space(s)")||t.push("white-space(s)");const o=t.map(e=>"`"===e?"backtick - (`)":`\`${e}\``);n.push(`- Parameter "${e}" contains invalid characters (${r.join(", ")}). These characters are not allowed because they could cause issues in URL structure. The following characters are forbidden in route parameters: (${o.join(", ")}).`)}}if(u(n))throw new Error(`❌ 'generateRoute' Failed cause in route "${e}":\n${n.join("\n")}.`);return e.replace(/\[(\w+)\]/g,(e,t)=>(l(r[t])?r[t]:"").trim().replace(/^\/+|\/+$/g,"")).replace(/\/+/g,"/")}var g=(r,t={})=>{try{let o=function(e,r){return`${e.replace(/\/+$/,"")}/${r.replace(/^\/+/,"")}`};n(c(r)?"":r,{message:({currentType:e,validType:r})=>`First parameter (\`pathname\`) must be of type \`${r}\`, but received: \`${e}\`.`}),m(t)||(t={});let{prefix:i="/api",withOrigin:p=!0}=t;if(!f(i)&&!a(i))throw new TypeError(`Parameter \`prefix\` property of the \`options\` (second parameter) must be of type \`string\`, but received: \`${s(i)}\`.`);h(p,{message:({currentType:e,validType:r})=>`Parameter \`withOrigin\` property of the \`options\` (second parameter) must be of type \`${r}\`, but received: \`${e}\`.`}),r=e(r),i=e(i);const u=i.endsWith("/")?i:i+"/";(r===i||r===i+"/"||r.startsWith(u))&&(r=r.slice(i.length),r=e(r));const l=v({suffix:i});return o(p?l:new URL(l).pathname,r).replace(/\/+$/,"")}catch(e){throw $(e)?e:new Error("Failed to generate backend API URL in `createBeApiUrl()`, Error: "+new Error(String(e)).message.trim())}},v=({suffix:e="/"}={})=>{var o;n(e,{message:({currentType:e,validType:r})=>`Parameter \`suffix\` property of the first parameter must be of type \`${r}\`, but received: \`${e}\`.`});try{let n=null==(o=process.env.NEXT_PUBLIC_BACKEND_API_URL)?void 0:o.trim();if(n){n=t(n);const e=new URL(n);!!!e.port&&process.env.NEXT_PUBLIC_PORT_BE&&(n=e.origin+r(process.env.NEXT_PUBLIC_PORT_BE,{prefixColon:!0}))}else n="http://localhost"+r(process.env.NEXT_PUBLIC_PORT_BE||"8000",{prefixColon:!0});e=t(e).length?t(e):"/";const i=new URL(n.replace(/\/+$/,"")).origin;return`${i}${"/"===e?"/":`${e.startsWith("/")?"":"/"}${e.replace(/\/+$/,"")}`}`}catch(e){throw new Error("Invalid `NEXT_PUBLIC_BACKEND_API_URL`, failed to generate from `getBeApiUrl()`, Error:"+e)}},E=()=>{var e,o;try{const n=null==(e=process.env.NEXT_PUBLIC_BASE_URL)?void 0:e.trim(),i=null==(o=process.env.NEXT_PUBLIC_PORT_FE)?void 0:o.trim();let a=n||"http://localhost";a=t(a).replace(/\/+$/,"");const s=/:\/\/[^/]+:\d+/.test(a);!s&&i?a+=r(i,{prefixColon:!0}):s||n||(a+=":3000");const p=new URL(a);return`${p.protocol}//${p.hostname}${p.port?`:${p.port}`:""}`}catch(e){throw new Error("Invalid `NEXT_PUBLIC_BASE_URL`, failed to generate from `getBaseUrl()`, Error:"+e)}};export{g as createBeApiUrl,d as generateRoute,E as getBaseUrl,v as getBeApiUrl};
@@ -1 +1 @@
1
- 'use strict';require('server-only');var server=require('next/server');var n=t=>typeof t=="boolean";var i=t=>typeof t=="function";var m=(t,o=true)=>{if(!i(server.NextRequest))throw new Error("`getClientIpOrUrl` is designed to be used in a `Next.js` environment.");if(!(t instanceof server.NextRequest))throw new TypeError("Argument `request` must be an instance of NextRequest.");if(!n(o))throw new TypeError("Expected `includeFullUrl` to be a boolean.");let e=(t.headers.get("x-forwarded-for")??"127.0.0.1").trim().split(",");(e[0]==="::ffff:127.0.0.1"||e[0]==="::1")&&(e[0]="127.0.0.1");let r=e.length>1?e[e.length-1].trim():e[0];if(!o)return r;let p=t.headers.get("x-forwarded-proto")||"http",f=t.headers.get("x-forwarded-port")||"3000";return `${process.env.NODE_ENV=="production"?p:"http"}://${r}:${f}`};exports.getClientIpOrUrl=m;
1
+ "use strict";var e=require("../../chunk-D3VSHABU.cjs");require("server-only");var r=require("next/server");exports.getClientIpOrUrl=(t,n=!0)=>{if(!e.isFunction(r.NextRequest))throw new Error("Function `getClientIpOrUrl` is designed to be used in a `NextJS` environment.");if(!(t instanceof r.NextRequest))throw new TypeError("First parameter (`request`) must be an `instance of NextRequest` from `NextJS`.");e.assertIsBoolean(n,{message:({currentType:e,validType:r})=>`Second parameter (\`includeFullUrl\`) must be of type \`${r}\`, but received: \`${e}\`.`});const s=(t.headers.get("x-forwarded-for")??"127.0.0.1").trim().split(",");"::ffff:127.0.0.1"!==s[0]&&"::1"!==s[0]||(s[0]="127.0.0.1");const o=s.length>1?s[s.length-1].trim():s[0];if(!n)return o;const i=t.headers.get("x-forwarded-proto")||"http",u=t.headers.get("x-forwarded-port")||"3000";return`${"production"===process.env.NODE_ENV?i:"http"}://${o}:${u}`};
@@ -1,22 +1,16 @@
1
- import{NextRequest}from 'next/server';
1
+ import{NextRequest}from'next/server';
2
2
  /** ---------------------------------
3
- * * ***Retrieves the real client IP address and constructs the full URL using headers like***
4
- * ***`x-forwarded-for`, `x-forwarded-proto`, and `x-forwarded-port`.***
3
+ * * ***Utility for NextJS Server: `getClientIpOrUrl`.***
5
4
  * ---------------------------------
6
- *
7
- * * ⚠️ **Notes:**
8
- * - Only supported in **Next.js** environments (specifically in `server-only` contexts).
9
- * - Should be used in **middleware** or **server actions** that have access to `NextRequest`.
10
- *
11
- *
12
- * @param {NextRequest} request - The incoming Next.js request object.
13
- * @param {boolean} [includeFullUrl=true] - Whether to return the full URL (`protocol://ip:port`) or just the IP address.
14
- *
5
+ * **Retrieves the real client IP address and constructs the full URL using headers like `x-forwarded-for`, `x-forwarded-proto`, and `x-forwarded-port`.**
6
+ * - **ℹ️ Note:**
7
+ * - Only supported in **Next.js** environments (specifically in `server-only` contexts).
8
+ * - Should be used in **middleware** or **server actions** that have access to ***[`NextRequest - NextJS`](https://nextjs.org/docs/app/api-reference/functions/next-request)***.
9
+ * @param {NextRequest} request - The incoming ***`NextJS`*** request object.
10
+ * @param {boolean|undefined} [includeFullUrl=true] - Whether to return the full URL (`protocol`, `IP`, and `port` like `protocol://ip:port`) or just the IP address, defaultValue: `true`.
15
11
  * @returns {string} The extracted client IP address or the full constructed URL.
16
- *
17
12
  * @throws {Error} If the function is used outside a Next.js server environment.
18
13
  * @throws {TypeError} If the arguments do not match the expected types.
19
- *
20
14
  * @example
21
15
  * // Basic usage in Next.js middleware
22
16
  * import { NextRequest } from "next/server";
@@ -27,16 +21,8 @@ import{NextRequest}from 'next/server';
27
21
  * console.log("Client IP:", clientIp);
28
22
  * }
29
23
  *
30
- * @example
31
24
  * // Get full URL
32
25
  * const url = getClientIpOrUrl(request);
33
26
  * console.log("Client full URL:", url);
34
27
  */
35
- declare const getClientIpOrUrl:(
36
- /** * The incoming Next.js request object. */
37
- request:NextRequest,
38
- /** * Whether to return the full URL (protocol, IP, and port) or just the IP address.
39
- *
40
- * @default true
41
- */
42
- includeFullUrl?:boolean)=>string;export{getClientIpOrUrl};
28
+ declare const getClientIpOrUrl:(request:NextRequest,includeFullUrl?:boolean)=>string;export{getClientIpOrUrl};
@@ -1 +1 @@
1
- import'server-only';import{NextRequest}from'next/server';var n=t=>typeof t=="boolean";var i=t=>typeof t=="function";var m=(t,o=true)=>{if(!i(NextRequest))throw new Error("`getClientIpOrUrl` is designed to be used in a `Next.js` environment.");if(!(t instanceof NextRequest))throw new TypeError("Argument `request` must be an instance of NextRequest.");if(!n(o))throw new TypeError("Expected `includeFullUrl` to be a boolean.");let e=(t.headers.get("x-forwarded-for")??"127.0.0.1").trim().split(",");(e[0]==="::ffff:127.0.0.1"||e[0]==="::1")&&(e[0]="127.0.0.1");let r=e.length>1?e[e.length-1].trim():e[0];if(!o)return r;let p=t.headers.get("x-forwarded-proto")||"http",f=t.headers.get("x-forwarded-port")||"3000";return `${process.env.NODE_ENV=="production"?p:"http"}://${r}:${f}`};export{m as getClientIpOrUrl};
1
+ import{isFunction as e,assertIsBoolean as r}from"../../chunk-EW3I4O7X.js";import"server-only";import{NextRequest as t}from"next/server";var o=(o,n=!0)=>{if(!e(t))throw new Error("Function `getClientIpOrUrl` is designed to be used in a `NextJS` environment.");if(!(o instanceof t))throw new TypeError("First parameter (`request`) must be an `instance of NextRequest` from `NextJS`.");r(n,{message:({currentType:e,validType:r})=>`Second parameter (\`includeFullUrl\`) must be of type \`${r}\`, but received: \`${e}\`.`});const s=(o.headers.get("x-forwarded-for")??"127.0.0.1").trim().split(",");"::ffff:127.0.0.1"!==s[0]&&"::1"!==s[0]||(s[0]="127.0.0.1");const i=s.length>1?s[s.length-1].trim():s[0];if(!n)return i;const p=o.headers.get("x-forwarded-proto")||"http",a=o.headers.get("x-forwarded-port")||"3000";return`${"production"===process.env.NODE_ENV?p:"http"}://${i}:${a}`};export{o as getClientIpOrUrl};
@@ -0,0 +1,177 @@
1
+ /** --------------------------------------------------
2
+ * * ***Nullish.***
3
+ * --------------------------------------------------
4
+ * Represents all values considered **"nullish"**:
5
+ * - `null`
6
+ * - `undefined`
7
+ *
8
+ * Useful as a shorthand when working with optional or missing values.
9
+ */
10
+ type Nullish=null|undefined;
11
+ /** --------------------------------------------------
12
+ * * ***Nullable.***
13
+ * --------------------------------------------------
14
+ * Represents a type that can be either `T` or `null`.
15
+ *
16
+ * @template T - The base type.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * type A = Nullable<string>; // ➔ string | null
21
+ * ```
22
+ */
23
+ type Nullable<T>=T|null;
24
+ /** --------------------------------------------------
25
+ * * ***Nilable.***
26
+ * --------------------------------------------------
27
+ * Represents a type that can be either `T`, `null`, or `undefined`.
28
+ *
29
+ * @template T - The base type.
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * type A = Nilable<number>; // ➔ number | null | undefined
34
+ * ```
35
+ */
36
+ type Nilable<T>=T|null|undefined;
37
+ /** --------------------------------------------------
38
+ * * ***Undefinedable.***
39
+ * --------------------------------------------------
40
+ * Represents a type that can be either `T` or `undefined`.
41
+ *
42
+ * @template T - The base type.
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * type A = Undefinedable<boolean>; // ➔ boolean | undefined
47
+ * ```
48
+ */
49
+ type Undefinedable<T>=T|undefined;
50
+ /** -------------------------------------------------------
51
+ * * ***NonNil.***
52
+ * -------------------------------------------------------
53
+ * Removes both `null` and `undefined` from the given type `T`.
54
+ *
55
+ * @template T - The type to filter.
56
+ *
57
+ * @example
58
+ * ```ts
59
+ * type A = NonNil<string | null | undefined>;
60
+ * // ➔ string
61
+ *
62
+ * type B = NonNil<number | null>;
63
+ * // ➔ number
64
+ *
65
+ * type C = NonNil<undefined | null>;
66
+ * // ➔ never
67
+ *
68
+ * type D = NonNil<boolean | undefined>;
69
+ * // ➔ boolean
70
+ * ```
71
+ */
72
+ type NonNil<T>=T extends null|undefined?never:T;
73
+ /** -------------------------------------------------------
74
+ * * ***NonNull.***
75
+ * -------------------------------------------------------
76
+ * Removes `null` from the given type `T`.
77
+ *
78
+ * @template T - The type to filter.
79
+ *
80
+ * @example
81
+ * ```ts
82
+ * type A = NonNull<string | null>;
83
+ * // ➔ string
84
+ *
85
+ * type B = NonNull<number | null | undefined>;
86
+ * // ➔ number | undefined
87
+ *
88
+ * type C = NonNull<null>;
89
+ * // ➔ never
90
+ * ```
91
+ */
92
+ type NonNull<T>=T extends null?never:T;
93
+ /** -------------------------------------------------------
94
+ * * ***NonUndefined.***
95
+ * -------------------------------------------------------
96
+ * Remove `undefined` from the given type `T`.
97
+ *
98
+ * @template T - The type to filter.
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * type A = NonUndefined<string | undefined>;
103
+ * // ➔ string
104
+ *
105
+ * type B = NonUndefined<number | null | undefined>;
106
+ * // ➔ number | null
107
+ *
108
+ * type C = NonUndefined<undefined>;
109
+ * // ➔ never
110
+ * ```
111
+ */
112
+ type NonUndefined<T>=T extends undefined?never:T;
113
+ /** --------------------------------------------------
114
+ * * ***KeepNil.***
115
+ * --------------------------------------------------
116
+ *
117
+ * Keeps `null` and/or `undefined` in the output type
118
+ * **only if** they exist in the input type `T`.
119
+ * Otherwise, resolves to `never`.
120
+ *
121
+ * @template T - Input type to check for `null` and `undefined`.
122
+ *
123
+ * @example
124
+ * ```ts
125
+ * type A = KeepNil<string | null>; // ➔ null
126
+ * type B = KeepNil<number | undefined>; // ➔ undefined
127
+ * type C = KeepNil<string | null | undefined>; // ➔ null | undefined
128
+ * type D = KeepNil<boolean>; // ➔ never
129
+ * ```
130
+ */
131
+ type KeepNil<T>=(null extends T?null:never)|(undefined extends T?undefined:never);
132
+ /** --------------------------------------------------
133
+ * * ***KeepNull.***
134
+ * --------------------------------------------------
135
+ * Keeps `null` in the output type **only if** the input type `T` includes `null`.
136
+ * Otherwise resolves to `never`.
137
+ *
138
+ * @template T - Input type to check for `null`.
139
+ *
140
+ * @example
141
+ * ```ts
142
+ * type A = KeepNull<string | null>; // ➔ null
143
+ * type B = KeepNull<string>; // ➔ never
144
+ * ```
145
+ */
146
+ type KeepNull<T>=null extends T?null:never;
147
+ /** --------------------------------------------------
148
+ * * ***KeepUndef.***
149
+ * --------------------------------------------------
150
+ * Keeps `undefined` in the output type **only if** the input type `T` includes `undefined`.
151
+ * Otherwise resolves to `never`.
152
+ *
153
+ * @template T - Input type to check for `undefined`.
154
+ *
155
+ * @example
156
+ * ```ts
157
+ * type A = KeepUndef<number | undefined>; // ➔ undefined
158
+ * type B = KeepUndef<number>; // ➔ never
159
+ * ```
160
+ */
161
+ type KeepUndef<T>=undefined extends T?undefined:never;
162
+ /** -------------------------------------------------------
163
+ * * ***NullToUndefined.***
164
+ * -------------------------------------------------------
165
+ * Transforms `null` or `undefined` types into `undefined`, otherwise, returns the original type `T` unchanged.
166
+ *
167
+ * @template T - The input type to transform.
168
+ * @example
169
+ * ```ts
170
+ * type A = NullToUndefined<null>; // ➔ undefined
171
+ * type B = NullToUndefined<undefined>; // ➔ undefined
172
+ * type C = NullToUndefined<string>; // ➔ string
173
+ * type D = NullToUndefined<null[]>; // ➔ null[]
174
+ * type E = NullToUndefined<(string | null)[]>; // ➔ (string | null)[]
175
+ * ```
176
+ */
177
+ type NullToUndefined<T>=T extends null?undefined:T extends undefined?undefined:T;export type{KeepNil as K,NonUndefined as N,Undefinedable as U,KeepNull as a,KeepUndef as b,Nilable as c,NonNil as d,NonNull as e,Nullable as f,NullToUndefined as g,Nullish as h};
@@ -0,0 +1,28 @@
1
+ import{P as Prettify}from'./prettify-C4xLcYOP.js';
2
+ /** --------------------------------------------------
3
+ * * ***OmitStrict.***
4
+ * --------------------------------------------------
5
+ * Strictly omits keys `K` from type `T`, with optional flattening for readability using `Prettify`.
6
+ *
7
+ * ✅ Enhances autocomplete and type inspection clarity in editors.
8
+ * ✅ Optionally flattens nested intersections or mapped types into a cleaner shape.
9
+ *
10
+ * @template T - The original object type.
11
+ * @template K - The keys to omit from `T`.
12
+ * @template WithPrettify - Whether to prettify the result (default is `true`).
13
+ * @template WithPrettifyRecursive - Whether to prettify nested object properties recursively (default is `true`).
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * type A = { a: number; b: string; c: boolean };
18
+ * type B = OmitStrict<A, 'b'>;
19
+ * // ➔ { a: number; c: boolean }
20
+ *
21
+ * type C = OmitStrict<A, 'b', false>;
22
+ * // ➔ Omit without prettifying, keeps intersection structure
23
+ *
24
+ * type D = OmitStrict<A, 'b', true, false>;
25
+ * // ➔ Prettifies only top level, does not recurse into nested objects
26
+ * ```
27
+ */
28
+ type OmitStrict<T,K extends keyof T,WithPrettify extends boolean=true,WithPrettifyRecursive extends boolean=true>=WithPrettify extends true?Prettify<Omit<T,K>,{recursive:WithPrettifyRecursive;}>:WithPrettify extends false?Omit<T,K>:never;export type{OmitStrict as O};
@@ -0,0 +1 @@
1
+ "use strict";var e=require("../chunk-EKS4IZJR.cjs");require("../chunk-EOZKYR5S.cjs"),require("../chunk-JARPXKBM.cjs"),require("../chunk-VHAPTHEA.cjs"),require("../chunk-5C2SMIGX.cjs"),require("../chunk-ZHV5ZYVN.cjs"),require("../chunk-UDA26MCU.cjs"),require("../chunk-D3VSHABU.cjs"),Object.defineProperty(exports,"findDuplicates",{enumerable:!0,get:function(){return e.findDuplicates}}),Object.defineProperty(exports,"omitKeys",{enumerable:!0,get:function(){return e.omitKeys}}),Object.defineProperty(exports,"omitKeysDeep",{enumerable:!0,get:function(){return e.omitKeysDeep}});
@@ -0,0 +1,127 @@
1
+ import{N as NumberRangeUnion}from'../NumberRangeUnion-DC-C3_Kq.js';
2
+ /** ----------------------------------------------------------------------
3
+ * * ***Utility: `findDuplicates`.***
4
+ * ----------------------------------------------------------------------
5
+ * **Finds duplicate values in an array by deep equality comparison.**
6
+ * - **Behavior:**
7
+ * - Uses ***{@link isEqual | `isEqual`}*** to compare elements
8
+ * (handles objects, arrays, dates, NaN, etc.).
9
+ * - Returns a new array containing only the *first occurrences* of duplicated values.
10
+ * - Does **not mutate** the original array.
11
+ * - Throws ***{@link TypeError | `TypeError`}*** if input is not an array.
12
+ * @template T Type of elements in the input array.
13
+ * @param {T[]} values - The array to check for duplicates.
14
+ * @returns {T[]} An array of the duplicate values found in the input,
15
+ * preserving order of their first duplicate appearance.
16
+ * @throws {TypeError} If the provided `values` argument is not an array.
17
+ * @example
18
+ * findDuplicates([1, 2, 2, 3, 4, 4]);
19
+ * // ➔ [2, 4]
20
+ * findDuplicates(["apple", "banana", "apple", "orange"]);
21
+ * // ➔ ["apple"]
22
+ * findDuplicates([{ a: 1 }, { a: 1 }, { a: 2 }]);
23
+ * // ➔ [{ a: 1 }]
24
+ * findDuplicates([NaN, NaN, 1]);
25
+ * // ➔ [NaN]
26
+ * findDuplicates([true, false, true]);
27
+ * // ➔ [true]
28
+ * findDuplicates([1, 2, 3]);
29
+ * // ➔ []
30
+ */
31
+ declare const findDuplicates:<T>(values:T[])=>T[];
32
+ /** --------------------------------
33
+ * * ***Utility: `omitKeys`.***
34
+ * --------------------------------
35
+ * **This function creates a shallow copy of the given object omitting the
36
+ * specified keys.**
37
+ * - **Behavior:**
38
+ * - It will return a new object without mutating the original.
39
+ * - It also validates that ***`keysToOmit`*** does not contain duplicate keys.
40
+ * - **ℹ️ Internally:**
41
+ * - It uses ***{@link isEqual | `isEqual`}*** to check for duplicates in
42
+ * the ***`keysToOmit`*** array.
43
+ * @template I The type of the input object.
44
+ * @template K The keys to omit from the object.
45
+ * @param {I} object - The source object to omit keys from.
46
+ * @param {K[]} keysToOmit - An array of keys to exclude from the returned object.
47
+ * @returns {Omit<I, K>} A new object without the specified keys.
48
+ * @throws {TypeError} If `keysToOmit` is not an array.
49
+ * @throws {Error} If duplicate keys are found in `keysToOmit`.
50
+ * @example
51
+ * omitKeys({ a: 1, b: 2, c: 3 }, ["b", "c"]);
52
+ * //➔ { a: 1 }
53
+ * omitKeys({ name: "John", age: 30 }, ["age"]);
54
+ * //➔ { name: "John" }
55
+ * omitKeys({ a: 1, b: 2 }, []);
56
+ * //➔ { a: 1, b: 2 } (no changes)
57
+ */
58
+ declare const omitKeys:<I extends Record<string,unknown>,K extends keyof I>(object:I,keysToOmit:K[])=>Omit<I,K>;type IndexArray=NumberRangeUnion<0,30>;type DotPath<T,Prev extends string="">=T extends Array<infer U>?DotPath<U,`${Prev}${Prev extends "" ? "" : "."}${IndexArray}`>:T extends object?{[K in keyof T & string]:`${Prev}${Prev extends "" ? "" : "."}${K}`|DotPath<T[K],`${Prev}${Prev extends "" ? "" : "."}${K}`>;}[keyof T & string]:never;
59
+ /** ------------------------------------------------------
60
+ * * ***Utility: `omitKeysDeep`.***
61
+ * ------------------------------------------------------
62
+ * **Recursively omits properties from an object using dot notation paths.**
63
+ * - **Behavior:**
64
+ * - Also removes resulting empty objects (`{}`) and arrays (`[]`),
65
+ * - cascading upwards to remove empty parents until root if needed.
66
+ * - **⚠️ Be careful:**
67
+ * - If after omission an object or array becomes empty, it will be removed entirely
68
+ * including all the way up to the root if necessary, resulting in `{}`.
69
+ * - **ℹ️ Note:**
70
+ * - For array indices, TypeScript autocomplete only suggests `0`–`30`
71
+ * (to prevent editor lag on large unions).
72
+ * However, higher indices are still fully supported at runtime — you can
73
+ * manually type `"arr.99.key"` and it will work the same.
74
+ * @template I - Type of the input object
75
+ * @param {I} object
76
+ * The object to process. Should be a plain nested object or array structure.
77
+ * @param {DotPath<I>[]} keysToOmit
78
+ * An array of string paths in dot notation indicating the properties to remove, paths
79
+ * can include numeric indices to target array elements, e.g. `"arr.0.x"` to
80
+ * remove `x` from the first object inside the `arr` array.
81
+ * @returns {Partial<I>}
82
+ * A new deeply cloned object with the specified keys omitted, with resulting
83
+ * empty objects or arrays fully removed (even if it collapses to `{}`).
84
+ * @throws {TypeError}
85
+ * If `keysToOmit` is not an array will throw TypeError.
86
+ * @throws {Error} If `keysToOmit` contains duplicate paths will throw Error.
87
+ * @example
88
+ * omitKeysDeep({ arr: [{ a: 1 }] }, ["arr.0.a"]);
89
+ * // ➔ {} (array becomes empty and removed)
90
+ * omitKeysDeep({ a: { b: { c: 1 }, d: 2 }, e: 3 }, ["a.b.c"]);
91
+ * // ➔ { a: { d: 2 }, e: 3 }
92
+ * omitKeysDeep({ a: [{ b: 1 }, { c: 2 }] }, ["a.0.b"]);
93
+ * // ➔ { a: [{ c: 2 }] }
94
+ * omitKeysDeep({ a: [{ b: 1 }] }, ["a.0.b"]);
95
+ * // ➔ {} (array becomes empty and removed)
96
+ * omitKeysDeep({ complex: [{ deep: [{ x: 1, y: 2 }] }] }, ["complex.0.deep.0.x"]);
97
+ * // ➔ { complex: [{ deep: [{ y: 2 }] }] }
98
+ * omitKeysDeep({ complex: [{ deep: [{ x: 1 }] }] }, ["complex.0.deep.0.x"]);
99
+ * // ➔ {} (deep chain emptied and collapsed)
100
+ * omitKeysDeep({ data: [[{ foo: 1, bar: 2 }]] }, ["data.0.0.foo"]);
101
+ * // ➔ { data: [[{ bar: 2 }]] }
102
+ * omitKeysDeep({ data: [[{ foo: 1 }]] }, ["data.0.0.foo"]);
103
+ * // ➔ {} (nested arrays emptied completely)
104
+ * omitKeysDeep({ x: [{ y: [{ z: 1 }, { w: 2 }] }] }, ["x.0.y.0.z"]);
105
+ * // ➔ { x: [{ y: [{ w: 2 }] }] }
106
+ * omitKeysDeep({ x: [{ y: [{ z: 1 }] }] }, ["x.0.y.0.z"]);
107
+ * // ➔ {} (entire nested arrays removed)
108
+ * omitKeysDeep({ p: { q: { r: 5 } }, s: 6 }, ["p.q.r"]);
109
+ * // ➔ { s: 6 } (`p` removed because it becomes empty)
110
+ * omitKeysDeep({ arr: [{ a: 1, b: 2 }, { c: 3 }] }, ["arr.0.a"]);
111
+ * // ➔ { arr: [{ b: 2 }, { c: 3 }] }
112
+ * omitKeysDeep({ root: [{ sub: [{ leaf: 10 }] }] }, ["root.0.sub.0.leaf"]);
113
+ * // ➔ {} (deep nested arrays emptied to root)
114
+ * omitKeysDeep({ meta: { tags: ["x", "y"], count: 2 } }, ["meta.count"]);
115
+ * // ➔ { meta: { tags: ["x", "y"] } }
116
+ * omitKeysDeep({ arr: [[{ a: 1 }, { b: 2 }]] }, ["arr.0.0.a"]);
117
+ * // ➔ { arr: [[{ b: 2 }]] }
118
+ * omitKeysDeep({ arr: [[{ a: 1 }]] }, ["arr.0.0.a"]);
119
+ * // ➔ {} (double nested emptied)
120
+ * omitKeysDeep({ nested: [{ list: [{ id: 1, val: 2 }] }] }, ["nested.0.list.0.val"]);
121
+ * // ➔ { nested: [{ list: [{ id: 1 }] }] }
122
+ * omitKeysDeep({ nested: [{ list: [{ id: 1 }] }] }, ["nested.0.list.0.id"]);
123
+ * // ➔ {} (full collapse to empty)
124
+ * omitKeysDeep({ mixed: { a: [1, 2, 3], b: { c: 4 } } }, ["mixed.b.c"]);
125
+ * // ➔ { mixed: { a: [1, 2, 3] } }
126
+ */
127
+ declare const omitKeysDeep:<I extends Record<string,unknown>>(object:I,keysToOmit:DotPath<I>[])=>Partial<I>;export{findDuplicates,omitKeys,omitKeysDeep};
@@ -0,0 +1 @@
1
+ export{findDuplicates,omitKeys,omitKeysDeep}from"../chunk-CE4JI2YB.js";import"../chunk-XLDAIZRK.js";import"../chunk-ZTCLKKMB.js";import"../chunk-ECRNH4FW.js";import"../chunk-FIAAX3UE.js";import"../chunk-BHIBDDQF.js";import"../chunk-QNKGP5DY.js";import"../chunk-EW3I4O7X.js";
@@ -0,0 +1 @@
1
+ "use strict";var e=require("../chunk-IMCLPT5V.cjs");require("../chunk-D3VSHABU.cjs"),Object.defineProperty(exports,"extractFileName",{enumerable:!0,get:function(){return e.extractFileName}});
@@ -0,0 +1,36 @@
1
+ /** ----------------------------------------------------------
2
+ * * ***Utility: `extractFileName`.***
3
+ * ----------------------------------------------------------
4
+ * **Extracts the base file name (without extension) from a given URL, file path, or file name.**
5
+ * - **Behavior:**
6
+ * - Strips known extensions (including multi-part extensions such as `.tar.gz`, `.tar.bz2`, etc.).
7
+ * - Handles plain file names, local file paths, and full URLs seamlessly.
8
+ * - If the path ends with a `/`, returns an empty string `""` (represents a directory or empty segment).
9
+ * - If the input is empty, whitespace, or not a string, returns `undefined`.
10
+ * - Leaves unknown or unrecognized extensions intact (does not attempt to strip unknown file extensions).
11
+ * - **Summary:**
12
+ * - `extractFileName("https://example.com/file.txt")` ➔ `"file"`.
13
+ * - `extractFileName("/local/path/image.jpeg")` ➔ `"image"`.
14
+ * - `extractFileName("backup.archive.tar.gz")` ➔ `"backup.archive"`.
15
+ * - `extractFileName("folder/")` ➔ `""`.
16
+ * - `extractFileName("")` ➔ `undefined`.
17
+ * - `extractFileName("unknownfile.weirdext")` ➔ `"unknownfile.weirdext"`
18
+ * ***(keeps unknown extension)***.
19
+ * @description
20
+ * This is particularly useful for displaying or logging file names
21
+ * without cluttering them with redundant extensions, while being careful
22
+ * not to accidentally truncate unfamiliar formats.
23
+ * @param {string | null | undefined} url - The URL, file system path, or plain file name to process.
24
+ * @returns {string | undefined} The file name without its extension(s),
25
+ * or `undefined` if input is invalid,
26
+ * or an empty string `""` if the path ends with `/`.
27
+ * @example
28
+ * extractFileName("document.pdf"); // ➔ "document"
29
+ * extractFileName("/files/archive.tar.gz"); // ➔ "archive"
30
+ * extractFileName("https://cdn.site.com/video.mp4"); // ➔ "video"
31
+ * extractFileName("folder/"); // ➔ ""
32
+ * extractFileName("strangefile.unknownext"); // ➔ "strangefile.unknownext"
33
+ * extractFileName(""); // ➔ undefined
34
+ * extractFileName(123); // ➔ undefined
35
+ */
36
+ declare const extractFileName:(url:string|null|undefined)=>string|undefined;export{extractFileName};
@@ -0,0 +1 @@
1
+ export{extractFileName}from"../chunk-YV3K2EKJ.js";import"../chunk-EW3I4O7X.js";
@@ -0,0 +1 @@
1
+ "use strict";var e=require("../chunk-OLPKAX7F.cjs"),r=require("../chunk-KHO2SBNA.cjs"),t=require("../chunk-6C3ATUGM.cjs"),n=require("../chunk-M47QIBXI.cjs"),i=require("../chunk-JARPXKBM.cjs");require("../chunk-O7UT5AN3.cjs");var u=require("../chunk-CMJ6UYWW.cjs"),o=require("../chunk-4Z75R3IT.cjs");require("../chunk-VCFXNV3Q.cjs");var s=require("../chunk-DVMHRLKP.cjs"),c=require("../chunk-ZHV5ZYVN.cjs"),p=require("../chunk-UDA26MCU.cjs"),a=require("../chunk-D3VSHABU.cjs");Object.defineProperty(exports,"areArraysEqual",{enumerable:!0,get:function(){return e.areArraysEqual}}),Object.defineProperty(exports,"areObjectsEqual",{enumerable:!0,get:function(){return e.areObjectsEqual}}),Object.defineProperty(exports,"areURLsEqualPath",{enumerable:!0,get:function(){return e.areURLsEqualPath}}),Object.defineProperty(exports,"areURLsIdentical",{enumerable:!0,get:function(){return e.areURLsIdentical}}),Object.defineProperty(exports,"arrayHasAnyMatch",{enumerable:!0,get:function(){return e.arrayHasAnyMatch}}),Object.defineProperty(exports,"doesKeyExist",{enumerable:!0,get:function(){return e.doesKeyExist}}),Object.defineProperty(exports,"isArguments",{enumerable:!0,get:function(){return e.isArguments}}),Object.defineProperty(exports,"isArrayLike",{enumerable:!0,get:function(){return e.isArrayLike}}),Object.defineProperty(exports,"isArrayLikeObject",{enumerable:!0,get:function(){return e.isArrayLikeObject}}),Object.defineProperty(exports,"isCurrencyLike",{enumerable:!0,get:function(){return e.isCurrencyLike}}),Object.defineProperty(exports,"isDeepEqual",{enumerable:!0,get:function(){return e.isDeepEqual}}),Object.defineProperty(exports,"isElement",{enumerable:!0,get:function(){return e.isElement}}),Object.defineProperty(exports,"isEmpty",{enumerable:!0,get:function(){return e.isEmpty}}),Object.defineProperty(exports,"isEmptyDeep",{enumerable:!0,get:function(){return e.isEmptyDeep}}),Object.defineProperty(exports,"isEqualWith",{enumerable:!0,get:function(){return e.isEqualWith}}),Object.defineProperty(exports,"isLength",{enumerable:!0,get:function(){return e.isLength}}),Object.defineProperty(exports,"isMatch",{enumerable:!0,get:function(){return e.isMatch}}),Object.defineProperty(exports,"isMatchWith",{enumerable:!0,get:function(){return e.isMatchWith}}),Object.defineProperty(exports,"isNative",{enumerable:!0,get:function(){return e.isNative}}),Object.defineProperty(exports,"isObjectLoose",{enumerable:!0,get:function(){return e.isObjectLoose}}),Object.defineProperty(exports,"isPropertyKey",{enumerable:!0,get:function(){return e.isPropertyKey}}),Object.defineProperty(exports,"isSafeInteger",{enumerable:!0,get:function(){return e.isSafeInteger}}),Object.defineProperty(exports,"isValidURL",{enumerable:!0,get:function(){return e.isValidURL}}),Object.defineProperty(exports,"isWeakMap",{enumerable:!0,get:function(){return e.isWeakMap}}),Object.defineProperty(exports,"textContainsAll",{enumerable:!0,get:function(){return e.textContainsAll}}),Object.defineProperty(exports,"textContainsAny",{enumerable:!0,get:function(){return e.textContainsAny}}),Object.defineProperty(exports,"isURL",{enumerable:!0,get:function(){return r.isURL}}),Object.defineProperty(exports,"isNonEmptyValue",{enumerable:!0,get:function(){return t.isNonEmptyValue}}),Object.defineProperty(exports,"isTypedArray",{enumerable:!0,get:function(){return t.isTypedArray}}),Object.defineProperty(exports,"isEmptyValue",{enumerable:!0,get:function(){return n.isEmptyValue}}),Object.defineProperty(exports,"isArrayBuffer",{enumerable:!0,get:function(){return i.isArrayBuffer}}),Object.defineProperty(exports,"isEmptyArray",{enumerable:!0,get:function(){return i.isEmptyArray}}),Object.defineProperty(exports,"isEmptyObject",{enumerable:!0,get:function(){return i.isEmptyObject}}),Object.defineProperty(exports,"isEqual",{enumerable:!0,get:function(){return i.isEqual}}),Object.defineProperty(exports,"isRegExp",{enumerable:!0,get:function(){return i.isRegExp}}),Object.defineProperty(exports,"isFinite",{enumerable:!0,get:function(){return u.isFinite}}),Object.defineProperty(exports,"isEmptyString",{enumerable:!0,get:function(){return o.isEmptyString}}),Object.defineProperty(exports,"isInteger",{enumerable:!0,get:function(){return s.isInteger}}),Object.defineProperty(exports,"isDate",{enumerable:!0,get:function(){return c.isDate}}),Object.defineProperty(exports,"isMap",{enumerable:!0,get:function(){return c.isMap}}),Object.defineProperty(exports,"isBigInt",{enumerable:!0,get:function(){return p.isBigInt}}),Object.defineProperty(exports,"getPreciseType",{enumerable:!0,get:function(){return a.getPreciseType}}),Object.defineProperty(exports,"hasOwnProp",{enumerable:!0,get:function(){return a.hasOwnProp}}),Object.defineProperty(exports,"isArray",{enumerable:!0,get:function(){return a.isArray}}),Object.defineProperty(exports,"isBoolean",{enumerable:!0,get:function(){return a.isBoolean}}),Object.defineProperty(exports,"isBuffer",{enumerable:!0,get:function(){return a.isBuffer}}),Object.defineProperty(exports,"isError",{enumerable:!0,get:function(){return a.isError}}),Object.defineProperty(exports,"isFunction",{enumerable:!0,get:function(){return a.isFunction}}),Object.defineProperty(exports,"isNaN",{enumerable:!0,get:function(){return a.isNaN}}),Object.defineProperty(exports,"isNil",{enumerable:!0,get:function(){return a.isNil}}),Object.defineProperty(exports,"isNonEmptyArray",{enumerable:!0,get:function(){return a.isNonEmptyArray}}),Object.defineProperty(exports,"isNonEmptyString",{enumerable:!0,get:function(){return a.isNonEmptyString}}),Object.defineProperty(exports,"isNull",{enumerable:!0,get:function(){return a.isNull}}),Object.defineProperty(exports,"isNumber",{enumerable:!0,get:function(){return a.isNumber}}),Object.defineProperty(exports,"isObject",{enumerable:!0,get:function(){return a.isObject}}),Object.defineProperty(exports,"isObjectOrArray",{enumerable:!0,get:function(){return a.isObjectOrArray}}),Object.defineProperty(exports,"isPlainObject",{enumerable:!0,get:function(){return a.isPlainObject}}),Object.defineProperty(exports,"isSet",{enumerable:!0,get:function(){return a.isSet}}),Object.defineProperty(exports,"isString",{enumerable:!0,get:function(){return a.isString}}),Object.defineProperty(exports,"isSymbol",{enumerable:!0,get:function(){return a.isSymbol}}),Object.defineProperty(exports,"isUndefined",{enumerable:!0,get:function(){return a.isUndefined}});