@rzl-zone/utils-js 3.12.1-beta.1 → 3.13.0-beta.2

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 (211) hide show
  1. package/README.md +11 -31
  2. package/dist/.references/index.d.cts +1 -3
  3. package/dist/.references/index.d.ts +1 -3
  4. package/dist/{assertIsArray-bTA3XLjq.js → assertIsArray-6BcSdNa-.js} +3 -3
  5. package/dist/{assertIsArray-bTA3XLjq.js.map → assertIsArray-6BcSdNa-.js.map} +1 -1
  6. package/dist/{assertIsArray-DJXkjHZs.cjs → assertIsArray-BqjMoan3.cjs} +3 -3
  7. package/dist/{assertIsArray-DJXkjHZs.cjs.map → assertIsArray-BqjMoan3.cjs.map} +1 -1
  8. package/dist/{assertIsBoolean-DR1SaXPD.js → assertIsBoolean-Bv6gL-xe.js} +2 -2
  9. package/dist/{assertIsBoolean-DR1SaXPD.js.map → assertIsBoolean-Bv6gL-xe.js.map} +1 -1
  10. package/dist/{assertIsBoolean-C8WEXVr2.cjs → assertIsBoolean-amRiJHnh.cjs} +2 -2
  11. package/dist/{assertIsBoolean-C8WEXVr2.cjs.map → assertIsBoolean-amRiJHnh.cjs.map} +1 -1
  12. package/dist/{assertIsString-CEB07_83.js → assertIsString-1WiUjgqf.js} +3 -3
  13. package/dist/{assertIsString-CEB07_83.js.map → assertIsString-1WiUjgqf.js.map} +1 -1
  14. package/dist/{assertIsString-BiHQSrB2.cjs → assertIsString-C0b28AU1.cjs} +3 -3
  15. package/dist/{assertIsString-BiHQSrB2.cjs.map → assertIsString-C0b28AU1.cjs.map} +1 -1
  16. package/dist/assertions/index.cjs +5 -5
  17. package/dist/assertions/index.d.cts +2 -2
  18. package/dist/assertions/index.d.ts +2 -2
  19. package/dist/assertions/index.js +5 -5
  20. package/dist/conversions/index.cjs +6 -6
  21. package/dist/conversions/index.d.cts +2 -2
  22. package/dist/conversions/index.d.ts +2 -2
  23. package/dist/conversions/index.js +6 -6
  24. package/dist/{conversions-BNIh_tCH.js → conversions-BrI0GIOr.js} +12 -12
  25. package/dist/{conversions-BNIh_tCH.js.map → conversions-BrI0GIOr.js.map} +1 -1
  26. package/dist/{conversions-D_Kh0a_C.cjs → conversions-lvvAYiZs.cjs} +12 -12
  27. package/dist/{conversions-D_Kh0a_C.cjs.map → conversions-lvvAYiZs.cjs.map} +1 -1
  28. package/dist/events/index.cjs +4 -4
  29. package/dist/events/index.d.cts +1 -1
  30. package/dist/events/index.d.ts +1 -1
  31. package/dist/events/index.js +4 -4
  32. package/dist/formatters/index.cjs +2 -2
  33. package/dist/formatters/index.d.cts +2 -2
  34. package/dist/formatters/index.d.ts +2 -2
  35. package/dist/formatters/index.js +2 -2
  36. package/dist/{formatters-Cbij0XLU.cjs → formatters-DQr05EUA.cjs} +10 -10
  37. package/dist/{formatters-Cbij0XLU.cjs.map → formatters-DQr05EUA.cjs.map} +1 -1
  38. package/dist/{formatters--1m_vpE8.js → formatters-zDzQvtb4.js} +10 -10
  39. package/dist/{formatters--1m_vpE8.js.map → formatters-zDzQvtb4.js.map} +1 -1
  40. package/dist/generators/index.cjs +5 -5
  41. package/dist/generators/index.d.cts +2 -2
  42. package/dist/generators/index.d.ts +2 -2
  43. package/dist/generators/index.js +5 -5
  44. package/dist/{index-59zbLcPr.d.ts → index-3jBnthag.d.cts} +1 -1
  45. package/dist/{index-UPp94Agr.d.ts → index-BXwimNPA.d.cts} +2 -2
  46. package/dist/{index-C267akkJ.d.ts → index-BlTCrSyc.d.cts} +2 -2
  47. package/dist/{index-Qm3iFwd0.d.cts → index-CEm8ZOvj.d.ts} +2 -2
  48. package/dist/{index-jyDqzicx.d.cts → index-CLq5kZmQ.d.cts} +2 -2
  49. package/dist/{index-CeBC2Vvl.d.cts → index-Ckao53JY.d.ts} +2 -2
  50. package/dist/{index-D4fcasfZ.d.cts → index-DHHrLc0B.d.ts} +241 -14
  51. package/dist/{index-gBA_8SuF.d.cts → index-DIeR8qa-.d.ts} +1 -1
  52. package/dist/{index-B6tawc8L.d.cts → index-DxZlGbAH.d.ts} +1 -1
  53. package/dist/{index-Hg1qJkjl.d.ts → index-DyVWeYP3.d.cts} +1 -1
  54. package/dist/{index-CgRDTI6f.d.ts → index-GSUN6rjA.d.ts} +2 -2
  55. package/dist/{index-DsGxO31H.d.cts → index-_dJhBl1h.d.ts} +1 -1
  56. package/dist/{index-DDrSQKIc.d.ts → index-bMa-0Yr4.d.cts} +1 -1
  57. package/dist/{index-CoiUBVmr.d.ts → index-z_uCh5KW.d.cts} +241 -14
  58. package/dist/{isBigInt-C4krUeAw.cjs → isBigInt-CIFRnsdx.cjs} +2 -2
  59. package/dist/{isBigInt-C4krUeAw.cjs.map → isBigInt-CIFRnsdx.cjs.map} +1 -1
  60. package/dist/{isBigInt-DKe0M6hp.js → isBigInt-D-Pu9sxp.js} +2 -2
  61. package/dist/{isBigInt-DKe0M6hp.js.map → isBigInt-D-Pu9sxp.js.map} +1 -1
  62. package/dist/{isEmptyObject-ZkSwRC_D.cjs → isEmptyObject-CEySmyHK.cjs} +3 -3
  63. package/dist/{isEmptyObject-ZkSwRC_D.cjs.map → isEmptyObject-CEySmyHK.cjs.map} +1 -1
  64. package/dist/{isEmptyObject-DCipFwxJ.js → isEmptyObject-CZ9DLi7R.js} +3 -3
  65. package/dist/{isEmptyObject-DCipFwxJ.js.map → isEmptyObject-CZ9DLi7R.js.map} +1 -1
  66. package/dist/{isEmptyString-BXzKAC2j.js → isEmptyString-DFDtBbNr.js} +3 -3
  67. package/dist/{isEmptyString-BXzKAC2j.js.map → isEmptyString-DFDtBbNr.js.map} +1 -1
  68. package/dist/{isEmptyString-UiiUsSQj.cjs → isEmptyString-DI64RQCy.cjs} +3 -3
  69. package/dist/{isEmptyString-UiiUsSQj.cjs.map → isEmptyString-DI64RQCy.cjs.map} +1 -1
  70. package/dist/{isEmptyValue-BQzcjVaL.cjs → isEmptyValue-Cw6ovu7z.cjs} +5 -5
  71. package/dist/{isEmptyValue-BQzcjVaL.cjs.map → isEmptyValue-Cw6ovu7z.cjs.map} +1 -1
  72. package/dist/{isEmptyValue-jqOr7OHD.js → isEmptyValue-aGyeClwA.js} +5 -5
  73. package/dist/{isEmptyValue-jqOr7OHD.js.map → isEmptyValue-aGyeClwA.js.map} +1 -1
  74. package/dist/{isEqual-BX49cF9m.js → isEqual-Dtb2sXUv.js} +4 -4
  75. package/dist/{isEqual-BX49cF9m.js.map → isEqual-Dtb2sXUv.js.map} +1 -1
  76. package/dist/{isEqual-BvumA3RA.cjs → isEqual-UsvOwrlY.cjs} +4 -4
  77. package/dist/{isEqual-BvumA3RA.cjs.map → isEqual-UsvOwrlY.cjs.map} +1 -1
  78. package/dist/{isFinite-BCnaDpod.js → isFinite-Cz_IFXuV.js} +3 -3
  79. package/dist/{isFinite-BCnaDpod.js.map → isFinite-Cz_IFXuV.js.map} +1 -1
  80. package/dist/{isFinite-D24ZaE6c.cjs → isFinite-uukWvxJh.cjs} +3 -3
  81. package/dist/{isFinite-D24ZaE6c.cjs.map → isFinite-uukWvxJh.cjs.map} +1 -1
  82. package/dist/{isInteger-Caeuz0rB.cjs → isInteger-DPYjliLZ.cjs} +2 -2
  83. package/dist/{isInteger-Caeuz0rB.cjs.map → isInteger-DPYjliLZ.cjs.map} +1 -1
  84. package/dist/{isInteger-naMbJsxJ.js → isInteger-DZ163OQg.js} +2 -2
  85. package/dist/{isInteger-naMbJsxJ.js.map → isInteger-DZ163OQg.js.map} +1 -1
  86. package/dist/{isPlainObject-BF-2-phb.d.cts → isPlainObject-CBABRyEX.d.cts} +1 -1
  87. package/dist/{isPlainObject-DxNDL8XU.d.ts → isPlainObject-Dr8gi89U.d.ts} +1 -1
  88. package/dist/{isServer-Da3o3XSs.js → isServer-BDShLyVJ.js} +2 -2
  89. package/dist/{isServer-Da3o3XSs.js.map → isServer-BDShLyVJ.js.map} +1 -1
  90. package/dist/{isServer-BJHVnixd.cjs → isServer-BzDeYuGg.cjs} +2 -2
  91. package/dist/{isServer-BJHVnixd.cjs.map → isServer-BzDeYuGg.cjs.map} +1 -1
  92. package/dist/{isTypedArray-TJptiw2b.cjs → isTypedArray-DaYAkyrt.cjs} +3 -3
  93. package/dist/{isTypedArray-TJptiw2b.cjs.map → isTypedArray-DaYAkyrt.cjs.map} +1 -1
  94. package/dist/{isTypedArray-DuNA8tK6.js → isTypedArray-DuUUA4CL.js} +3 -3
  95. package/dist/{isTypedArray-DuNA8tK6.js.map → isTypedArray-DuUUA4CL.js.map} +1 -1
  96. package/dist/{isValidDomain-BB9IGhJs.cjs → isValidDomain-BxyToAlh.cjs} +14 -5
  97. package/dist/isValidDomain-BxyToAlh.cjs.map +1 -0
  98. package/dist/{isValidDomain-DoE98yhJ.js → isValidDomain-CTw5vZFY.js} +9 -6
  99. package/dist/isValidDomain-CTw5vZFY.js.map +1 -0
  100. package/dist/{noop-B13_ii35.cjs → noop-7KrqC9DC.cjs} +2 -2
  101. package/dist/{noop-B13_ii35.cjs.map → noop-7KrqC9DC.cjs.map} +1 -1
  102. package/dist/{noop-ubqAIbHD.js → noop-DGg9vMSD.js} +2 -2
  103. package/dist/{noop-ubqAIbHD.js.map → noop-DGg9vMSD.js.map} +1 -1
  104. package/dist/{normalizeSpaces-ZXnR4Qzp.cjs → normalizeSpaces-B6ZQOZRX.cjs} +3 -3
  105. package/dist/{normalizeSpaces-ZXnR4Qzp.cjs.map → normalizeSpaces-B6ZQOZRX.cjs.map} +1 -1
  106. package/dist/{normalizeSpaces-Bg2IZW7W.js → normalizeSpaces-C1eLwykD.js} +3 -3
  107. package/dist/{normalizeSpaces-Bg2IZW7W.js.map → normalizeSpaces-C1eLwykD.js.map} +1 -1
  108. package/dist/operations/index.cjs +7 -7
  109. package/dist/operations/index.d.cts +1 -1
  110. package/dist/operations/index.d.ts +1 -1
  111. package/dist/operations/index.js +7 -7
  112. package/dist/parsers/index.cjs +2 -2
  113. package/dist/parsers/index.d.cts +1 -1
  114. package/dist/parsers/index.d.ts +1 -1
  115. package/dist/parsers/index.js +2 -2
  116. package/dist/{parsers-OqDeffqc.cjs → parsers-DEFpCYhw.cjs} +4 -4
  117. package/dist/{parsers-OqDeffqc.cjs.map → parsers-DEFpCYhw.cjs.map} +1 -1
  118. package/dist/{parsers-BSBPgvsq.js → parsers-bQQ9mStV.js} +4 -4
  119. package/dist/{parsers-BSBPgvsq.js.map → parsers-bQQ9mStV.js.map} +1 -1
  120. package/dist/{parsing-Cao8b358.js → parsing-BngARhmu.js} +3 -3
  121. package/dist/{parsing-Cao8b358.js.map → parsing-BngARhmu.js.map} +1 -1
  122. package/dist/{parsing-DOGSCH6N.cjs → parsing-lI5EN4LY.cjs} +3 -3
  123. package/dist/{parsing-DOGSCH6N.cjs.map → parsing-lI5EN4LY.cjs.map} +1 -1
  124. package/dist/predicates/index.cjs +15 -16
  125. package/dist/predicates/index.d.cts +3 -3
  126. package/dist/predicates/index.d.ts +3 -3
  127. package/dist/predicates/index.js +14 -15
  128. package/dist/{predicates-D0ubqgqy.cjs → predicates-CMmP3fPJ.cjs} +13 -13
  129. package/dist/{predicates-D0ubqgqy.cjs.map → predicates-CMmP3fPJ.cjs.map} +1 -1
  130. package/dist/{predicates-Bj6meyXV.js → predicates-V87QD8hs.js} +11 -11
  131. package/dist/{predicates-Bj6meyXV.js.map → predicates-V87QD8hs.js.map} +1 -1
  132. package/dist/promises/index.cjs +4 -4
  133. package/dist/promises/index.d.cts +1 -1
  134. package/dist/promises/index.d.ts +1 -1
  135. package/dist/promises/index.js +4 -4
  136. package/dist/{punyCode-8SrbMWfM.js → punyCode-BeFYDjj0.js} +4 -4
  137. package/dist/{punyCode-8SrbMWfM.js.map → punyCode-BeFYDjj0.js.map} +1 -1
  138. package/dist/{punyCode-D-Qu6nj6.cjs → punyCode-DmTsB7q_.cjs} +4 -4
  139. package/dist/{punyCode-D-Qu6nj6.cjs.map → punyCode-DmTsB7q_.cjs.map} +1 -1
  140. package/dist/{removeSpaces-Bmc5DX4F.js → removeSpaces-B96axxP6.js} +7 -4
  141. package/dist/removeSpaces-B96axxP6.js.map +1 -0
  142. package/dist/{removeSpaces-CWIvhZHg.cjs → removeSpaces-C8mu_yp3.cjs} +12 -3
  143. package/dist/removeSpaces-C8mu_yp3.cjs.map +1 -0
  144. package/dist/rzl-utils.global.js +1 -1
  145. package/dist/{safeJsonParse-Sms2CJf4.cjs → safeJsonParse-BXbtX_j7.cjs} +6 -6
  146. package/dist/{safeJsonParse-Sms2CJf4.cjs.map → safeJsonParse-BXbtX_j7.cjs.map} +1 -1
  147. package/dist/{safeJsonParse-BP38mwlj.js → safeJsonParse-DyCsTXlU.js} +6 -6
  148. package/dist/{safeJsonParse-BP38mwlj.js.map → safeJsonParse-DyCsTXlU.js.map} +1 -1
  149. package/dist/{safeStableStringify-CXOZ9Ub8.js → safeStableStringify-BrOcdX9n.js} +4 -4
  150. package/dist/{safeStableStringify-CXOZ9Ub8.js.map → safeStableStringify-BrOcdX9n.js.map} +1 -1
  151. package/dist/{safeStableStringify-CJtP89qn.cjs → safeStableStringify-DRYQ56Dg.cjs} +4 -4
  152. package/dist/{safeStableStringify-CJtP89qn.cjs.map → safeStableStringify-DRYQ56Dg.cjs.map} +1 -1
  153. package/dist/strings/index.cjs +6 -7
  154. package/dist/strings/index.cjs.map +1 -1
  155. package/dist/strings/index.d.cts +2 -2
  156. package/dist/strings/index.d.ts +2 -2
  157. package/dist/strings/index.js +5 -6
  158. package/dist/strings/index.js.map +1 -1
  159. package/dist/tailwind/index.cjs +6 -2
  160. package/dist/tailwind/index.d.cts +3 -3
  161. package/dist/tailwind/index.d.ts +3 -3
  162. package/dist/tailwind/index.js +3 -3
  163. package/dist/{tailwind-B2ssevxq.js → tailwind-BZ2_MeNX.js} +18 -8
  164. package/dist/tailwind-BZ2_MeNX.js.map +1 -0
  165. package/dist/{tailwind-CHIx9uxu.cjs → tailwind-C1YtxJ-K.cjs} +39 -5
  166. package/dist/tailwind-C1YtxJ-K.cjs.map +1 -0
  167. package/dist/{toStringArrayUnRecursive-C4zYCja7.cjs → toStringArrayUnRecursive-D1mPM4wg.cjs} +6 -6
  168. package/dist/{toStringArrayUnRecursive-C4zYCja7.cjs.map → toStringArrayUnRecursive-D1mPM4wg.cjs.map} +1 -1
  169. package/dist/{toStringArrayUnRecursive-DJGtPsFb.js → toStringArrayUnRecursive-tHp2a7KR.js} +6 -6
  170. package/dist/{toStringArrayUnRecursive-DJGtPsFb.js.map → toStringArrayUnRecursive-tHp2a7KR.js.map} +1 -1
  171. package/dist/urls/index.cjs +9 -120
  172. package/dist/urls/index.d.cts +1 -1
  173. package/dist/urls/index.d.ts +1 -1
  174. package/dist/urls/index.js +3 -114
  175. package/dist/urls-CoxDAoki.js +263 -0
  176. package/dist/urls-CoxDAoki.js.map +1 -0
  177. package/dist/urls-DCyx8Wpk.cjs +299 -0
  178. package/dist/urls-DCyx8Wpk.cjs.map +1 -0
  179. package/package.json +3 -24
  180. package/dist/formatEnvPort-B3OLxQk9.cjs +0 -171
  181. package/dist/formatEnvPort-B3OLxQk9.cjs.map +0 -1
  182. package/dist/formatEnvPort-ByFVLjSV.js +0 -159
  183. package/dist/formatEnvPort-ByFVLjSV.js.map +0 -1
  184. package/dist/isURL-C-kSk6KJ.js +0 -14
  185. package/dist/isURL-C-kSk6KJ.js.map +0 -1
  186. package/dist/isURL-DeUPO_oR.cjs +0 -20
  187. package/dist/isURL-DeUPO_oR.cjs.map +0 -1
  188. package/dist/isValidDomain-BB9IGhJs.cjs.map +0 -1
  189. package/dist/isValidDomain-DoE98yhJ.js.map +0 -1
  190. package/dist/next/index.cjs +0 -129
  191. package/dist/next/index.cjs.map +0 -1
  192. package/dist/next/index.d.cts +0 -220
  193. package/dist/next/index.d.ts +0 -220
  194. package/dist/next/index.js +0 -124
  195. package/dist/next/index.js.map +0 -1
  196. package/dist/next/server/index.cjs +0 -28
  197. package/dist/next/server/index.cjs.map +0 -1
  198. package/dist/next/server/index.d.cts +0 -39
  199. package/dist/next/server/index.d.ts +0 -39
  200. package/dist/next/server/index.js +0 -26
  201. package/dist/next/server/index.js.map +0 -1
  202. package/dist/normalizeString-BDdkaXui.js +0 -15
  203. package/dist/normalizeString-BDdkaXui.js.map +0 -1
  204. package/dist/normalizeString-BE6ELqEb.cjs +0 -21
  205. package/dist/normalizeString-BE6ELqEb.cjs.map +0 -1
  206. package/dist/removeSpaces-Bmc5DX4F.js.map +0 -1
  207. package/dist/removeSpaces-CWIvhZHg.cjs.map +0 -1
  208. package/dist/tailwind-B2ssevxq.js.map +0 -1
  209. package/dist/tailwind-CHIx9uxu.cjs.map +0 -1
  210. package/dist/urls/index.cjs.map +0 -1
  211. package/dist/urls/index.js.map +0 -1
