@rzl-zone/utils-js 3.12.0 → 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 -214
  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 -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 +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-2AFQ33D3.cjs +0 -64
  213. package/dist/chunk-2CYDJVGM.js +0 -246
  214. package/dist/chunk-2MW4JDQ2.cjs +0 -598
  215. package/dist/chunk-2VTDXC3N.cjs +0 -1825
  216. package/dist/chunk-44XX2P34.js +0 -209
  217. package/dist/chunk-4YLBKLGS.cjs +0 -18
  218. package/dist/chunk-566CXQW7.cjs +0 -560
  219. package/dist/chunk-57EPKYID.cjs +0 -397
  220. package/dist/chunk-5MGEC3YG.js +0 -63
  221. package/dist/chunk-6EF52423.cjs +0 -249
  222. package/dist/chunk-6SCOKU3S.js +0 -109
  223. package/dist/chunk-6VUXD3CF.js +0 -119
  224. package/dist/chunk-7B76BSNK.cjs +0 -118
  225. package/dist/chunk-7Y6I2DSU.cjs +0 -101
  226. package/dist/chunk-A7S7E2EE.cjs +0 -308
  227. package/dist/chunk-AJZ6PMMZ.js +0 -16
  228. package/dist/chunk-AXGBL2IO.cjs +0 -251
  229. package/dist/chunk-B4TC6FBV.cjs +0 -678
  230. package/dist/chunk-BAV5T2E3.cjs +0 -15
  231. package/dist/chunk-BKIJBNIE.js +0 -21
  232. package/dist/chunk-BNIMTFK5.js +0 -59
  233. package/dist/chunk-BXW7YXB7.js +0 -1823
  234. package/dist/chunk-CFYZC4S6.js +0 -53
  235. package/dist/chunk-CSG4SCL3.js +0 -1587
  236. package/dist/chunk-CWQW7AKK.js +0 -676
  237. package/dist/chunk-DVMHRLKP.cjs +0 -16
  238. package/dist/chunk-EN7LVZBZ.js +0 -548
  239. package/dist/chunk-EV4Y7HCY.cjs +0 -26
  240. package/dist/chunk-F66VDYIZ.cjs +0 -18
  241. package/dist/chunk-FLJX37EL.cjs +0 -30
  242. package/dist/chunk-GKC3UDMC.cjs +0 -1623
  243. package/dist/chunk-H65I3GRZ.cjs +0 -106
  244. package/dist/chunk-HHYWB7VZ.js +0 -24
  245. package/dist/chunk-HNGGISFL.cjs +0 -65
  246. package/dist/chunk-HNSQAVSZ.cjs +0 -35
  247. package/dist/chunk-HSP6IWZK.js +0 -17
  248. package/dist/chunk-IDZS7J6T.js +0 -242
  249. package/dist/chunk-JS6R55VL.js +0 -302
  250. package/dist/chunk-JZVT5FK7.js +0 -232
  251. package/dist/chunk-KHO2SBNA.cjs +0 -16
  252. package/dist/chunk-KIDJCMNJ.js +0 -33
  253. package/dist/chunk-KOLEURVT.cjs +0 -38
  254. package/dist/chunk-L4V53MQK.cjs +0 -269
  255. package/dist/chunk-L5RDAVVH.js +0 -14
  256. package/dist/chunk-NODTV4F3.js +0 -16
  257. package/dist/chunk-NYK5K3V2.cjs +0 -211
  258. package/dist/chunk-ODUO3RTL.cjs +0 -113
  259. package/dist/chunk-ONZFBJVW.js +0 -14
  260. package/dist/chunk-PFXCTE37.js +0 -28
  261. package/dist/chunk-PPST7QAQ.js +0 -587
  262. package/dist/chunk-Q5IMYDFL.cjs +0 -33
  263. package/dist/chunk-QFFBIOJ4.js +0 -31
  264. package/dist/chunk-QNKGP5DY.js +0 -14
  265. package/dist/chunk-RRQHMOPE.cjs +0 -19
  266. package/dist/chunk-RU5OSRBU.js +0 -95
  267. package/dist/chunk-SDMPEJ4F.js +0 -35
  268. package/dist/chunk-SYNL5IKP.js +0 -115
  269. package/dist/chunk-TCDOWZQE.js +0 -16
  270. package/dist/chunk-TQPGXGKB.cjs +0 -123
  271. package/dist/chunk-TULOI4GL.js +0 -370
  272. package/dist/chunk-UBHCP4N5.cjs +0 -36
  273. package/dist/chunk-UCHF3M34.cjs +0 -56
  274. package/dist/chunk-UDA26MCU.cjs +0 -16
  275. package/dist/chunk-V3C4FYZL.cjs +0 -18
  276. package/dist/chunk-VAAHZFBF.js +0 -32
  277. package/dist/chunk-VJDDGRIK.cjs +0 -16
  278. package/dist/chunk-WVSPXFTY.js +0 -14
  279. package/dist/chunk-WYP76WXB.js +0 -101
  280. package/dist/chunk-YDE4ZBB7.cjs +0 -237
  281. package/dist/chunk-YKQEOO7C.cjs +0 -23
  282. package/dist/chunk-YSZC56SZ.js +0 -264
  283. package/dist/chunk-YWHHVDT4.js +0 -13
  284. package/dist/index.d.ts +0 -24
  285. package/dist/isPlainObject-DTJVV2Kf.d.ts +0 -536
  286. package/dist/rzl-utils.global.js +0 -10
