@rzl-zone/utils-js 3.11.1 → 3.12.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/{LICENSE.md → LICENSE} +3 -3
  2. package/README.md +62 -89
  3. package/dist/.references/index.d.cts +25 -0
  4. package/dist/.references/index.d.ts +25 -0
  5. package/dist/assertIsArray-BChqwPiP.cjs +26 -0
  6. package/dist/assertIsArray-BChqwPiP.cjs.map +1 -0
  7. package/dist/assertIsArray-BfAbIUfa.js +20 -0
  8. package/dist/assertIsArray-BfAbIUfa.js.map +1 -0
  9. package/dist/assertIsBoolean-BlBct0Fc.js +1073 -0
  10. package/dist/assertIsBoolean-BlBct0Fc.js.map +1 -0
  11. package/dist/assertIsBoolean-DozdtbNi.cjs +1283 -0
  12. package/dist/assertIsBoolean-DozdtbNi.cjs.map +1 -0
  13. package/dist/assertIsString-Bvk7bUL7.cjs +26 -0
  14. package/dist/assertIsString-Bvk7bUL7.cjs.map +1 -0
  15. package/dist/assertIsString-DqV9NwbI.js +20 -0
  16. package/dist/assertIsString-DqV9NwbI.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-CBs8-REq.cjs +448 -0
  28. package/dist/conversions-CBs8-REq.cjs.map +1 -0
  29. package/dist/conversions-EMJa3g-D.js +382 -0
  30. package/dist/conversions-EMJa3g-D.js.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 +174 -0
  34. package/dist/events/index.d.ts +31 -35
  35. package/dist/events/index.js +50 -12
  36. package/dist/events/index.js.map +1 -0
  37. package/dist/formatEnvPort-DpIXzPAZ.js +159 -0
  38. package/dist/formatEnvPort-DpIXzPAZ.js.map +1 -0
  39. package/dist/formatEnvPort-hHNvOim-.cjs +171 -0
  40. package/dist/formatEnvPort-hHNvOim-.cjs.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-QcZO_Cpx.js +367 -0
  46. package/dist/formatters-QcZO_Cpx.js.map +1 -0
  47. package/dist/formatters-lAYgA11L.cjs +427 -0
  48. package/dist/formatters-lAYgA11L.cjs.map +1 -0
  49. package/dist/generators/index.cjs +161 -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 +154 -14
  54. package/dist/generators/index.js.map +1 -0
  55. package/dist/index-26W7ItWx.d.ts +760 -0
  56. package/dist/index-BPPQjAfs.d.cts +2359 -0
  57. package/dist/index-BXjlgBLz.d.cts +2139 -0
  58. package/dist/index-B_Wwo91H.d.ts +2359 -0
  59. package/dist/index-CpufydcI.d.cts +704 -0
  60. package/dist/index-Czc4O526.d.ts +333 -0
  61. package/dist/index-DPs1_p5G.d.cts +760 -0
  62. package/dist/index-DRpOyBSC.d.ts +1703 -0
  63. package/dist/index-DWWvtHUn.d.cts +822 -0
  64. package/dist/index-DnM0LD0n.d.cts +333 -0
  65. package/dist/index-GUZ9fK6T.d.ts +2139 -0
  66. package/dist/index-I4fAzwXV.d.ts +704 -0
  67. package/dist/index-JDrOl_19.d.ts +822 -0
  68. package/dist/index-b66P49Qe.d.cts +1703 -0
  69. package/dist/isBigInt-B1cijjqm.cjs +20 -0
  70. package/dist/isBigInt-B1cijjqm.cjs.map +1 -0
  71. package/dist/isBigInt-C0bN0Rhu.js +14 -0
  72. package/dist/isBigInt-C0bN0Rhu.js.map +1 -0
  73. package/dist/isEmptyObject-DI42NEo0.cjs +37 -0
  74. package/dist/isEmptyObject-DI42NEo0.cjs.map +1 -0
  75. package/dist/isEmptyObject-DeLVIJpl.js +25 -0
  76. package/dist/isEmptyObject-DeLVIJpl.js.map +1 -0
  77. package/dist/isEmptyString-BTUWYTbw.js +15 -0
  78. package/dist/isEmptyString-BTUWYTbw.js.map +1 -0
  79. package/dist/isEmptyString-CCK3bP74.cjs +21 -0
  80. package/dist/isEmptyString-CCK3bP74.cjs.map +1 -0
  81. package/dist/isEmptyValue-DMSMFTU8.cjs +30 -0
  82. package/dist/isEmptyValue-DMSMFTU8.cjs.map +1 -0
  83. package/dist/isEmptyValue-fjnfQnt5.js +24 -0
  84. package/dist/isEmptyValue-fjnfQnt5.js.map +1 -0
  85. package/dist/isEqual-B1fRgEuU.cjs +111 -0
  86. package/dist/isEqual-B1fRgEuU.cjs.map +1 -0
  87. package/dist/isEqual-DhyP8fB_.js +87 -0
  88. package/dist/isEqual-DhyP8fB_.js.map +1 -0
  89. package/dist/isFinite-BYMOo0os.js +15 -0
  90. package/dist/isFinite-BYMOo0os.js.map +1 -0
  91. package/dist/isFinite-sFkps2TY.cjs +21 -0
  92. package/dist/isFinite-sFkps2TY.cjs.map +1 -0
  93. package/dist/isInteger-DS9V7l_f.js +14 -0
  94. package/dist/isInteger-DS9V7l_f.js.map +1 -0
  95. package/dist/isInteger-FTCthMre.cjs +20 -0
  96. package/dist/isInteger-FTCthMre.cjs.map +1 -0
  97. package/dist/isPlainObject-DcFGh3_5.d.ts +530 -0
  98. package/dist/isPlainObject-doTI11Ib.d.cts +530 -0
  99. package/dist/isServer-D1TXfOs3.js +14 -0
  100. package/dist/isServer-D1TXfOs3.js.map +1 -0
  101. package/dist/isServer-q-QLFCqE.cjs +20 -0
  102. package/dist/isServer-q-QLFCqE.cjs.map +1 -0
  103. package/dist/isTypedArray-47R0wdrc.js +31 -0
  104. package/dist/isTypedArray-47R0wdrc.js.map +1 -0
  105. package/dist/isTypedArray-DiCoqffZ.cjs +43 -0
  106. package/dist/isTypedArray-DiCoqffZ.cjs.map +1 -0
  107. package/dist/isURL-CQiowFq2.js +14 -0
  108. package/dist/isURL-CQiowFq2.js.map +1 -0
  109. package/dist/isURL-WZypXsax.cjs +20 -0
  110. package/dist/isURL-WZypXsax.cjs.map +1 -0
  111. package/dist/isValidDomain-BSXshgkC.cjs +1788 -0
  112. package/dist/isValidDomain-BSXshgkC.cjs.map +1 -0
  113. package/dist/isValidDomain-DwA2EN79.js +1782 -0
  114. package/dist/isValidDomain-DwA2EN79.js.map +1 -0
  115. package/dist/next/index.cjs +119 -212
  116. package/dist/next/index.cjs.map +1 -0
  117. package/dist/next/index.d.cts +226 -0
  118. package/dist/next/index.d.ts +26 -31
  119. package/dist/next/index.js +117 -210
  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 +9 -10
  125. package/dist/next/server/index.js +23 -38
  126. package/dist/next/server/index.js.map +1 -0
  127. package/dist/noop-B2mTBhW-.cjs +18 -0
  128. package/dist/noop-B2mTBhW-.cjs.map +1 -0
  129. package/dist/noop-BzktGBVz.js +12 -0
  130. package/dist/noop-BzktGBVz.js.map +1 -0
  131. package/dist/normalizeSpaces-DQHR3Tlr.cjs +29 -0
  132. package/dist/normalizeSpaces-DQHR3Tlr.cjs.map +1 -0
  133. package/dist/normalizeSpaces-WS_iERJk.js +23 -0
  134. package/dist/normalizeSpaces-WS_iERJk.js.map +1 -0
  135. package/dist/normalizeString-2WLth_Gj.js +15 -0
  136. package/dist/normalizeString-2WLth_Gj.js.map +1 -0
  137. package/dist/normalizeString-D8euBcRD.cjs +21 -0
  138. package/dist/normalizeString-D8euBcRD.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 +10 -15
  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 +71 -72
  148. package/dist/parsers/index.js +10 -12
  149. package/dist/parsers-DXtpsDyj.cjs +649 -0
  150. package/dist/parsers-DXtpsDyj.cjs.map +1 -0
  151. package/dist/parsers-Dpuq-V4u.js +643 -0
  152. package/dist/parsers-Dpuq-V4u.js.map +1 -0
  153. package/dist/parsing-B43x1sxn.js +50 -0
  154. package/dist/parsing-B43x1sxn.js.map +1 -0
  155. package/dist/parsing-lRoxn1Nz.cjs +56 -0
  156. package/dist/parsing-lRoxn1Nz.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-DiaYA7Ps.cjs +413 -0
  162. package/dist/predicates-DiaYA7Ps.cjs.map +1 -0
  163. package/dist/predicates-gNepszvo.js +257 -0
  164. package/dist/predicates-gNepszvo.js.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 +28 -31
  169. package/dist/promises/index.js +73 -13
  170. package/dist/promises/index.js.map +1 -0
  171. package/dist/punyCode-CTWXVVFo.cjs +185 -0
  172. package/dist/punyCode-CTWXVVFo.cjs.map +1 -0
  173. package/dist/punyCode-hmiFzLWT.js +179 -0
  174. package/dist/punyCode-hmiFzLWT.js.map +1 -0
  175. package/dist/removeSpaces-BE8lfh-4.js +19 -0
  176. package/dist/removeSpaces-BE8lfh-4.js.map +1 -0
  177. package/dist/removeSpaces-DRRxNWlb.cjs +25 -0
  178. package/dist/removeSpaces-DRRxNWlb.cjs.map +1 -0
  179. package/dist/safeJsonParse-BBnQElk8.cjs +208 -0
  180. package/dist/safeJsonParse-BBnQElk8.cjs.map +1 -0
  181. package/dist/safeJsonParse-CXruaP0p.js +184 -0
  182. package/dist/safeJsonParse-CXruaP0p.js.map +1 -0
  183. package/dist/safeStableStringify-BNh3D0K0.js +88 -0
  184. package/dist/safeStableStringify-BNh3D0K0.js.map +1 -0
  185. package/dist/safeStableStringify-Cc62pfRp.cjs +106 -0
  186. package/dist/safeStableStringify-Cc62pfRp.cjs.map +1 -0
  187. package/dist/strings/index.cjs +76 -81
  188. package/dist/strings/index.cjs.map +1 -0
  189. package/dist/strings/index.d.cts +12 -0
  190. package/dist/strings/index.d.ts +10 -775
  191. package/dist/strings/index.js +59 -14
  192. package/dist/strings/index.js.map +1 -0
  193. package/dist/tailwind/index.cjs +19 -47
  194. package/dist/tailwind/index.d.cts +12 -0
  195. package/dist/tailwind/index.d.ts +11 -712
  196. package/dist/tailwind/index.js +10 -12
  197. package/dist/tailwind-DJ4cmLUw.cjs +247 -0
  198. package/dist/tailwind-DJ4cmLUw.cjs.map +1 -0
  199. package/dist/tailwind-IJvOdkZp.js +199 -0
  200. package/dist/tailwind-IJvOdkZp.js.map +1 -0
  201. package/dist/toStringArrayUnRecursive-CFs0jTEg.js +39 -0
  202. package/dist/toStringArrayUnRecursive-CFs0jTEg.js.map +1 -0
  203. package/dist/toStringArrayUnRecursive-xUaU8Ot9.cjs +51 -0
  204. package/dist/toStringArrayUnRecursive-xUaU8Ot9.cjs.map +1 -0
  205. package/dist/urls/index.cjs +129 -57
  206. package/dist/urls/index.cjs.map +1 -0
  207. package/dist/urls/index.d.cts +740 -0
  208. package/dist/urls/index.d.ts +218 -224
  209. package/dist/urls/index.js +121 -26
  210. package/dist/urls/index.js.map +1 -0
  211. package/package.json +203 -194
  212. package/dist/chunk-22V4WP3H.js +0 -53
  213. package/dist/chunk-2XSZ2ANI.js +0 -63
  214. package/dist/chunk-3T6VSWYX.js +0 -21
  215. package/dist/chunk-5WIEDF2J.js +0 -1823
  216. package/dist/chunk-6EDFZJZ5.cjs +0 -598
  217. package/dist/chunk-6LXWT2I5.js +0 -32
  218. package/dist/chunk-6YGBRENU.js +0 -209
  219. package/dist/chunk-7FGNVDEV.cjs +0 -38
  220. package/dist/chunk-AXDYWO67.js +0 -119
  221. package/dist/chunk-B6PMNZ4M.cjs +0 -35
  222. package/dist/chunk-BAV5T2E3.cjs +0 -15
  223. package/dist/chunk-BLF7SD66.js +0 -95
  224. package/dist/chunk-BMZZXZJ2.cjs +0 -30
  225. package/dist/chunk-BOYP3ARU.js +0 -264
  226. package/dist/chunk-BPYW5YL7.js +0 -16
  227. package/dist/chunk-C2PV3VWC.cjs +0 -118
  228. package/dist/chunk-CCJ2MSN7.js +0 -16
  229. package/dist/chunk-DAPAK2W3.cjs +0 -123
  230. package/dist/chunk-DLS3G6WQ.cjs +0 -23
  231. package/dist/chunk-DNMCR5JH.js +0 -370
  232. package/dist/chunk-DVMHRLKP.cjs +0 -16
  233. package/dist/chunk-EBYFYZW4.cjs +0 -26
  234. package/dist/chunk-ENMRZ4BE.js +0 -302
  235. package/dist/chunk-FJ4BQFVO.js +0 -587
  236. package/dist/chunk-GIKL4PUF.cjs +0 -106
  237. package/dist/chunk-GOFINGT6.js +0 -35
  238. package/dist/chunk-GXKQ3LHF.js +0 -101
  239. package/dist/chunk-HNBRGN4R.js +0 -24
  240. package/dist/chunk-HYN6FC5A.cjs +0 -249
  241. package/dist/chunk-IZGVBYFN.js +0 -242
  242. package/dist/chunk-JIE447J5.js +0 -676
  243. package/dist/chunk-JXEIJM5M.cjs +0 -237
  244. package/dist/chunk-K47GZDBH.js +0 -115
  245. package/dist/chunk-K5536YHG.cjs +0 -269
  246. package/dist/chunk-KHO2SBNA.cjs +0 -16
  247. package/dist/chunk-KXJ7X325.cjs +0 -308
  248. package/dist/chunk-L5RDAVVH.js +0 -14
  249. package/dist/chunk-LJHPTLWB.js +0 -109
  250. package/dist/chunk-M7ELWZXM.cjs +0 -1825
  251. package/dist/chunk-MSUW5VHZ.js +0 -1590
  252. package/dist/chunk-MUHRPRR7.cjs +0 -65
  253. package/dist/chunk-MV3TSQSH.cjs +0 -397
  254. package/dist/chunk-NLZLXWAU.cjs +0 -678
  255. package/dist/chunk-NVRZPF5M.cjs +0 -18
  256. package/dist/chunk-ONZFBJVW.js +0 -14
  257. package/dist/chunk-PGNL7JXO.cjs +0 -251
  258. package/dist/chunk-Q4GEQS7X.cjs +0 -564
  259. package/dist/chunk-QNKGP5DY.js +0 -14
  260. package/dist/chunk-QYI2VJLS.cjs +0 -211
  261. package/dist/chunk-RBWZII5I.js +0 -59
  262. package/dist/chunk-RMP7VMPB.cjs +0 -33
  263. package/dist/chunk-RZOGBYIS.js +0 -21
  264. package/dist/chunk-SU3UELUB.cjs +0 -36
  265. package/dist/chunk-SYHPSOUU.cjs +0 -1626
  266. package/dist/chunk-SZUNAEMR.js +0 -246
  267. package/dist/chunk-TER22LO4.cjs +0 -64
  268. package/dist/chunk-TJHGRQ4P.js +0 -33
  269. package/dist/chunk-U23I7JPB.cjs +0 -56
  270. package/dist/chunk-U7HHN47R.js +0 -552
  271. package/dist/chunk-UDA26MCU.cjs +0 -16
  272. package/dist/chunk-UIAWUZ4H.js +0 -31
  273. package/dist/chunk-ULQPCIA2.js +0 -16
  274. package/dist/chunk-VJDDGRIK.cjs +0 -16
  275. package/dist/chunk-WETQI6HM.js +0 -232
  276. package/dist/chunk-WLOQQFDS.cjs +0 -18
  277. package/dist/chunk-WVSPXFTY.js +0 -14
  278. package/dist/chunk-WXFTVXBF.cjs +0 -23
  279. package/dist/chunk-XPVTIGU2.cjs +0 -113
  280. package/dist/chunk-XX6RUGTM.cjs +0 -18
  281. package/dist/chunk-YWHHVDT4.js +0 -13
  282. package/dist/chunk-ZPDMWDGZ.cjs +0 -101
  283. package/dist/chunk-ZVWZEGQP.js +0 -28
  284. package/dist/index.d.ts +0 -24
  285. package/dist/isPlainObject-0p3VveWr.d.ts +0 -534
  286. package/dist/rzl-utils.global.js +0 -10