@@ -2,16 +2,16 @@
2
2
  * ========================================================================
3
3
  * @rzl-zone/utils-js
4
4
  * ------------------------------------------------------------------------
5
- * Version: `3.12.1-beta.1`
5
+ * Version: `3.13.0-beta.2`
6
6
  * Author: `Rizalvin Dwiky <rizalvindwiky@gmail.com>`
7
7
  * Repository: `https://github.com/rzl-zone/rzl-zone/tree/main/packages/utils-js`
8
8
  * ========================================================================
9
9
  */
10
10
  "use strict";
11
- const require_assertIsBoolean = require('./assertIsBoolean-C8WEXVr2.cjs');
12
- const require_isBigInt = require('./isBigInt-C4krUeAw.cjs');
13
- const require_isEmptyObject = require('./isEmptyObject-ZkSwRC_D.cjs');
14
- const require_isFinite = require('./isFinite-D24ZaE6c.cjs');
11
+ const require_assertIsBoolean = require('./assertIsBoolean-amRiJHnh.cjs');
12
+ const require_isBigInt = require('./isBigInt-CIFRnsdx.cjs');
13
+ const require_isEmptyObject = require('./isEmptyObject-CEySmyHK.cjs');
14
+ const require_isFinite = require('./isFinite-uukWvxJh.cjs');
15
15
  function filterNilArray(input) {
16
16
  if (require_assertIsBoolean.isNil(input)) return void 0;
17
17
  if (!require_assertIsBoolean.isArray(input)) return [];
@@ -48,4 +48,4 @@ Object.defineProperty(exports, 'toStringArrayUnRecursive', {
48
48
  return toStringArrayUnRecursive;
49
49
  }
50
50
  });
