@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,598 +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
- 'use strict';
11
-
12
- var chunkBMZZXZJ2_cjs = require('./chunk-BMZZXZJ2.cjs');
13
- var chunkMUHRPRR7_cjs = require('./chunk-MUHRPRR7.cjs');
14
- var chunkXX6RUGTM_cjs = require('./chunk-XX6RUGTM.cjs');
15
- var chunkDVMHRLKP_cjs = require('./chunk-DVMHRLKP.cjs');
16
- var chunkWLOQQFDS_cjs = require('./chunk-WLOQQFDS.cjs');
17
- var chunkWXFTVXBF_cjs = require('./chunk-WXFTVXBF.cjs');
18
- var chunkDAPAK2W3_cjs = require('./chunk-DAPAK2W3.cjs');
19
- var chunkSYHPSOUU_cjs = require('./chunk-SYHPSOUU.cjs');
20
- var max = require('libphonenumber-js/max');
21
- var locale = require('date-fns/locale');
22
- var dateFns = require('date-fns');
23
-
24
- var formatIndianNumber = (numStr, separator) => {
25
- const lastThree = numStr.slice(-3);
26
- const rest = numStr.slice(0, -3);
27
- if (!rest) return lastThree;
28
- return rest.replace(/\B(?=(\d{2})+(?!\d))/g, separator) + separator + lastThree;
29
- };
30
- var formatCurrency = (value, options = {}) => {
31
- if (!chunkSYHPSOUU_cjs.isString(value) && !chunkXX6RUGTM_cjs.isFinite(value)) {
32
- throw new TypeError(
33
- `First parameter (\`value\`) must be of type \`string\` or \`primitive-number\`, but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
34
- value
35
- )}\`, with value: \`${chunkDAPAK2W3_cjs.safeStableStringify(value, {
36
- keepUndefined: true
37
- })}\`.`
38
- );
39
- }
40
- chunkSYHPSOUU_cjs.assertIsPlainObject(options, {
41
- message: ({ currentType, validType }) => `Second parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.`
42
- });
43
- const decimal = chunkSYHPSOUU_cjs.hasOwnProp(options, "decimal") ? options.decimal : false;
44
- const totalDecimal = chunkSYHPSOUU_cjs.hasOwnProp(options, "totalDecimal") ? options.totalDecimal : 2;
45
- const endDecimal = chunkSYHPSOUU_cjs.hasOwnProp(options, "endDecimal") ? options.endDecimal : true;
46
- const indianFormat = chunkSYHPSOUU_cjs.hasOwnProp(options, "indianFormat") ? options.indianFormat : false;
47
- const suffixCurrency = chunkSYHPSOUU_cjs.hasOwnProp(options, "suffixCurrency") ? options.suffixCurrency : "";
48
- const suffixDecimal = chunkSYHPSOUU_cjs.hasOwnProp(options, "suffixDecimal") ? options.suffixDecimal : "";
49
- const roundedDecimal = chunkSYHPSOUU_cjs.hasOwnProp(options, "roundedDecimal") ? options.roundedDecimal : "round";
50
- const negativeFormat = chunkSYHPSOUU_cjs.hasOwnProp(options, "negativeFormat") ? options.negativeFormat : "dash";
51
- let separatorDecimals = chunkSYHPSOUU_cjs.hasOwnProp(options, "separatorDecimals") ? options.separatorDecimals : ",";
52
- let separator = chunkSYHPSOUU_cjs.hasOwnProp(options, "separator") ? options.separator : ".";
53
- if (!chunkSYHPSOUU_cjs.isString(separator) || !chunkSYHPSOUU_cjs.isString(separatorDecimals) || !chunkSYHPSOUU_cjs.isString(suffixCurrency) || !chunkSYHPSOUU_cjs.isString(suffixDecimal)) {
54
- throw new TypeError(
55
- `Parameter \`separator\`, \`separatorDecimals\`, \`suffixCurrency\` and \`suffixDecimal\` property of the \`options\` (second parameter) must be of type \`string\`, but received: ['separator': \`${chunkSYHPSOUU_cjs.getPreciseType(
56
- separator
57
- )}\`, 'separatorDecimals': \`${chunkSYHPSOUU_cjs.getPreciseType(
58
- separatorDecimals
59
- )}\`, 'suffixCurrency': \`${chunkSYHPSOUU_cjs.getPreciseType(
60
- suffixCurrency
61
- )}\`, 'suffixDecimal': \`${chunkSYHPSOUU_cjs.getPreciseType(suffixDecimal)}\`].`
62
- );
63
- }
64
- if (!chunkSYHPSOUU_cjs.isBoolean(decimal) || !chunkSYHPSOUU_cjs.isBoolean(endDecimal) || !chunkSYHPSOUU_cjs.isBoolean(indianFormat)) {
65
- throw new TypeError(
66
- `Parameter \`decimal\`, \`endDecimal\` and \`indianFormat\` property of the \`options\` (second parameter) must be of type \`boolean\`, but received: ['decimal': \`${chunkSYHPSOUU_cjs.getPreciseType(
67
- decimal
68
- )}\`, 'endDecimal': \`${chunkSYHPSOUU_cjs.getPreciseType(
69
- endDecimal
70
- )}\`, 'indianFormat': \`${chunkSYHPSOUU_cjs.getPreciseType(indianFormat)}\`].`
71
- );
72
- }
73
- if (!chunkDVMHRLKP_cjs.isInteger(totalDecimal)) {
74
- throw new TypeError(
75
- `Parameter \`totalDecimal\` property of the \`options\` (second parameter) must be of type \`integer-number\`, but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
76
- totalDecimal
77
- )}\`, with value: \`${chunkDAPAK2W3_cjs.safeStableStringify(length, {
78
- keepUndefined: true
79
- })}\`.`
80
- );
81
- }
82
- if (!(roundedDecimal === false || roundedDecimal === "round" || roundedDecimal === "ceil" || roundedDecimal === "floor")) {
83
- throw new TypeError(
84
- `Parameter \`roundedDecimal\` property of the \`options\` (second parameter) must be of type \`false\` or \`string\` must be one of "round" | "ceil" | "floor", but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
85
- roundedDecimal
86
- )}\`, with value: \`${chunkDAPAK2W3_cjs.safeStableStringify(roundedDecimal, {
87
- keepUndefined: true
88
- })}\`.`
89
- );
90
- }
91
- if (!(negativeFormat === "abs" || negativeFormat === "brackets" || negativeFormat === "dash" || chunkSYHPSOUU_cjs.isPlainObject(negativeFormat))) {
92
- throw new TypeError(
93
- `Parameter \`negativeFormat\` property of the \`options\` (second parameter) must be of type \`string\` must be one of "abs" | "brackets" | "dash" or \`plain-object\` type, but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
94
- negativeFormat
95
- )}\`, with value: \`${chunkDAPAK2W3_cjs.safeStableStringify(negativeFormat, {
96
- keepUndefined: true
97
- })}\`.`
98
- );
99
- }
100
- const rawNum = chunkSYHPSOUU_cjs.isString(value) ? chunkMUHRPRR7_cjs.parseCurrencyString(value) : value;
101
- if (chunkSYHPSOUU_cjs.isNaN(rawNum)) {
102
- throw new TypeError(
103
- `First parameter (\`value\`) could not be parsed into a valid \`number\`.`
104
- );
105
- }
106
- let integerPart = "";
107
- let decimalPartRaw = "";
108
- let num = Math.abs(rawNum);
109
- const factor = Math.pow(10, totalDecimal);
110
- if (roundedDecimal) {
111
- const scaled = num * factor;
112
- switch (roundedDecimal) {
113
- case "round":
114
- num = Math.round(scaled) / factor;
115
- break;
116
- case "ceil":
117
- num = Math.ceil(scaled) / factor;
118
- break;
119
- case "floor":
120
- num = Math.floor(scaled) / factor;
121
- break;
122
- }
123
- }
124
- if (roundedDecimal) {
125
- [integerPart, decimalPartRaw] = num.toFixed(totalDecimal).split(".");
126
- decimalPartRaw = decimalPartRaw ?? "".padEnd(totalDecimal, "0");
127
- } else {
128
- const split = String(num).split(".");
129
- integerPart = split[0];
130
- decimalPartRaw = (split[1] || "").slice(0, totalDecimal).padEnd(totalDecimal, "0");
131
- }
132
- let formattedInteger;
133
- if (indianFormat) {
134
- separator = ",";
135
- separatorDecimals = ".";
136
- formattedInteger = (suffixCurrency.trim().length ? suffixCurrency : "") + formatIndianNumber(integerPart, separator);
137
- } else {
138
- formattedInteger = (suffixCurrency.trim().length ? suffixCurrency : "") + integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, separator);
139
- }
140
- if (decimal && !chunkSYHPSOUU_cjs.isUndefined(decimalPartRaw) && totalDecimal > 0) {
141
- let formattedDecimal = separatorDecimals + decimalPartRaw;
142
- if (endDecimal) formattedDecimal += suffixDecimal;
143
- formattedInteger += formattedDecimal;
144
- }
145
- if (rawNum < 0) {
146
- if (negativeFormat === "dash") {
147
- formattedInteger = "-" + formattedInteger;
148
- } else if (negativeFormat === "brackets") {
149
- formattedInteger = "(" + formattedInteger + ")";
150
- } else if (negativeFormat === "abs") ; else if (chunkSYHPSOUU_cjs.isPlainObject(negativeFormat)) {
151
- if (chunkSYHPSOUU_cjs.hasOwnProp(negativeFormat, "custom")) {
152
- const formatCustomNegative = negativeFormat.custom;
153
- if (!chunkSYHPSOUU_cjs.isFunction(formatCustomNegative)) {
154
- throw new TypeError(
155
- `Parameter \`negativeFormat.custom\` property of the \`options\` (second parameter) must be of type function: \`(formatted: string) => string\`, but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
156
- formatCustomNegative
157
- )}\`.`
158
- );
159
- }
160
- const result = formatCustomNegative(formattedInteger);
161
- chunkWXFTVXBF_cjs.assertIsString(result, {
162
- message: ({ currentType, validType }) => `Parameter \`negativeFormat.custom\` property of the \`options\` (second parameter) expected return a \`${validType}\` type value, but received: \`${currentType}\`.`
163
- });
164
- formattedInteger = result;
165
- } else {
166
- const formatStyleNegative = negativeFormat.style || "dash";
167
- const formatSpaceNegative = !chunkSYHPSOUU_cjs.isUndefined(negativeFormat.space) ? negativeFormat.space : false;
168
- chunkSYHPSOUU_cjs.assertIsBoolean(formatSpaceNegative, {
169
- message: ({ currentType, validType }) => `Parameter \`negativeFormat.space\` property of the \`options\` (second parameter) must be of type \`${validType} or undefined\`, but received: \`${currentType}\`.`
170
- });
171
- if (!(formatStyleNegative === "abs" || formatStyleNegative === "brackets" || formatStyleNegative === "dash")) {
172
- throw new TypeError(
173
- `Parameter \`negativeFormat.style\` property of the \`options\` (second parameter) must be of type \`string\` must be of type "abs" | "brackets" | "dash", but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
174
- formatStyleNegative
175
- )}\`, with value: \`${chunkDAPAK2W3_cjs.safeStableStringify(formatStyleNegative, {
176
- keepUndefined: true
177
- })}\`.`
178
- );
179
- }
180
- switch (formatStyleNegative) {
181
- case "dash":
182
- formattedInteger = "-" + (formatSpaceNegative ? " " : "") + formattedInteger;
183
- break;
184
- case "brackets":
185
- formattedInteger = formatSpaceNegative ? `( ${formattedInteger} )` : `(${formattedInteger})`;
186
- break;
187
- }
188
- }
189
- }
190
- }
191
- return formattedInteger;
192
- };
193
-
194
- var formatNumber = (value, separator = ",") => {
195
- if (!chunkSYHPSOUU_cjs.isString(value) && !chunkXX6RUGTM_cjs.isFinite(value)) {
196
- throw new TypeError(
197
- `First parameter (\`value\`) must be of type \`string\` or \`primitive number\`, but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
198
- value
199
- )}\`.`
200
- );
201
- }
202
- if (!chunkSYHPSOUU_cjs.isString(separator)) {
203
- throw new TypeError(
204
- `Second parameter (\`separator\`) must be of type \`string\` or empty as \`undefined\`, but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
205
- separator
206
- )}\`.`
207
- );
208
- }
209
- separator = chunkSYHPSOUU_cjs.isString(separator) ? separator : ",";
210
- const decimalSeparator = separator === "." ? "," : separator === "," ? "." : ".";
211
- const stringValue = value.toString().trim();
212
- const lastDot = stringValue.lastIndexOf(".");
213
- const lastComma = stringValue.lastIndexOf(",");
214
- let actualDecimal = "";
215
- if (lastDot > lastComma) {
216
- actualDecimal = ".";
217
- } else if (lastComma > lastDot) {
218
- actualDecimal = ",";
219
- }
220
- let integerPart = stringValue;
221
- let decimalPart = "";
222
- if (actualDecimal) {
223
- const parts = stringValue.split(actualDecimal);
224
- integerPart = parts.slice(0, -1).join(actualDecimal);
225
- decimalPart = parts.slice(-1)[0];
226
- }
227
- integerPart = integerPart.replace(/[^\d]/g, "");
228
- const formattedInteger = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, separator);
229
- return decimalPart ? `${formattedInteger}${decimalSeparator}${decimalPart}` : formattedInteger;
230
- };
231
- var parsingAsYouType = (value, defaultCountry) => {
232
- let parsed;
233
- try {
234
- parsed = new max.AsYouType(defaultCountry);
235
- parsed.input(value);
236
- return parsed;
237
- } catch {
238
- parsed?.reset();
239
- return void 0;
240
- }
241
- };
242
- var isValidParseAsYouType = (parsedAsYouType) => {
243
- const parsed = !!parsedAsYouType?.isValid() && !!parsedAsYouType.getNumber();
244
- return parsed;
245
- };
246
-
247
- function formatPhoneNumber(value, options = {}) {
248
- if (chunkSYHPSOUU_cjs.isNil(value)) return "";
249
- if (!chunkSYHPSOUU_cjs.isString(value) && !chunkSYHPSOUU_cjs.isNumber(value)) {
250
- throw new TypeError(
251
- `First parameter (\`value\`) must be of type \`string\`, \`number\`, \`null\` or \`undefined\`, but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
252
- value
253
- )}\`.`
254
- );
255
- }
256
- chunkSYHPSOUU_cjs.assertIsPlainObject(options, {
257
- message: ({ currentType, validType }) => `Second parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.`
258
- });
259
- const takeNumberOnly = chunkSYHPSOUU_cjs.hasOwnProp(options, "takeNumberOnly") ? options.takeNumberOnly : false;
260
- const checkValidOnly = chunkSYHPSOUU_cjs.hasOwnProp(options, "checkValidOnly") ? options.checkValidOnly : false;
261
- const defaultCountry = chunkSYHPSOUU_cjs.hasOwnProp(
262
- options,
263
- "defaultCountry"
264
- ) ? options.defaultCountry : void 0;
265
- const separator = chunkSYHPSOUU_cjs.hasOwnProp(options, "separator") ? options.separator : " ";
266
- const prependPlusCountryCode = chunkSYHPSOUU_cjs.hasOwnProp(options, "prependPlusCountryCode") ? options.prependPlusCountryCode : true;
267
- const outputFormat = chunkSYHPSOUU_cjs.hasOwnProp(options, "outputFormat") ? options.outputFormat : "INTERNATIONAL";
268
- const openingNumberCountry = chunkSYHPSOUU_cjs.hasOwnProp(options, "openingNumberCountry") ? options.openingNumberCountry : "";
269
- const closingNumberCountry = chunkSYHPSOUU_cjs.hasOwnProp(options, "closingNumberCountry") ? options.closingNumberCountry : "";
270
- if (!chunkSYHPSOUU_cjs.isBoolean(takeNumberOnly) || !chunkSYHPSOUU_cjs.isBoolean(checkValidOnly) || !chunkSYHPSOUU_cjs.isBoolean(prependPlusCountryCode)) {
271
- throw new TypeError(
272
- `Parameter \`takeNumberOnly\`, \`checkValidOnly\` and \`prependPlusCountryCode\` property of the \`options\` (second parameter) must be of type \`boolean\` or unset as \`undefined\` value, but received: ['takeNumberOnly': \`${chunkSYHPSOUU_cjs.getPreciseType(
273
- takeNumberOnly
274
- )}\`, 'checkValidOnly': \`${chunkSYHPSOUU_cjs.getPreciseType(
275
- checkValidOnly
276
- )}\`, 'prependPlusCountryCode': \`${chunkSYHPSOUU_cjs.getPreciseType(prependPlusCountryCode)}\`].`
277
- );
278
- }
279
- if (!chunkSYHPSOUU_cjs.isUndefined(defaultCountry) && !max.isSupportedCountry(defaultCountry)) {
280
- throw new TypeError(
281
- `Parameter \`defaultCountry\` property of the \`options\` (second parameter) must be of type \`string\` as \`CountryCode\` (ISO-3166-1 alpha-2) or unset as \`undefined\` value, but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
282
- defaultCountry
283
- )}\`, with value: \`${chunkDAPAK2W3_cjs.safeStableStringify(defaultCountry, {
284
- keepUndefined: true
285
- })}\`.
286
-
287
- See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements, for all ISO 3166-1 alpha-2 code.`
288
- );
289
- }
290
- if (!["INTERNATIONAL", "NATIONAL", "RFC3966", "E.164"].includes(outputFormat)) {
291
- throw new TypeError(
292
- `Parameter \`outputFormat\` property of the \`options\` (second parameter) must be of type \`string\` as \`OutputFormat\` ("NATIONAL" | "INTERNATIONAL" | "E.164" | "RFC3966") or unset as \`undefined\` (default value to: \`INTERNATIONAL\`) value, but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
293
- outputFormat
294
- )}\`, with value: ${chunkDAPAK2W3_cjs.safeStableStringify(outputFormat, { keepUndefined: true })}.`
295
- );
296
- }
297
- if (!chunkSYHPSOUU_cjs.isString(separator) || !chunkSYHPSOUU_cjs.isString(openingNumberCountry) || !chunkSYHPSOUU_cjs.isString(closingNumberCountry)) {
298
- throw new TypeError(
299
- `Parameter \`separator\`, \`plusNumberCountry\`, \`openingNumberCountry\` and \`closingNumberCountry\` property of the \`options\` (second parameter) must be of type \`string\` or unset as \`undefined\` value, but received: ['separator': \`${chunkSYHPSOUU_cjs.getPreciseType(
300
- separator
301
- )}\`,'openingNumberCountry': \`${chunkSYHPSOUU_cjs.getPreciseType(
302
- openingNumberCountry
303
- )}\`, 'closingNumberCountry': \`${chunkSYHPSOUU_cjs.getPreciseType(closingNumberCountry)}\`].`
304
- );
305
- }
306
- if (!chunkSYHPSOUU_cjs.isString(value)) value = String(value);
307
- const parsedPhoneNumber = parsingAsYouType(value, defaultCountry);
308
- const validPhoneNumber = isValidParseAsYouType(parsedPhoneNumber);
309
- if (checkValidOnly) return validPhoneNumber;
310
- if (!validPhoneNumber) return "";
311
- if (takeNumberOnly) {
312
- return parsedPhoneNumber.getNumber().formatNational().replace(/\D/g, "");
313
- }
314
- const num = parsedPhoneNumber.getNumber();
315
- const intlNumb = num.format(outputFormat);
316
- if (outputFormat === "INTERNATIONAL") {
317
- const [cc, ...rest] = intlNumb.split(" ");
318
- const countryCode = prependPlusCountryCode ? cc : cc.replace(/^\++/, "");
319
- const restWithSeparator = rest.join(separator);
320
- if (chunkSYHPSOUU_cjs.isNonEmptyString(openingNumberCountry) && chunkSYHPSOUU_cjs.isNonEmptyString(closingNumberCountry)) {
321
- return `${openingNumberCountry}${countryCode}${closingNumberCountry} ${restWithSeparator}`;
322
- }
323
- return `${countryCode} ${restWithSeparator}`;
324
- }
325
- if (outputFormat === "NATIONAL") {
326
- const restWithSeparator = intlNumb.split(" ").join(separator);
327
- return `${restWithSeparator}`;
328
- }
329
- return intlNumb;
330
- }
331
-
332
- var hashSeedGenerate = (mode, email) => {
333
- const generateSeed = () => {
334
- let hash = 0;
335
- for (let i = 0; i < email.length; i++) {
336
- hash = (hash << 5) - hash + email.charCodeAt(i);
337
- hash |= 0;
338
- }
339
- return Math.abs(hash);
340
- };
341
- return mode === "fixed" ? generateSeed() : void 0;
342
- };
343
- var _censor = (str, minCensor, maxPercentage, hashSeed) => {
344
- if (str.length <= minCensor) return "*".repeat(str.length);
345
- const strArr = str.split("");
346
- const totalCensor = Math.max(minCensor, Math.ceil(str.length * maxPercentage));
347
- const indexes = /* @__PURE__ */ new Set();
348
- let i = 0;
349
- while (indexes.size < totalCensor) {
350
- const idx = !chunkSYHPSOUU_cjs.isUndefined(hashSeed) ? (hashSeed + str.length + i * 31) % str.length : Math.floor(Math.random() * str.length);
351
- indexes.add(idx);
352
- i++;
353
- }
354
- for (const index of indexes) {
355
- strArr[index] = "*";
356
- }
357
- return strArr.join("");
358
- };
359
-
360
- var censorEmail = (email, options = {}) => {
361
- if (!chunkSYHPSOUU_cjs.isNonEmptyString(email)) return "";
362
- chunkSYHPSOUU_cjs.assertIsPlainObject(options, {
363
- message: ({ currentType, validType }) => `Second parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.`
364
- });
365
- const mode = chunkSYHPSOUU_cjs.hasOwnProp(options, "mode") ? options.mode : "fixed";
366
- if (mode !== "random" && mode !== "fixed") {
367
- throw new TypeError(
368
- `Parameter \`mode\` property of the \`options\` (second parameter) must be one of "fixed" or "random", but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
369
- mode
370
- )}\`, with value: \`${chunkDAPAK2W3_cjs.safeStableStringify(mode, {
371
- keepUndefined: true
372
- })}\`.`
373
- );
374
- }
375
- const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
376
- if (!emailRegex.test(email)) return "";
377
- const [local, domain] = email.split("@");
378
- const domainParts = domain.split(".");
379
- if (domainParts.length < 2) return "";
380
- const [domainName, ...tldParts] = domainParts;
381
- const tld = tldParts.join(".");
382
- const hashSeed = hashSeedGenerate(mode, email);
383
- const localMinCensor = local.length < 4 ? 1 : 2;
384
- const domainMinCensor = domainName.length < 4 ? 1 : 2;
385
- const censoredLocal = _censor(local, localMinCensor, 0.6, hashSeed);
386
- const censoredDomain = _censor(domainName, domainMinCensor, 0.5, hashSeed);
387
- const censoredTLD = tld.length <= 2 ? tld : _censor(tld, 1, 0.4, hashSeed);
388
- return `${censoredLocal}@${censoredDomain}.${censoredTLD}`;
389
- };
390
-
391
- function chunkString(subject, limiter, options = {}) {
392
- if (chunkSYHPSOUU_cjs.isNil(subject) || limiter <= 0) return subject;
393
- chunkWXFTVXBF_cjs.assertIsString(subject, {
394
- message: ({ currentType, validType }) => `First parameter (\`subject\`) must be of type \`${validType}\`, but received: \`${currentType}\`.`
395
- });
396
- if (!chunkDVMHRLKP_cjs.isInteger(limiter)) {
397
- throw new TypeError(
398
- `Second parameter (\`limiter\`) must be of type \`integer-number\`, but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
399
- limiter
400
- )}\`, with value: \`${chunkDAPAK2W3_cjs.safeStableStringify(limiter, {
401
- keepUndefined: true
402
- })}\`.`
403
- );
404
- }
405
- chunkSYHPSOUU_cjs.assertIsPlainObject(options, {
406
- message: ({ currentType, validType }) => `Third parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.`
407
- });
408
- const separator = chunkSYHPSOUU_cjs.hasOwnProp(options, "separator") ? options.separator : " ";
409
- const reCountAfterSpace = chunkSYHPSOUU_cjs.hasOwnProp(options, "reCountAfterSpace") ? options.reCountAfterSpace : false;
410
- chunkWXFTVXBF_cjs.assertIsString(separator, {
411
- message: ({ currentType, validType }) => `Parameter \`separator\` property of the \`options\` (third parameter) must be of type \`${validType}\`, but received: \`${currentType}\`.`
412
- });
413
- chunkSYHPSOUU_cjs.assertIsBoolean(reCountAfterSpace, {
414
- message: ({ currentType, validType }) => `Parameter \`reCountAfterSpace\` property of the \`options\` (third parameter) must be of type \`${validType}\`, but received: \`${currentType}\`.`
415
- });
416
- subject = chunkBMZZXZJ2_cjs.normalizeSpaces(subject);
417
- if (!reCountAfterSpace) {
418
- let result = "";
419
- let currentCount = 0;
420
- for (let i = 0; i < subject.length; i++) {
421
- const char = subject[i];
422
- if (currentCount === limiter) {
423
- result += separator;
424
- currentCount = 0;
425
- }
426
- result += char;
427
- currentCount++;
428
- }
429
- return result;
430
- }
431
- const words = subject.split(" ");
432
- const finalSegments = [];
433
- let currentGroup = [];
434
- let wordsInCurrentGroupCount = 0;
435
- for (let i = 0; i < words.length; i++) {
436
- const word = words[i];
437
- let processedWord = "";
438
- let charCountInWord = 0;
439
- for (let j = 0; j < word.length; j++) {
440
- processedWord += word[j];
441
- charCountInWord++;
442
- if (charCountInWord === limiter && j < word.length - 1) {
443
- processedWord += separator;
444
- charCountInWord = 0;
445
- }
446
- }
447
- currentGroup.push(processedWord);
448
- wordsInCurrentGroupCount++;
449
- if (wordsInCurrentGroupCount === limiter || i === words.length - 1) {
450
- finalSegments.push(currentGroup.join(separator));
451
- currentGroup = [];
452
- wordsInCurrentGroupCount = 0;
453
- }
454
- }
455
- return finalSegments.join(" ");
456
- }
457
-
458
- var truncateString = (text, options = {}) => {
459
- if (!chunkSYHPSOUU_cjs.isNonEmptyString(text)) return "";
460
- chunkSYHPSOUU_cjs.assertIsPlainObject(options, {
461
- message: ({ currentType, validType }) => `Seconds parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.`
462
- });
463
- const trim = chunkSYHPSOUU_cjs.hasOwnProp(options, "trim") ? options.trim : true;
464
- const length2 = chunkSYHPSOUU_cjs.hasOwnProp(options, "length") ? options.length : 10;
465
- let ending = chunkSYHPSOUU_cjs.hasOwnProp(options, "ending") ? options.ending : "...";
466
- if (!chunkDVMHRLKP_cjs.isInteger(length2)) {
467
- throw new TypeError(
468
- `Parameter \`length\` property of the \`options\` (second parameter) must be of type \`integer-number\`, but received: \`${chunkSYHPSOUU_cjs.getPreciseType(
469
- length2
470
- )}\`, with value: \`${chunkDAPAK2W3_cjs.safeStableStringify(length2, {
471
- keepUndefined: true
472
- })}\`.`
473
- );
474
- }
475
- if (length2 < 1) return "";
476
- chunkWXFTVXBF_cjs.assertIsString(ending, {
477
- message: ({ currentType, validType }) => `Parameter \`ending\` property of the \`options\` (second parameter) must be of type \`${validType}\`, but received: \`${currentType}\`.`
478
- });
479
- chunkSYHPSOUU_cjs.assertIsBoolean(trim, {
480
- message: ({ currentType, validType }) => `Parameter \`trim\` property of the \`options\` (second parameter) must be of type \`${validType}\`, but received: \`${currentType}\`.`
481
- });
482
- if (chunkWLOQQFDS_cjs.isEmptyString(ending)) {
483
- ending = "...";
484
- } else {
485
- ending = ending.trim();
486
- }
487
- const original = trim ? text.trim() : text;
488
- const originalTrimmedLength = original.length;
489
- if (originalTrimmedLength <= length2) return original;
490
- const sliced = original.slice(0, length2);
491
- const cleanSliced = trim ? sliced : sliced.trimEnd();
492
- return cleanSliced + ending;
493
- };
494
- var formatDateFns = (date, options = {}) => {
495
- if (chunkSYHPSOUU_cjs.isNil(date) || !(chunkDAPAK2W3_cjs.isDate(date) || chunkSYHPSOUU_cjs.isNonEmptyString(date))) return null;
496
- if (!chunkSYHPSOUU_cjs.isPlainObject(options)) {
497
- options = {};
498
- }
499
- const { inputFormat, locale: locale$1 = "en", inputLocale = "en", ...restOptions } = options;
500
- const format = chunkSYHPSOUU_cjs.hasOwnProp(options, "format") && chunkSYHPSOUU_cjs.isNonEmptyString(options.format) ? options.format : "dd MMM yyyy - HH:mm:ss";
501
- let parsedDate;
502
- try {
503
- if (chunkSYHPSOUU_cjs.isNonEmptyString(date) && inputFormat && inputLocale) {
504
- const valueOfInputLocale = chunkSYHPSOUU_cjs.isNonEmptyString(inputLocale) ? inputLocale === "id" ? locale.id : locale.enUS : inputLocale;
505
- parsedDate = dateFns.parse(date, inputFormat, /* @__PURE__ */ new Date(), {
506
- locale: valueOfInputLocale
507
- });
508
- } else {
509
- parsedDate = new Date(date);
510
- }
511
- if (chunkSYHPSOUU_cjs.isNaN(parsedDate.getTime())) return null;
512
- const valueOfLocale = chunkSYHPSOUU_cjs.isNonEmptyString(locale$1) ? locale$1 === "id" ? locale.id : locale.enUS : locale$1;
513
- return dateFns.format(parsedDate, format, {
514
- ...restOptions,
515
- locale: valueOfLocale
516
- });
517
- } catch {
518
- return null;
519
- }
520
- };
521
-
522
- var formatDateIntl = (date, options) => {
523
- if (chunkSYHPSOUU_cjs.isNil(date) || !(chunkDAPAK2W3_cjs.isDate(date) || chunkSYHPSOUU_cjs.isNonEmptyString(date))) return null;
524
- const parsedDate = new Date(date);
525
- if (chunkSYHPSOUU_cjs.isNaN(parsedDate.getTime())) return null;
526
- if (!chunkSYHPSOUU_cjs.isPlainObject(options)) {
527
- options = {};
528
- }
529
- const { locale = "en-US", ...restProps } = options;
530
- try {
531
- return new Intl.DateTimeFormat(
532
- chunkSYHPSOUU_cjs.isNonEmptyString(locale) ? locale.trim() : "en-US",
533
- restProps
534
- ).format(parsedDate);
535
- } catch {
536
- return null;
537
- }
538
- };
539
-
540
- var formatDateTime = (date, format) => {
541
- if (chunkSYHPSOUU_cjs.isNil(format)) {
542
- format = "YYYY-MM-DD hh:mm:ss";
543
- }
544
- if (!chunkSYHPSOUU_cjs.isString(format)) return null;
545
- if (chunkSYHPSOUU_cjs.isNil(date) || !(chunkDAPAK2W3_cjs.isDate(date) || chunkSYHPSOUU_cjs.isNonEmptyString(date))) {
546
- return null;
547
- }
548
- try {
549
- const parsedDate = new Date(date);
550
- if (chunkSYHPSOUU_cjs.isNaN(parsedDate.getTime())) return null;
551
- const pad2 = (n) => n.toString().padStart(2, "0");
552
- const map = {
553
- YYYY: parsedDate.getFullYear().toString(),
554
- MM: pad2(parsedDate.getMonth() + 1),
555
- DD: pad2(parsedDate.getDate()),
556
- hh: pad2(parsedDate.getHours()),
557
- mm: pad2(parsedDate.getMinutes()),
558
- ss: pad2(parsedDate.getSeconds())
559
- };
560
- const result = Object.entries(map).reduce(
561
- (prev, [key, value]) => prev.split(key).join(value),
562
- format
563
- );
564
- return !result.includes("NaN") ? result : null;
565
- } catch {
566
- return null;
567
- }
568
- };
569
-
570
- var getGMTOffset = (date) => {
571
- try {
572
- if (chunkSYHPSOUU_cjs.isNil(date) || chunkSYHPSOUU_cjs.isString(date) && chunkWLOQQFDS_cjs.isEmptyString(date)) {
573
- date = /* @__PURE__ */ new Date();
574
- } else if (!(chunkDAPAK2W3_cjs.isDate(date) || chunkSYHPSOUU_cjs.isNonEmptyString(date))) {
575
- return "0";
576
- }
577
- const parsedDate = new Date(date);
578
- if (chunkSYHPSOUU_cjs.isNaN(parsedDate.getTime())) return "0";
579
- const padZero = (num) => num.toString().padStart(2, "0");
580
- let offset = parsedDate.getTimezoneOffset();
581
- const sign = offset < 0 ? "+" : "-";
582
- offset = Math.abs(offset);
583
- return `${sign}${padZero(Math.floor(offset / 60))}${padZero(offset % 60)}`;
584
- } catch {
585
- return "0";
586
- }
587
- };
588
-
589
- exports.censorEmail = censorEmail;
590
- exports.chunkString = chunkString;
591
- exports.formatCurrency = formatCurrency;
592
- exports.formatDateFns = formatDateFns;
593
- exports.formatDateIntl = formatDateIntl;
594
- exports.formatDateTime = formatDateTime;
595
- exports.formatNumber = formatNumber;
596
- exports.formatPhoneNumber = formatPhoneNumber;
597
- exports.getGMTOffset = getGMTOffset;
598
- exports.truncateString = truncateString;
@@ -1,32 +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 { isBigInt } from './chunk-QNKGP5DY.js';
11
- import { resolveErrorMessageAssertions, hasOwnProp, isNumber } from './chunk-MSUW5VHZ.js';
12
-
13
- var assertIsBigInt = (value, options = {}) => {
14
- if (isBigInt(value)) return;
15
- resolveErrorMessageAssertions({
16
- value,
17
- options,
18
- requiredValidType: "bigint"
19
- });
20
- };
21
-
22
- var assertIsNumber = (value, options = {}) => {
23
- const includeNaN = hasOwnProp(options, "includeNaN") ? options.includeNaN : void 0;
24
- if (isNumber(value, { includeNaN })) return;
25
- resolveErrorMessageAssertions({
26
- value,
27
- options,
28
- requiredValidType: "number"
29
- });
30
- };
31
-
32
- export { assertIsBigInt, assertIsNumber };