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

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 (286) hide show
  1. package/{LICENSE.md → LICENSE} +3 -3
  2. package/README.md +69 -96
  3. package/dist/.references/index.d.cts +25 -0
  4. package/dist/.references/index.d.ts +25 -0
  5. package/dist/assertIsArray-DJXkjHZs.cjs +26 -0
  6. package/dist/assertIsArray-DJXkjHZs.cjs.map +1 -0
  7. package/dist/assertIsArray-bTA3XLjq.js +20 -0
  8. package/dist/assertIsArray-bTA3XLjq.js.map +1 -0
  9. package/dist/assertIsBoolean-C8WEXVr2.cjs +1283 -0
  10. package/dist/assertIsBoolean-C8WEXVr2.cjs.map +1 -0
  11. package/dist/assertIsBoolean-DR1SaXPD.js +1073 -0
  12. package/dist/assertIsBoolean-DR1SaXPD.js.map +1 -0
  13. package/dist/assertIsString-BiHQSrB2.cjs +26 -0
  14. package/dist/assertIsString-BiHQSrB2.cjs.map +1 -0
  15. package/dist/assertIsString-CEB07_83.js +20 -0
  16. package/dist/assertIsString-CEB07_83.js.map +1 -0
  17. package/dist/assertions/index.cjs +37 -40
  18. package/dist/assertions/index.cjs.map +1 -0
  19. package/dist/assertions/index.d.cts +12 -0
  20. package/dist/assertions/index.d.ts +10 -824
  21. package/dist/assertions/index.js +30 -13
  22. package/dist/assertions/index.js.map +1 -0
  23. package/dist/conversions/index.cjs +34 -103
  24. package/dist/conversions/index.d.cts +12 -0
  25. package/dist/conversions/index.d.ts +10 -1791
  26. package/dist/conversions/index.js +14 -24
  27. package/dist/conversions-BNIh_tCH.js +380 -0
  28. package/dist/conversions-BNIh_tCH.js.map +1 -0
  29. package/dist/conversions-D_Kh0a_C.cjs +446 -0
  30. package/dist/conversions-D_Kh0a_C.cjs.map +1 -0
  31. package/dist/events/index.cjs +55 -31
  32. package/dist/events/index.cjs.map +1 -0
  33. package/dist/events/index.d.cts +176 -0
  34. package/dist/events/index.d.ts +164 -166
  35. package/dist/events/index.js +50 -12
  36. package/dist/events/index.js.map +1 -0
  37. package/dist/formatEnvPort-B3OLxQk9.cjs +171 -0
  38. package/dist/formatEnvPort-B3OLxQk9.cjs.map +1 -0
  39. package/dist/formatEnvPort-ByFVLjSV.js +159 -0
  40. package/dist/formatEnvPort-ByFVLjSV.js.map +1 -0
  41. package/dist/formatters/index.cjs +21 -61
  42. package/dist/formatters/index.d.cts +12 -0
  43. package/dist/formatters/index.d.ts +10 -2152
  44. package/dist/formatters/index.js +10 -18
  45. package/dist/formatters--1m_vpE8.js +369 -0
  46. package/dist/formatters--1m_vpE8.js.map +1 -0
  47. package/dist/formatters-Cbij0XLU.cjs +429 -0
  48. package/dist/formatters-Cbij0XLU.cjs.map +1 -0
  49. package/dist/generators/index.cjs +165 -41
  50. package/dist/generators/index.cjs.map +1 -0
  51. package/dist/generators/index.d.cts +12 -0
  52. package/dist/generators/index.d.ts +10 -338
  53. package/dist/generators/index.js +158 -14
  54. package/dist/generators/index.js.map +1 -0
  55. package/dist/index-59zbLcPr.d.ts +340 -0
  56. package/dist/index-B6tawc8L.d.cts +1716 -0
  57. package/dist/index-C267akkJ.d.ts +2158 -0
  58. package/dist/index-CeBC2Vvl.d.cts +2361 -0
  59. package/dist/index-CgRDTI6f.d.ts +822 -0
  60. package/dist/index-CoiUBVmr.d.ts +720 -0
  61. package/dist/index-D4fcasfZ.d.cts +720 -0
  62. package/dist/index-DDrSQKIc.d.ts +1716 -0
  63. package/dist/index-DsGxO31H.d.cts +765 -0
  64. package/dist/index-Hg1qJkjl.d.ts +765 -0
  65. package/dist/index-Qm3iFwd0.d.cts +2158 -0
  66. package/dist/index-UPp94Agr.d.ts +2361 -0
  67. package/dist/index-gBA_8SuF.d.cts +340 -0
  68. package/dist/index-jyDqzicx.d.cts +822 -0
  69. package/dist/isBigInt-C4krUeAw.cjs +20 -0
  70. package/dist/isBigInt-C4krUeAw.cjs.map +1 -0
  71. package/dist/isBigInt-DKe0M6hp.js +14 -0
  72. package/dist/isBigInt-DKe0M6hp.js.map +1 -0
  73. package/dist/isEmptyObject-DCipFwxJ.js +25 -0
  74. package/dist/isEmptyObject-DCipFwxJ.js.map +1 -0
  75. package/dist/isEmptyObject-ZkSwRC_D.cjs +37 -0
  76. package/dist/isEmptyObject-ZkSwRC_D.cjs.map +1 -0
  77. package/dist/isEmptyString-BXzKAC2j.js +15 -0
  78. package/dist/isEmptyString-BXzKAC2j.js.map +1 -0
  79. package/dist/isEmptyString-UiiUsSQj.cjs +21 -0
  80. package/dist/isEmptyString-UiiUsSQj.cjs.map +1 -0
  81. package/dist/isEmptyValue-BQzcjVaL.cjs +30 -0
  82. package/dist/isEmptyValue-BQzcjVaL.cjs.map +1 -0
  83. package/dist/isEmptyValue-jqOr7OHD.js +24 -0
  84. package/dist/isEmptyValue-jqOr7OHD.js.map +1 -0
  85. package/dist/isEqual-BX49cF9m.js +87 -0
  86. package/dist/isEqual-BX49cF9m.js.map +1 -0
  87. package/dist/isEqual-BvumA3RA.cjs +111 -0
  88. package/dist/isEqual-BvumA3RA.cjs.map +1 -0
  89. package/dist/isFinite-BCnaDpod.js +15 -0
  90. package/dist/isFinite-BCnaDpod.js.map +1 -0
  91. package/dist/isFinite-D24ZaE6c.cjs +21 -0
  92. package/dist/isFinite-D24ZaE6c.cjs.map +1 -0
  93. package/dist/isInteger-Caeuz0rB.cjs +20 -0
  94. package/dist/isInteger-Caeuz0rB.cjs.map +1 -0
  95. package/dist/isInteger-naMbJsxJ.js +14 -0
  96. package/dist/isInteger-naMbJsxJ.js.map +1 -0
  97. package/dist/isPlainObject-BF-2-phb.d.cts +339 -0
  98. package/dist/isPlainObject-DxNDL8XU.d.ts +339 -0
  99. package/dist/isServer-BJHVnixd.cjs +20 -0
  100. package/dist/isServer-BJHVnixd.cjs.map +1 -0
  101. package/dist/isServer-Da3o3XSs.js +14 -0
  102. package/dist/isServer-Da3o3XSs.js.map +1 -0
  103. package/dist/isTypedArray-DuNA8tK6.js +31 -0
  104. package/dist/isTypedArray-DuNA8tK6.js.map +1 -0
  105. package/dist/isTypedArray-TJptiw2b.cjs +43 -0
  106. package/dist/isTypedArray-TJptiw2b.cjs.map +1 -0
  107. package/dist/isURL-C-kSk6KJ.js +14 -0
  108. package/dist/isURL-C-kSk6KJ.js.map +1 -0
  109. package/dist/isURL-DeUPO_oR.cjs +20 -0
  110. package/dist/isURL-DeUPO_oR.cjs.map +1 -0
  111. package/dist/isValidDomain-BB9IGhJs.cjs +1845 -0
  112. package/dist/isValidDomain-BB9IGhJs.cjs.map +1 -0
  113. package/dist/isValidDomain-DoE98yhJ.js +1827 -0
  114. package/dist/isValidDomain-DoE98yhJ.js.map +1 -0
  115. package/dist/next/index.cjs +119 -214
  116. package/dist/next/index.cjs.map +1 -0
  117. package/dist/next/index.d.cts +220 -0
  118. package/dist/next/index.d.ts +203 -214
  119. package/dist/next/index.js +117 -212
  120. package/dist/next/index.js.map +1 -0
  121. package/dist/next/server/index.cjs +25 -40
  122. package/dist/next/server/index.cjs.map +1 -0
  123. package/dist/next/server/index.d.cts +39 -0
  124. package/dist/next/server/index.d.ts +34 -35
  125. package/dist/next/server/index.js +23 -38
  126. package/dist/next/server/index.js.map +1 -0
  127. package/dist/noop-B13_ii35.cjs +18 -0
  128. package/dist/noop-B13_ii35.cjs.map +1 -0
  129. package/dist/noop-ubqAIbHD.js +12 -0
  130. package/dist/noop-ubqAIbHD.js.map +1 -0
  131. package/dist/normalizeSpaces-Bg2IZW7W.js +23 -0
  132. package/dist/normalizeSpaces-Bg2IZW7W.js.map +1 -0
  133. package/dist/normalizeSpaces-ZXnR4Qzp.cjs +29 -0
  134. package/dist/normalizeSpaces-ZXnR4Qzp.cjs.map +1 -0
  135. package/dist/normalizeString-BDdkaXui.js +15 -0
  136. package/dist/normalizeString-BDdkaXui.js.map +1 -0
  137. package/dist/normalizeString-BE6ELqEb.cjs +21 -0
  138. package/dist/normalizeString-BE6ELqEb.cjs.map +1 -0
  139. package/dist/operations/index.cjs +65 -32
  140. package/dist/operations/index.cjs.map +1 -0
  141. package/dist/operations/index.d.cts +139 -0
  142. package/dist/operations/index.d.ts +129 -134
  143. package/dist/operations/index.js +61 -17
  144. package/dist/operations/index.js.map +1 -0
  145. package/dist/parsers/index.cjs +12 -19
  146. package/dist/parsers/index.d.cts +239 -0
  147. package/dist/parsers/index.d.ts +234 -235
  148. package/dist/parsers/index.js +10 -12
  149. package/dist/parsers-BSBPgvsq.js +643 -0
  150. package/dist/parsers-BSBPgvsq.js.map +1 -0
  151. package/dist/parsers-OqDeffqc.cjs +649 -0
  152. package/dist/parsers-OqDeffqc.cjs.map +1 -0
  153. package/dist/parsing-Cao8b358.js +50 -0
  154. package/dist/parsing-Cao8b358.js.map +1 -0
  155. package/dist/parsing-DOGSCH6N.cjs +56 -0
  156. package/dist/parsing-DOGSCH6N.cjs.map +1 -0
  157. package/dist/predicates/index.cjs +91 -296
  158. package/dist/predicates/index.d.cts +13 -0
  159. package/dist/predicates/index.d.ts +12 -2482
  160. package/dist/predicates/index.js +23 -25
  161. package/dist/predicates-Bj6meyXV.js +256 -0
  162. package/dist/predicates-Bj6meyXV.js.map +1 -0
  163. package/dist/predicates-D0ubqgqy.cjs +412 -0
  164. package/dist/predicates-D0ubqgqy.cjs.map +1 -0
  165. package/dist/promises/index.cjs +76 -24
  166. package/dist/promises/index.cjs.map +1 -0
  167. package/dist/promises/index.d.cts +123 -0
  168. package/dist/promises/index.d.ts +116 -119
  169. package/dist/promises/index.js +73 -13
  170. package/dist/promises/index.js.map +1 -0
  171. package/dist/punyCode-8SrbMWfM.js +179 -0
  172. package/dist/punyCode-8SrbMWfM.js.map +1 -0
  173. package/dist/punyCode-D-Qu6nj6.cjs +185 -0
  174. package/dist/punyCode-D-Qu6nj6.cjs.map +1 -0
  175. package/dist/removeSpaces-Bmc5DX4F.js +19 -0
  176. package/dist/removeSpaces-Bmc5DX4F.js.map +1 -0
  177. package/dist/removeSpaces-CWIvhZHg.cjs +25 -0
  178. package/dist/removeSpaces-CWIvhZHg.cjs.map +1 -0
  179. package/dist/rzl-utils.global.js +20 -9
  180. package/dist/safeJsonParse-BP38mwlj.js +184 -0
  181. package/dist/safeJsonParse-BP38mwlj.js.map +1 -0
  182. package/dist/safeJsonParse-Sms2CJf4.cjs +208 -0
  183. package/dist/safeJsonParse-Sms2CJf4.cjs.map +1 -0
  184. package/dist/safeStableStringify-CJtP89qn.cjs +106 -0
  185. package/dist/safeStableStringify-CJtP89qn.cjs.map +1 -0
  186. package/dist/safeStableStringify-CXOZ9Ub8.js +88 -0
  187. package/dist/safeStableStringify-CXOZ9Ub8.js.map +1 -0
  188. package/dist/strings/index.cjs +79 -81
  189. package/dist/strings/index.cjs.map +1 -0
  190. package/dist/strings/index.d.cts +12 -0
  191. package/dist/strings/index.d.ts +10 -775
  192. package/dist/strings/index.js +62 -14
  193. package/dist/strings/index.js.map +1 -0
  194. package/dist/tailwind/index.cjs +19 -47
  195. package/dist/tailwind/index.d.cts +12 -0
  196. package/dist/tailwind/index.d.ts +11 -712
  197. package/dist/tailwind/index.js +10 -12
  198. package/dist/tailwind-B2ssevxq.js +199 -0
  199. package/dist/tailwind-B2ssevxq.js.map +1 -0
  200. package/dist/tailwind-CHIx9uxu.cjs +247 -0
  201. package/dist/tailwind-CHIx9uxu.cjs.map +1 -0
  202. package/dist/toStringArrayUnRecursive-C4zYCja7.cjs +51 -0
  203. package/dist/toStringArrayUnRecursive-C4zYCja7.cjs.map +1 -0
  204. package/dist/toStringArrayUnRecursive-DJGtPsFb.js +39 -0
  205. package/dist/toStringArrayUnRecursive-DJGtPsFb.js.map +1 -0
  206. package/dist/urls/index.cjs +130 -57
  207. package/dist/urls/index.cjs.map +1 -0
  208. package/dist/urls/index.d.cts +737 -0
  209. package/dist/urls/index.d.ts +699 -708
  210. package/dist/urls/index.js +122 -26
  211. package/dist/urls/index.js.map +1 -0
  212. package/package.json +203 -194
  213. package/dist/chunk-2AFQ33D3.cjs +0 -64
  214. package/dist/chunk-2CYDJVGM.js +0 -246
  215. package/dist/chunk-2MW4JDQ2.cjs +0 -598
  216. package/dist/chunk-2VTDXC3N.cjs +0 -1825
  217. package/dist/chunk-44XX2P34.js +0 -209
  218. package/dist/chunk-4YLBKLGS.cjs +0 -18
  219. package/dist/chunk-566CXQW7.cjs +0 -560
  220. package/dist/chunk-57EPKYID.cjs +0 -397
  221. package/dist/chunk-5MGEC3YG.js +0 -63
  222. package/dist/chunk-6EF52423.cjs +0 -249
  223. package/dist/chunk-6SCOKU3S.js +0 -109
  224. package/dist/chunk-6VUXD3CF.js +0 -119
  225. package/dist/chunk-7B76BSNK.cjs +0 -118
  226. package/dist/chunk-7Y6I2DSU.cjs +0 -101
  227. package/dist/chunk-A7S7E2EE.cjs +0 -308
  228. package/dist/chunk-AJZ6PMMZ.js +0 -16
  229. package/dist/chunk-AXGBL2IO.cjs +0 -251
  230. package/dist/chunk-B4TC6FBV.cjs +0 -678
  231. package/dist/chunk-BAV5T2E3.cjs +0 -15
  232. package/dist/chunk-BKIJBNIE.js +0 -21
  233. package/dist/chunk-BNIMTFK5.js +0 -59
  234. package/dist/chunk-BXW7YXB7.js +0 -1823
  235. package/dist/chunk-CFYZC4S6.js +0 -53
  236. package/dist/chunk-CSG4SCL3.js +0 -1587
  237. package/dist/chunk-CWQW7AKK.js +0 -676
  238. package/dist/chunk-DVMHRLKP.cjs +0 -16
  239. package/dist/chunk-EN7LVZBZ.js +0 -548
  240. package/dist/chunk-EV4Y7HCY.cjs +0 -26
  241. package/dist/chunk-F66VDYIZ.cjs +0 -18
  242. package/dist/chunk-FLJX37EL.cjs +0 -30
  243. package/dist/chunk-GKC3UDMC.cjs +0 -1623
  244. package/dist/chunk-H65I3GRZ.cjs +0 -106
  245. package/dist/chunk-HHYWB7VZ.js +0 -24
  246. package/dist/chunk-HNGGISFL.cjs +0 -65
  247. package/dist/chunk-HNSQAVSZ.cjs +0 -35
  248. package/dist/chunk-HSP6IWZK.js +0 -17
  249. package/dist/chunk-IDZS7J6T.js +0 -242
  250. package/dist/chunk-JS6R55VL.js +0 -302
  251. package/dist/chunk-JZVT5FK7.js +0 -232
  252. package/dist/chunk-KHO2SBNA.cjs +0 -16
  253. package/dist/chunk-KIDJCMNJ.js +0 -33
  254. package/dist/chunk-KOLEURVT.cjs +0 -38
  255. package/dist/chunk-L4V53MQK.cjs +0 -269
  256. package/dist/chunk-L5RDAVVH.js +0 -14
  257. package/dist/chunk-NODTV4F3.js +0 -16
  258. package/dist/chunk-NYK5K3V2.cjs +0 -211
  259. package/dist/chunk-ODUO3RTL.cjs +0 -113
  260. package/dist/chunk-ONZFBJVW.js +0 -14
  261. package/dist/chunk-PFXCTE37.js +0 -28
  262. package/dist/chunk-PPST7QAQ.js +0 -587
  263. package/dist/chunk-Q5IMYDFL.cjs +0 -33
  264. package/dist/chunk-QFFBIOJ4.js +0 -31
  265. package/dist/chunk-QNKGP5DY.js +0 -14
  266. package/dist/chunk-RRQHMOPE.cjs +0 -19
  267. package/dist/chunk-RU5OSRBU.js +0 -95
  268. package/dist/chunk-SDMPEJ4F.js +0 -35
  269. package/dist/chunk-SYNL5IKP.js +0 -115
  270. package/dist/chunk-TCDOWZQE.js +0 -16
  271. package/dist/chunk-TQPGXGKB.cjs +0 -123
  272. package/dist/chunk-TULOI4GL.js +0 -370
  273. package/dist/chunk-UBHCP4N5.cjs +0 -36
  274. package/dist/chunk-UCHF3M34.cjs +0 -56
  275. package/dist/chunk-UDA26MCU.cjs +0 -16
  276. package/dist/chunk-V3C4FYZL.cjs +0 -18
  277. package/dist/chunk-VAAHZFBF.js +0 -32
  278. package/dist/chunk-VJDDGRIK.cjs +0 -16
  279. package/dist/chunk-WVSPXFTY.js +0 -14
  280. package/dist/chunk-WYP76WXB.js +0 -101
  281. package/dist/chunk-YDE4ZBB7.cjs +0 -237
  282. package/dist/chunk-YKQEOO7C.cjs +0 -23
  283. package/dist/chunk-YSZC56SZ.js +0 -264
  284. package/dist/chunk-YWHHVDT4.js +0 -13
  285. package/dist/index.d.ts +0 -24
  286. package/dist/isPlainObject-DTJVV2Kf.d.ts +0 -536
