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