51
- //# sourceMappingURL=toStringArrayUnRecursive-C4zYCja7.cjs.map
51
+ //# sourceMappingURL=toStringArrayUnRecursive-D1mPM4wg.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"toStringArrayUnRecursive-C4zYCja7.cjs","names":["isNil","isArray","isEmptyArray","hasOwnProp","isArray","isString","isFinite","isBoolean","isBigInt","isNull"],"sources":["../src/conversions/arrays/transforms/filterNilArray.ts","../src/conversions/arrays/casts/toStringArrayUnRecursive.ts"],"sourcesContent":["import type {\n FilterNilArray,\n FilterNilArrayFromTuple,\n PreserveMutability\n} from \"./_private/filterNilArray.types\";\n\nimport { isNil } from \"@/predicates/is/isNil\";\nimport { isArray } from \"@/predicates/is/isArray\";\nimport { isEmptyArray } from \"@/predicates/is/isEmptyArray\";\n\n/** ----------------------------------------------------------\n * * ***Utility: `filterNilArray`.***\n * ---------------------------------------------\n * **Removes `null` and `undefined` values from an array, including nested arrays.**\n * - **Behavior:**\n * - Returns `undefined` if the input is explicitly `undefined` or `null`.\n * - Returns `[]` if input is empty or all elements are removed after filtering.\n * - Recursively filters nested arrays while preserving structure.\n * - Ensures proper type inference for safer downstream operations.\n * @template A - The type of elements in the array.\n * @param {T[]|null|undefined} input - The array to be filtered.\n * @returns {T[] | undefined} A new array with `null` and `undefined` values removed,\n * or `undefined` if the input is explicitly `undefined` or `null`.\n * @example\n * ```ts\n * filterNilArray([1, null, 2, undefined, 3]);\n * // ➔ [1, 2, 3]\n * filterNilArray([null, undefined]);\n * // ➔ []\n * filterNilArray(undefined);\n * // ➔ undefined\n * filterNilArray(null);\n * // ➔ undefined\n * filterNilArray([]); // or\n * filterNilArray([[[]]]); // or\n * filterNilArray([[[],undefined,null]]);\n * // ➔ []\n * filterNilArray([1, [null, 2, [undefined, 3]]]);\n * // ➔ [1, [2, [3]]]\n * ```\n */\nexport function filterNilArray(input: null | undefined): undefined;\nexport function filterNilArray<A extends readonly unknown[]>(\n input: A\n): PreserveMutability<A, FilterNilArrayFromTuple<A>>;\nexport function filterNilArray<A extends readonly unknown[]>(\n input: A | null | undefined\n): PreserveMutability<A, FilterNilArrayFromTuple<A>> | undefined;\nexport function filterNilArray<A>(\n input: (A | null | undefined)[] | null | undefined\n): FilterNilArray<A> | undefined;\nexport function filterNilArray(\n input: readonly unknown[] | null | undefined\n): unknown[] | undefined;\nexport function filterNilArray(input: unknown[]): unknown[];\nexport function filterNilArray(input: unknown): unknown {\n if (isNil(input)) return undefined;\n if (!isArray(input)) return [];\n\n const filtered = input.reduce<unknown[]>((output, element) => {\n if (!isNil(element)) {\n if (isArray(element)) {\n const cleanedNested = filterNilArray(element);\n if (cleanedNested && !isEmptyArray(cleanedNested)) {\n output.push(cleanedNested);\n }\n } else {\n output.push(element);\n }\n }\n return output;\n }, []);\n\n return filtered;\n}\n","import type {\n ToStringArrayUnRecursiveOptions,\n ToStringArrayUnRecursiveReturn\n} from \"./toStringArrayUnRecursive.types\";\n\nimport { isNull } from \"@/predicates/is/isNull\";\nimport { isArray } from \"@/predicates/is/isArray\";\nimport { isString } from \"@/predicates/is/isString\";\nimport { isFinite } from \"@/predicates/is/isFinite\";\nimport { isBigInt } from \"@/predicates/is/isBigInt\";\nimport { isBoolean } from \"@/predicates/is/isBoolean\";\nimport { hasOwnProp } from \"@/predicates/has/hasOwnProp\";\nimport { assertIsBoolean } from \"@/assertions/booleans/assertIsBoolean\";\nimport { assertIsPlainObject } from \"@/assertions/objects/assertIsPlainObject\";\n\nimport { filterNilArray } from \"../transforms/filterNilArray\";\n\n/** ---------------------------------------------\n * * ***Utility: `toStringArrayUnRecursive`.***\n * ---------------------------------------------\n * **Converts all values in a flat array into string representations.**\n * - **Behavior:**\n * - Only processes **flat arrays** (non-recursive).\n * - Supports input values: `string`, `number`, `bigint`, `boolean`,\n * `null`, `undefined`.\n * - Invalid values (`null` and `undefined`) can be **removed** or **kept**\n * depending on the option.\n * - Other unsupported types will be converted to `undefined` (and removed\n * if `removeInvalidValue=true`).\n * - **ℹ️ Note:**\n * - _For recursive / nested arrays, use ***`toStringDeep` utility function*** instead._\n * @template T - Element type of the input array.\n * @template R - Whether invalid values should be removed (`true`) or kept (`false`).\n * @param {Array<string | number | bigint | boolean | null | undefined> | null | undefined} [array] - The array to convert, returns `undefined` if not an array.\n * @param {ToStringArrayUnRecursiveOptions<RemoveInvalidValue>} [options] - Options to control transformation behavior, defaults to `{ removeInvalidValue: true }`.\n * @param {RemoveInvalidValue extends true ? boolean : boolean} [options.removeInvalidValue=true] Whether to remove invalid values (`null`, `undefined`, or unsupported types), default: `true`.\n * @returns {RemoveInvalidValue extends true ? string[] : (string | null | undefined)[]} A new array of string representations, with invalid values optionally removed.\n * @example\n * ```ts\n * // Convert numbers and strings\n * toStringArrayUnRecursive([1, 2, '3']);\n * // ➔ ['1', '2', '3']\n * // Remove null and undefined\n * toStringArrayUnRecursive([1, null, undefined, 'abc'], {\n * removeInvalidValue: true\n * });\n * // ➔ ['1', 'abc']\n * // Keep null and undefined\n * toStringArrayUnRecursive([1, null, undefined, 'abc'], {\n * removeInvalidValue: false\n * });\n * // ➔ ['1', null, undefined, 'abc']\n * // Convert boolean and bigint\n * toStringArrayUnRecursive([true, false, 10n]);\n * // ➔ ['true', 'false', '10']\n * // Not an array ➔ returns undefined\n * toStringArrayUnRecursive(null);\n * // ➔ undefined\n * toStringArrayUnRecursive(undefined);\n * // ➔ undefined\n * toStringArrayUnRecursive(1);\n * // ➔ undefined\n * toStringArrayUnRecursive(\"string\");\n * // ➔ undefined\n * ```\n */\nexport function toStringArrayUnRecursive(\n array?: undefined | null,\n options?: ToStringArrayUnRecursiveOptions<boolean>\n): undefined;\nexport function toStringArrayUnRecursive(\n array?: Array<never>,\n options?: ToStringArrayUnRecursiveOptions<boolean>\n): [];\nexport function toStringArrayUnRecursive<T, R extends boolean = true>(\n array?: Array<T> | readonly T[] | null,\n options?: ToStringArrayUnRecursiveOptions<R>\n): ToStringArrayUnRecursiveReturn<T, R>;\nexport function toStringArrayUnRecursive<T = unknown>(\n array?: T,\n options?: ToStringArrayUnRecursiveOptions<boolean>\n): undefined;\nexport function toStringArrayUnRecursive<T>(\n array?: Array<T> | readonly T[] | null,\n options: ToStringArrayUnRecursiveOptions<boolean> = {}\n) {\n assertIsPlainObject(options, {\n message: ({ currentType, validType }) =>\n `Second parameter (\\`options\\`) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n const riv = hasOwnProp(options, \"removeInvalidValue\")\n ? options.removeInvalidValue\n : true;\n\n assertIsBoolean(riv, {\n message: ({ currentType, validType }) =>\n `Parameter \\`removeInvalidValue\\` property of the \\`options\\` (second parameter) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n if (isArray(array)) {\n // Convert each item in the array to a string, or null/undefined if it's not a valid value.\n const result = Array.from(array, (x) => {\n // Convert finite number, boolean, bigInt or string to string\n if (isString(x) || isFinite(x) || isBoolean(x) || isBigInt(x))\n return String(x);\n\n // Handle null or undefined values\n return isNull(x) ? null : undefined;\n });\n\n // Remove invalid values (null, undefined) if specified in options\n if (riv) return filterNilArray(result);\n\n return result;\n }\n\n // Return undefined if no array is provided\n return undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAuDA,SAAgB,eAAe,OAAyB;CACtD,IAAIA,8BAAM,MAAM,EAAE,OAAO;CACzB,IAAI,CAACC,gCAAQ,MAAM,EAAE,OAAO,EAAE;CAgB9B,OAdiB,MAAM,QAAmB,QAAQ,YAAY;EAC5D,IAAI,CAACD,8BAAM,QAAQ,EACjB,IAAIC,gCAAQ,QAAQ,EAAE;GACpB,MAAM,gBAAgB,eAAe,QAAQ;GAC7C,IAAI,iBAAiB,CAACC,mCAAa,cAAc,EAC/C,OAAO,KAAK,cAAc;SAG5B,OAAO,KAAK,QAAQ;EAGxB,OAAO;IACN,EAAE,CAEU;;;;;ACSjB,SAAgB,yBACd,OACA,UAAoD,EAAE,EACtD;CACA,4CAAoB,SAAS,EAC3B,UAAU,EAAE,aAAa,gBACvB,oDAAoD,UAAU,sBAAsB,YAAY,MACnG,CAAC;CAEF,MAAM,MAAMC,mCAAW,SAAS,qBAAqB,GACjD,QAAQ,qBACR;CAEJ,wCAAgB,KAAK,EACnB,UAAU,EAAE,aAAa,gBACvB,qGAAqG,UAAU,sBAAsB,YAAY,MACpJ,CAAC;CAEF,IAAIC,gCAAQ,MAAM,EAAE;EAElB,MAAM,SAAS,MAAM,KAAK,QAAQ,MAAM;GAEtC,IAAIC,iCAAS,EAAE,IAAIC,0BAAS,EAAE,IAAIC,kCAAU,EAAE,IAAIC,0BAAS,EAAE,EAC3D,OAAO,OAAO,EAAE;GAGlB,OAAOC,+BAAO,EAAE,GAAG,OAAO;IAC1B;EAGF,IAAI,KAAK,OAAO,eAAe,OAAO;EAEtC,OAAO"}
1
+ {"version":3,"file":"toStringArrayUnRecursive-D1mPM4wg.cjs","names":["isNil","isArray","isEmptyArray","hasOwnProp","isArray","isString","isFinite","isBoolean","isBigInt","isNull"],"sources":["../src/conversions/arrays/transforms/filterNilArray.ts","../src/conversions/arrays/casts/toStringArrayUnRecursive.ts"],"sourcesContent":["import type {\n FilterNilArray,\n FilterNilArrayFromTuple,\n PreserveMutability\n} from \"./_private/filterNilArray.types\";\n\nimport { isNil } from \"@/predicates/is/isNil\";\nimport { isArray } from \"@/predicates/is/isArray\";\nimport { isEmptyArray } from \"@/predicates/is/isEmptyArray\";\n\n/** ----------------------------------------------------------\n * * ***Utility: `filterNilArray`.***\n * ---------------------------------------------\n * **Removes `null` and `undefined` values from an array, including nested arrays.**\n * - **Behavior:**\n * - Returns `undefined` if the input is explicitly `undefined` or `null`.\n * - Returns `[]` if input is empty or all elements are removed after filtering.\n * - Recursively filters nested arrays while preserving structure.\n * - Ensures proper type inference for safer downstream operations.\n * @template A - The type of elements in the array.\n * @param {T[]|null|undefined} input - The array to be filtered.\n * @returns {T[] | undefined} A new array with `null` and `undefined` values removed,\n * or `undefined` if the input is explicitly `undefined` or `null`.\n * @example\n * ```ts\n * filterNilArray([1, null, 2, undefined, 3]);\n * // ➔ [1, 2, 3]\n * filterNilArray([null, undefined]);\n * // ➔ []\n * filterNilArray(undefined);\n * // ➔ undefined\n * filterNilArray(null);\n * // ➔ undefined\n * filterNilArray([]); // or\n * filterNilArray([[[]]]); // or\n * filterNilArray([[[],undefined,null]]);\n * // ➔ []\n * filterNilArray([1, [null, 2, [undefined, 3]]]);\n * // ➔ [1, [2, [3]]]\n * ```\n */\nexport function filterNilArray(input: null | undefined): undefined;\nexport function filterNilArray<A extends readonly unknown[]>(\n input: A\n): PreserveMutability<A, FilterNilArrayFromTuple<A>>;\nexport function filterNilArray<A extends readonly unknown[]>(\n input: A | null | undefined\n): PreserveMutability<A, FilterNilArrayFromTuple<A>> | undefined;\nexport function filterNilArray<A>(\n input: (A | null | undefined)[] | null | undefined\n): FilterNilArray<A> | undefined;\nexport function filterNilArray(\n input: readonly unknown[] | null | undefined\n): unknown[] | undefined;\nexport function filterNilArray(input: unknown[]): unknown[];\nexport function filterNilArray(input: unknown): unknown {\n if (isNil(input)) return undefined;\n if (!isArray(input)) return [];\n\n const filtered = input.reduce<unknown[]>((output, element) => {\n if (!isNil(element)) {\n if (isArray(element)) {\n const cleanedNested = filterNilArray(element);\n if (cleanedNested && !isEmptyArray(cleanedNested)) {\n output.push(cleanedNested);\n }\n } else {\n output.push(element);\n }\n }\n return output;\n }, []);\n\n return filtered;\n}\n","import type {\n ToStringArrayUnRecursiveOptions,\n ToStringArrayUnRecursiveReturn\n} from \"./toStringArrayUnRecursive.types\";\n\nimport { isNull } from \"@/predicates/is/isNull\";\nimport { isArray } from \"@/predicates/is/isArray\";\nimport { isString } from \"@/predicates/is/isString\";\nimport { isFinite } from \"@/predicates/is/isFinite\";\nimport { isBigInt } from \"@/predicates/is/isBigInt\";\nimport { isBoolean } from \"@/predicates/is/isBoolean\";\nimport { hasOwnProp } from \"@/predicates/has/hasOwnProp\";\nimport { assertIsBoolean } from \"@/assertions/booleans/assertIsBoolean\";\nimport { assertIsPlainObject } from \"@/assertions/objects/assertIsPlainObject\";\n\nimport { filterNilArray } from \"../transforms/filterNilArray\";\n\n/** ---------------------------------------------\n * * ***Utility: `toStringArrayUnRecursive`.***\n * ---------------------------------------------\n * **Converts all values in a flat array into string representations.**\n * - **Behavior:**\n * - Only processes **flat arrays** (non-recursive).\n * - Supports input values: `string`, `number`, `bigint`, `boolean`,\n * `null`, `undefined`.\n * - Invalid values (`null` and `undefined`) can be **removed** or **kept**\n * depending on the option.\n * - Other unsupported types will be converted to `undefined` (and removed\n * if `removeInvalidValue=true`).\n * - **ℹ️ Note:**\n * - _For recursive / nested arrays, use ***`toStringDeep` utility function*** instead._\n * @template T - Element type of the input array.\n * @template R - Whether invalid values should be removed (`true`) or kept (`false`).\n * @param {Array<string | number | bigint | boolean | null | undefined> | null | undefined} [array] - The array to convert, returns `undefined` if not an array.\n * @param {ToStringArrayUnRecursiveOptions<RemoveInvalidValue>} [options] - Options to control transformation behavior, defaults to `{ removeInvalidValue: true }`.\n * @param {RemoveInvalidValue extends true ? boolean : boolean} [options.removeInvalidValue=true] Whether to remove invalid values (`null`, `undefined`, or unsupported types), default: `true`.\n * @returns {RemoveInvalidValue extends true ? string[] : (string | null | undefined)[]} A new array of string representations, with invalid values optionally removed.\n * @example\n * ```ts\n * // Convert numbers and strings\n * toStringArrayUnRecursive([1, 2, '3']);\n * // ➔ ['1', '2', '3']\n * // Remove null and undefined\n * toStringArrayUnRecursive([1, null, undefined, 'abc'], {\n * removeInvalidValue: true\n * });\n * // ➔ ['1', 'abc']\n * // Keep null and undefined\n * toStringArrayUnRecursive([1, null, undefined, 'abc'], {\n * removeInvalidValue: false\n * });\n * // ➔ ['1', null, undefined, 'abc']\n * // Convert boolean and bigint\n * toStringArrayUnRecursive([true, false, 10n]);\n * // ➔ ['true', 'false', '10']\n * // Not an array ➔ returns undefined\n * toStringArrayUnRecursive(null);\n * // ➔ undefined\n * toStringArrayUnRecursive(undefined);\n * // ➔ undefined\n * toStringArrayUnRecursive(1);\n * // ➔ undefined\n * toStringArrayUnRecursive(\"string\");\n * // ➔ undefined\n * ```\n */\nexport function toStringArrayUnRecursive(\n array?: undefined | null,\n options?: ToStringArrayUnRecursiveOptions<boolean>\n): undefined;\nexport function toStringArrayUnRecursive(\n array?: Array<never>,\n options?: ToStringArrayUnRecursiveOptions<boolean>\n): [];\nexport function toStringArrayUnRecursive<T, R extends boolean = true>(\n array?: Array<T> | readonly T[] | null,\n options?: ToStringArrayUnRecursiveOptions<R>\n): ToStringArrayUnRecursiveReturn<T, R>;\nexport function toStringArrayUnRecursive<T = unknown>(\n array?: T,\n options?: ToStringArrayUnRecursiveOptions<boolean>\n): undefined;\nexport function toStringArrayUnRecursive<T>(\n array?: Array<T> | readonly T[] | null,\n options: ToStringArrayUnRecursiveOptions<boolean> = {}\n) {\n assertIsPlainObject(options, {\n message: ({ currentType, validType }) =>\n `Second parameter (\\`options\\`) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n const riv = hasOwnProp(options, \"removeInvalidValue\")\n ? options.removeInvalidValue\n : true;\n\n assertIsBoolean(riv, {\n message: ({ currentType, validType }) =>\n `Parameter \\`removeInvalidValue\\` property of the \\`options\\` (second parameter) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n if (isArray(array)) {\n // Convert each item in the array to a string, or null/undefined if it's not a valid value.\n const result = Array.from(array, (x) => {\n // Convert finite number, boolean, bigInt or string to string\n if (isString(x) || isFinite(x) || isBoolean(x) || isBigInt(x))\n return String(x);\n\n // Handle null or undefined values\n return isNull(x) ? null : undefined;\n });\n\n // Remove invalid values (null, undefined) if specified in options\n if (riv) return filterNilArray(result);\n\n return result;\n }\n\n // Return undefined if no array is provided\n return undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAuDA,SAAgB,eAAe,OAAyB;CACtD,IAAIA,8BAAM,MAAM,EAAE,OAAO;CACzB,IAAI,CAACC,gCAAQ,MAAM,EAAE,OAAO,EAAE;CAgB9B,OAdiB,MAAM,QAAmB,QAAQ,YAAY;EAC5D,IAAI,CAACD,8BAAM,QAAQ,EACjB,IAAIC,gCAAQ,QAAQ,EAAE;GACpB,MAAM,gBAAgB,eAAe,QAAQ;GAC7C,IAAI,iBAAiB,CAACC,mCAAa,cAAc,EAC/C,OAAO,KAAK,cAAc;SAG5B,OAAO,KAAK,QAAQ;EAGxB,OAAO;IACN,EAAE,CAEU;;;;;ACSjB,SAAgB,yBACd,OACA,UAAoD,EAAE,EACtD;CACA,4CAAoB,SAAS,EAC3B,UAAU,EAAE,aAAa,gBACvB,oDAAoD,UAAU,sBAAsB,YAAY,MACnG,CAAC;CAEF,MAAM,MAAMC,mCAAW,SAAS,qBAAqB,GACjD,QAAQ,qBACR;CAEJ,wCAAgB,KAAK,EACnB,UAAU,EAAE,aAAa,gBACvB,qGAAqG,UAAU,sBAAsB,YAAY,MACpJ,CAAC;CAEF,IAAIC,gCAAQ,MAAM,EAAE;EAElB,MAAM,SAAS,MAAM,KAAK,QAAQ,MAAM;GAEtC,IAAIC,iCAAS,EAAE,IAAIC,0BAAS,EAAE,IAAIC,kCAAU,EAAE,IAAIC,0BAAS,EAAE,EAC3D,OAAO,OAAO,EAAE;GAGlB,OAAOC,+BAAO,EAAE,GAAG,OAAO;IAC1B;EAGF,IAAI,KAAK,OAAO,eAAe,OAAO;EAEtC,OAAO"}
@@ -2,15 +2,15 @@
2
2
  * ========================================================================
3
3
  * @rzl-zone/utils-js
4
4
  * ------------------------------------------------------------------------
5
- * Version: `3.12.1-beta.1`
5
+ * Version: `3.13.0-beta.2`
6
6
  * Author: `Rizalvin Dwiky <rizalvindwiky@gmail.com>`
7
7
  * Repository: `https://github.com/rzl-zone/rzl-zone/tree/main/packages/utils-js`
8
8
  * ========================================================================
9
9
  */
10
- import { E as isNull, F as isBoolean, M as isArray, N as isNil, T as assertIsPlainObject, b as hasOwnProp, k as isString, t as assertIsBoolean } from "./assertIsBoolean-DR1SaXPD.js";
11
- import { t as isBigInt } from "./isBigInt-DKe0M6hp.js";
12
- import { n as isEmptyArray } from "./isEmptyObject-DCipFwxJ.js";
13
- import { t as isFinite } from "./isFinite-BCnaDpod.js";
10
+ import { E as isNull, F as isBoolean, M as isArray, N as isNil, T as assertIsPlainObject, b as hasOwnProp, k as isString, t as assertIsBoolean } from "./assertIsBoolean-Bv6gL-xe.js";
11
+ import { t as isBigInt } from "./isBigInt-D-Pu9sxp.js";
12
+ import { n as isEmptyArray } from "./isEmptyObject-CZ9DLi7R.js";
13
+ import { t as isFinite } from "./isFinite-Cz_IFXuV.js";
14
14
  function filterNilArray(input) {
15
15
  if (isNil(input)) return void 0;
16
16
  if (!isArray(input)) return [];
@@ -36,4 +36,4 @@ function toStringArrayUnRecursive(array, options = {}) {
36
36
  }
37
37
  }
38
38
  export { filterNilArray as n, toStringArrayUnRecursive as t };
39
- //# sourceMappingURL=toStringArrayUnRecursive-DJGtPsFb.js.map
39
+ //# sourceMappingURL=toStringArrayUnRecursive-tHp2a7KR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toStringArrayUnRecursive-DJGtPsFb.js","names":[],"sources":["../src/conversions/arrays/transforms/filterNilArray.ts","../src/conversions/arrays/casts/toStringArrayUnRecursive.ts"],"sourcesContent":["import type {\n FilterNilArray,\n FilterNilArrayFromTuple,\n PreserveMutability\n} from \"./_private/filterNilArray.types\";\n\nimport { isNil } from \"@/predicates/is/isNil\";\nimport { isArray } from \"@/predicates/is/isArray\";\nimport { isEmptyArray } from \"@/predicates/is/isEmptyArray\";\n\n/** ----------------------------------------------------------\n * * ***Utility: `filterNilArray`.***\n * ---------------------------------------------\n * **Removes `null` and `undefined` values from an array, including nested arrays.**\n * - **Behavior:**\n * - Returns `undefined` if the input is explicitly `undefined` or `null`.\n * - Returns `[]` if input is empty or all elements are removed after filtering.\n * - Recursively filters nested arrays while preserving structure.\n * - Ensures proper type inference for safer downstream operations.\n * @template A - The type of elements in the array.\n * @param {T[]|null|undefined} input - The array to be filtered.\n * @returns {T[] | undefined} A new array with `null` and `undefined` values removed,\n * or `undefined` if the input is explicitly `undefined` or `null`.\n * @example\n * ```ts\n * filterNilArray([1, null, 2, undefined, 3]);\n * // ➔ [1, 2, 3]\n * filterNilArray([null, undefined]);\n * // ➔ []\n * filterNilArray(undefined);\n * // ➔ undefined\n * filterNilArray(null);\n * // ➔ undefined\n * filterNilArray([]); // or\n * filterNilArray([[[]]]); // or\n * filterNilArray([[[],undefined,null]]);\n * // ➔ []\n * filterNilArray([1, [null, 2, [undefined, 3]]]);\n * // ➔ [1, [2, [3]]]\n * ```\n */\nexport function filterNilArray(input: null | undefined): undefined;\nexport function filterNilArray<A extends readonly unknown[]>(\n input: A\n): PreserveMutability<A, FilterNilArrayFromTuple<A>>;\nexport function filterNilArray<A extends readonly unknown[]>(\n input: A | null | undefined\n): PreserveMutability<A, FilterNilArrayFromTuple<A>> | undefined;\nexport function filterNilArray<A>(\n input: (A | null | undefined)[] | null | undefined\n): FilterNilArray<A> | undefined;\nexport function filterNilArray(\n input: readonly unknown[] | null | undefined\n): unknown[] | undefined;\nexport function filterNilArray(input: unknown[]): unknown[];\nexport function filterNilArray(input: unknown): unknown {\n if (isNil(input)) return undefined;\n if (!isArray(input)) return [];\n\n const filtered = input.reduce<unknown[]>((output, element) => {\n if (!isNil(element)) {\n if (isArray(element)) {\n const cleanedNested = filterNilArray(element);\n if (cleanedNested && !isEmptyArray(cleanedNested)) {\n output.push(cleanedNested);\n }\n } else {\n output.push(element);\n }\n }\n return output;\n }, []);\n\n return filtered;\n}\n","import type {\n ToStringArrayUnRecursiveOptions,\n ToStringArrayUnRecursiveReturn\n} from \"./toStringArrayUnRecursive.types\";\n\nimport { isNull } from \"@/predicates/is/isNull\";\nimport { isArray } from \"@/predicates/is/isArray\";\nimport { isString } from \"@/predicates/is/isString\";\nimport { isFinite } from \"@/predicates/is/isFinite\";\nimport { isBigInt } from \"@/predicates/is/isBigInt\";\nimport { isBoolean } from \"@/predicates/is/isBoolean\";\nimport { hasOwnProp } from \"@/predicates/has/hasOwnProp\";\nimport { assertIsBoolean } from \"@/assertions/booleans/assertIsBoolean\";\nimport { assertIsPlainObject } from \"@/assertions/objects/assertIsPlainObject\";\n\nimport { filterNilArray } from \"../transforms/filterNilArray\";\n\n/** ---------------------------------------------\n * * ***Utility: `toStringArrayUnRecursive`.***\n * ---------------------------------------------\n * **Converts all values in a flat array into string representations.**\n * - **Behavior:**\n * - Only processes **flat arrays** (non-recursive).\n * - Supports input values: `string`, `number`, `bigint`, `boolean`,\n * `null`, `undefined`.\n * - Invalid values (`null` and `undefined`) can be **removed** or **kept**\n * depending on the option.\n * - Other unsupported types will be converted to `undefined` (and removed\n * if `removeInvalidValue=true`).\n * - **ℹ️ Note:**\n * - _For recursive / nested arrays, use ***`toStringDeep` utility function*** instead._\n * @template T - Element type of the input array.\n * @template R - Whether invalid values should be removed (`true`) or kept (`false`).\n * @param {Array<string | number | bigint | boolean | null | undefined> | null | undefined} [array] - The array to convert, returns `undefined` if not an array.\n * @param {ToStringArrayUnRecursiveOptions<RemoveInvalidValue>} [options] - Options to control transformation behavior, defaults to `{ removeInvalidValue: true }`.\n * @param {RemoveInvalidValue extends true ? boolean : boolean} [options.removeInvalidValue=true] Whether to remove invalid values (`null`, `undefined`, or unsupported types), default: `true`.\n * @returns {RemoveInvalidValue extends true ? string[] : (string | null | undefined)[]} A new array of string representations, with invalid values optionally removed.\n * @example\n * ```ts\n * // Convert numbers and strings\n * toStringArrayUnRecursive([1, 2, '3']);\n * // ➔ ['1', '2', '3']\n * // Remove null and undefined\n * toStringArrayUnRecursive([1, null, undefined, 'abc'], {\n * removeInvalidValue: true\n * });\n * // ➔ ['1', 'abc']\n * // Keep null and undefined\n * toStringArrayUnRecursive([1, null, undefined, 'abc'], {\n * removeInvalidValue: false\n * });\n * // ➔ ['1', null, undefined, 'abc']\n * // Convert boolean and bigint\n * toStringArrayUnRecursive([true, false, 10n]);\n * // ➔ ['true', 'false', '10']\n * // Not an array ➔ returns undefined\n * toStringArrayUnRecursive(null);\n * // ➔ undefined\n * toStringArrayUnRecursive(undefined);\n * // ➔ undefined\n * toStringArrayUnRecursive(1);\n * // ➔ undefined\n * toStringArrayUnRecursive(\"string\");\n * // ➔ undefined\n * ```\n */\nexport function toStringArrayUnRecursive(\n array?: undefined | null,\n options?: ToStringArrayUnRecursiveOptions<boolean>\n): undefined;\nexport function toStringArrayUnRecursive(\n array?: Array<never>,\n options?: ToStringArrayUnRecursiveOptions<boolean>\n): [];\nexport function toStringArrayUnRecursive<T, R extends boolean = true>(\n array?: Array<T> | readonly T[] | null,\n options?: ToStringArrayUnRecursiveOptions<R>\n): ToStringArrayUnRecursiveReturn<T, R>;\nexport function toStringArrayUnRecursive<T = unknown>(\n array?: T,\n options?: ToStringArrayUnRecursiveOptions<boolean>\n): undefined;\nexport function toStringArrayUnRecursive<T>(\n array?: Array<T> | readonly T[] | null,\n options: ToStringArrayUnRecursiveOptions<boolean> = {}\n) {\n assertIsPlainObject(options, {\n message: ({ currentType, validType }) =>\n `Second parameter (\\`options\\`) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n const riv = hasOwnProp(options, \"removeInvalidValue\")\n ? options.removeInvalidValue\n : true;\n\n assertIsBoolean(riv, {\n message: ({ currentType, validType }) =>\n `Parameter \\`removeInvalidValue\\` property of the \\`options\\` (second parameter) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n if (isArray(array)) {\n // Convert each item in the array to a string, or null/undefined if it's not a valid value.\n const result = Array.from(array, (x) => {\n // Convert finite number, boolean, bigInt or string to string\n if (isString(x) || isFinite(x) || isBoolean(x) || isBigInt(x))\n return String(x);\n\n // Handle null or undefined values\n return isNull(x) ? null : undefined;\n });\n\n // Remove invalid values (null, undefined) if specified in options\n if (riv) return filterNilArray(result);\n\n return result;\n }\n\n // Return undefined if no array is provided\n return undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAuDA,SAAgB,eAAe,OAAyB;CACtD,IAAI,MAAM,MAAM,EAAE,OAAO;CACzB,IAAI,CAAC,QAAQ,MAAM,EAAE,OAAO,EAAE;CAgB9B,OAdiB,MAAM,QAAmB,QAAQ,YAAY;EAC5D,IAAI,CAAC,MAAM,QAAQ,EACjB,IAAI,QAAQ,QAAQ,EAAE;GACpB,MAAM,gBAAgB,eAAe,QAAQ;GAC7C,IAAI,iBAAiB,CAAC,aAAa,cAAc,EAC/C,OAAO,KAAK,cAAc;SAG5B,OAAO,KAAK,QAAQ;EAGxB,OAAO;IACN,EAAE,CAEU;;;;;ACSjB,SAAgB,yBACd,OACA,UAAoD,EAAE,EACtD;CACA,oBAAoB,SAAS,EAC3B,UAAU,EAAE,aAAa,gBACvB,oDAAoD,UAAU,sBAAsB,YAAY,MACnG,CAAC;CAEF,MAAM,MAAM,WAAW,SAAS,qBAAqB,GACjD,QAAQ,qBACR;CAEJ,gBAAgB,KAAK,EACnB,UAAU,EAAE,aAAa,gBACvB,qGAAqG,UAAU,sBAAsB,YAAY,MACpJ,CAAC;CAEF,IAAI,QAAQ,MAAM,EAAE;EAElB,MAAM,SAAS,MAAM,KAAK,QAAQ,MAAM;GAEtC,IAAI,SAAS,EAAE,IAAI,SAAS,EAAE,IAAI,UAAU,EAAE,IAAI,SAAS,EAAE,EAC3D,OAAO,OAAO,EAAE;GAGlB,OAAO,OAAO,EAAE,GAAG,OAAO;IAC1B;EAGF,IAAI,KAAK,OAAO,eAAe,OAAO;EAEtC,OAAO"}
1
+ {"version":3,"file":"toStringArrayUnRecursive-tHp2a7KR.js","names":[],"sources":["../src/conversions/arrays/transforms/filterNilArray.ts","../src/conversions/arrays/casts/toStringArrayUnRecursive.ts"],"sourcesContent":["import type {\n FilterNilArray,\n FilterNilArrayFromTuple,\n PreserveMutability\n} from \"./_private/filterNilArray.types\";\n\nimport { isNil } from \"@/predicates/is/isNil\";\nimport { isArray } from \"@/predicates/is/isArray\";\nimport { isEmptyArray } from \"@/predicates/is/isEmptyArray\";\n\n/** ----------------------------------------------------------\n * * ***Utility: `filterNilArray`.***\n * ---------------------------------------------\n * **Removes `null` and `undefined` values from an array, including nested arrays.**\n * - **Behavior:**\n * - Returns `undefined` if the input is explicitly `undefined` or `null`.\n * - Returns `[]` if input is empty or all elements are removed after filtering.\n * - Recursively filters nested arrays while preserving structure.\n * - Ensures proper type inference for safer downstream operations.\n * @template A - The type of elements in the array.\n * @param {T[]|null|undefined} input - The array to be filtered.\n * @returns {T[] | undefined} A new array with `null` and `undefined` values removed,\n * or `undefined` if the input is explicitly `undefined` or `null`.\n * @example\n * ```ts\n * filterNilArray([1, null, 2, undefined, 3]);\n * // ➔ [1, 2, 3]\n * filterNilArray([null, undefined]);\n * // ➔ []\n * filterNilArray(undefined);\n * // ➔ undefined\n * filterNilArray(null);\n * // ➔ undefined\n * filterNilArray([]); // or\n * filterNilArray([[[]]]); // or\n * filterNilArray([[[],undefined,null]]);\n * // ➔ []\n * filterNilArray([1, [null, 2, [undefined, 3]]]);\n * // ➔ [1, [2, [3]]]\n * ```\n */\nexport function filterNilArray(input: null | undefined): undefined;\nexport function filterNilArray<A extends readonly unknown[]>(\n input: A\n): PreserveMutability<A, FilterNilArrayFromTuple<A>>;\nexport function filterNilArray<A extends readonly unknown[]>(\n input: A | null | undefined\n): PreserveMutability<A, FilterNilArrayFromTuple<A>> | undefined;\nexport function filterNilArray<A>(\n input: (A | null | undefined)[] | null | undefined\n): FilterNilArray<A> | undefined;\nexport function filterNilArray(\n input: readonly unknown[] | null | undefined\n): unknown[] | undefined;\nexport function filterNilArray(input: unknown[]): unknown[];\nexport function filterNilArray(input: unknown): unknown {\n if (isNil(input)) return undefined;\n if (!isArray(input)) return [];\n\n const filtered = input.reduce<unknown[]>((output, element) => {\n if (!isNil(element)) {\n if (isArray(element)) {\n const cleanedNested = filterNilArray(element);\n if (cleanedNested && !isEmptyArray(cleanedNested)) {\n output.push(cleanedNested);\n }\n } else {\n output.push(element);\n }\n }\n return output;\n }, []);\n\n return filtered;\n}\n","import type {\n ToStringArrayUnRecursiveOptions,\n ToStringArrayUnRecursiveReturn\n} from \"./toStringArrayUnRecursive.types\";\n\nimport { isNull } from \"@/predicates/is/isNull\";\nimport { isArray } from \"@/predicates/is/isArray\";\nimport { isString } from \"@/predicates/is/isString\";\nimport { isFinite } from \"@/predicates/is/isFinite\";\nimport { isBigInt } from \"@/predicates/is/isBigInt\";\nimport { isBoolean } from \"@/predicates/is/isBoolean\";\nimport { hasOwnProp } from \"@/predicates/has/hasOwnProp\";\nimport { assertIsBoolean } from \"@/assertions/booleans/assertIsBoolean\";\nimport { assertIsPlainObject } from \"@/assertions/objects/assertIsPlainObject\";\n\nimport { filterNilArray } from \"../transforms/filterNilArray\";\n\n/** ---------------------------------------------\n * * ***Utility: `toStringArrayUnRecursive`.***\n * ---------------------------------------------\n * **Converts all values in a flat array into string representations.**\n * - **Behavior:**\n * - Only processes **flat arrays** (non-recursive).\n * - Supports input values: `string`, `number`, `bigint`, `boolean`,\n * `null`, `undefined`.\n * - Invalid values (`null` and `undefined`) can be **removed** or **kept**\n * depending on the option.\n * - Other unsupported types will be converted to `undefined` (and removed\n * if `removeInvalidValue=true`).\n * - **ℹ️ Note:**\n * - _For recursive / nested arrays, use ***`toStringDeep` utility function*** instead._\n * @template T - Element type of the input array.\n * @template R - Whether invalid values should be removed (`true`) or kept (`false`).\n * @param {Array<string | number | bigint | boolean | null | undefined> | null | undefined} [array] - The array to convert, returns `undefined` if not an array.\n * @param {ToStringArrayUnRecursiveOptions<RemoveInvalidValue>} [options] - Options to control transformation behavior, defaults to `{ removeInvalidValue: true }`.\n * @param {RemoveInvalidValue extends true ? boolean : boolean} [options.removeInvalidValue=true] Whether to remove invalid values (`null`, `undefined`, or unsupported types), default: `true`.\n * @returns {RemoveInvalidValue extends true ? string[] : (string | null | undefined)[]} A new array of string representations, with invalid values optionally removed.\n * @example\n * ```ts\n * // Convert numbers and strings\n * toStringArrayUnRecursive([1, 2, '3']);\n * // ➔ ['1', '2', '3']\n * // Remove null and undefined\n * toStringArrayUnRecursive([1, null, undefined, 'abc'], {\n * removeInvalidValue: true\n * });\n * // ➔ ['1', 'abc']\n * // Keep null and undefined\n * toStringArrayUnRecursive([1, null, undefined, 'abc'], {\n * removeInvalidValue: false\n * });\n * // ➔ ['1', null, undefined, 'abc']\n * // Convert boolean and bigint\n * toStringArrayUnRecursive([true, false, 10n]);\n * // ➔ ['true', 'false', '10']\n * // Not an array ➔ returns undefined\n * toStringArrayUnRecursive(null);\n * // ➔ undefined\n * toStringArrayUnRecursive(undefined);\n * // ➔ undefined\n * toStringArrayUnRecursive(1);\n * // ➔ undefined\n * toStringArrayUnRecursive(\"string\");\n * // ➔ undefined\n * ```\n */\nexport function toStringArrayUnRecursive(\n array?: undefined | null,\n options?: ToStringArrayUnRecursiveOptions<boolean>\n): undefined;\nexport function toStringArrayUnRecursive(\n array?: Array<never>,\n options?: ToStringArrayUnRecursiveOptions<boolean>\n): [];\nexport function toStringArrayUnRecursive<T, R extends boolean = true>(\n array?: Array<T> | readonly T[] | null,\n options?: ToStringArrayUnRecursiveOptions<R>\n): ToStringArrayUnRecursiveReturn<T, R>;\nexport function toStringArrayUnRecursive<T = unknown>(\n array?: T,\n options?: ToStringArrayUnRecursiveOptions<boolean>\n): undefined;\nexport function toStringArrayUnRecursive<T>(\n array?: Array<T> | readonly T[] | null,\n options: ToStringArrayUnRecursiveOptions<boolean> = {}\n) {\n assertIsPlainObject(options, {\n message: ({ currentType, validType }) =>\n `Second parameter (\\`options\\`) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n const riv = hasOwnProp(options, \"removeInvalidValue\")\n ? options.removeInvalidValue\n : true;\n\n assertIsBoolean(riv, {\n message: ({ currentType, validType }) =>\n `Parameter \\`removeInvalidValue\\` property of the \\`options\\` (second parameter) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n if (isArray(array)) {\n // Convert each item in the array to a string, or null/undefined if it's not a valid value.\n const result = Array.from(array, (x) => {\n // Convert finite number, boolean, bigInt or string to string\n if (isString(x) || isFinite(x) || isBoolean(x) || isBigInt(x))\n return String(x);\n\n // Handle null or undefined values\n return isNull(x) ? null : undefined;\n });\n\n // Remove invalid values (null, undefined) if specified in options\n if (riv) return filterNilArray(result);\n\n return result;\n }\n\n // Return undefined if no array is provided\n return undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAuDA,SAAgB,eAAe,OAAyB;CACtD,IAAI,MAAM,MAAM,EAAE,OAAO;CACzB,IAAI,CAAC,QAAQ,MAAM,EAAE,OAAO,EAAE;CAgB9B,OAdiB,MAAM,QAAmB,QAAQ,YAAY;EAC5D,IAAI,CAAC,MAAM,QAAQ,EACjB,IAAI,QAAQ,QAAQ,EAAE;GACpB,MAAM,gBAAgB,eAAe,QAAQ;GAC7C,IAAI,iBAAiB,CAAC,aAAa,cAAc,EAC/C,OAAO,KAAK,cAAc;SAG5B,OAAO,KAAK,QAAQ;EAGxB,OAAO;IACN,EAAE,CAEU;;;;;ACSjB,SAAgB,yBACd,OACA,UAAoD,EAAE,EACtD;CACA,oBAAoB,SAAS,EAC3B,UAAU,EAAE,aAAa,gBACvB,oDAAoD,UAAU,sBAAsB,YAAY,MACnG,CAAC;CAEF,MAAM,MAAM,WAAW,SAAS,qBAAqB,GACjD,QAAQ,qBACR;CAEJ,gBAAgB,KAAK,EACnB,UAAU,EAAE,aAAa,gBACvB,qGAAqG,UAAU,sBAAsB,YAAY,MACpJ,CAAC;CAEF,IAAI,QAAQ,MAAM,EAAE;EAElB,MAAM,SAAS,MAAM,KAAK,QAAQ,MAAM;GAEtC,IAAI,SAAS,EAAE,IAAI,SAAS,EAAE,IAAI,UAAU,EAAE,IAAI,SAAS,EAAE,EAC3D,OAAO,OAAO,EAAE;GAGlB,OAAO,OAAO,EAAE,GAAG,OAAO;IAC1B;EAGF,IAAI,KAAK,OAAO,eAAe,OAAO;EAEtC,OAAO"}
@@ -2,130 +2,19 @@
2
2
  * ========================================================================
3
3
  * @rzl-zone/utils-js
4
4
  * ------------------------------------------------------------------------
5
- * Version: `3.12.1-beta.1`
5
+ * Version: `3.13.0-beta.2`
6
6
  * Author: `Rizalvin Dwiky <rizalvindwiky@gmail.com>`
7
7
  * Repository: `https://github.com/rzl-zone/rzl-zone/tree/main/packages/utils-js`
8
8
  * ========================================================================
9
9
  */
10
10
  "use strict";
11
11
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
12
- const require_assertIsBoolean = require('../assertIsBoolean-C8WEXVr2.cjs');
13
- const require_assertIsArray = require('../assertIsArray-DJXkjHZs.cjs');
14
- const require_toStringArrayUnRecursive = require('../toStringArrayUnRecursive-C4zYCja7.cjs');
15
- const require_safeStableStringify = require('../safeStableStringify-CJtP89qn.cjs');
16
- const require_isEmptyString = require('../isEmptyString-UiiUsSQj.cjs');
17
- const require_isEmptyValue = require('../isEmptyValue-BQzcjVaL.cjs');
18
- const require_isInteger = require('../isInteger-Caeuz0rB.cjs');
19
- const require_punyCode = require('../punyCode-D-Qu6nj6.cjs');
20
- const require_isURL = require('../isURL-DeUPO_oR.cjs');
21
- const require_isValidDomain = require('../isValidDomain-BB9IGhJs.cjs');
22
- const require_normalizeString = require('../normalizeString-BE6ELqEb.cjs');
23
- const require_formatEnvPort = require('../formatEnvPort-B3OLxQk9.cjs');
24
- const constructURL = (baseUrl, queryParams, removeParams) => {
25
- if (require_assertIsBoolean.isString(baseUrl)) {
26
- if (require_isEmptyString.isEmptyString(baseUrl)) throw new TypeError("First parameter (`baseUrl`) cannot be an empty-string.");
27
- baseUrl = require_normalizeString.normalizeString(baseUrl);
28
- } else if (!require_isURL.isURL(baseUrl)) throw new TypeError(`First parameter (\`baseUrl\`) must be of type an URL instance or a \`string\` and a non empty-string, but received: \`${require_assertIsBoolean.getPreciseType(baseUrl)}\`, with current value: \`${require_safeStableStringify.safeStableStringify(baseUrl, { keepUndefined: true })}\`.`);
29
- if (!require_assertIsBoolean.isUndefined(removeParams)) {
30
- require_assertIsArray.assertIsArray(removeParams, { message: ({ currentType, validType }) => `Third parameter (\`removeParams\`) must be of type \`${validType} of strings\`, but received: \`${currentType}\`.` });
31
- if (!removeParams.every((param) => require_assertIsBoolean.isNonEmptyString(param))) throw new TypeError("Third parameter (`removeParams`) must be of type `array` and contains `string` only and non empty-string.");
32
- }
33
- try {
34
- if (!require_assertIsBoolean.isUndefined(queryParams) && !require_assertIsBoolean.isFunction(queryParams[Symbol.iterator])) throw new TypeError(`Second parameter (\`queryParams\`) must be iterable (like URLSearchParams.entries() or an array of [[string, string | number]...]), but received: \`${require_assertIsBoolean.getPreciseType(queryParams)}\`, with value: \`${require_safeStableStringify.safeStableStringify(queryParams, { keepUndefined: true })}\`.`);
35
- const urlInstance = new URL(baseUrl);
36
- if (!require_assertIsBoolean.isUndefined(queryParams)) {
37
- const paramObject = Object.fromEntries(queryParams);
38
- if (!require_isEmptyValue.isEmptyValue(paramObject)) {
39
- const mergedParams = new URLSearchParams(urlInstance.search);
40
- for (const [key, value] of Object.entries(paramObject)) {
41
- if (!require_assertIsBoolean.isNonEmptyString(value) && !require_assertIsBoolean.isNumber(value, { includeNaN: true })) throw new TypeError(`Second parameter (\`queryParams\`) must be iterable (like URLSearchParams.entries() or an array of [[string, string | number]...]), but received: \`${require_assertIsBoolean.getPreciseType(queryParams)}\`, with value: \`${require_safeStableStringify.safeStableStringify(queryParams, { keepUndefined: true })}\`.`);
42
- mergedParams.set(key, String(value));
43
- }
44
- if (removeParams?.length) require_toStringArrayUnRecursive.toStringArrayUnRecursive(removeParams).map((paramKey) => {
45
- mergedParams.delete(paramKey);
46
- });
47
- urlInstance.search = mergedParams.toString();
48
- }
49
- }
50
- removeParams?.forEach((param) => urlInstance.searchParams.delete(param));
51
- return urlInstance;
52
- } catch (error) {
53
- if (require_assertIsBoolean.isError(error)) throw error;
54
- throw new Error("Failed to construct a valid URL in `constructURL()`, Error:" + error, { cause: error });
55
- }
56
- };
57
- const extractURLs = (url) => {
58
- if (!require_assertIsBoolean.isNonEmptyString(url)) return null;
59
- let decoded;
60
- try {
61
- decoded = decodeURIComponent(url);
62
- } catch {
63
- return null;
64
- }
65
- const matches = decoded.match(/https?:\/\/.*?(?=https?:\/\/|\s|$)/g);
66
- if (!matches) return null;
67
- const cleaned = matches.map((url) => url.replace(/[.,;:!?)]*$/, "")).filter((url) => {
68
- try {
69
- const u = new URL(url);
70
- return u.protocol === "http:" || u.protocol === "https:";
71
- } catch {
72
- return false;
73
- }
74
- });
75
- return cleaned.length ? cleaned : null;
76
- };
77
- const getFirstPrefixPathname = (result, defaultValue = "/") => {
78
- if (!require_assertIsBoolean.isNonEmptyString(defaultValue)) throw new TypeError(`Second parameter (\`defaultValue\`) must be of type \`string\` and not an \`empty-string\`, but received: \`${require_assertIsBoolean.getPreciseType(defaultValue)}\`, with value: \`${require_safeStableStringify.safeStableStringify(defaultValue, { keepUndefined: true })}\`.`);
79
- if (require_assertIsBoolean.isArray(result)) {
80
- if (!result.every((item) => require_assertIsBoolean.isString(item))) throw new TypeError(`First parameter (\`result\`) must be of type \`string\` or \`array of string\`, but received: \`${require_assertIsBoolean.getPreciseType(result)}\`, with value: \`${require_safeStableStringify.safeStableStringify(result, { keepUndefined: true })}\`.`);
81
- for (const item of result) {
82
- const normalized = require_formatEnvPort.normalizePathname(item);
83
- if (normalized !== "/") return normalized;
84
- }
85
- return require_formatEnvPort.normalizePathname(defaultValue);
86
- }
87
- if (require_assertIsBoolean.isString(result)) {
88
- const normalized = require_formatEnvPort.normalizePathname(result);
89
- return normalized !== "/" ? normalized : require_formatEnvPort.normalizePathname(defaultValue);
90
- }
91
- if (!require_assertIsBoolean.isNil(result)) throw new TypeError(`First parameter (\`result\`) must be of type \`string\`, \`array-string\`, \`null\` or \`undefined\`, but received: \`${require_assertIsBoolean.getPreciseType(result)}\`.`);
92
- return require_formatEnvPort.normalizePathname(defaultValue);
93
- };
94
- const getPrefixPathname = (url, base = null, options = {}) => {
95
- const errors = [];
96
- if (!require_assertIsBoolean.isString(url) && !require_assertIsBoolean.isArray(url)) errors.push(`First parameter (\`url\`) must be of type \`string\` or \`array-string\`, but received: \`${require_assertIsBoolean.getPreciseType(url)}\`.`);
97
- if (!require_assertIsBoolean.isString(base) && !require_assertIsBoolean.isArray(base) && !require_assertIsBoolean.isNull(base)) errors.push(`Second parameter (\`base\`) must be of type \`string\`, \`array-string\` or \`null\`, but received: \`${require_assertIsBoolean.getPreciseType(base)}\`.`);
98
- if (!require_assertIsBoolean.isPlainObject(options)) errors.push(`Second parameter (\`options\`) must be of type \`plain-object\`, but received: \`${require_assertIsBoolean.getPreciseType(options)}\`.`);
99
- const { levels = 1, removeDuplicates = true } = options;
100
- if (!require_isInteger.isInteger(levels) || require_isInteger.isInteger(levels) && levels < 0) errors.push(`Parameter \`levels\` property of the \`options\` (second parameter) must be of type \`integer-number\` and minimum is \`0\`, but received: \`${require_assertIsBoolean.getPreciseType(levels)}\`, with value: \`${require_safeStableStringify.safeStableStringify(levels, { keepUndefined: true })}\`.`);
101
- if (!require_assertIsBoolean.isBoolean(removeDuplicates)) errors.push(`Parameter \`removeDuplicates\` property of the \`options\` (second parameter) must be of type \`boolean\`, but received: \`${require_assertIsBoolean.getPreciseType(removeDuplicates)}\`.`);
102
- if (require_assertIsBoolean.isNonEmptyArray(errors)) throw new TypeError(require_isValidDomain.joinLines("Invalid parameter(s) in `getPrefixPathname` function:", `- ${errors.join(`${require_isValidDomain.EOL}- `)}`));
103
- function getLevel(singleUrl) {
104
- return `/${require_formatEnvPort.normalizePathname(singleUrl).split("/").filter(Boolean).slice(0, levels).join("/")}`;
105
- }
106
- function processUrl(singleUrl) {
107
- if (base) {
108
- singleUrl = require_formatEnvPort.normalizePathname(singleUrl);
109
- if (require_assertIsBoolean.isArray(base)) {
110
- for (const b of base) if (singleUrl.startsWith(require_formatEnvPort.normalizePathname(b))) return getLevel(singleUrl);
111
- } else if (require_assertIsBoolean.isNonEmptyString(base) && singleUrl.startsWith(require_formatEnvPort.normalizePathname(base))) return getLevel(singleUrl);
112
- return null;
113
- }
114
- return getLevel(singleUrl);
115
- }
116
- if (require_assertIsBoolean.isArray(url)) {
117
- const result = url.map(processUrl).filter((r) => !require_assertIsBoolean.isNull(r));
118
- const uniqueResult = removeDuplicates ? [...new Set(result)] : result;
119
- if (uniqueResult.length === 1) return uniqueResult[0] ?? null;
120
- return uniqueResult;
121
- }
122
- return processUrl(url);
123
- };
124
- exports.constructURL = constructURL;
125
- exports.extractURLs = extractURLs;
126
- exports.formatEnvPort = require_formatEnvPort.formatEnvPort;
127
- exports.getFirstPrefixPathname = getFirstPrefixPathname;
128
- exports.getPrefixPathname = getPrefixPathname;
129
- exports.normalizePathname = require_formatEnvPort.normalizePathname;
12
+ const require_punyCode = require('../punyCode-DmTsB7q_.cjs');
13
+ const require_urls = require('../urls-DCyx8Wpk.cjs');
14
+ exports.constructURL = require_urls.constructURL;
15
+ exports.extractURLs = require_urls.extractURLs;
16
+ exports.formatEnvPort = require_urls.formatEnvPort;
17
+ exports.getFirstPrefixPathname = require_urls.getFirstPrefixPathname;
18
+ exports.getPrefixPathname = require_urls.getPrefixPathname;
19
+ exports.normalizePathname = require_urls.normalizePathname;
130
20
  exports.punycodeUtilsJS = require_punyCode.punycodeUtilsJS;
131
- //# sourceMappingURL=index.cjs.map
@@ -2,7 +2,7 @@
2
2
  * ========================================================================
3
3
  * @rzl-zone/utils-js
4
4
  * ------------------------------------------------------------------------
5
- * Version: `3.12.1-beta.1`
5
+ * Version: `3.13.0-beta.2`
6
6
  * Author: `Rizalvin Dwiky <rizalvindwiky@gmail.com>`
7
7
  * Repository: `https://github.com/rzl-zone/rzl-zone/tree/main/packages/utils-js`
8
8
  * ========================================================================
@@ -2,7 +2,7 @@
2
2
  * ========================================================================
3
3
  * @rzl-zone/utils-js
4
4
  * ------------------------------------------------------------------------
5
- * Version: `3.12.1-beta.1`
5
+ * Version: `3.13.0-beta.2`
6
6
  * Author: `Rizalvin Dwiky <rizalvindwiky@gmail.com>`
7
7
  * Repository: `https://github.com/rzl-zone/rzl-zone/tree/main/packages/utils-js`
8
8
  * ========================================================================
@@ -2,122 +2,11 @@
2
2
  * ========================================================================
3
3
  * @rzl-zone/utils-js
4
4
  * ------------------------------------------------------------------------
5
- * Version: `3.12.1-beta.1`
5
+ * Version: `3.13.0-beta.2`
6
6
  * Author: `Rizalvin Dwiky <rizalvindwiky@gmail.com>`
7
7
  * Repository: `https://github.com/rzl-zone/rzl-zone/tree/main/packages/utils-js`
8
8
  * ========================================================================
9
9
  */
10
- import { A as isPlainObject, E as isNull, F as isBoolean, M as isArray, N as isNil, P as isFunction, S as isUndefined, k as isString, p as isNonEmptyArray, r as getPreciseType, v as isError, w as isNumber, y as isNonEmptyString } from "../assertIsBoolean-DR1SaXPD.js";
11
- import { t as assertIsArray } from "../assertIsArray-bTA3XLjq.js";
12
- import { t as toStringArrayUnRecursive } from "../toStringArrayUnRecursive-DJGtPsFb.js";
13
- import { t as safeStableStringify } from "../safeStableStringify-CXOZ9Ub8.js";
14
- import { t as isEmptyString } from "../isEmptyString-BXzKAC2j.js";
15
- import { t as isEmptyValue } from "../isEmptyValue-jqOr7OHD.js";
16
- import { t as isInteger } from "../isInteger-naMbJsxJ.js";
17
- import { t as punycodeUtilsJS } from "../punyCode-8SrbMWfM.js";
18
- import { t as isURL } from "../isURL-C-kSk6KJ.js";
19
- import { n as EOL, r as joinLines } from "../isValidDomain-DoE98yhJ.js";
20
- import { t as normalizeString } from "../normalizeString-BDdkaXui.js";
21
- import { n as normalizePathname, t as formatEnvPort } from "../formatEnvPort-ByFVLjSV.js";
22
- const constructURL = (baseUrl, queryParams, removeParams) => {
23
- if (isString(baseUrl)) {
24
- if (isEmptyString(baseUrl)) throw new TypeError("First parameter (`baseUrl`) cannot be an empty-string.");
25
- baseUrl = normalizeString(baseUrl);
26
- } else if (!isURL(baseUrl)) throw new TypeError(`First parameter (\`baseUrl\`) must be of type an URL instance or a \`string\` and a non empty-string, but received: \`${getPreciseType(baseUrl)}\`, with current value: \`${safeStableStringify(baseUrl, { keepUndefined: true })}\`.`);
27
- if (!isUndefined(removeParams)) {
28
- assertIsArray(removeParams, { message: ({ currentType, validType }) => `Third parameter (\`removeParams\`) must be of type \`${validType} of strings\`, but received: \`${currentType}\`.` });
29
- if (!removeParams.every((param) => isNonEmptyString(param))) throw new TypeError("Third parameter (`removeParams`) must be of type `array` and contains `string` only and non empty-string.");
30
- }
31
- try {
32
- if (!isUndefined(queryParams) && !isFunction(queryParams[Symbol.iterator])) throw new TypeError(`Second parameter (\`queryParams\`) must be iterable (like URLSearchParams.entries() or an array of [[string, string | number]...]), but received: \`${getPreciseType(queryParams)}\`, with value: \`${safeStableStringify(queryParams, { keepUndefined: true })}\`.`);
33
- const urlInstance = new URL(baseUrl);
34
- if (!isUndefined(queryParams)) {
35
- const paramObject = Object.fromEntries(queryParams);
36
- if (!isEmptyValue(paramObject)) {
37
- const mergedParams = new URLSearchParams(urlInstance.search);
38
- for (const [key, value] of Object.entries(paramObject)) {
39
- if (!isNonEmptyString(value) && !isNumber(value, { includeNaN: true })) throw new TypeError(`Second parameter (\`queryParams\`) must be iterable (like URLSearchParams.entries() or an array of [[string, string | number]...]), but received: \`${getPreciseType(queryParams)}\`, with value: \`${safeStableStringify(queryParams, { keepUndefined: true })}\`.`);
40
- mergedParams.set(key, String(value));
41
- }
42
- if (removeParams?.length) toStringArrayUnRecursive(removeParams).map((paramKey) => {
43
- mergedParams.delete(paramKey);
44
- });
45
- urlInstance.search = mergedParams.toString();
46
- }
47
- }
48
- removeParams?.forEach((param) => urlInstance.searchParams.delete(param));
49
- return urlInstance;
50
- } catch (error) {
51
- if (isError(error)) throw error;
52
- throw new Error("Failed to construct a valid URL in `constructURL()`, Error:" + error, { cause: error });
53
- }
54
- };
55
- const extractURLs = (url) => {
56
- if (!isNonEmptyString(url)) return null;
57
- let decoded;
58
- try {
59
- decoded = decodeURIComponent(url);
60
- } catch {
61
- return null;
62
- }
63
- const matches = decoded.match(/https?:\/\/.*?(?=https?:\/\/|\s|$)/g);
64
- if (!matches) return null;
65
- const cleaned = matches.map((url) => url.replace(/[.,;:!?)]*$/, "")).filter((url) => {
66
- try {
67
- const u = new URL(url);
68
- return u.protocol === "http:" || u.protocol === "https:";
69
- } catch {
70
- return false;
71
- }
72
- });
73
- return cleaned.length ? cleaned : null;
74
- };
75
- const getFirstPrefixPathname = (result, defaultValue = "/") => {
76
- if (!isNonEmptyString(defaultValue)) throw new TypeError(`Second parameter (\`defaultValue\`) must be of type \`string\` and not an \`empty-string\`, but received: \`${getPreciseType(defaultValue)}\`, with value: \`${safeStableStringify(defaultValue, { keepUndefined: true })}\`.`);
77
- if (isArray(result)) {
78
- if (!result.every((item) => isString(item))) throw new TypeError(`First parameter (\`result\`) must be of type \`string\` or \`array of string\`, but received: \`${getPreciseType(result)}\`, with value: \`${safeStableStringify(result, { keepUndefined: true })}\`.`);
79
- for (const item of result) {
80
- const normalized = normalizePathname(item);
81
- if (normalized !== "/") return normalized;
82
- }
83
- return normalizePathname(defaultValue);
84
- }
85
- if (isString(result)) {
86
- const normalized = normalizePathname(result);
87
- return normalized !== "/" ? normalized : normalizePathname(defaultValue);
88
- }
89
- if (!isNil(result)) throw new TypeError(`First parameter (\`result\`) must be of type \`string\`, \`array-string\`, \`null\` or \`undefined\`, but received: \`${getPreciseType(result)}\`.`);
90
- return normalizePathname(defaultValue);
91
- };
92
- const getPrefixPathname = (url, base = null, options = {}) => {
93
- const errors = [];
94
- if (!isString(url) && !isArray(url)) errors.push(`First parameter (\`url\`) must be of type \`string\` or \`array-string\`, but received: \`${getPreciseType(url)}\`.`);
95
- if (!isString(base) && !isArray(base) && !isNull(base)) errors.push(`Second parameter (\`base\`) must be of type \`string\`, \`array-string\` or \`null\`, but received: \`${getPreciseType(base)}\`.`);
96
- if (!isPlainObject(options)) errors.push(`Second parameter (\`options\`) must be of type \`plain-object\`, but received: \`${getPreciseType(options)}\`.`);
97
- const { levels = 1, removeDuplicates = true } = options;
98
- if (!isInteger(levels) || isInteger(levels) && levels < 0) errors.push(`Parameter \`levels\` property of the \`options\` (second parameter) must be of type \`integer-number\` and minimum is \`0\`, but received: \`${getPreciseType(levels)}\`, with value: \`${safeStableStringify(levels, { keepUndefined: true })}\`.`);
99
- if (!isBoolean(removeDuplicates)) errors.push(`Parameter \`removeDuplicates\` property of the \`options\` (second parameter) must be of type \`boolean\`, but received: \`${getPreciseType(removeDuplicates)}\`.`);
100
- if (isNonEmptyArray(errors)) throw new TypeError(joinLines("Invalid parameter(s) in `getPrefixPathname` function:", `- ${errors.join(`${EOL}- `)}`));
101
- function getLevel(singleUrl) {
102
- return `/${normalizePathname(singleUrl).split("/").filter(Boolean).slice(0, levels).join("/")}`;
103
- }
104
- function processUrl(singleUrl) {
105
- if (base) {
106
- singleUrl = normalizePathname(singleUrl);
107
- if (isArray(base)) {
108
- for (const b of base) if (singleUrl.startsWith(normalizePathname(b))) return getLevel(singleUrl);
109
- } else if (isNonEmptyString(base) && singleUrl.startsWith(normalizePathname(base))) return getLevel(singleUrl);
110
- return null;
111
- }
112
- return getLevel(singleUrl);
113
- }
114
- if (isArray(url)) {
115
- const result = url.map(processUrl).filter((r) => !isNull(r));
116
- const uniqueResult = removeDuplicates ? [...new Set(result)] : result;
117
- if (uniqueResult.length === 1) return uniqueResult[0] ?? null;
118
- return uniqueResult;
119
- }
120
- return processUrl(url);
121
- };
10
+ import { t as punycodeUtilsJS } from "../punyCode-BeFYDjj0.js";
11
+ import { a as extractURLs, i as normalizePathname, n as getPrefixPathname, o as constructURL, r as getFirstPrefixPathname, t as formatEnvPort } from "../urls-CoxDAoki.js";
122
12
  export { constructURL, extractURLs, formatEnvPort, getFirstPrefixPathname, getPrefixPathname, normalizePathname, punycodeUtilsJS };
123
- //# sourceMappingURL=index.js.map