@@ -1,302 +0,0 @@
1
- /*!
2
- * ====================================================
3
- * Rzl Utils-JS.
4
- * ----------------------------------------------------
5
- * Version: 3.12.0.
6
- * Author: Rizalvin Dwiky.
7
- * Repository: https://github.com/rzl-zone/utils-js.
8
- * ====================================================
9
- */
10
- import { isInteger } from './chunk-WVSPXFTY.js';
11
- import { safeStableStringify } from './chunk-6VUXD3CF.js';
12
- import { isNonEmptyArray, getPreciseType, isNumber, isPlainObject, assertIsBoolean, isNaN, isNonEmptyString, isBoolean } from './chunk-CSG4SCL3.js';
13
-
14
- function getRandomItem(array) {
15
- if (!isNonEmptyArray(array)) return void 0;
16
- const randomIndex = Math.floor(Math.random() * (array.length || 0));
17
- return array[randomIndex];
18
- }
19
-
20
- var randomInt = (min, max) => {
21
- if (!isInteger(min) || !isInteger(max)) {
22
- throw new TypeError(
23
- `First parameter (\`min\`) and second parameter (\`max\`) must be of type \`integer-number\`${minValueNote(
24
- min,
25
- max
26
- )}value, but received: ['min': \`${getPreciseType(
27
- min
28
- )}\` - (with value: \`${safeStableStringify(min, {
29
- keepUndefined: true
30
- })})\`, 'max': \`${getPreciseType(max)}\` - (with value: \`${safeStableStringify(
31
- max,
32
- {
33
- keepUndefined: true
34
- }
35
- )}\`)].`
36
- );
37
- }
38
- if (min > max) {
39
- throw new RangeError(
40
- `First parameter (\`min\`) must be less than or equal to second parameter (\`max\`), but received: ['min': ${formatValue(
41
- min
42
- )} - (with value: \`${safeStableStringify(min, {
43
- keepUndefined: true
44
- })})\`, 'max': ${formatValue(max)} - (with value: \`${safeStableStringify(max, {
45
- keepUndefined: true
46
- })})\`].`
47
- );
48
- }
49
- min = Math.max(1, min);
50
- max = Math.min(Number.MAX_SAFE_INTEGER, max);
51
- return Math.floor(Math.random() * (max - min + 1)) + min;
52
- };
53
- var formatValue = (value) => {
54
- return isNumber(value, { includeNaN: true }) ? value === Number.MIN_VALUE ? "`Number.MIN_VALUE`" : `${value}` : `\`${getPreciseType(value)}\``;
55
- };
56
- var minValueNote = (...values) => {
57
- return values.some((v) => isNumber(v, { includeNaN: true }) && v === Number.MIN_VALUE) ? " and can't be `Number.MIN_VALUE` " : " ";
58
- };
59
-
60
- var randomIntByLength = (options) => {
61
- if (!isPlainObject(options)) {
62
- options = {};
63
- }
64
- const { minLength = 1, maxLength = 16, avoidZero = false } = options;
65
- assertIsBoolean(avoidZero, {
66
- message({ currentType, validType }) {
67
- return `Parameters \`avoidZero\` must be of type \`${validType}\`, but received: \`${currentType}\`.`;
68
- }
69
- });
70
- if (!isInteger(minLength) || !isInteger(maxLength)) {
71
- throw new TypeError(
72
- `Parameters \`minLength\` and \`maxLength\` must be of type \`integer-number\`, but received: ['minLength': \`${getPreciseType(
73
- minLength
74
- )}\` - (with value: ${safeStableStringify(minLength, {
75
- keepUndefined: true
76
- })}), 'maxLength': \`${getPreciseType(
77
- maxLength
78
- )}\` - (with value: ${safeStableStringify(maxLength, {
79
- keepUndefined: true
80
- })})].`
81
- );
82
- }
83
- if (minLength < 1 || maxLength > 16 || minLength > maxLength) {
84
- throw new RangeError(
85
- `Invalid range at parameters \`minLength\` must be \u2265 1, \`maxLength\` must be \u2264 16, and \`minLength\` \u2264 \`maxLength\`, but received: ['minLength': \`${minLength}\`, 'maxLength': \`${maxLength}\`].`
86
- );
87
- }
88
- const randomLength = minLength === maxLength ? minLength : randomInt(minLength, maxLength);
89
- const minValue = 10 ** (randomLength - 1);
90
- const maxValue = 10 ** randomLength - 1;
91
- let result = randomInt(minValue, maxValue);
92
- if (avoidZero && result === 0) {
93
- result = minValue;
94
- }
95
- return result;
96
- };
97
-
98
- var randomStr = (options) => {
99
- if (!isPlainObject(options)) {
100
- options = {};
101
- }
102
- const {
103
- minLength = 40,
104
- maxLength = 40,
105
- type = "string",
106
- avoidWhiteSpace = true
107
- } = options;
108
- assertIsBoolean(avoidWhiteSpace, {
109
- message({ currentType, validType }) {
110
- return `Parameters \`avoidWhiteSpace\` property of the \`options\` (first-parameter) must be of type \`${validType}\`, but received: \`${currentType}\`.`;
111
- }
112
- });
113
- if (!isInteger(minLength) || !isInteger(maxLength)) {
114
- throw new TypeError(
115
- `Parameters \`minLength\` and \`maxLength\` must be of type \`integer-number\`, but received: ['minLength': \`${getPreciseType(
116
- minLength
117
- )}\` - (with value: ${safeStableStringify(minLength, {
118
- keepUndefined: true
119
- })}), 'maxLength': \`${getPreciseType(
120
- maxLength
121
- )}\` - (with value: ${safeStableStringify(maxLength, {
122
- keepUndefined: true
123
- })})].`
124
- );
125
- }
126
- if (minLength < 1 || maxLength > 5e3 || minLength > maxLength) {
127
- throw new RangeError(
128
- `Invalid range at parameters \`minLength\` must be \u2265 1, \`maxLength\` must be \u2264 5000, and \`minLength\` \u2264 \`maxLength\`, but received: ['minLength': \`${minLength}\`, 'maxLength': \`${maxLength}\`].`
129
- );
130
- }
131
- if (type !== "string" && type !== "number") {
132
- throw new TypeError(
133
- `Parameter \`type\` must be of type \`string\` with value one of "string" | "number", but received: \`${getPreciseType(
134
- type
135
- )}\`, with value: ${safeStableStringify(type, {
136
- keepUndefined: true
137
- })}.`
138
- );
139
- }
140
- const length = randomInt(minLength, maxLength);
141
- const cleanCharacters = (charSet) => {
142
- return avoidWhiteSpace ? charSet.replace(/\s|\n|\t/g, "") : charSet;
143
- };
144
- const defaultNumberSet = "0123456789";
145
- const defaultStringSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
146
- const baseCharSet = type === "number" ? (!isNaN(Number(options.replaceGenInt)) ? options.replaceGenInt : void 0) ?? defaultNumberSet : (options.replaceGenStr ? options.replaceGenStr : void 0) ?? defaultStringSet;
147
- const characterSet = cleanCharacters(baseCharSet) + (options.addChar || "");
148
- if (!characterSet.length) {
149
- const errCharSet = () => {
150
- if (type === "number") {
151
- if (avoidWhiteSpace) {
152
- return `If \`avoidWhiteSpace\` is true, and \`replaceGenInt\` cant be empty-string value, ensure \`replaceGenInt\` has valid characters and non-nan string number.`;
153
- }
154
- return `Ensure \`replaceGenInt\` has valid characters and not a NaN number string while convert to number.`;
155
- }
156
- return `Ensure \`replaceGenStr\` has valid characters and non empty string.`;
157
- };
158
- throw new Error(`Character set is empty. ${errCharSet()}`);
159
- }
160
- let result = "";
161
- for (let i = 0; i < length; i++) {
162
- result += characterSet.charAt(Math.floor(Math.random() * characterSet.length));
163
- }
164
- return result;
165
- };
166
-
167
- function randomUUID(options = {}) {
168
- if (!isPlainObject(options)) {
169
- throw new TypeError(
170
- `First parameter (\`options\`) must be a plain object with optional properties \`version\` and \`monotonic\`, but received: \`${getPreciseType(
171
- options
172
- )}\` - (with value: \`${safeStableStringify(options, { keepUndefined: true })}\`).`
173
- );
174
- }
175
- const { version = "v4", monotonic = false } = options;
176
- if (!isNonEmptyString(version)) {
177
- throw new TypeError(
178
- `Parameter \`version\` property of the \`options\` (first parameter) must be a \`string\` of either "v4" or "v7", but received type: \`${getPreciseType(
179
- version
180
- )}\` - (with value: \`${safeStableStringify(version, { keepUndefined: true })}\`).`
181
- );
182
- }
183
- if (version !== "v4" && version !== "v7") {
184
- throw new RangeError(
185
- `Unsupported UUID version. Allowed values are "v4" or "v7". (received: \`${safeStableStringify(
186
- version,
187
- {
188
- keepUndefined: true
189
- }
190
- )}\`).`
191
- );
192
- }
193
- if (!isBoolean(monotonic)) {
194
- throw new TypeError(
195
- `Parameter \`monotonic\` property of the \`options\` (first parameter) must be a \`boolean\` when provided, but received type: \`${getPreciseType(
196
- monotonic
197
- )}\` - (with value: \`${safeStableStringify(monotonic, {
198
- keepUndefined: true
199
- })}\`).`
200
- );
201
- }
202
- if (monotonic && version !== "v7") {
203
- throw new TypeError(
204
- `Parameter \`monotonic\` property of the \`options\` (first parameter) is only supported for version "v7". Received: version=${safeStableStringify(
205
- version,
206
- { keepUndefined: true }
207
- )}.`
208
- );
209
- }
210
- if (version === "v4") {
211
- return generateUUIDv4();
212
- }
213
- return generateUUIDv7({ monotonic });
214
- }
215
- function hasCryptoGetRandomValues() {
216
- return typeof crypto !== "undefined" && typeof crypto.getRandomValues === "function";
217
- }
218
- function hasCryptoRandomUUID() {
219
- return typeof crypto !== "undefined" && typeof crypto.randomUUID === "function";
220
- }
221
- function getRandomBytes(len) {
222
- if (hasCryptoGetRandomValues()) {
223
- return crypto.getRandomValues(new Uint8Array(len));
224
- }
225
- const arr = new Uint8Array(len);
226
- for (let i = 0; i < len; i++) {
227
- arr[i] = Math.floor(Math.random() * 256);
228
- }
229
- return arr;
230
- }
231
- var byteToHex = (() => {
232
- const arr = [];
233
- for (let i = 0; i < 256; ++i) {
234
- arr.push((i + 256).toString(16).substring(1));
235
- }
236
- return arr;
237
- })();
238
- function generateUUIDv4() {
239
- if (hasCryptoRandomUUID()) {
240
- return crypto.randomUUID();
241
- }
242
- if (hasCryptoGetRandomValues()) {
243
- const rnd = crypto.getRandomValues(new Uint8Array(16));
244
- rnd[6] = rnd[6] & 15 | 64;
245
- rnd[8] = rnd[8] & 63 | 128;
246
- return byteToHex[rnd[0]] + byteToHex[rnd[1]] + byteToHex[rnd[2]] + byteToHex[rnd[3]] + "-" + byteToHex[rnd[4]] + byteToHex[rnd[5]] + "-" + byteToHex[rnd[6]] + byteToHex[rnd[7]] + "-" + byteToHex[rnd[8]] + byteToHex[rnd[9]] + "-" + byteToHex[rnd[10]] + byteToHex[rnd[11]] + byteToHex[rnd[12]] + byteToHex[rnd[13]] + byteToHex[rnd[14]] + byteToHex[rnd[15]];
247
- }
248
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
249
- const r = Math.random() * 16 | 0;
250
- const v = c === "x" ? r : r & 3 | 8;
251
- return v.toString(16);
252
- });
253
- }
254
- var monotonicState = {
255
- lastTimestampMs: -1,
256
- lastRand: null
257
- };
258
- function incrementUint8ArrayBigEndian(arr) {
259
- for (let i = arr.length - 1; i >= 0; i--) {
260
- if (arr[i] === 255) {
261
- arr[i] = 0;
262
- continue;
263
- }
264
- arr[i] = arr[i] + 1 & 255;
265
- return false;
266
- }
267
- return true;
268
- }
269
- function generateUUIDv7({ monotonic = false } = {}) {
270
- const nowMs = Date.now();
271
- const tsHex = BigInt(nowMs).toString(16).padStart(12, "0");
272
- let rand = getRandomBytes(10);
273
- if (monotonic) {
274
- if (monotonicState.lastTimestampMs === nowMs && monotonicState.lastRand) {
275
- const copy = new Uint8Array(monotonicState.lastRand);
276
- const overflow = incrementUint8ArrayBigEndian(copy);
277
- if (overflow) {
278
- throw new RangeError(
279
- "Monotonic UUID sequence overflow: too many UUIDs generated within the same millisecond."
280
- );
281
- }
282
- rand = copy;
283
- monotonicState.lastRand = copy;
284
- } else {
285
- const fresh = getRandomBytes(10);
286
- monotonicState.lastRand = new Uint8Array(fresh);
287
- monotonicState.lastTimestampMs = nowMs;
288
- rand = fresh;
289
- }
290
- }
291
- rand[0] = rand[0] & 15 | 112;
292
- rand[2] = rand[2] & 63 | 128;
293
- const randHex = Array.from(rand, (b) => byteToHex[b]).join("");
294
- const part1 = tsHex.slice(0, 8);
295
- const part2 = tsHex.slice(8, 12);
296
- const part3 = randHex.slice(0, 4);
297
- const part4 = randHex.slice(4, 8);
298
- const part5 = randHex.slice(8, 20);
299
- return [part1, part2, part3, part4, part5].join("-");
300
- }
301
-
302
- export { getRandomItem, randomInt, randomIntByLength, randomStr, randomUUID };
@@ -1,232 +0,0 @@
1
- /*!
2
- * ====================================================
3
- * Rzl Utils-JS.
4
- * ----------------------------------------------------
5
- * Version: 3.12.0.
6
- * Author: Rizalvin Dwiky.
7
- * Repository: https://github.com/rzl-zone/utils-js.
8
- * ====================================================
9
- */
10
- import { isURL } from './chunk-ONZFBJVW.js';
11
- import { normalizeString } from './chunk-AJZ6PMMZ.js';
12
- import { toStringArrayUnRecursive } from './chunk-CFYZC4S6.js';
13
- import { isEmptyValue } from './chunk-QFFBIOJ4.js';
14
- import { isInteger } from './chunk-WVSPXFTY.js';
15
- import { normalizePathname } from './chunk-2CYDJVGM.js';
16
- import { isEmptyString } from './chunk-TCDOWZQE.js';
17
- import { assertIsArray } from './chunk-HSP6IWZK.js';
18
- import { safeStableStringify } from './chunk-6VUXD3CF.js';
19
- import { isString, getPreciseType, isUndefined, isNonEmptyString, isFunction, isNumber, isError, isArray, isNil, isNull, isPlainObject, isBoolean, isNonEmptyArray } from './chunk-CSG4SCL3.js';
20
-
21
- var constructURL = (baseUrl, queryParams, removeParams) => {
22
- if (isString(baseUrl)) {
23
- if (isEmptyString(baseUrl)) {
24
- throw new TypeError(`First parameter (\`baseUrl\`) cannot be an empty-string.`);
25
- }
26
- baseUrl = normalizeString(baseUrl);
27
- } else if (!isURL(baseUrl)) {
28
- throw new TypeError(
29
- `First parameter (\`baseUrl\`) must be of type an URL instance or a \`string\` and a non empty-string, but received: \`${getPreciseType(
30
- baseUrl
31
- )}\`, with current value: \`${safeStableStringify(baseUrl, {
32
- keepUndefined: true
33
- })}\`.`
34
- );
35
- }
36
- if (!isUndefined(removeParams)) {
37
- assertIsArray(removeParams, {
38
- message: ({ currentType, validType }) => `Third parameter (\`removeParams\`) must be of type \`${validType} of strings\`, but received: \`${currentType}\`.`
39
- });
40
- if (!removeParams.every((param) => isNonEmptyString(param))) {
41
- throw new TypeError(
42
- `Third parameter (\`removeParams\`) must be of type \`array\` and contains \`string\` only and non empty-string.`
43
- );
44
- }
45
- }
46
- try {
47
- if (!isUndefined(queryParams) && !isFunction(queryParams[Symbol.iterator])) {
48
- throw new TypeError(
49
- `Second parameter (\`queryParams\`) must be iterable (like URLSearchParams.entries() or an array of [[string, string | number]...]), but received: \`${getPreciseType(
50
- queryParams
51
- )}\`, with value: \`${safeStableStringify(queryParams, {
52
- keepUndefined: true
53
- })}\`.`
54
- );
55
- }
56
- const urlInstance = new URL(baseUrl);
57
- if (!isUndefined(queryParams)) {
58
- const paramObject = Object.fromEntries(queryParams);
59
- if (!isEmptyValue(paramObject)) {
60
- const mergedParams = new URLSearchParams(urlInstance.search);
61
- for (const [key, value] of Object.entries(paramObject)) {
62
- if (!isNonEmptyString(value) && !isNumber(value, { includeNaN: true })) {
63
- throw new TypeError(
64
- `Second parameter (\`queryParams\`) must be iterable (like URLSearchParams.entries() or an array of [[string, string | number]...]), but received: \`${getPreciseType(
65
- queryParams
66
- )}\`, with value: \`${safeStableStringify(queryParams, {
67
- keepUndefined: true
68
- })}\`.`
69
- );
70
- }
71
- mergedParams.set(key, String(value));
72
- }
73
- if (removeParams?.length) {
74
- toStringArrayUnRecursive(removeParams).map((paramKey) => {
75
- mergedParams.delete(paramKey);
76
- });
77
- }
78
- urlInstance.search = mergedParams.toString();
79
- }
80
- }
81
- removeParams?.forEach((param) => urlInstance.searchParams.delete(param));
82
- return urlInstance;
83
- } catch (error) {
84
- if (isError(error)) throw error;
85
- throw new Error(
86
- "Failed to construct a valid URL in `constructURL()`, Error:" + error
87
- );
88
- }
89
- };
90
-
91
- var extractURLs = (url) => {
92
- if (!isNonEmptyString(url)) return null;
93
- let decoded;
94
- try {
95
- decoded = decodeURIComponent(url);
96
- } catch {
97
- return null;
98
- }
99
- const urlPattern = /https?:\/\/.*?(?=https?:\/\/|\s|$)/g;
100
- const matches = decoded.match(urlPattern);
101
- if (!matches) return null;
102
- const cleaned = matches.map((url2) => url2.replace(/[.,;:!?)]*$/, "")).filter((url2) => {
103
- try {
104
- const u = new URL(url2);
105
- return u.protocol === "http:" || u.protocol === "https:";
106
- } catch {
107
- return false;
108
- }
109
- });
110
- return cleaned.length ? cleaned : null;
111
- };
112
-
113
- var getFirstPrefixPathname = (result, defaultValue = "/") => {
114
- if (!isNonEmptyString(defaultValue)) {
115
- throw new TypeError(
116
- `Second parameter (\`defaultValue\`) must be of type \`string\` and not an \`empty-string\`, but received: \`${getPreciseType(
117
- defaultValue
118
- )}\`, with value: \`${safeStableStringify(defaultValue, {
119
- keepUndefined: true
120
- })}\`.`
121
- );
122
- }
123
- if (isArray(result)) {
124
- if (!result.every((item) => isString(item))) {
125
- throw new TypeError(
126
- `First parameter (\`result\`) must be of type \`string\` or \`array of string\`, but received: \`${getPreciseType(
127
- result
128
- )}\`, with value: \`${safeStableStringify(result, {
129
- keepUndefined: true
130
- })}\`.`
131
- );
132
- }
133
- for (const item of result) {
134
- const normalized = normalizePathname(item);
135
- if (normalized !== "/") {
136
- return normalized;
137
- }
138
- }
139
- return normalizePathname(defaultValue);
140
- }
141
- if (isString(result)) {
142
- const normalized = normalizePathname(result);
143
- return normalized !== "/" ? normalized : normalizePathname(defaultValue);
144
- }
145
- if (!isNil(result)) {
146
- throw new TypeError(
147
- `First parameter (\`result\`) must be of type \`string\`, \`array-string\`, \`null\` or \`undefined\`, but received: \`${getPreciseType(
148
- result
149
- )}\`.`
150
- );
151
- }
152
- return normalizePathname(defaultValue);
153
- };
154
-
155
- var getPrefixPathname = (url, base = null, options = {}) => {
156
- const errors = [];
157
- if (!isString(url) && !isArray(url)) {
158
- errors.push(
159
- `First parameter (\`url\`) must be of type \`string\` or \`array-string\`, but received: \`${getPreciseType(
160
- url
161
- )}\`.`
162
- );
163
- }
164
- if (!isString(base) && !isArray(base) && !isNull(base)) {
165
- errors.push(
166
- `Second parameter (\`base\`) must be of type \`string\`, \`array-string\` or \`null\`, but received: \`${getPreciseType(
167
- base
168
- )}\`.`
169
- );
170
- }
171
- if (!isPlainObject(options)) {
172
- errors.push(
173
- `Second parameter (\`options\`) must be of type \`plain-object\`, but received: \`${getPreciseType(
174
- options
175
- )}\`.`
176
- );
177
- }
178
- const { levels = 1, removeDuplicates = true } = options;
179
- if (!isInteger(levels) || isInteger(levels) && levels < 0) {
180
- errors.push(
181
- `Parameter \`levels\` property of the \`options\` (second parameter) must be of type \`integer-number\` and minimum is \`0\`, but received: \`${getPreciseType(
182
- levels
183
- )}\`, with value: \`${safeStableStringify(levels, {
184
- keepUndefined: true
185
- })}\`.`
186
- );
187
- }
188
- if (!isBoolean(removeDuplicates)) {
189
- errors.push(
190
- `Parameter \`removeDuplicates\` property of the \`options\` (second parameter) must be of type \`boolean\`, but received: \`${getPreciseType(
191
- removeDuplicates
192
- )}\`.`
193
- );
194
- }
195
- if (isNonEmptyArray(errors)) {
196
- throw new TypeError(
197
- `Invalid parameter(s) in \`getPrefixPathname\` function:
198
- - ${errors.join("\n- ")}`
199
- );
200
- }
201
- function getLevel(singleUrl) {
202
- const parts = normalizePathname(singleUrl).split("/").filter(Boolean);
203
- return `/${parts.slice(0, levels).join("/")}`;
204
- }
205
- function processUrl(singleUrl) {
206
- if (base) {
207
- singleUrl = normalizePathname(singleUrl);
208
- if (isArray(base)) {
209
- for (const b of base) {
210
- if (singleUrl.startsWith(normalizePathname(b))) {
211
- return getLevel(singleUrl);
212
- }
213
- }
214
- } else if (isNonEmptyString(base) && singleUrl.startsWith(normalizePathname(base))) {
215
- return getLevel(singleUrl);
216
- }
217
- return null;
218
- }
219
- return getLevel(singleUrl);
220
- }
221
- if (isArray(url)) {
222
- const result = url.map(processUrl).filter((r) => !isNull(r));
223
- const uniqueResult = removeDuplicates ? [...new Set(result)] : result;
224
- if (uniqueResult.length === 1) {
225
- return uniqueResult[0];
226
- }
227
- return uniqueResult;
228
- }
229
- return processUrl(url);
230
- };
231
-
232
- export { constructURL, extractURLs, getFirstPrefixPathname, getPrefixPathname };
@@ -1,16 +0,0 @@
1
- /*!
2
- * ====================================================
3
- * Rzl Utils-JS.
4
- * ----------------------------------------------------
5
- * Version: 3.12.0.
6
- * Author: Rizalvin Dwiky.
7
- * Repository: https://github.com/rzl-zone/utils-js.
8
- * ====================================================
9
- */
10
- 'use strict';
11
-
12
- var isURL = (value) => {
13
- return value instanceof URL;
14
- };
15
-
16
- exports.isURL = isURL;
@@ -1,33 +0,0 @@
1
- /*!
2
- * ====================================================
3
- * Rzl Utils-JS.
4
- * ----------------------------------------------------
5
- * Version: 3.12.0.
6
- * Author: Rizalvin Dwiky.
7
- * Repository: https://github.com/rzl-zone/utils-js.
8
- * ====================================================
9
- */
10
- import { isEmptyValue } from './chunk-QFFBIOJ4.js';
11
-
12
- var isNonEmptyValue = (value, options = {}) => {
13
- return !isEmptyValue(value, options);
14
- };
15
-
16
- var typedArrayTags = /* @__PURE__ */ new Set([
17
- "[object Int8Array]",
18
- "[object Uint8Array]",
19
- "[object Uint8ClampedArray]",
20
- "[object Int16Array]",
21
- "[object Uint16Array]",
22
- "[object Int32Array]",
23
- "[object Uint32Array]",
24
- "[object Float32Array]",
25
- "[object Float64Array]",
26
- "[object BigInt64Array]",
27
- "[object BigUint64Array]"
28
- ]);
29
- function isTypedArray(value) {
30
- return value != null && typeof value === "object" && typedArrayTags.has(Object.prototype.toString.call(value));
31
- }
32
-
33
- export { isNonEmptyValue, isTypedArray };
@@ -1,38 +0,0 @@
1
- /*!
2
- * ====================================================
3
- * Rzl Utils-JS.
4
- * ----------------------------------------------------
5
- * Version: 3.12.0.
6
- * Author: Rizalvin Dwiky.
7
- * Repository: https://github.com/rzl-zone/utils-js.
8
- * ====================================================
9
- */
10
- 'use strict';
11
-
12
- var chunkGKC3UDMC_cjs = require('./chunk-GKC3UDMC.cjs');
13
-
14
- var isEmptyArray = (value) => {
15
- if (!chunkGKC3UDMC_cjs.isArray(value)) return true;
16
- return value.length === 0;
17
- };
18
-
19
- function isEmptyObject(value, options = {}) {
20
- if (!chunkGKC3UDMC_cjs.isObject(value)) {
21
- return true;
22
- }
23
- chunkGKC3UDMC_cjs.assertIsPlainObject(options, {
24
- message: ({ currentType, validType }) => `Second parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.`
25
- });
26
- const checkSymbols = chunkGKC3UDMC_cjs.hasOwnProp(options, "checkSymbols") ? options.checkSymbols : false;
27
- chunkGKC3UDMC_cjs.assertIsBoolean(checkSymbols, {
28
- message: ({ currentType, validType }) => `Parameter \`checkSymbols\` property of the \`options\` (second parameter) must be of type \`${validType}\`, but received: \`${currentType}\`.`
29
- });
30
- const hasNoKeys = Object.keys(value).length === 0;
31
- if (checkSymbols) {
32
- return hasNoKeys && Object.getOwnPropertySymbols(value).length === 0;
33
- }
34
- return hasNoKeys;
35
- }
36
-
37
- exports.isEmptyArray = isEmptyArray;
38
- exports.isEmptyObject = isEmptyObject;