@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,15 +1,63 @@
1
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
- export { capitalizeFirst, capitalizeWords, getInitialsName, replaceAt, stripHtmlTags } from '../chunk-RU5OSRBU.js';
11
- export { normalizeString } from '../chunk-AJZ6PMMZ.js';
12
- export { normalizeSpaces } from '../chunk-PFXCTE37.js';
13
- export { removeSpaces } from '../chunk-HHYWB7VZ.js';
14
- import '../chunk-TCDOWZQE.js';
15
- export { slugify, toCamelCase, toDotCase, toKebabCase, toLowerCase, toPascalCase, toPascalCaseSpace, toSnakeCase } from '../chunk-CSG4SCL3.js';
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.1`
6
+ * Author: `Rizalvin Dwiky <rizalvindwiky@gmail.com>`
7
+ * Repository: `https://github.com/rzl-zone/rzl-zone/tree/main/packages/utils-js`
8
+ * ========================================================================
9
+ */
10
+ import { A as isPlainObject, a as toPascalCase, c as toKebabCase, d as slugify, i as toPascalCaseSpace, k as isString, l as toCamelCase, o as toLowerCase, r as getPreciseType, s as toSnakeCase, u as toDotCase, w as isNumber, y as isNonEmptyString } from "../assertIsBoolean-DR1SaXPD.js";
11
+ import { t as isEmptyString } from "../isEmptyString-BXzKAC2j.js";
12
+ import { t as normalizeSpaces } from "../normalizeSpaces-Bg2IZW7W.js";
13
+ import { t as normalizeString } from "../normalizeString-BDdkaXui.js";
14
+ import { t as removeSpaces } from "../removeSpaces-Bmc5DX4F.js";
15
+ const capitalizeFirst = (string, options = {
16
+ lowerCaseNextRest: true,
17
+ trim: false
18
+ }) => {
19
+ if (!isNonEmptyString(string)) return "";
20
+ if (!isPlainObject(options)) options = {};
21
+ const lowerCaseNextRest = options.lowerCaseNextRest !== false;
22
+ if (options.trim === true) string = string.trim();
23
+ return (string[0] ? string[0].toUpperCase() : "") + (lowerCaseNextRest ? string.slice(1).toLowerCase() : string.slice(1));
24
+ };
25
+ const capitalizeWords = (value, options = {
26
+ collapseSpaces: false,
27
+ trim: false
28
+ }) => {
29
+ if (!isNonEmptyString(value)) return "";
30
+ let result = value;
31
+ if (!isPlainObject(options)) options = {};
32
+ const collapseSpaces = options.collapseSpaces === true;
33
+ if (options.trim === true) result = result.trim();
34
+ if (collapseSpaces) {
35
+ const leadingSpaces = result.match(/^\s*/)?.[0] ?? "";
36
+ const trailingSpaces = result.match(/\s*$/)?.[0] ?? "";
37
+ result = result.trim().replace(/\s+/g, " ");
38
+ result = `${leadingSpaces}${result}${trailingSpaces}`;
39
+ }
40
+ return result.toLowerCase().split(" ").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
41
+ };
42
+ function stripHtmlTags(input) {
43
+ if (!isString(input)) return;
44
+ if (isEmptyString(input)) return "";
45
+ return input.replace(/<\/?[a-zA-Z][^<>]*\/?>/g, " ").trim().replace(/\s+/g, " ").trim();
46
+ }
47
+ const getInitialsName = (name) => {
48
+ if (!isNonEmptyString(name)) return "";
49
+ name = name.replace(/\s+/g, " ").trim();
50
+ const nameParts = name.split(" ");
51
+ if (nameParts.length > 1) {
52
+ if (!(nameParts[0] && nameParts[1] && nameParts[1][0])) return "";
53
+ return (nameParts[0][0] + nameParts[1][0]).toUpperCase();
54
+ }
55
+ return name.length > 1 ? name.substring(0, 2).toUpperCase() : name[0]?.toUpperCase() ?? "";
56
+ };
57
+ const replaceAt = (index, originalString, replaceTo) => {
58
+ if (!isNumber(index) || !isString(replaceTo) || !isString(originalString)) throw new TypeError(`First parameter (\`index\`) must be of type \`number\`, second parameter (\`originalString\`) and third parameter (\`replaceTo\`) must be of type \`string\`, but received: "['index': \`${getPreciseType(index)}\`, 'originalString': \`${getPreciseType(originalString)}\`, 'replaceTo': \`${getPreciseType(replaceTo)}\`]".`);
59
+ if (index < 0 || index >= originalString.length) throw new RangeError("First parameter (`index`) is out of range from second parameter (`originalString`).");
60
+ return originalString.slice(0, index) + replaceTo + originalString.slice(index + 1);
61
+ };
62
+ export { capitalizeFirst, capitalizeWords, getInitialsName, normalizeSpaces, normalizeString, removeSpaces, replaceAt, slugify, stripHtmlTags, toCamelCase, toDotCase, toKebabCase, toLowerCase, toPascalCase, toPascalCaseSpace, toSnakeCase };
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/strings/capitalizations/capitalizeFirst.ts","../../src/strings/capitalizations/capitalizeWords.ts","../../src/strings/sanitizations/stripHtmlTags.ts","../../src/strings/utils/getInitialsName.ts","../../src/strings/utils/replaceAt.ts"],"sourcesContent":["import { isPlainObject } from \"@/predicates/is/isPlainObject\";\nimport { isNonEmptyString } from \"@/predicates/is/isNonEmptyString\";\n\ntype CapitalizeFirstOptions = {\n /** If true **(default)**, the rest of the string will be converted to lowercase after capitalizing the first letter.\n *\n * @default true\n */\n lowerCaseNextRest?: boolean;\n /** If true, the string will trimmed, default: `false`.\n *\n * @default false\n */\n trim?: boolean;\n};\n\n/** ----------------------------------------------------------\n * * ***Utility: `capitalizeFirst`.***\n * ----------------------------------------------------------\n * **Capitalizes the first letter of a string, with optionally lowercases the rest and trims whitespace.**\n * @param {string | null | undefined} string - The string to be processed.\n * @param {CapitalizeFirstOptions} [options] - Options to control behavior.\n * @param {CapitalizeFirstOptions[\"lowerCaseNextRest\"]} [options.lowerCaseNextRest=true] - If true, lowercases the rest (next first letter), default: `true`.\n * @param {CapitalizeFirstOptions[\"trim\"]} [options.trim=false] - If true, trims the string before processing, default: `false`.\n * @returns {string} The processed string, returns `\"\"` if input is `null`, `undefined`, or `not a valid string`.\n * @example\n * ```ts\n * capitalizeFirst(\" hello WORLD \");\n * // ➔ \" Hello world\"\n * capitalizeFirst(\" hello WORLD \", { trim: true });\n * // ➔ \"Hello world\"\n * capitalizeFirst(\"FOO\", { lowerCaseNextRest: false });\n * // ➔ \"FOO\"\n * capitalizeFirst(\" foo BAR \", { trim: true, lowerCaseNextRest: false });\n * // ➔ \"Foo BAR\"\n * ```\n * #### ℹ️ If null, undefined, or not a valid string input, return `\"\"`.\n * ```ts\n * capitalizeFirst(123);\n * capitalizeFirst(null);\n * capitalizeFirst(undefined);\n * // ➔ \"\"\n * ```\n */\nexport const capitalizeFirst = (\n string: string | null | undefined,\n options: CapitalizeFirstOptions = {\n lowerCaseNextRest: true,\n trim: false\n }\n): string => {\n if (!isNonEmptyString(string)) return \"\";\n\n if (!isPlainObject(options)) {\n options = {};\n }\n\n const lowerCaseNextRest = options.lowerCaseNextRest !== false;\n const trim = options.trim === true;\n\n if (trim) string = string.trim();\n\n return (\n (string[0] ? string[0].toUpperCase() : \"\") +\n (lowerCaseNextRest ? string.slice(1).toLowerCase() : string.slice(1))\n );\n};\n","import { isPlainObject } from \"@/predicates/is/isPlainObject\";\nimport { isNonEmptyString } from \"@/predicates/is/isNonEmptyString\";\n\ntype CapitalizeWordsOptions = {\n /** If `true`, removes leading and trailing spaces, default `false`.\n *\n * @default false\n */\n trim?: boolean;\n /** If `true`, collapses multiple spaces **between words** into a single space (while preserving leading/trailing spaces), default `false`.\n *\n * @default false\n */\n collapseSpaces?: boolean;\n};\n\n/** ----------------------------------------------------------\n * * ***Utility: `capitalizeWords`.***\n * ----------------------------------------------------------\n * **Capitalizes the first letter of each word in a string while converting the rest to lowercase.**\n * @param {string | null | undefined} value\n * ***The input string to be processed.***\n * - If `null` or `undefined`, returns an empty-string (`\"\"`).\n * @param {CapitalizeWordsOptions} [options]\n * ***Optional settings to control the output:***\n * - `trim`: If `true`, removes leading and trailing spaces, defaultValue: `false`.\n * - `collapseSpaces`: If `true`, collapses multiple spaces **between words** into a single space (while preserving leading/trailing spaces), defaultValue: `false`.\n * @returns {string} A new string where each word starts with an uppercase letter\n * and the remaining letters are lowercase.\n * - If `value` is `empty`, `null`, or `undefined`, returns an `empty-string`.\n * @example\n * ```ts\n * capitalizeWords(\" hello world \");\n * // ➔ \" Hello World \"\n * capitalizeWords(\" hello world \", { trim: true });\n * // ➔ \"Hello World\"\n * capitalizeWords(\" hello world \", { collapseSpaces: true });\n * // ➔ \" Hello World \"\n * capitalizeWords(\" hello world \", { trim: true, collapseSpaces: true });\n * // ➔ \"Hello World\"\n * ```\n * #### ℹ️ If null, undefined, or not a valid string input, return \"\".\n * ```ts\n * capitalizeWords(123);\n * capitalizeWords(null);\n * capitalizeWords(undefined);\n * // ➔ \"\"\n * ```\n */\nexport const capitalizeWords = (\n value: string | null | undefined,\n options: CapitalizeWordsOptions = {\n collapseSpaces: false,\n trim: false\n }\n): string => {\n if (!isNonEmptyString(value)) return \"\";\n\n let result = value;\n\n if (!isPlainObject(options)) {\n options = {};\n }\n\n const collapseSpaces = options.collapseSpaces === true;\n const trim = options.trim === true;\n\n if (trim) {\n result = result.trim();\n }\n\n if (collapseSpaces) {\n const leadingSpaces = result.match(/^\\s*/)?.[0] ?? \"\";\n const trailingSpaces = result.match(/\\s*$/)?.[0] ?? \"\";\n result = result.trim().replace(/\\s+/g, \" \");\n result = `${leadingSpaces}${result}${trailingSpaces}`;\n }\n\n return result\n .toLowerCase()\n .split(\" \")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n};\n","import type { Extends } from \"@rzl-zone/ts-types-plus\";\nimport { isString } from \"@/predicates/is/isString\";\nimport { isEmptyString } from \"@/predicates/is/isEmptyString\";\n\n/** ----------------------------------------------------------\n * * ***Utility: `stripHtmlTags`.***\n * ----------------------------------------------------------\n * **This function removes valid HTML tags (including nested and self-closing ones)\n * by replacing them with spaces, then collapses multiple whitespaces into a single space.**\n * - **It handles the following cases:**\n * - If the input is not a string (`null`, `undefined`, or any non-string), it is returned as undefined.\n * - If the input is an empty or whitespace-only string, it returns an empty string (`\"\"`).\n * - Otherwise, it returns the cleaned string with tags removed and normalized whitespace.\n * @template T - Input string type (string | null | undefined).\n * @param {string | null | undefined} input - A string potentially containing HTML tags.\n * @returns {string | undefined} Cleaned string if input is string, or original input otherwise.\n * @example\n * stripHtmlTags(\"<p>Hello</p>\");\n * // ➔ \"Hello\"\n * stripHtmlTags(\"<div><b>Bold</b> text</div>\");\n * // ➔ \"Bold text\"\n * stripHtmlTags(\"Line<br/>Break\");\n * // ➔ \"Line Break\"\n * stripHtmlTags(\"2 < 5 and 5 > 2\");\n * // ➔ \"2 < 5 and 5 > 2\"\n * stripHtmlTags(\"\");\n * // ➔ \"\"\n * stripHtmlTags(\" \");\n * // ➔ \"\"\n * stripHtmlTags(null);\n * // ➔ undefined\n * stripHtmlTags(undefined);\n * // ➔ undefined\n */\nexport function stripHtmlTags(input: string): string;\nexport function stripHtmlTags<T>(\n input: T\n): Extends<string, T> extends true ? string | undefined : undefined;\nexport function stripHtmlTags(input: unknown) {\n if (!isString(input)) {\n return undefined;\n }\n\n if (isEmptyString(input)) {\n return \"\";\n }\n\n // return input.replace(/<[^>]*>/g, \"\");\n const stripped = input.replace(/<\\/?[a-zA-Z][^<>]*\\/?>/g, \" \").trim();\n\n const cleaned = stripped.replace(/\\s+/g, \" \").trim();\n\n return cleaned;\n}\n","import { isNonEmptyString } from \"@/predicates/is/isNonEmptyString\";\n\n/** ----------------------------------------------------------\n * * ***Utility: `getInitialsName`.***\n * ----------------------------------------------------------\n * **Extracts initials from the given name string.**\n * - **Behavior:**\n * - For names with two or more words, returns the first letter of the first and second words.\n * - For a single word with 2+ characters, returns the first two letters.\n * - For a single character, returns that character.\n * - For `empty`, `null`, `undefined` or `whitespace-only input`, returns an empty string (`\"\"`).\n * @param {string | null | undefined} name - The name to extract initials from.\n * @returns {string} The extracted initials (e.g., \"JD\" for \"John Doe\").\n * @example\n * getInitialsName(\"Alice\"); // ➔ \"AL\"\n * getInitialsName(\"John Doe\"); // ➔ \"JD\"\n * getInitialsName(\" Bob Marley \"); // ➔ \"BM\"\n * getInitialsName(\"John Ronald Donal\"); // ➔ \"JR\"\n * getInitialsName(\"Lord John Doe Moe\"); // ➔ \"LJ\"\n * getInitialsName(\"X\"); // ➔ \"X\"\n * getInitialsName(\"\"); // ➔ \"\" (empty string)\n * getInitialsName(\" \"); // ➔ \"\" (empty string)\n * getInitialsName(null); // ➔ \"\" (null input)\n * getInitialsName(undefined); // ➔ \"\" (undefined input)\n */\nexport const getInitialsName = (name: string | null | undefined): string => {\n if (!isNonEmptyString(name)) return \"\"; // Handle empty string case\n\n // Trim spaces and remove duplicate spaces\n name = name.replace(/\\s+/g, \" \").trim();\n\n const nameParts = name.split(\" \");\n\n if (nameParts.length > 1) {\n if (!(nameParts[0] && nameParts[1] && nameParts[1][0])) return \"\";\n\n // First letter of first and second words\n return (nameParts[0][0] + nameParts[1][0]).toUpperCase();\n }\n\n return name.length > 1\n ? name.substring(0, 2).toUpperCase()\n : // First two letters for single-word names\n (name[0]?.toUpperCase() ?? \"\");\n};\n","import { isNumber } from \"@/predicates/is/isNumber\";\nimport { isString } from \"@/predicates/is/isString\";\nimport { getPreciseType } from \"@/predicates/type/getPreciseType\";\n\n/** ----------------------------------------------------------\n * * ***Utility: `replaceAt`.***\n * ----------------------------------------------------------\n * **Replaces exactly one character at the specified index in the original string\n * with the provided `replaceTo` string.**\n * - **Behavior:**\n * - If `replaceTo` has more than one character,\n * the result will expand accordingly.\n * @param {number} index - The starting index where the replacement should occur.\n * @param {string} originalString - The original string to modify.\n * @param {string} replaceTo - The string to insert at the specified index.\n * @returns {string} The modified string with the replacement applied.\n * @example\n * replaceAt(3, \"hello\", \"X\");\n * // ➔ \"helXo\"\n * replaceAt(1, \"world\", \"AB\");\n * // ➔ \"wABrld\"\n * replaceAt(0, \"cat\", \"br\");\n * // ➔ \"brat\"\n * replaceAt(2, \"12345\", \"-\");\n * // ➔ \"12-45\"\n * replaceAt(4, \"ABCDE\", \"Z\");\n * // ➔ \"ABCDZ\"\n * // ❌ Examples that throw:\n * replaceAt(10, \"short\", \"X\");\n * // ➔ ❌ RangeError: First parameter (`index`) is out of range from second parameter `originalString`.\n * replaceAt(-1, \"test\", \"X\");\n * // ➔ ❌ RangeError: First parameter (`index`) is out of range from second parameter `originalString`.\n * replaceAt(\"1\", \"test\", \"X\");\n * // ➔ ❌ TypeError: First parameter `index` must be of type `number`, second parameter `originalString` and third parameter `replaceTo` must be of type `string`, but received: \"['index': `string`,...].\"\n * replaceAt(2, null, \"X\");\n * // ➔ ❌ TypeError: First parameter `index` must be of type `number`, second parameter `originalString` and third parameter `replaceTo` must be of type `string`, but received: \"['index': `string`,...].\"\n */\nexport const replaceAt = (\n index: number,\n originalString: string,\n replaceTo: string\n): string => {\n if (!isNumber(index) || !isString(replaceTo) || !isString(originalString)) {\n throw new TypeError(\n `First parameter (\\`index\\`) must be of type \\`number\\`, second parameter (\\`originalString\\`) and third parameter (\\`replaceTo\\`) must be of type \\`string\\`, but received: \"['index': \\`${getPreciseType(\n index\n )}\\`, 'originalString': \\`${getPreciseType(\n originalString\n )}\\`, 'replaceTo': \\`${getPreciseType(replaceTo)}\\`]\".`\n );\n }\n\n // Handle edge cases\n if (index < 0 || index >= originalString.length) {\n throw new RangeError(\n \"First parameter (`index`) is out of range from second parameter (`originalString`).\"\n );\n }\n\n return (\n originalString.slice(0, index) + // Extract before the index\n replaceTo + // Insert replacement\n originalString.slice(index + 1) // Extract after replacement\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,MAAa,mBACX,QACA,UAAkC;CAChC,mBAAmB;CACnB,MAAM;CACP,KACU;CACX,IAAI,CAAC,iBAAiB,OAAO,EAAE,OAAO;CAEtC,IAAI,CAAC,cAAc,QAAQ,EACzB,UAAU,EAAE;CAGd,MAAM,oBAAoB,QAAQ,sBAAsB;CAGxD,IAFa,QAAQ,SAAS,MAEpB,SAAS,OAAO,MAAM;CAEhC,QACG,OAAO,KAAK,OAAO,GAAG,aAAa,GAAG,OACtC,oBAAoB,OAAO,MAAM,EAAE,CAAC,aAAa,GAAG,OAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfxE,MAAa,mBACX,OACA,UAAkC;CAChC,gBAAgB;CAChB,MAAM;CACP,KACU;CACX,IAAI,CAAC,iBAAiB,MAAM,EAAE,OAAO;CAErC,IAAI,SAAS;CAEb,IAAI,CAAC,cAAc,QAAQ,EACzB,UAAU,EAAE;CAGd,MAAM,iBAAiB,QAAQ,mBAAmB;CAGlD,IAFa,QAAQ,SAAS,MAG5B,SAAS,OAAO,MAAM;CAGxB,IAAI,gBAAgB;EAClB,MAAM,gBAAgB,OAAO,MAAM,OAAO,GAAG,MAAM;EACnD,MAAM,iBAAiB,OAAO,MAAM,OAAO,GAAG,MAAM;EACpD,SAAS,OAAO,MAAM,CAAC,QAAQ,QAAQ,IAAI;EAC3C,SAAS,GAAG,gBAAgB,SAAS;;CAGvC,OAAO,OACJ,aAAa,CACb,MAAM,IAAI,CACV,KAAK,SAAS,KAAK,OAAO,EAAE,CAAC,aAAa,GAAG,KAAK,MAAM,EAAE,CAAC,CAC3D,KAAK,IAAI;;;;;AC5Cd,SAAgB,cAAc,OAAgB;CAC5C,IAAI,CAAC,SAAS,MAAM,EAClB;CAGF,IAAI,cAAc,MAAM,EACtB,OAAO;CAQT,OAJiB,MAAM,QAAQ,2BAA2B,IAAI,CAAC,MAEvC,CAAC,QAAQ,QAAQ,IAAI,CAAC,MAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3BhB,MAAa,mBAAmB,SAA4C;CAC1E,IAAI,CAAC,iBAAiB,KAAK,EAAE,OAAO;CAGpC,OAAO,KAAK,QAAQ,QAAQ,IAAI,CAAC,MAAM;CAEvC,MAAM,YAAY,KAAK,MAAM,IAAI;CAEjC,IAAI,UAAU,SAAS,GAAG;EACxB,IAAI,EAAE,UAAU,MAAM,UAAU,MAAM,UAAU,GAAG,KAAK,OAAO;EAG/D,QAAQ,UAAU,GAAG,KAAK,UAAU,GAAG,IAAI,aAAa;;CAG1D,OAAO,KAAK,SAAS,IACjB,KAAK,UAAU,GAAG,EAAE,CAAC,aAAa,GAEjC,KAAK,IAAI,aAAa,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNjC,MAAa,aACX,OACA,gBACA,cACW;CACX,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,UAAU,IAAI,CAAC,SAAS,eAAe,EACvE,MAAM,IAAI,UACR,4LAA4L,eAC1L,MACD,CAAC,0BAA0B,eAC1B,eACD,CAAC,qBAAqB,eAAe,UAAU,CAAC,OAClD;CAIH,IAAI,QAAQ,KAAK,SAAS,eAAe,QACvC,MAAM,IAAI,WACR,sFACD;CAGH,OACE,eAAe,MAAM,GAAG,MAAM,GAC9B,YACA,eAAe,MAAM,QAAQ,EAAE"}
@@ -1,48 +1,20 @@
1
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 chunkAXGBL2IO_cjs = require('../chunk-AXGBL2IO.cjs');
13
- require('../chunk-4YLBKLGS.cjs');
14
- require('../chunk-RRQHMOPE.cjs');
15
- require('../chunk-GKC3UDMC.cjs');
16
-
17
- Object.defineProperty(exports, "cnV3", {
18
- enumerable: true,
19
- get: function () { return chunkAXGBL2IO_cjs.cnV3; }
20
- });
21
- Object.defineProperty(exports, "cnV4", {
22
- enumerable: true,
23
- get: function () { return chunkAXGBL2IO_cjs.cnV4; }
24
- });
25
- Object.defineProperty(exports, "customCnV3", {
26
- enumerable: true,
27
- get: function () { return chunkAXGBL2IO_cjs.customCnV3; }
28
- });
29
- Object.defineProperty(exports, "customCnV4", {
30
- enumerable: true,
31
- get: function () { return chunkAXGBL2IO_cjs.customCnV4; }
32
- });
33
- Object.defineProperty(exports, "cx", {
34
- enumerable: true,
35
- get: function () { return chunkAXGBL2IO_cjs.cx; }
36
- });
37
- Object.defineProperty(exports, "shouldForwardProp", {
38
- enumerable: true,
39
- get: function () { return chunkAXGBL2IO_cjs.shouldForwardProp; }
40
- });
41
- Object.defineProperty(exports, "twMergeDefaultV3", {
42
- enumerable: true,
43
- get: function () { return chunkAXGBL2IO_cjs.twMergeDefaultV3; }
44
- });
45
- Object.defineProperty(exports, "twMergeDefaultV4", {
46
- enumerable: true,
47
- get: function () { return chunkAXGBL2IO_cjs.twMergeDefaultV4; }
48
- });
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.1`
6
+ * Author: `Rizalvin Dwiky <rizalvindwiky@gmail.com>`
7
+ * Repository: `https://github.com/rzl-zone/rzl-zone/tree/main/packages/utils-js`
8
+ * ========================================================================
9
+ */
10
+ "use strict";
11
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
12
+ const require_tailwind = require('../tailwind-CHIx9uxu.cjs');
13
+ exports.cnV3 = require_tailwind.cnV3;
14
+ exports.cnV4 = require_tailwind.cnV4;
15
+ exports.customCnV3 = require_tailwind.customCnV3;
16
+ exports.customCnV4 = require_tailwind.customCnV4;
17
+ exports.cx = require_tailwind.cx;
18
+ exports.shouldForwardProp = require_tailwind.shouldForwardProp;
19
+ exports.twMergeDefaultV3 = require_tailwind.twMergeDefaultV3;
20
+ exports.twMergeDefaultV4 = require_tailwind.twMergeDefaultV4;
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.1`
6
+ * Author: `Rizalvin Dwiky <rizalvindwiky@gmail.com>`
7
+ * Repository: `https://github.com/rzl-zone/rzl-zone/tree/main/packages/utils-js`
8
+ * ========================================================================
9
+ */
10
+
11
+ import { a as customCnV4, c as ClassObject, d as cx, i as customCnV3, l as ClassValue, n as twMergeDefaultV3, o as cnV3, r as shouldForwardProp, s as cnV4, t as twMergeDefaultV4, u as ClassValues } from "../index-D4fcasfZ.cjs";
12
+ export { ClassObject, ClassValue, ClassValues, cnV3, cnV4, customCnV3, customCnV4, cx, shouldForwardProp, twMergeDefaultV3, twMergeDefaultV4 };