@@ -1,676 +0,0 @@
1
- /*!
2
- * ====================================================
3
- * Rzl Utils-JS.
4
- * ----------------------------------------------------
5
- * Version: 3.11.1.
6
- * Author: Rizalvin Dwiky.
7
- * Repository: https://github.com/rzl-zone/utils-js.
8
- * ====================================================
9
- */
10
- import { punycodeUtilsJS } from './chunk-6YGBRENU.js';
11
- import { isNonEmptyString, assertIsPlainObject, assertIsBoolean } from './chunk-MSUW5VHZ.js';
12
-
13
- var EXTENSIONS_FILE = /* @__PURE__ */ new Set([
14
- // 📄 Text & Document
15
- "txt",
16
- "md",
17
- "rtf",
18
- "tex",
19
- "doc",
20
- "docx",
21
- "odt",
22
- "ott",
23
- "pdf",
24
- "djvu",
25
- "epub",
26
- "fb2",
27
- "lit",
28
- "lrf",
29
- "xls",
30
- "xlsx",
31
- "ods",
32
- "csv",
33
- "tsv",
34
- "ppt",
35
- "pptx",
36
- "pps",
37
- "bib",
38
- "cba",
39
- "cbt",
40
- "cbz",
41
- "cbr",
42
- "opds",
43
- "fodt",
44
- "pages",
45
- "rtfd",
46
- "sxc",
47
- "sxw",
48
- "wpd",
49
- "xps",
50
- "dotx",
51
- "dotm",
52
- "xltx",
53
- "xltm",
54
- "sldx",
55
- "sldm",
56
- "fods",
57
- "mdx",
58
- "markdown",
59
- "texi",
60
- "textile",
61
- // 🖼️ Image
62
- "jpg",
63
- "jpeg",
64
- "png",
65
- "gif",
66
- "bmp",
67
- "tif",
68
- "tiff",
69
- "webp",
70
- "svg",
71
- "ico",
72
- "heif",
73
- "heic",
74
- "raw",
75
- "cr2",
76
- "nef",
77
- "orf",
78
- "sr2",
79
- "dng",
80
- "dds",
81
- "psd",
82
- "exr",
83
- "xcf",
84
- "ai",
85
- "eps",
86
- "cdr",
87
- "indd",
88
- "pcx",
89
- "pgm",
90
- "ppm",
91
- "pbm",
92
- "pnm",
93
- "jfif",
94
- "ras",
95
- "tga",
96
- "j2k",
97
- "jp2",
98
- "emf",
99
- "wmf",
100
- "hdp",
101
- "mdi",
102
- "hevc",
103
- // 🎵 Audio
104
- "mp3",
105
- "wav",
106
- "ogg",
107
- "flac",
108
- "aac",
109
- "m4a",
110
- "wma",
111
- "alac",
112
- "aiff",
113
- "aif",
114
- "amr",
115
- "mid",
116
- "midi",
117
- "opus",
118
- "au",
119
- "caf",
120
- "ape",
121
- "mka",
122
- "spx",
123
- "ra",
124
- "ram",
125
- "mpc",
126
- "wv",
127
- "aifc",
128
- "mod",
129
- "it",
130
- "s3m",
131
- "xm",
132
- "kar",
133
- "m4b",
134
- "voc",
135
- "snd",
136
- "a52",
137
- "ac3",
138
- "dts",
139
- // 🎥 Video
140
- "mp4",
141
- "mkv",
142
- "avi",
143
- "mov",
144
- "wmv",
145
- "webm",
146
- "mpeg",
147
- "mpg",
148
- "3gp",
149
- "3g2",
150
- "m4v",
151
- "ts",
152
- "mts",
153
- "asf",
154
- "rm",
155
- "rmvb",
156
- "vob",
157
- "f4v",
158
- "ogv",
159
- "m2ts",
160
- "dav",
161
- "mxf",
162
- "mjpeg",
163
- "flv",
164
- "divx",
165
- "f4a",
166
- "f4p",
167
- "m2v",
168
- "ogm",
169
- "vp8",
170
- "vp9",
171
- "xvid",
172
- "yuv",
173
- "mng",
174
- "dv",
175
- "m1v",
176
- "roq",
177
- "m2t",
178
- "av1",
179
- "hevc",
180
- "m3u",
181
- "m3u8",
182
- // 🗃️ Archive & Compression
183
- "zip",
184
- "rar",
185
- "7z",
186
- "tar",
187
- "gz",
188
- "bz",
189
- "bz2",
190
- "xz",
191
- "tgz",
192
- "tbz2",
193
- "txz",
194
- "lz",
195
- "lzma",
196
- "z",
197
- "cab",
198
- "arj",
199
- "ace",
200
- "rpm",
201
- "deb",
202
- "pkg",
203
- "apk",
204
- "jar",
205
- "war",
206
- "ear",
207
- "sit",
208
- "sitx",
209
- "cpgz",
210
- "tlz",
211
- "tlzma",
212
- "tzo",
213
- "cpio",
214
- "shar",
215
- "bzip",
216
- "gzip",
217
- "7zip",
218
- "rar5",
219
- "tbz",
220
- "txz",
221
- // 💾 Disk Image
222
- "iso",
223
- "img",
224
- "vhd",
225
- "vmdk",
226
- "qcow2",
227
- "vhdx",
228
- "bin",
229
- "cue",
230
- "nrg",
231
- "daa",
232
- "sdi",
233
- "vfd",
234
- "ima",
235
- "dmg",
236
- "vdi",
237
- "toast",
238
- "ccd",
239
- "mdf",
240
- "cdi",
241
- "bif",
242
- "bifc",
243
- "bifd",
244
- // 🗃️ Database & Data
245
- "sql",
246
- "db",
247
- "dbf",
248
- "mdb",
249
- "accdb",
250
- "json",
251
- "toml",
252
- "ini",
253
- "log",
254
- "plist",
255
- "pkl",
256
- "msgpack",
257
- "h5",
258
- "hdf5",
259
- "parquet",
260
- "avro",
261
- "orc",
262
- "ndjson",
263
- "pdb",
264
- "sqlite",
265
- "sqlite3",
266
- "dbx",
267
- "sdf",
268
- "nc",
269
- "netcdf",
270
- "grib",
271
- "geojson",
272
- "gml",
273
- "hjson",
274
- "cdb",
275
- "db3",
276
- "dta",
277
- "sav",
278
- "sas7bdat",
279
- "ldif",
280
- "fdb",
281
- "gdb",
282
- "sqlite2",
283
- "h5ad",
284
- "nc4",
285
- "xmind",
286
- "drawio",
287
- "sdc",
288
- "jsonl",
289
- "yaml",
290
- "yml",
291
- "toml",
292
- // 💻 Code & Script
293
- "js",
294
- "jsx",
295
- "ts",
296
- "tsx",
297
- "c",
298
- "cpp",
299
- "net",
300
- "h",
301
- "hpp",
302
- "java",
303
- "py",
304
- "rb",
305
- "go",
306
- "rs",
307
- "php",
308
- "pl",
309
- "sh",
310
- "bat",
311
- "cmd",
312
- "ps1",
313
- "lua",
314
- "swift",
315
- "kt",
316
- "scala",
317
- "cs",
318
- "vb",
319
- "dart",
320
- "m",
321
- "r",
322
- "jl",
323
- "fs",
324
- "vbproj",
325
- "sln",
326
- "pri",
327
- "gemspec",
328
- "gradle",
329
- "coffee",
330
- "erl",
331
- "ex",
332
- "exs",
333
- "hs",
334
- "lisp",
335
- "clj",
336
- "groovy",
337
- "scm",
338
- "vbs",
339
- "nim",
340
- "rkt",
341
- "ml",
342
- "mli",
343
- "fsx",
344
- "psm1",
345
- "cbl",
346
- "for",
347
- "f90",
348
- "lock",
349
- "tsconfig",
350
- "vue",
351
- "svelte",
352
- "cjs",
353
- "mjs",
354
- "mts",
355
- "cts",
356
- "json5",
357
- "es6",
358
- "module",
359
- "systemjs",
360
- // 🌐 Web & Config
361
- "html",
362
- "htm",
363
- "xhtml",
364
- "css",
365
- "scss",
366
- "sass",
367
- "less",
368
- "xml",
369
- "xlf",
370
- "po",
371
- "pot",
372
- "jsp",
373
- "asp",
374
- "aspx",
375
- "jspf",
376
- "cgi",
377
- "cfm",
378
- "env",
379
- "babelrc",
380
- "cfg",
381
- "config",
382
- "conf",
383
- "editorconfig",
384
- "eslintrc",
385
- "gitconfig",
386
- "gitattributes",
387
- "gitignore",
388
- "prettierrc",
389
- "webmanifest",
390
- "dockerfile",
391
- // ".dockerfile",
392
- // 🔠 Font
393
- "ttf",
394
- "otf",
395
- "woff",
396
- "woff2",
397
- "eot",
398
- "dfont",
399
- "pfa",
400
- "pfb",
401
- "fon",
402
- "fnt",
403
- "bdf",
404
- "ps",
405
- // 🗺️ CAD & GIS
406
- "dwg",
407
- "dxf",
408
- "shp",
409
- "kml",
410
- "kmz",
411
- "gpx",
412
- "stl",
413
- "step",
414
- "iges",
415
- "igs",
416
- "3ds",
417
- "3dm",
418
- "fbx",
419
- "obj",
420
- "dae",
421
- "ifc",
422
- // 🔧 System / Binary / Execution
423
- "exe",
424
- "msi",
425
- "run",
426
- "com",
427
- "app",
428
- "elf",
429
- "dll",
430
- "so",
431
- "dylib",
432
- "sys",
433
- "scr",
434
- "bin",
435
- "out",
436
- // 🔐 Certificates / Crypto
437
- "pem",
438
- "crt",
439
- "cer",
440
- "der",
441
- "csr",
442
- "p12",
443
- "pfx",
444
- "jks",
445
- "asc",
446
- "gpg",
447
- "pgp",
448
- "p7b",
449
- "p7c",
450
- "spc",
451
- "key",
452
- "pub",
453
- "cert",
454
- "p7m",
455
- // 🎮 Games & Projects
456
- "nes",
457
- "sfc",
458
- "gba",
459
- "nds",
460
- "rom",
461
- "pak",
462
- "vpk",
463
- "bik",
464
- "cso",
465
- "wad",
466
- "wadx",
467
- "smc",
468
- "gb",
469
- "gbc",
470
- // 🔬 Bioinformatics
471
- "fasta",
472
- "fa",
473
- "fas",
474
- "ffn",
475
- "faa",
476
- "fna",
477
- "frn",
478
- "fastq",
479
- "fq",
480
- "bam",
481
- "bed",
482
- "sam",
483
- "vcf",
484
- "gff",
485
- "gff3",
486
- "gtf",
487
- "fai",
488
- "tbi",
489
- "fast5",
490
- "fqz",
491
- "fq5"
492
- ]);
493
- var DOUBLE_EXTENSIONS_FILE = /* @__PURE__ */ new Set([
494
- "log.gz",
495
- "tar.gz",
496
- "tar.bz2",
497
- "tar.bz",
498
- "tar.xz",
499
- "tar.lz",
500
- "tar.lzma",
501
- "tar.Z",
502
- "tar.zst",
503
- "tar.lz4",
504
- "log.gz",
505
- "sql.gz",
506
- "csv.gz",
507
- "tsv.gz",
508
- "json.gz",
509
- "ndjson.gz",
510
- "fq.gz",
511
- "sam.gz",
512
- "fasta.gz",
513
- "fa.gz",
514
- "ffn.gz",
515
- "faa.gz",
516
- "fna.gz",
517
- "frn.gz",
518
- "fastq.gz",
519
- "js.map",
520
- "css.map"
521
- ]);
522
- var SPECIAL_FILENAMES = /* @__PURE__ */ new Set([
523
- "Makefile",
524
- "Dockerfile",
525
- ".dockerignore",
526
- ".npmrc",
527
- ".envrc",
528
- ".htgroup",
529
- ".eslintignore",
530
- ".env.test",
531
- ".env.local",
532
- ".env.production",
533
- ".env.development",
534
- ".env.example",
535
- ".dockerfile",
536
- ".htaccess",
537
- ".htpasswd",
538
- ".babelrc",
539
- ".eslintrc",
540
- ".editorconfig",
541
- ".prettierignore",
542
- "docker-compose.override.yml",
543
- "docker-compose.yml",
544
- "Vagrantfile",
545
- "Procfile",
546
- "Gemfile",
547
- "Rakefile",
548
- "package.json",
549
- "package-lock.json",
550
- "yarn.lock",
551
- "pnpm-lock.yaml",
552
- "tsconfig.json",
553
- "webpack.config.js",
554
- "vite.config.js",
555
- "vite.config.ts",
556
- "Gruntfile.js",
557
- "gulpfile.js",
558
- "babel.config.js",
559
- "babel.js",
560
- "rollup.js",
561
- // SPECIAL PRESERVE NAME
562
- "CON",
563
- "NUL",
564
- "PRN",
565
- "AUX",
566
- "COM1",
567
- "COM2",
568
- "COM3",
569
- "COM4",
570
- "COM5",
571
- "COM6",
572
- "COM7",
573
- "COM8",
574
- "COM9",
575
- "LPT1",
576
- "LPT2",
577
- "LPT3",
578
- "LPT4",
579
- "LPT5",
580
- "LPT6",
581
- "LPT7",
582
- "LPT8",
583
- "LPT9"
584
- ]);
585
-
586
- var extractFileName = (input, options = {}) => {
587
- if (!isNonEmptyString(input)) return null;
588
- assertIsPlainObject(options, {
589
- message: ({ currentType, validType }) => `Second parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.`
590
- });
591
- const { domainName, domainAware = false } = options;
592
- assertIsBoolean(domainAware, {
593
- message: ({ currentType, validType }) => `Parameter \`domainAware\` property of the \`options\` (second parameter) must be of type \`${validType}\`, but received: \`${currentType}\`.`
594
- });
595
- let pathname = input.trim();
596
- pathname = pathname.replace(/\\/g, "/");
597
- if (domainAware) {
598
- if (!isNonEmptyString(domainName)) {
599
- throw new TypeError(
600
- `If parameter \`domainAware\` is set to \`true\`, the option parameter \`domainName\` is required as string, and cant be an empty-string.`
601
- );
602
- }
603
- const cleanDomain = punycodeUtilsJS.toASCII(domainName).replace(/^https?:\/\//i, "").replace(/^www\./, "").replace(/\/.*$/, "").toLowerCase();
604
- const inputDomain = punycodeUtilsJS.toASCII(input).replace(/^https?:\/\//i, "").replace(/^www\./, "").toLowerCase();
605
- const inputHost = inputDomain.split("/")[0].split(/[?#]/)[0];
606
- const matchesDomain = inputHost === cleanDomain || inputHost.endsWith(`.${cleanDomain}`);
607
- const hasPath = /\/[^/]+$/.test(inputDomain);
608
- if (matchesDomain && !hasPath) return null;
609
- }
610
- const protocolMatch = pathname.match(/^([a-zA-Z][a-zA-Z0-9+.-]*):(.+)$/);
611
- if (protocolMatch) {
612
- const scheme = protocolMatch[1].toLowerCase();
613
- const rest = protocolMatch[2];
614
- if (["tel", "sms"].some((sch) => sch.startsWith(scheme))) {
615
- const clean = rest.split("?")[0].split("#")[0];
616
- return clean.trim() || null;
617
- } else if (scheme === "mailto") {
618
- const parts = rest.split("/");
619
- let last = parts[parts.length - 1];
620
- last = last.split("?")[0].split("#")[0];
621
- const dotIndex = last.lastIndexOf(".");
622
- if (dotIndex > 0) last = last.slice(0, dotIndex);
623
- return last || null;
624
- } else if (scheme === "data") {
625
- const commaIndex = rest.indexOf(",");
626
- if (commaIndex === -1) return null;
627
- let payload = rest.slice(commaIndex + 1);
628
- payload = payload.split("?")[0].split("#")[0];
629
- return payload.trim() || null;
630
- }
631
- }
632
- if (/^[a-z][a-z\d+\-.]*:\/{3,}/i.test(pathname)) {
633
- pathname = pathname.replace(/^[a-z][a-z\d+\-.]*:\/{2,}/i, "");
634
- } else {
635
- try {
636
- const isProbablyUrl = /^[a-z][a-z\d+\-.]*:(\/\/)?/i.test(pathname);
637
- pathname = isProbablyUrl ? new URL(pathname).pathname : new URL(`http://localhost/${pathname}`).pathname;
638
- } catch {
639
- pathname = pathname.replace(/^[a-z][a-z\d+\-.]*:(\/\/)?/i, "");
640
- }
641
- }
642
- const segments = pathname.split("/").filter(Boolean);
643
- if (segments.length === 0) return null;
644
- let lastSegment = segments[segments.length - 1].split("?")[0].split("#")[0];
645
- lastSegment = lastSegment.replace(/[?#]+$/, "");
646
- if (!lastSegment) return null;
647
- lastSegment = lastSegment.replace(/%2F/gi, "/").replace(/%5C/gi, "\\").replace(/%2E/gi, ".");
648
- if (lastSegment.includes("/")) {
649
- const parts = lastSegment.split("/").filter(Boolean);
650
- lastSegment = parts[parts.length - 1];
651
- }
652
- let filename = decodeURIComponent(lastSegment);
653
- if (!filename) return null;
654
- if (SPECIAL_FILENAMES.has(filename)) return filename;
655
- if (/^\.[^.\s][^/]*$/.test(filename)) return filename;
656
- if (!filename.includes(".")) return null;
657
- const sortedDouble = [...DOUBLE_EXTENSIONS_FILE].sort((a, b) => b.length - a.length);
658
- for (const ext of sortedDouble) {
659
- const dotExt = `.${ext.toLowerCase()}`;
660
- if (filename.toLowerCase().endsWith(dotExt)) {
661
- filename = filename.slice(0, filename.length - dotExt.length);
662
- break;
663
- }
664
- }
665
- const sortedSingle = [...EXTENSIONS_FILE].sort((a, b) => b.length - a.length);
666
- for (const ext of sortedSingle) {
667
- const dotExt = `.${ext.toLowerCase()}`;
668
- if (filename.toLowerCase().endsWith(dotExt)) {
669
- filename = filename.slice(0, filename.length - dotExt.length);
670
- break;
671
- }
672
- }
673
- return filename || null;
674
- };
675
-
676
- export { extractFileName };