@@ -0,0 +1,20 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.0`
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
+ const isBigInt = (value) => {
12
+ return typeof value === "bigint";
13
+ };
14
+ Object.defineProperty(exports, 'isBigInt', {
15
+ enumerable: true,
16
+ get: function () {
17
+ return isBigInt;
18
+ }
19
+ });
20
+ //# sourceMappingURL=isBigInt-B1cijjqm.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBigInt-B1cijjqm.cjs","names":[],"sources":["../src/predicates/is/isBigInt.ts"],"sourcesContent":["/** ----------------------------------------------------------\n * * ***Type guard: `isBigInt`.***\n * ----------------------------------------------------------\n * **Checks if a value is of type **[`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt)**.**\n * - **Behavior:**\n * - Uses `typeof value === \"bigint\"` for strict type checking.\n * - Supports TypeScript type narrowing with `value is bigint`.\n * - Returns `false` for `BigInt` object (object-wrapped), e.g:\n * - `Object(BigInt(123))`.\n * @param {*} value - The value to check.\n * @returns {boolean} Return `true` if value is a primitive bigint.\n * @example\n * isBigInt(123n);\n * // ➔ true\n * isBigInt(BigInt(123));\n * // ➔ true\n * isBigInt(\"123\");\n * // ➔ false\n * isBigInt(Object(BigInt(1)));\n * // ➔ false\n */\nexport const isBigInt = (value: unknown): value is bigint => {\n return typeof value === \"bigint\";\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAa,YAAY,UAAoC;CAC3D,OAAO,OAAO,UAAU"}
@@ -0,0 +1,14 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.0`
6
+ * Author: `Rizalvin Dwiky <rizalvindwiky@gmail.com>`
7
+ * Repository: `https://github.com/rzl-zone/rzl-zone/tree/main/packages/utils-js`
8
+ * ========================================================================
9
+ */
10
+ const isBigInt = (value) => {
11
+ return typeof value === "bigint";
12
+ };
13
+ export { isBigInt as t };
14
+ //# sourceMappingURL=isBigInt-C0bN0Rhu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBigInt-C0bN0Rhu.js","names":[],"sources":["../src/predicates/is/isBigInt.ts"],"sourcesContent":["/** ----------------------------------------------------------\n * * ***Type guard: `isBigInt`.***\n * ----------------------------------------------------------\n * **Checks if a value is of type **[`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt)**.**\n * - **Behavior:**\n * - Uses `typeof value === \"bigint\"` for strict type checking.\n * - Supports TypeScript type narrowing with `value is bigint`.\n * - Returns `false` for `BigInt` object (object-wrapped), e.g:\n * - `Object(BigInt(123))`.\n * @param {*} value - The value to check.\n * @returns {boolean} Return `true` if value is a primitive bigint.\n * @example\n * isBigInt(123n);\n * // ➔ true\n * isBigInt(BigInt(123));\n * // ➔ true\n * isBigInt(\"123\");\n * // ➔ false\n * isBigInt(Object(BigInt(1)));\n * // ➔ false\n */\nexport const isBigInt = (value: unknown): value is bigint => {\n return typeof value === \"bigint\";\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAa,YAAY,UAAoC;CAC3D,OAAO,OAAO,UAAU"}
@@ -0,0 +1,37 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.0`
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
+ const require_assertIsBoolean = require('./assertIsBoolean-DozdtbNi.cjs');
12
+ const isEmptyArray = (value) => {
13
+ if (!require_assertIsBoolean.isArray(value)) return true;
14
+ return value.length === 0;
15
+ };
16
+ function isEmptyObject(value, options = {}) {
17
+ if (!require_assertIsBoolean.isObject(value)) return true;
18
+ require_assertIsBoolean.assertIsPlainObject(options, { message: ({ currentType, validType }) => `Second parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.` });
19
+ const checkSymbols = require_assertIsBoolean.hasOwnProp(options, "checkSymbols") ? options.checkSymbols : false;
20
+ require_assertIsBoolean.assertIsBoolean(checkSymbols, { message: ({ currentType, validType }) => `Parameter \`checkSymbols\` property of the \`options\` (second parameter) must be of type \`${validType}\`, but received: \`${currentType}\`.` });
21
+ const hasNoKeys = Object.keys(value).length === 0;
22
+ if (checkSymbols) return hasNoKeys && Object.getOwnPropertySymbols(value).length === 0;
23
+ return hasNoKeys;
24
+ }
25
+ Object.defineProperty(exports, 'isEmptyArray', {
26
+ enumerable: true,
27
+ get: function () {
28
+ return isEmptyArray;
29
+ }
30
+ });
31
+ Object.defineProperty(exports, 'isEmptyObject', {
32
+ enumerable: true,
33
+ get: function () {
34
+ return isEmptyObject;
35
+ }
36
+ });
37
+ //# sourceMappingURL=isEmptyObject-DI42NEo0.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isEmptyObject-DI42NEo0.cjs","names":["isArray","isObject","hasOwnProp"],"sources":["../src/predicates/is/isEmptyArray.ts","../src/predicates/is/isEmptyObject.ts"],"sourcesContent":["import { isArray } from \"@/predicates/is/isArray\";\n\n/** ----------------------------------------------------------\n * * ***Predicate: `isEmptyArray`.***\n * ----------------------------------------------------------\n * **Checks whether a given value is an empty array.**\n * - **Behavior:**\n * - Non-array inputs are considered ***`empty`*** ***(defensive strategy)***.\n * @param {*} [value] - The value to check.\n * @returns {boolean} Returns `true` if it's ***not an array*** or ***an empty-array***.\n * @example\n * isEmptyArray([]); // ➔ true\n * isEmptyArray([1, 2, 3]); // ➔ false\n * isEmptyArray(\"not an array\"); // ➔ true\n * isEmptyArray(null); // ➔ true\n * isEmptyArray(undefined); // ➔ true\n *\n * if (isEmptyArray(data.items)) {\n * console.log(\"No items to display.\");\n * }\n */\nexport const isEmptyArray = (value: unknown): boolean => {\n if (!isArray(value)) return true;\n\n return value.length === 0;\n};\n","import { isObject } from \"./isObject\";\nimport { hasOwnProp } from \"../has/hasOwnProp\";\n\nimport { assertIsBoolean } from \"@/assertions/booleans/assertIsBoolean\";\nimport { assertIsPlainObject } from \"@/assertions/objects/assertIsPlainObject\";\n\ntype IsEmptyObjectOptions = {\n /** Whether to check for symbol properties in addition to string keys, defaultValue: `false`.\n *\n * @default false\n */\n checkSymbols?: boolean;\n};\n\n/** ----------------------------------------------------------\n * * ***Predicate: `isEmptyObject`.***\n * ----------------------------------------------------------\n * **Checks if a value is a plain object with **no own enumerable string-key properties**,\n * and optionally **no own enumerable symbol-key properties** when `checkSymbols` is `true`.**\n * - **Behavior:**\n * - If the value is **not an object** (e.g. `null`, array, primitive), it is considered empty.\n * - If `options.checkSymbols` is `true`, **symbol properties** are also checked.\n * @param {*} value - The value to check.\n * @param {IsEmptyObjectOptions} [options] - Optional settings.\n * @param {IsEmptyObjectOptions[\"checkSymbols\"]} [options.checkSymbols=false] - Whether to also check symbol properties.\n * @returns {boolean} Return `true` if the value is considered empty or not an object, false otherwise.\n * @example\n * isEmptyObject({});\n * // ➔ true\n * isEmptyObject({}, { checkSymbols: true });\n * // ➔ true\n * isEmptyObject({ a: 1 });\n * // ➔ false\n * isEmptyObject({ [Symbol('s')]: 1 });\n * // ➔ true\n * isEmptyObject({ [Symbol('s')]: 1 }, { checkSymbols: true });\n * // ➔ false\n * isEmptyObject(null);\n * // ➔ true (not object)\n * isEmptyObject([]);\n * // ➔ true (not plain object)\n * isEmptyObject(123);\n * // ➔ true (not object)\n */\nexport function isEmptyObject(\n value: unknown,\n options: IsEmptyObjectOptions = {}\n): boolean {\n if (!isObject(value)) {\n return true;\n }\n\n assertIsPlainObject(options, {\n message: ({ currentType, validType }) =>\n `Second parameter (\\`options\\`) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n const checkSymbols = hasOwnProp(options, \"checkSymbols\")\n ? options.checkSymbols\n : false;\n\n assertIsBoolean(checkSymbols, {\n message: ({ currentType, validType }) =>\n `Parameter \\`checkSymbols\\` property of the \\`options\\` (second parameter) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n const hasNoKeys = Object.keys(value).length === 0;\n if (checkSymbols) {\n return hasNoKeys && Object.getOwnPropertySymbols(value).length === 0;\n }\n return hasNoKeys;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAa,gBAAgB,UAA4B;CACvD,IAAI,CAACA,gCAAQ,MAAM,EAAE,OAAO;CAE5B,OAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACoB1B,SAAgB,cACd,OACA,UAAgC,EAAE,EACzB;CACT,IAAI,CAACC,iCAAS,MAAM,EAClB,OAAO;CAGT,4CAAoB,SAAS,EAC3B,UAAU,EAAE,aAAa,gBACvB,oDAAoD,UAAU,sBAAsB,YAAY,MACnG,CAAC;CAEF,MAAM,eAAeC,mCAAW,SAAS,eAAe,GACpD,QAAQ,eACR;CAEJ,wCAAgB,cAAc,EAC5B,UAAU,EAAE,aAAa,gBACvB,+FAA+F,UAAU,sBAAsB,YAAY,MAC9I,CAAC;CAEF,MAAM,YAAY,OAAO,KAAK,MAAM,CAAC,WAAW;CAChD,IAAI,cACF,OAAO,aAAa,OAAO,sBAAsB,MAAM,CAAC,WAAW;CAErE,OAAO"}
@@ -0,0 +1,25 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.0`
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 { M as isArray, T as assertIsPlainObject, b as hasOwnProp, j as isObject, t as assertIsBoolean } from "./assertIsBoolean-BlBct0Fc.js";
11
+ const isEmptyArray = (value) => {
12
+ if (!isArray(value)) return true;
13
+ return value.length === 0;
14
+ };
15
+ function isEmptyObject(value, options = {}) {
16
+ if (!isObject(value)) return true;
17
+ assertIsPlainObject(options, { message: ({ currentType, validType }) => `Second parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.` });
18
+ const checkSymbols = hasOwnProp(options, "checkSymbols") ? options.checkSymbols : false;
19
+ assertIsBoolean(checkSymbols, { message: ({ currentType, validType }) => `Parameter \`checkSymbols\` property of the \`options\` (second parameter) must be of type \`${validType}\`, but received: \`${currentType}\`.` });
20
+ const hasNoKeys = Object.keys(value).length === 0;
21
+ if (checkSymbols) return hasNoKeys && Object.getOwnPropertySymbols(value).length === 0;
22
+ return hasNoKeys;
23
+ }
24
+ export { isEmptyArray as n, isEmptyObject as t };
25
+ //# sourceMappingURL=isEmptyObject-DeLVIJpl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isEmptyObject-DeLVIJpl.js","names":[],"sources":["../src/predicates/is/isEmptyArray.ts","../src/predicates/is/isEmptyObject.ts"],"sourcesContent":["import { isArray } from \"@/predicates/is/isArray\";\n\n/** ----------------------------------------------------------\n * * ***Predicate: `isEmptyArray`.***\n * ----------------------------------------------------------\n * **Checks whether a given value is an empty array.**\n * - **Behavior:**\n * - Non-array inputs are considered ***`empty`*** ***(defensive strategy)***.\n * @param {*} [value] - The value to check.\n * @returns {boolean} Returns `true` if it's ***not an array*** or ***an empty-array***.\n * @example\n * isEmptyArray([]); // ➔ true\n * isEmptyArray([1, 2, 3]); // ➔ false\n * isEmptyArray(\"not an array\"); // ➔ true\n * isEmptyArray(null); // ➔ true\n * isEmptyArray(undefined); // ➔ true\n *\n * if (isEmptyArray(data.items)) {\n * console.log(\"No items to display.\");\n * }\n */\nexport const isEmptyArray = (value: unknown): boolean => {\n if (!isArray(value)) return true;\n\n return value.length === 0;\n};\n","import { isObject } from \"./isObject\";\nimport { hasOwnProp } from \"../has/hasOwnProp\";\n\nimport { assertIsBoolean } from \"@/assertions/booleans/assertIsBoolean\";\nimport { assertIsPlainObject } from \"@/assertions/objects/assertIsPlainObject\";\n\ntype IsEmptyObjectOptions = {\n /** Whether to check for symbol properties in addition to string keys, defaultValue: `false`.\n *\n * @default false\n */\n checkSymbols?: boolean;\n};\n\n/** ----------------------------------------------------------\n * * ***Predicate: `isEmptyObject`.***\n * ----------------------------------------------------------\n * **Checks if a value is a plain object with **no own enumerable string-key properties**,\n * and optionally **no own enumerable symbol-key properties** when `checkSymbols` is `true`.**\n * - **Behavior:**\n * - If the value is **not an object** (e.g. `null`, array, primitive), it is considered empty.\n * - If `options.checkSymbols` is `true`, **symbol properties** are also checked.\n * @param {*} value - The value to check.\n * @param {IsEmptyObjectOptions} [options] - Optional settings.\n * @param {IsEmptyObjectOptions[\"checkSymbols\"]} [options.checkSymbols=false] - Whether to also check symbol properties.\n * @returns {boolean} Return `true` if the value is considered empty or not an object, false otherwise.\n * @example\n * isEmptyObject({});\n * // ➔ true\n * isEmptyObject({}, { checkSymbols: true });\n * // ➔ true\n * isEmptyObject({ a: 1 });\n * // ➔ false\n * isEmptyObject({ [Symbol('s')]: 1 });\n * // ➔ true\n * isEmptyObject({ [Symbol('s')]: 1 }, { checkSymbols: true });\n * // ➔ false\n * isEmptyObject(null);\n * // ➔ true (not object)\n * isEmptyObject([]);\n * // ➔ true (not plain object)\n * isEmptyObject(123);\n * // ➔ true (not object)\n */\nexport function isEmptyObject(\n value: unknown,\n options: IsEmptyObjectOptions = {}\n): boolean {\n if (!isObject(value)) {\n return true;\n }\n\n assertIsPlainObject(options, {\n message: ({ currentType, validType }) =>\n `Second parameter (\\`options\\`) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n const checkSymbols = hasOwnProp(options, \"checkSymbols\")\n ? options.checkSymbols\n : false;\n\n assertIsBoolean(checkSymbols, {\n message: ({ currentType, validType }) =>\n `Parameter \\`checkSymbols\\` property of the \\`options\\` (second parameter) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n const hasNoKeys = Object.keys(value).length === 0;\n if (checkSymbols) {\n return hasNoKeys && Object.getOwnPropertySymbols(value).length === 0;\n }\n return hasNoKeys;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAa,gBAAgB,UAA4B;CACvD,IAAI,CAAC,QAAQ,MAAM,EAAE,OAAO;CAE5B,OAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACoB1B,SAAgB,cACd,OACA,UAAgC,EAAE,EACzB;CACT,IAAI,CAAC,SAAS,MAAM,EAClB,OAAO;CAGT,oBAAoB,SAAS,EAC3B,UAAU,EAAE,aAAa,gBACvB,oDAAoD,UAAU,sBAAsB,YAAY,MACnG,CAAC;CAEF,MAAM,eAAe,WAAW,SAAS,eAAe,GACpD,QAAQ,eACR;CAEJ,gBAAgB,cAAc,EAC5B,UAAU,EAAE,aAAa,gBACvB,+FAA+F,UAAU,sBAAsB,YAAY,MAC9I,CAAC;CAEF,MAAM,YAAY,OAAO,KAAK,MAAM,CAAC,WAAW;CAChD,IAAI,cACF,OAAO,aAAa,OAAO,sBAAsB,MAAM,CAAC,WAAW;CAErE,OAAO"}
@@ -0,0 +1,15 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.0`
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 { y as isNonEmptyString } from "./assertIsBoolean-BlBct0Fc.js";
11
+ const isEmptyString = (value, options = {}) => {
12
+ return !isNonEmptyString(value, options);
13
+ };
14
+ export { isEmptyString as t };
15
+ //# sourceMappingURL=isEmptyString-BTUWYTbw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isEmptyString-BTUWYTbw.js","names":[],"sources":["../src/predicates/is/isEmptyString.ts"],"sourcesContent":["import { isNonEmptyString } from \"./isNonEmptyString\";\n\ntype IsEmptyStringOptions = {\n /** Whether to trim the string before checking, defaultValue: `true`.\n *\n * @default true */\n trim?: boolean;\n};\n\n/** ----------------------------------------------------------\n * * ***Predicate: `isEmptyString`.***\n * ----------------------------------------------------------\n * **Checks whether a given value is an **empty-string**.**\n * - **Behavior:**\n * - Considers `\"\"` and whitespace-only strings as\n * empty (if `trim` is enabled, which is the default).\n * - Non-string inputs are also considered empty.\n * @param {*} value - The value to check.\n * @param {IsEmptyStringOptions} [options] - Optional settings.\n * @param {IsEmptyStringOptions[\"trim\"]} [options.trim=true] - Whether to trim the string before checking, defaultValue: `true`.\n * @returns {boolean} Returns `true` if the value is string not a string or value string is considered empty.\n * @example\n * isEmptyString(\"\");\n * // ➔ true\n * isEmptyString(\" \");\n * // ➔ true (default trims)\n * isEmptyString(\" \", { trim: false });\n * // ➔ false\n * isEmptyString(\"hello\");\n * // ➔ false\n * isEmptyString(undefined);\n * // ➔ true\n * isEmptyString(null);\n * // ➔ true\n * isEmptyString(123 as any);\n * // ➔ true\n *\n * // Used in validation\n * if (isEmptyString(form.name)) {\n * throw new Error(\"Name cannot be empty.\");\n * }\n */\nexport const isEmptyString = (\n value: unknown,\n options: IsEmptyStringOptions = {}\n): boolean => {\n return !isNonEmptyString(value, options);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,MAAa,iBACX,OACA,UAAgC,EAAE,KACtB;CACZ,OAAO,CAAC,iBAAiB,OAAO,QAAQ"}
@@ -0,0 +1,21 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.0`
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
+ const require_assertIsBoolean = require('./assertIsBoolean-DozdtbNi.cjs');
12
+ const isEmptyString = (value, options = {}) => {
13
+ return !require_assertIsBoolean.isNonEmptyString(value, options);
14
+ };
15
+ Object.defineProperty(exports, 'isEmptyString', {
16
+ enumerable: true,
17
+ get: function () {
18
+ return isEmptyString;
19
+ }
20
+ });
21
+ //# sourceMappingURL=isEmptyString-CCK3bP74.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isEmptyString-CCK3bP74.cjs","names":["isNonEmptyString"],"sources":["../src/predicates/is/isEmptyString.ts"],"sourcesContent":["import { isNonEmptyString } from \"./isNonEmptyString\";\n\ntype IsEmptyStringOptions = {\n /** Whether to trim the string before checking, defaultValue: `true`.\n *\n * @default true */\n trim?: boolean;\n};\n\n/** ----------------------------------------------------------\n * * ***Predicate: `isEmptyString`.***\n * ----------------------------------------------------------\n * **Checks whether a given value is an **empty-string**.**\n * - **Behavior:**\n * - Considers `\"\"` and whitespace-only strings as\n * empty (if `trim` is enabled, which is the default).\n * - Non-string inputs are also considered empty.\n * @param {*} value - The value to check.\n * @param {IsEmptyStringOptions} [options] - Optional settings.\n * @param {IsEmptyStringOptions[\"trim\"]} [options.trim=true] - Whether to trim the string before checking, defaultValue: `true`.\n * @returns {boolean} Returns `true` if the value is string not a string or value string is considered empty.\n * @example\n * isEmptyString(\"\");\n * // ➔ true\n * isEmptyString(\" \");\n * // ➔ true (default trims)\n * isEmptyString(\" \", { trim: false });\n * // ➔ false\n * isEmptyString(\"hello\");\n * // ➔ false\n * isEmptyString(undefined);\n * // ➔ true\n * isEmptyString(null);\n * // ➔ true\n * isEmptyString(123 as any);\n * // ➔ true\n *\n * // Used in validation\n * if (isEmptyString(form.name)) {\n * throw new Error(\"Name cannot be empty.\");\n * }\n */\nexport const isEmptyString = (\n value: unknown,\n options: IsEmptyStringOptions = {}\n): boolean => {\n return !isNonEmptyString(value, options);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,MAAa,iBACX,OACA,UAAgC,EAAE,KACtB;CACZ,OAAO,CAACA,yCAAiB,OAAO,QAAQ"}
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.0`
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
+ const require_assertIsBoolean = require('./assertIsBoolean-DozdtbNi.cjs');
12
+ const require_isEmptyObject = require('./isEmptyObject-DI42NEo0.cjs');
13
+ const require_isEmptyString = require('./isEmptyString-CCK3bP74.cjs');
14
+ const isEmptyValue = (value, options = {}) => {
15
+ require_assertIsBoolean.assertIsPlainObject(options, { message: ({ currentType, validType }) => `Second parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.` });
16
+ const checkSymbols = require_assertIsBoolean.hasOwnProp(options, "checkSymbols") ? options.checkSymbols : false;
17
+ require_assertIsBoolean.assertIsBoolean(checkSymbols, { message: ({ currentType, validType }) => `Parameter \`checkSymbols\` property of the \`options\` (second parameter) must be of type \`${validType}\`, but received: \`${currentType}\`.` });
18
+ if (require_assertIsBoolean.isNil(value) || value === false || require_assertIsBoolean.isNaN(value)) return true;
19
+ if (require_assertIsBoolean.isString(value)) return require_isEmptyString.isEmptyString(value);
20
+ if (require_assertIsBoolean.isArray(value)) return require_isEmptyObject.isEmptyArray(value);
21
+ if (require_assertIsBoolean.isObject(value)) return require_isEmptyObject.isEmptyObject(value, { checkSymbols });
22
+ return false;
23
+ };
24
+ Object.defineProperty(exports, 'isEmptyValue', {
25
+ enumerable: true,
26
+ get: function () {
27
+ return isEmptyValue;
28
+ }
29
+ });
30
+ //# sourceMappingURL=isEmptyValue-DMSMFTU8.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isEmptyValue-DMSMFTU8.cjs","names":["hasOwnProp","isNil","isNaN","isString","isEmptyString","isArray","isEmptyArray","isObject","isEmptyObject"],"sources":["../src/predicates/is/isEmptyValue.ts"],"sourcesContent":["import { isNaN } from \"./isNaN\";\nimport { isNil } from \"./isNil\";\nimport { isArray } from \"./isArray\";\nimport { isObject } from \"./isObject\";\nimport { isString } from \"./isString\";\nimport { isEmptyArray } from \"./isEmptyArray\";\nimport { hasOwnProp } from \"../has/hasOwnProp\";\nimport { isEmptyObject } from \"./isEmptyObject\";\nimport { isEmptyString } from \"./isEmptyString\";\n\nimport { assertIsBoolean } from \"@/assertions/booleans/assertIsBoolean\";\nimport { assertIsPlainObject } from \"@/assertions/objects/assertIsPlainObject\";\n\ntype IsEmptyValueOptions = {\n /** **Whether to check symbol properties when checking empty objects.**\n * - **DefaultValue:** `false`.\n *\n * @default false\n */\n checkSymbols?: boolean;\n};\n\n/** ----------------------------------------------------------\n * * ***Predicate: `isEmptyValue`.***\n * ----------------------------------------------------------\n * **Determines if a value is **`empty`**.**\n * - **Covering:**\n * - Empty objects: `{}`\n * - Empty arrays: `[]`\n * - Empty strings: `\"\"` or whitespace-only (trimmed)\n * - `null`, `undefined`, `false`, or `NaN`\n * - **Returns **`false`** for:**\n * - Non-empty objects/arrays\n * - Non-empty strings\n * - Numbers (except `NaN`)\n * - `Functions`, `true`, `symbols`, `etc`.\n * @param {*} value - The value to evaluate.\n * @param {IsEmptyValueOptions} [options] - Optional settings.\n * @returns {boolean} Return `true` if the value is considered empty, otherwise `false`.\n * @example\n * isEmptyValue({});\n * // ➔ true\n * isEmptyValue([]);\n * // ➔ true\n * isEmptyValue({ key: \"value\" });\n * // ➔ false\n * isEmptyValue({ [Symbol(\"foo\")]: 123 });\n * // ➔ true (default `checkSymbols` is `false`)\n * isEmptyValue({ [Symbol(\"foo\")]: 123 }, { checkSymbols: false });\n * // ➔ true (default `checkSymbols` is `false`)\n * isEmptyValue({ [Symbol(\"foo\")]: 123 }, { checkSymbols: true });\n * // ➔ false\n * isEmptyValue([1, 2, 3]);\n * // ➔ false\n * isEmptyValue(NaN);\n * // ➔ true\n * isEmptyValue(true);\n * // ➔ false\n * isEmptyValue(false);\n * // ➔ true\n * isEmptyValue(null);\n * // ➔ true\n * isEmptyValue(undefined);\n * // ➔ true\n * isEmptyValue(\"\");\n * // ➔ true\n * isEmptyValue(\" \");\n * // ➔ true\n * isEmptyValue(0);\n * // ➔ false\n * isEmptyValue(-1);\n * // ➔ false\n * isEmptyValue(2);\n * // ➔ false\n * isEmptyValue(() => {});\n * // ➔ false\n */\nexport const isEmptyValue = (\n value: unknown,\n options: IsEmptyValueOptions = {}\n): boolean => {\n assertIsPlainObject(options, {\n message: ({ currentType, validType }) =>\n `Second parameter (\\`options\\`) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n const checkSymbols = hasOwnProp(options, \"checkSymbols\")\n ? options.checkSymbols\n : false;\n\n assertIsBoolean(checkSymbols, {\n message: ({ currentType, validType }) =>\n `Parameter \\`checkSymbols\\` property of the \\`options\\` (second parameter) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n if (isNil(value) || value === false || isNaN(value)) return true;\n if (isString(value)) return isEmptyString(value);\n if (isArray(value)) return isEmptyArray(value);\n if (isObject(value)) {\n return isEmptyObject(value, { checkSymbols });\n }\n\n return false;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EA,MAAa,gBACX,OACA,UAA+B,EAAE,KACrB;CACZ,4CAAoB,SAAS,EAC3B,UAAU,EAAE,aAAa,gBACvB,oDAAoD,UAAU,sBAAsB,YAAY,MACnG,CAAC;CAEF,MAAM,eAAeA,mCAAW,SAAS,eAAe,GACpD,QAAQ,eACR;CAEJ,wCAAgB,cAAc,EAC5B,UAAU,EAAE,aAAa,gBACvB,+FAA+F,UAAU,sBAAsB,YAAY,MAC9I,CAAC;CAEF,IAAIC,8BAAM,MAAM,IAAI,UAAU,SAASC,8BAAM,MAAM,EAAE,OAAO;CAC5D,IAAIC,iCAAS,MAAM,EAAE,OAAOC,oCAAc,MAAM;CAChD,IAAIC,gCAAQ,MAAM,EAAE,OAAOC,mCAAa,MAAM;CAC9C,IAAIC,iCAAS,MAAM,EACjB,OAAOC,oCAAc,OAAO,EAAE,cAAc,CAAC;CAG/C,OAAO"}
@@ -0,0 +1,24 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.0`
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 { D as isNaN, M as isArray, N as isNil, T as assertIsPlainObject, b as hasOwnProp, j as isObject, k as isString, t as assertIsBoolean } from "./assertIsBoolean-BlBct0Fc.js";
11
+ import { n as isEmptyArray, t as isEmptyObject } from "./isEmptyObject-DeLVIJpl.js";
12
+ import { t as isEmptyString } from "./isEmptyString-BTUWYTbw.js";
13
+ const isEmptyValue = (value, options = {}) => {
14
+ assertIsPlainObject(options, { message: ({ currentType, validType }) => `Second parameter (\`options\`) must be of type \`${validType}\`, but received: \`${currentType}\`.` });
15
+ const checkSymbols = hasOwnProp(options, "checkSymbols") ? options.checkSymbols : false;
16
+ assertIsBoolean(checkSymbols, { message: ({ currentType, validType }) => `Parameter \`checkSymbols\` property of the \`options\` (second parameter) must be of type \`${validType}\`, but received: \`${currentType}\`.` });
17
+ if (isNil(value) || value === false || isNaN(value)) return true;
18
+ if (isString(value)) return isEmptyString(value);
19
+ if (isArray(value)) return isEmptyArray(value);
20
+ if (isObject(value)) return isEmptyObject(value, { checkSymbols });
21
+ return false;
22
+ };
23
+ export { isEmptyValue as t };
24
+ //# sourceMappingURL=isEmptyValue-fjnfQnt5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isEmptyValue-fjnfQnt5.js","names":[],"sources":["../src/predicates/is/isEmptyValue.ts"],"sourcesContent":["import { isNaN } from \"./isNaN\";\nimport { isNil } from \"./isNil\";\nimport { isArray } from \"./isArray\";\nimport { isObject } from \"./isObject\";\nimport { isString } from \"./isString\";\nimport { isEmptyArray } from \"./isEmptyArray\";\nimport { hasOwnProp } from \"../has/hasOwnProp\";\nimport { isEmptyObject } from \"./isEmptyObject\";\nimport { isEmptyString } from \"./isEmptyString\";\n\nimport { assertIsBoolean } from \"@/assertions/booleans/assertIsBoolean\";\nimport { assertIsPlainObject } from \"@/assertions/objects/assertIsPlainObject\";\n\ntype IsEmptyValueOptions = {\n /** **Whether to check symbol properties when checking empty objects.**\n * - **DefaultValue:** `false`.\n *\n * @default false\n */\n checkSymbols?: boolean;\n};\n\n/** ----------------------------------------------------------\n * * ***Predicate: `isEmptyValue`.***\n * ----------------------------------------------------------\n * **Determines if a value is **`empty`**.**\n * - **Covering:**\n * - Empty objects: `{}`\n * - Empty arrays: `[]`\n * - Empty strings: `\"\"` or whitespace-only (trimmed)\n * - `null`, `undefined`, `false`, or `NaN`\n * - **Returns **`false`** for:**\n * - Non-empty objects/arrays\n * - Non-empty strings\n * - Numbers (except `NaN`)\n * - `Functions`, `true`, `symbols`, `etc`.\n * @param {*} value - The value to evaluate.\n * @param {IsEmptyValueOptions} [options] - Optional settings.\n * @returns {boolean} Return `true` if the value is considered empty, otherwise `false`.\n * @example\n * isEmptyValue({});\n * // ➔ true\n * isEmptyValue([]);\n * // ➔ true\n * isEmptyValue({ key: \"value\" });\n * // ➔ false\n * isEmptyValue({ [Symbol(\"foo\")]: 123 });\n * // ➔ true (default `checkSymbols` is `false`)\n * isEmptyValue({ [Symbol(\"foo\")]: 123 }, { checkSymbols: false });\n * // ➔ true (default `checkSymbols` is `false`)\n * isEmptyValue({ [Symbol(\"foo\")]: 123 }, { checkSymbols: true });\n * // ➔ false\n * isEmptyValue([1, 2, 3]);\n * // ➔ false\n * isEmptyValue(NaN);\n * // ➔ true\n * isEmptyValue(true);\n * // ➔ false\n * isEmptyValue(false);\n * // ➔ true\n * isEmptyValue(null);\n * // ➔ true\n * isEmptyValue(undefined);\n * // ➔ true\n * isEmptyValue(\"\");\n * // ➔ true\n * isEmptyValue(\" \");\n * // ➔ true\n * isEmptyValue(0);\n * // ➔ false\n * isEmptyValue(-1);\n * // ➔ false\n * isEmptyValue(2);\n * // ➔ false\n * isEmptyValue(() => {});\n * // ➔ false\n */\nexport const isEmptyValue = (\n value: unknown,\n options: IsEmptyValueOptions = {}\n): boolean => {\n assertIsPlainObject(options, {\n message: ({ currentType, validType }) =>\n `Second parameter (\\`options\\`) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n const checkSymbols = hasOwnProp(options, \"checkSymbols\")\n ? options.checkSymbols\n : false;\n\n assertIsBoolean(checkSymbols, {\n message: ({ currentType, validType }) =>\n `Parameter \\`checkSymbols\\` property of the \\`options\\` (second parameter) must be of type \\`${validType}\\`, but received: \\`${currentType}\\`.`\n });\n\n if (isNil(value) || value === false || isNaN(value)) return true;\n if (isString(value)) return isEmptyString(value);\n if (isArray(value)) return isEmptyArray(value);\n if (isObject(value)) {\n return isEmptyObject(value, { checkSymbols });\n }\n\n return false;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EA,MAAa,gBACX,OACA,UAA+B,EAAE,KACrB;CACZ,oBAAoB,SAAS,EAC3B,UAAU,EAAE,aAAa,gBACvB,oDAAoD,UAAU,sBAAsB,YAAY,MACnG,CAAC;CAEF,MAAM,eAAe,WAAW,SAAS,eAAe,GACpD,QAAQ,eACR;CAEJ,gBAAgB,cAAc,EAC5B,UAAU,EAAE,aAAa,gBACvB,+FAA+F,UAAU,sBAAsB,YAAY,MAC9I,CAAC;CAEF,IAAI,MAAM,MAAM,IAAI,UAAU,SAAS,MAAM,MAAM,EAAE,OAAO;CAC5D,IAAI,SAAS,MAAM,EAAE,OAAO,cAAc,MAAM;CAChD,IAAI,QAAQ,MAAM,EAAE,OAAO,aAAa,MAAM;CAC9C,IAAI,SAAS,MAAM,EACjB,OAAO,cAAc,OAAO,EAAE,cAAc,CAAC;CAG/C,OAAO"}
@@ -0,0 +1,111 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.0`
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
+ const require_assertIsBoolean = require('./assertIsBoolean-DozdtbNi.cjs');
12
+ const require_safeStableStringify = require('./safeStableStringify-Cc62pfRp.cjs');
13
+ const isRegExp = (value) => {
14
+ return value instanceof RegExp;
15
+ };
16
+ function isArrayBuffer(value) {
17
+ return value instanceof ArrayBuffer;
18
+ }
19
+ function baseDeepEqual(value, other, customizer, seen = /* @__PURE__ */ new WeakMap()) {
20
+ if (value === other) return true;
21
+ if (value !== value && other !== other) return true;
22
+ if (!require_assertIsBoolean.isObjectOrArray(value) || !require_assertIsBoolean.isObjectOrArray(other)) return false;
23
+ if (seen.get(value) === other) return true;
24
+ seen.set(value, other);
25
+ const callCustomizer = (v, o, key, valObj, othObj) => {
26
+ if (customizer) {
27
+ const result = customizer(v, o, key, valObj, othObj, seen);
28
+ if (!require_assertIsBoolean.isUndefined(result)) return result;
29
+ }
30
+ return baseDeepEqual(v, o, customizer, seen);
31
+ };
32
+ if (require_safeStableStringify.isDate(value) && require_safeStableStringify.isDate(other)) return value.getTime() === other.getTime();
33
+ if (isRegExp(value) && isRegExp(other)) return value.source === other.source && value.flags === other.flags;
34
+ if (require_assertIsBoolean.isError(value) && require_assertIsBoolean.isError(other)) return value.name === other.name && value.message === other.message;
35
+ if (ArrayBuffer.isView(value) && ArrayBuffer.isView(other)) {
36
+ const v = new Uint8Array(value.buffer, value.byteOffset, value.byteLength);
37
+ const o = new Uint8Array(other.buffer, other.byteOffset, other.byteLength);
38
+ if (v.length !== o.length) return false;
39
+ for (let i = 0; i < v.length; i++) if (v[i] !== o[i]) return false;
40
+ return true;
41
+ }
42
+ if (isArrayBuffer(value) && isArrayBuffer(other)) {
43
+ if (value.byteLength !== other.byteLength) return false;
44
+ const v = new Uint8Array(value), o = new Uint8Array(other);
45
+ for (let i = 0; i < v.length; i++) if (v[i] !== o[i]) return false;
46
+ return true;
47
+ }
48
+ if (require_safeStableStringify.isMap(value) && require_safeStableStringify.isMap(other)) {
49
+ if (value.size !== other.size) return false;
50
+ for (const [k, v] of value) {
51
+ if (!other.has(k)) return false;
52
+ if (!baseDeepEqual(v, other.get(k), customizer, seen)) return false;
53
+ }
54
+ return true;
55
+ }
56
+ if (require_assertIsBoolean.isSet(value) && require_assertIsBoolean.isSet(other)) {
57
+ if (value.size !== other.size) return false;
58
+ for (const v of value) {
59
+ let matched = false;
60
+ for (const o of other) if (baseDeepEqual(v, o, customizer, seen)) {
61
+ matched = true;
62
+ break;
63
+ }
64
+ if (!matched) return false;
65
+ }
66
+ return true;
67
+ }
68
+ if (require_assertIsBoolean.isArray(value) && require_assertIsBoolean.isArray(other)) {
69
+ if (value.length !== other.length) return false;
70
+ for (let i = 0; i < value.length; i++) if (!callCustomizer(value[i], other[i], i, value, other)) return false;
71
+ return true;
72
+ }
73
+ if (Object.getPrototypeOf(value) !== Object.getPrototypeOf(other)) return false;
74
+ const vKeys = Reflect.ownKeys(value);
75
+ const oKeys = Reflect.ownKeys(other);
76
+ if (vKeys.length !== oKeys.length) return false;
77
+ for (const key of vKeys) {
78
+ const vVal = value[key];
79
+ const oVal = other[key];
80
+ if (!callCustomizer(vVal, oVal, key, value, other)) return false;
81
+ }
82
+ return true;
83
+ }
84
+ function isEqual(value, other) {
85
+ return baseDeepEqual(value, other, void 0, /* @__PURE__ */ new WeakMap());
86
+ }
87
+ Object.defineProperty(exports, 'baseDeepEqual', {
88
+ enumerable: true,
89
+ get: function () {
90
+ return baseDeepEqual;
91
+ }
92
+ });
93
+ Object.defineProperty(exports, 'isArrayBuffer', {
94
+ enumerable: true,
95
+ get: function () {
96
+ return isArrayBuffer;
97
+ }
98
+ });
99
+ Object.defineProperty(exports, 'isEqual', {
100
+ enumerable: true,
101
+ get: function () {
102
+ return isEqual;
103
+ }
104
+ });
105
+ Object.defineProperty(exports, 'isRegExp', {
106
+ enumerable: true,
107
+ get: function () {
108
+ return isRegExp;
109
+ }
110
+ });
111
+ //# sourceMappingURL=isEqual-B1fRgEuU.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isEqual-B1fRgEuU.cjs","names":["isObjectOrArray","isUndefined","isDate","isError","isMap","isSet","isArray"],"sources":["../src/predicates/is/isRegExp.ts","../src/predicates/is/isArrayBuffer.ts","../src/predicates/is/_private/baseDeepEqual.ts","../src/predicates/is/isEqual.ts"],"sourcesContent":["/** ----------------------------------------------------------\n * * ***Type guard: `isRegExp`.***\n * ----------------------------------------------------------\n * **Checks if a value is a [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp) instance.**\n * @param {*} value - The value to check.\n * @returns {boolean} Return `true` if value is an instance of **`RegExp`**.\n * @example\n * isRegExp(/abc/); // ➔ true\n * isRegExp(new RegExp(\"abc\")); // ➔ true\n * isRegExp(\"abc\"); // ➔ false\n */\nexport const isRegExp = (value: unknown): value is RegExp => {\n return value instanceof RegExp;\n};\n","/** ----------------------------------------------------\n * * ***Type guard: `isArrayBuffer`.***\n * ----------------------------------------------------\n * **Checks if `value` is classified as an `ArrayBuffer` object.**\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is instance of ***[`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)***, else `false`.\n * @example\n * isArrayBuffer(new ArrayBuffer(2));\n * // ➔ true\n * isArrayBuffer(new Array(2));\n * // ➔ false\n */\nexport function isArrayBuffer(value: unknown): value is ArrayBuffer {\n return value instanceof ArrayBuffer;\n}\n","import type { CustomizerIsEqualWith } from \"./types.isEqualWith\";\n\nimport { isMap } from \"../isMap\";\nimport { isSet } from \"../isSet\";\nimport { isDate } from \"../isDate\";\nimport { isArray } from \"../isArray\";\nimport { isError } from \"../isError\";\nimport { isRegExp } from \"../isRegExp\";\nimport { isUndefined } from \"../isUndefined\";\nimport { isArrayBuffer } from \"../isArrayBuffer\";\nimport { isObjectOrArray } from \"../isObjectOrArray\";\n\n/** -------------------------------------------------------------------\n * * ***Base function (**Internal**) for deep equality comparison with optional customizer.***\n * -------------------------------------------------------------------\n * **Recursively checks whether `value` and `other` are deeply equal. Supports custom comparison\n * via `customizer`, and handles arrays, objects, maps, sets, dates, errors, regexps, typed arrays,\n * and nested structures.**\n * @param value\n * - The value to compare.\n * @param other\n * - The other value to compare against.\n * @param customizer\n * - Optional function to customize the comparison for each property/value.\n * @param seen\n * - WeakMap used internally to track circular references and prevent infinite recursion.\n * @returns\n * - `true` → `value` and `other` are deeply equal.\n * - `false` → `value` and `other` are not deeply equal.\n * @example\n * ```ts\n * const obj1 = { name: \"Alice\", scores: [1, 2, 3] };\n * const obj2 = { name: \"alice\", scores: [1, 2, 3] };\n * const customizer: CustomizerIsEqualWith = (v, o) => {\n * if (typeof v === \"string\" && typeof o === \"string\") {\n * return v.toLowerCase() === o.toLowerCase();\n * }\n * };\n *\n * baseDeepEqual(obj1, obj2, customizer);\n * // returns true\n * ```\n */\nexport function baseDeepEqual(\n value: unknown,\n other: unknown,\n customizer?: CustomizerIsEqualWith,\n seen: WeakMap<object, object> = new WeakMap()\n): boolean {\n // ✅ Strict equality (+0 === -0)\n if (value === other) return true;\n\n // ✅ NaN === NaN\n if (value !== value && other !== other) return true;\n\n // ❌ Primitives mismatch\n if (!isObjectOrArray(value) || !isObjectOrArray(other)) {\n return false;\n }\n\n // ✅ Prevent circular recursion\n if (seen.get(value) === other) return true;\n seen.set(value, other);\n\n // ✅ Customizer support\n const callCustomizer = (\n v: unknown,\n o: unknown,\n key: PropertyKey,\n valObj: unknown,\n othObj: unknown\n ) => {\n if (customizer) {\n const result = customizer(v, o, key, valObj, othObj, seen);\n if (!isUndefined(result)) return result;\n }\n return baseDeepEqual(v, o, customizer, seen);\n };\n\n // ✅ Handle special instances\n if (isDate(value) && isDate(other))\n return value.getTime() === other.getTime();\n\n if (isRegExp(value) && isRegExp(other))\n return value.source === other.source && value.flags === other.flags;\n\n if (isError(value) && isError(other))\n return value.name === other.name && value.message === other.message;\n\n if (ArrayBuffer.isView(value) && ArrayBuffer.isView(other)) {\n const v = new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n const o = new Uint8Array(other.buffer, other.byteOffset, other.byteLength);\n if (v.length !== o.length) return false;\n for (let i = 0; i < v.length; i++) if (v[i] !== o[i]) return false;\n return true;\n }\n\n if (isArrayBuffer(value) && isArrayBuffer(other)) {\n if (value.byteLength !== other.byteLength) return false;\n const v = new Uint8Array(value),\n o = new Uint8Array(other);\n for (let i = 0; i < v.length; i++) if (v[i] !== o[i]) return false;\n return true;\n }\n\n if (isMap(value) && isMap(other)) {\n if (value.size !== other.size) return false;\n for (const [k, v] of value) {\n if (!other.has(k)) return false;\n if (!baseDeepEqual(v, other.get(k), customizer, seen)) return false;\n }\n return true;\n }\n\n if (isSet(value) && isSet(other)) {\n if (value.size !== other.size) return false;\n for (const v of value) {\n let matched = false;\n for (const o of other) {\n if (baseDeepEqual(v, o, customizer, seen)) {\n matched = true;\n break;\n }\n }\n if (!matched) return false;\n }\n return true;\n }\n\n if (isArray(value) && isArray(other)) {\n if (value.length !== other.length) return false;\n for (let i = 0; i < value.length; i++) {\n if (!callCustomizer(value[i], other[i], i, value, other)) return false;\n }\n return true;\n }\n\n if (Object.getPrototypeOf(value) !== Object.getPrototypeOf(other)) {\n return false;\n }\n\n const vKeys = Reflect.ownKeys(value);\n const oKeys = Reflect.ownKeys(other);\n if (vKeys.length !== oKeys.length) return false;\n\n for (const key of vKeys) {\n const vVal = value[key];\n const oVal = other[key];\n if (!callCustomizer(vVal, oVal, key, value, other)) return false;\n }\n\n return true;\n}\n","import { baseDeepEqual } from \"@/predicates/is/_private/baseDeepEqual\";\n\n/** ----------------------------------------------------\n * * ***Predicate: `isEqual`.***\n * ----------------------------------------------------------\n * **Performs a deep comparison between two values to determine if they are equivalent.**\n * @description\n * Checks whether two values are **deeply equal**, not just reference-equal (`===`).\n * - **✅ This method compares:**\n * - Arrays and TypedArrays\n * - ArrayBuffers\n * - Plain objects (`Object`) ➔ own enumerable properties only\n * - Booleans, Numbers, Strings, Symbols\n * - Dates\n * - Errors\n * - Maps\n * - Sets\n * - Regular expressions\n * - ❌ `Functions` and `DOM nodes` are ***not supported***.\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n * const obj1 = { user: \"fred\" };\n * const obj2 = { user: \"fred\" };\n *\n * isEqual(obj1, obj2);\n * // ➔ true\n * obj1 === obj2;\n * // ➔ false (different references)\n * isEqual([1, 2, 3], [1, 2, 3]);\n * // ➔ true\n * isEqual(new Date(\"2020-01-01\"), new Date(\"2020-01-01\"));\n * // ➔ true\n * isEqual(new Set([1, 2]), new Set([2, 1]));\n * // ➔ true\n * isEqual(/abc/i, new RegExp(\"abc\", \"i\"));\n * // ➔ true\n * isEqual({ a: 1 }, { a: 1, b: undefined });\n * // ➔ false\n */\nexport function isEqual(value: unknown, other: unknown): boolean {\n return baseDeepEqual(value, other, undefined, new WeakMap());\n}\n"],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.0`
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 { M as isArray, S as isUndefined, f as isSet, v as isError, x as isObjectOrArray } from "./assertIsBoolean-BlBct0Fc.js";
11
+ import { n as isDate, r as isMap } from "./safeStableStringify-BNh3D0K0.js";
12
+ const isRegExp = (value) => {
13
+ return value instanceof RegExp;
14
+ };
15
+ function isArrayBuffer(value) {
16
+ return value instanceof ArrayBuffer;
17
+ }
18
+ function baseDeepEqual(value, other, customizer, seen = /* @__PURE__ */ new WeakMap()) {
19
+ if (value === other) return true;
20
+ if (value !== value && other !== other) return true;
21
+ if (!isObjectOrArray(value) || !isObjectOrArray(other)) return false;
22
+ if (seen.get(value) === other) return true;
23
+ seen.set(value, other);
24
+ const callCustomizer = (v, o, key, valObj, othObj) => {
25
+ if (customizer) {
26
+ const result = customizer(v, o, key, valObj, othObj, seen);
27
+ if (!isUndefined(result)) return result;
28
+ }
29
+ return baseDeepEqual(v, o, customizer, seen);
30
+ };
31
+ if (isDate(value) && isDate(other)) return value.getTime() === other.getTime();
32
+ if (isRegExp(value) && isRegExp(other)) return value.source === other.source && value.flags === other.flags;
33
+ if (isError(value) && isError(other)) return value.name === other.name && value.message === other.message;
34
+ if (ArrayBuffer.isView(value) && ArrayBuffer.isView(other)) {
35
+ const v = new Uint8Array(value.buffer, value.byteOffset, value.byteLength);
36
+ const o = new Uint8Array(other.buffer, other.byteOffset, other.byteLength);
37
+ if (v.length !== o.length) return false;
38
+ for (let i = 0; i < v.length; i++) if (v[i] !== o[i]) return false;
39
+ return true;
40
+ }
41
+ if (isArrayBuffer(value) && isArrayBuffer(other)) {
42
+ if (value.byteLength !== other.byteLength) return false;
43
+ const v = new Uint8Array(value), o = new Uint8Array(other);
44
+ for (let i = 0; i < v.length; i++) if (v[i] !== o[i]) return false;
45
+ return true;
46
+ }
47
+ if (isMap(value) && isMap(other)) {
48
+ if (value.size !== other.size) return false;
49
+ for (const [k, v] of value) {
50
+ if (!other.has(k)) return false;
51
+ if (!baseDeepEqual(v, other.get(k), customizer, seen)) return false;
52
+ }
53
+ return true;
54
+ }
55
+ if (isSet(value) && isSet(other)) {
56
+ if (value.size !== other.size) return false;
57
+ for (const v of value) {
58
+ let matched = false;
59
+ for (const o of other) if (baseDeepEqual(v, o, customizer, seen)) {
60
+ matched = true;
61
+ break;
62
+ }
63
+ if (!matched) return false;
64
+ }
65
+ return true;
66
+ }
67
+ if (isArray(value) && isArray(other)) {
68
+ if (value.length !== other.length) return false;
69
+ for (let i = 0; i < value.length; i++) if (!callCustomizer(value[i], other[i], i, value, other)) return false;
70
+ return true;
71
+ }
72
+ if (Object.getPrototypeOf(value) !== Object.getPrototypeOf(other)) return false;
73
+ const vKeys = Reflect.ownKeys(value);
74
+ const oKeys = Reflect.ownKeys(other);
75
+ if (vKeys.length !== oKeys.length) return false;
76
+ for (const key of vKeys) {
77
+ const vVal = value[key];
78
+ const oVal = other[key];
79
+ if (!callCustomizer(vVal, oVal, key, value, other)) return false;
80
+ }
81
+ return true;
82
+ }
83
+ function isEqual(value, other) {
84
+ return baseDeepEqual(value, other, void 0, /* @__PURE__ */ new WeakMap());
85
+ }
86
+ export { isRegExp as i, baseDeepEqual as n, isArrayBuffer as r, isEqual as t };
87
+ //# sourceMappingURL=isEqual-DhyP8fB_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isEqual-DhyP8fB_.js","names":[],"sources":["../src/predicates/is/isRegExp.ts","../src/predicates/is/isArrayBuffer.ts","../src/predicates/is/_private/baseDeepEqual.ts","../src/predicates/is/isEqual.ts"],"sourcesContent":["/** ----------------------------------------------------------\n * * ***Type guard: `isRegExp`.***\n * ----------------------------------------------------------\n * **Checks if a value is a [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp) instance.**\n * @param {*} value - The value to check.\n * @returns {boolean} Return `true` if value is an instance of **`RegExp`**.\n * @example\n * isRegExp(/abc/); // ➔ true\n * isRegExp(new RegExp(\"abc\")); // ➔ true\n * isRegExp(\"abc\"); // ➔ false\n */\nexport const isRegExp = (value: unknown): value is RegExp => {\n return value instanceof RegExp;\n};\n","/** ----------------------------------------------------\n * * ***Type guard: `isArrayBuffer`.***\n * ----------------------------------------------------\n * **Checks if `value` is classified as an `ArrayBuffer` object.**\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is instance of ***[`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)***, else `false`.\n * @example\n * isArrayBuffer(new ArrayBuffer(2));\n * // ➔ true\n * isArrayBuffer(new Array(2));\n * // ➔ false\n */\nexport function isArrayBuffer(value: unknown): value is ArrayBuffer {\n return value instanceof ArrayBuffer;\n}\n","import type { CustomizerIsEqualWith } from \"./types.isEqualWith\";\n\nimport { isMap } from \"../isMap\";\nimport { isSet } from \"../isSet\";\nimport { isDate } from \"../isDate\";\nimport { isArray } from \"../isArray\";\nimport { isError } from \"../isError\";\nimport { isRegExp } from \"../isRegExp\";\nimport { isUndefined } from \"../isUndefined\";\nimport { isArrayBuffer } from \"../isArrayBuffer\";\nimport { isObjectOrArray } from \"../isObjectOrArray\";\n\n/** -------------------------------------------------------------------\n * * ***Base function (**Internal**) for deep equality comparison with optional customizer.***\n * -------------------------------------------------------------------\n * **Recursively checks whether `value` and `other` are deeply equal. Supports custom comparison\n * via `customizer`, and handles arrays, objects, maps, sets, dates, errors, regexps, typed arrays,\n * and nested structures.**\n * @param value\n * - The value to compare.\n * @param other\n * - The other value to compare against.\n * @param customizer\n * - Optional function to customize the comparison for each property/value.\n * @param seen\n * - WeakMap used internally to track circular references and prevent infinite recursion.\n * @returns\n * - `true` → `value` and `other` are deeply equal.\n * - `false` → `value` and `other` are not deeply equal.\n * @example\n * ```ts\n * const obj1 = { name: \"Alice\", scores: [1, 2, 3] };\n * const obj2 = { name: \"alice\", scores: [1, 2, 3] };\n * const customizer: CustomizerIsEqualWith = (v, o) => {\n * if (typeof v === \"string\" && typeof o === \"string\") {\n * return v.toLowerCase() === o.toLowerCase();\n * }\n * };\n *\n * baseDeepEqual(obj1, obj2, customizer);\n * // returns true\n * ```\n */\nexport function baseDeepEqual(\n value: unknown,\n other: unknown,\n customizer?: CustomizerIsEqualWith,\n seen: WeakMap<object, object> = new WeakMap()\n): boolean {\n // ✅ Strict equality (+0 === -0)\n if (value === other) return true;\n\n // ✅ NaN === NaN\n if (value !== value && other !== other) return true;\n\n // ❌ Primitives mismatch\n if (!isObjectOrArray(value) || !isObjectOrArray(other)) {\n return false;\n }\n\n // ✅ Prevent circular recursion\n if (seen.get(value) === other) return true;\n seen.set(value, other);\n\n // ✅ Customizer support\n const callCustomizer = (\n v: unknown,\n o: unknown,\n key: PropertyKey,\n valObj: unknown,\n othObj: unknown\n ) => {\n if (customizer) {\n const result = customizer(v, o, key, valObj, othObj, seen);\n if (!isUndefined(result)) return result;\n }\n return baseDeepEqual(v, o, customizer, seen);\n };\n\n // ✅ Handle special instances\n if (isDate(value) && isDate(other))\n return value.getTime() === other.getTime();\n\n if (isRegExp(value) && isRegExp(other))\n return value.source === other.source && value.flags === other.flags;\n\n if (isError(value) && isError(other))\n return value.name === other.name && value.message === other.message;\n\n if (ArrayBuffer.isView(value) && ArrayBuffer.isView(other)) {\n const v = new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n const o = new Uint8Array(other.buffer, other.byteOffset, other.byteLength);\n if (v.length !== o.length) return false;\n for (let i = 0; i < v.length; i++) if (v[i] !== o[i]) return false;\n return true;\n }\n\n if (isArrayBuffer(value) && isArrayBuffer(other)) {\n if (value.byteLength !== other.byteLength) return false;\n const v = new Uint8Array(value),\n o = new Uint8Array(other);\n for (let i = 0; i < v.length; i++) if (v[i] !== o[i]) return false;\n return true;\n }\n\n if (isMap(value) && isMap(other)) {\n if (value.size !== other.size) return false;\n for (const [k, v] of value) {\n if (!other.has(k)) return false;\n if (!baseDeepEqual(v, other.get(k), customizer, seen)) return false;\n }\n return true;\n }\n\n if (isSet(value) && isSet(other)) {\n if (value.size !== other.size) return false;\n for (const v of value) {\n let matched = false;\n for (const o of other) {\n if (baseDeepEqual(v, o, customizer, seen)) {\n matched = true;\n break;\n }\n }\n if (!matched) return false;\n }\n return true;\n }\n\n if (isArray(value) && isArray(other)) {\n if (value.length !== other.length) return false;\n for (let i = 0; i < value.length; i++) {\n if (!callCustomizer(value[i], other[i], i, value, other)) return false;\n }\n return true;\n }\n\n if (Object.getPrototypeOf(value) !== Object.getPrototypeOf(other)) {\n return false;\n }\n\n const vKeys = Reflect.ownKeys(value);\n const oKeys = Reflect.ownKeys(other);\n if (vKeys.length !== oKeys.length) return false;\n\n for (const key of vKeys) {\n const vVal = value[key];\n const oVal = other[key];\n if (!callCustomizer(vVal, oVal, key, value, other)) return false;\n }\n\n return true;\n}\n","import { baseDeepEqual } from \"@/predicates/is/_private/baseDeepEqual\";\n\n/** ----------------------------------------------------\n * * ***Predicate: `isEqual`.***\n * ----------------------------------------------------------\n * **Performs a deep comparison between two values to determine if they are equivalent.**\n * @description\n * Checks whether two values are **deeply equal**, not just reference-equal (`===`).\n * - **✅ This method compares:**\n * - Arrays and TypedArrays\n * - ArrayBuffers\n * - Plain objects (`Object`) ➔ own enumerable properties only\n * - Booleans, Numbers, Strings, Symbols\n * - Dates\n * - Errors\n * - Maps\n * - Sets\n * - Regular expressions\n * - ❌ `Functions` and `DOM nodes` are ***not supported***.\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n * const obj1 = { user: \"fred\" };\n * const obj2 = { user: \"fred\" };\n *\n * isEqual(obj1, obj2);\n * // ➔ true\n * obj1 === obj2;\n * // ➔ false (different references)\n * isEqual([1, 2, 3], [1, 2, 3]);\n * // ➔ true\n * isEqual(new Date(\"2020-01-01\"), new Date(\"2020-01-01\"));\n * // ➔ true\n * isEqual(new Set([1, 2]), new Set([2, 1]));\n * // ➔ true\n * isEqual(/abc/i, new RegExp(\"abc\", \"i\"));\n * // ➔ true\n * isEqual({ a: 1 }, { a: 1, b: undefined });\n * // ➔ false\n */\nexport function isEqual(value: unknown, other: unknown): boolean {\n return baseDeepEqual(value, other, undefined, new WeakMap());\n}\n"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.0`
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 { w as isNumber } from "./assertIsBoolean-BlBct0Fc.js";
11
+ function isFinite(value) {
12
+ return isNumber(value) && Number.isFinite(value);
13
+ }
14
+ export { isFinite as t };
15
+ //# sourceMappingURL=isFinite-BYMOo0os.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isFinite-BYMOo0os.js","names":[],"sources":["../src/predicates/is/isFinite.ts"],"sourcesContent":["import { isNumber } from \"./isNumber\";\n\n/** ----------------------------------------------------------\n * * ***Type guard: `isFinite`.***\n * -----------------------------------------------------------\n * **Checks if a value is a finite primitive number.**\n * @description\n * This function verifies that `value` is a **primitive number** and is **finite**\n * (i.e., not `NaN`, `Infinity`, or `-Infinity`).\n * - **Behavior:**\n * - Behaves like\n * [`Number.isFinite()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite).\n * - But also works as a **TypeScript type guard**.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite primitive number, else `false`.\n * @example\n * import * as RzlUtilsJs from \"@rzl-zone/utils-js/predicates\";\n *\n * // Strict finite number check (only primitive numbers)\n * RzlUtilsJs.isFinite(3);\n * // ➔ true\n * RzlUtilsJs.isFinite(Number.MIN_VALUE);\n * // ➔ true\n * RzlUtilsJs.isFinite(\"3\");\n * // ➔ false (string is not a number)\n * RzlUtilsJs.isFinite(NaN);\n * // ➔ false\n * RzlUtilsJs.isFinite(Infinity);\n * // ➔ false\n * RzlUtilsJs.isFinite(new Number(3));\n * // ➔ false (Number object is not primitive)\n *\n * // Comparison with global isFinite()\n * isFinite(\"3\");\n * // ➔ true (global coerces string to number)\n * isFinite(new Number(3));\n * // ➔ true (object coerced to primitive number)\n */\nexport function isFinite(value: unknown): value is number {\n return isNumber(value) && Number.isFinite(value);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAAgB,SAAS,OAAiC;CACxD,OAAO,SAAS,MAAM,IAAI,OAAO,SAAS,MAAM"}
@@ -0,0 +1,21 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.0`
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
+ const require_assertIsBoolean = require('./assertIsBoolean-DozdtbNi.cjs');
12
+ function isFinite(value) {
13
+ return require_assertIsBoolean.isNumber(value) && Number.isFinite(value);
14
+ }
15
+ Object.defineProperty(exports, 'isFinite', {
16
+ enumerable: true,
17
+ get: function () {
18
+ return isFinite;
19
+ }
20
+ });
21
+ //# sourceMappingURL=isFinite-sFkps2TY.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isFinite-sFkps2TY.cjs","names":["isNumber"],"sources":["../src/predicates/is/isFinite.ts"],"sourcesContent":["import { isNumber } from \"./isNumber\";\n\n/** ----------------------------------------------------------\n * * ***Type guard: `isFinite`.***\n * -----------------------------------------------------------\n * **Checks if a value is a finite primitive number.**\n * @description\n * This function verifies that `value` is a **primitive number** and is **finite**\n * (i.e., not `NaN`, `Infinity`, or `-Infinity`).\n * - **Behavior:**\n * - Behaves like\n * [`Number.isFinite()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite).\n * - But also works as a **TypeScript type guard**.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite primitive number, else `false`.\n * @example\n * import * as RzlUtilsJs from \"@rzl-zone/utils-js/predicates\";\n *\n * // Strict finite number check (only primitive numbers)\n * RzlUtilsJs.isFinite(3);\n * // ➔ true\n * RzlUtilsJs.isFinite(Number.MIN_VALUE);\n * // ➔ true\n * RzlUtilsJs.isFinite(\"3\");\n * // ➔ false (string is not a number)\n * RzlUtilsJs.isFinite(NaN);\n * // ➔ false\n * RzlUtilsJs.isFinite(Infinity);\n * // ➔ false\n * RzlUtilsJs.isFinite(new Number(3));\n * // ➔ false (Number object is not primitive)\n *\n * // Comparison with global isFinite()\n * isFinite(\"3\");\n * // ➔ true (global coerces string to number)\n * isFinite(new Number(3));\n * // ➔ true (object coerced to primitive number)\n */\nexport function isFinite(value: unknown): value is number {\n return isNumber(value) && Number.isFinite(value);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAAgB,SAAS,OAAiC;CACxD,OAAOA,iCAAS,MAAM,IAAI,OAAO,SAAS,MAAM"}
@@ -0,0 +1,14 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.0`
6
+ * Author: `Rizalvin Dwiky <rizalvindwiky@gmail.com>`
7
+ * Repository: `https://github.com/rzl-zone/rzl-zone/tree/main/packages/utils-js`
8
+ * ========================================================================
9
+ */
10
+ function isInteger(value) {
11
+ return typeof value === "number" && Number.isInteger(value);
12
+ }
13
+ export { isInteger as t };
14
+ //# sourceMappingURL=isInteger-DS9V7l_f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isInteger-DS9V7l_f.js","names":[],"sources":["../src/predicates/is/isInteger.ts"],"sourcesContent":["/** ---------------------------------------------------------\n * * ***Type guard: `isInteger`.***\n * ----------------------------------------------------------\n * **Checks if a value is an integer number.**\n * - **ℹ️ Note:**\n * - This method is based on\n * [`Number.isInteger`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger).\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n * isInteger(3);\n * // ➔ true\n * isInteger(Number.MIN_VALUE);\n * // ➔ false\n * isInteger(NaN);\n * // ➔ false\n * isInteger(Infinity);\n * // ➔ false\n * isInteger(-Infinity);\n * // ➔ false\n * isInteger('3');\n * // ➔ false\n */\nexport function isInteger(value: unknown): value is number {\n return typeof value === \"number\" && Number.isInteger(value);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,SAAgB,UAAU,OAAiC;CACzD,OAAO,OAAO,UAAU,YAAY,OAAO,UAAU,MAAM"}
@@ -0,0 +1,20 @@
1
+ /*!
2
+ * ========================================================================
3
+ * @rzl-zone/utils-js
4
+ * ------------------------------------------------------------------------
5
+ * Version: `3.12.1-beta.0`
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
+ function isInteger(value) {
12
+ return typeof value === "number" && Number.isInteger(value);
13
+ }
14
+ Object.defineProperty(exports, 'isInteger', {
15
+ enumerable: true,
16
+ get: function () {
17
+ return isInteger;
18
+ }
19
+ });
20
+ //# sourceMappingURL=isInteger-FTCthMre.cjs.map