ts-data-forge 5.0.1 → 5.1.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 (539) hide show
  1. package/README.md +101 -50
  2. package/dist/array/impl/array-utils-creation.d.mts +14 -0
  3. package/dist/array/impl/array-utils-creation.d.mts.map +1 -1
  4. package/dist/array/impl/array-utils-creation.mjs +12 -0
  5. package/dist/array/impl/array-utils-creation.mjs.map +1 -1
  6. package/dist/array/impl/array-utils-element-access.d.mts +10 -0
  7. package/dist/array/impl/array-utils-element-access.d.mts.map +1 -1
  8. package/dist/array/impl/array-utils-element-access.mjs +6 -0
  9. package/dist/array/impl/array-utils-element-access.mjs.map +1 -1
  10. package/dist/array/impl/array-utils-modification.d.mts +14 -0
  11. package/dist/array/impl/array-utils-modification.d.mts.map +1 -1
  12. package/dist/array/impl/array-utils-modification.mjs.map +1 -1
  13. package/dist/array/impl/array-utils-reducing-value.d.mts +34 -10
  14. package/dist/array/impl/array-utils-reducing-value.d.mts.map +1 -1
  15. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -1
  16. package/dist/array/impl/array-utils-search.d.mts +34 -4
  17. package/dist/array/impl/array-utils-search.d.mts.map +1 -1
  18. package/dist/array/impl/array-utils-search.mjs.map +1 -1
  19. package/dist/array/impl/array-utils-set-op.d.mts +20 -7
  20. package/dist/array/impl/array-utils-set-op.d.mts.map +1 -1
  21. package/dist/array/impl/array-utils-set-op.mjs +20 -7
  22. package/dist/array/impl/array-utils-set-op.mjs.map +1 -1
  23. package/dist/array/impl/array-utils-size.d.mts +5 -2
  24. package/dist/array/impl/array-utils-size.d.mts.map +1 -1
  25. package/dist/array/impl/array-utils-size.mjs +5 -2
  26. package/dist/array/impl/array-utils-size.mjs.map +1 -1
  27. package/dist/array/impl/array-utils-slice-clamped.d.mts +2 -0
  28. package/dist/array/impl/array-utils-slice-clamped.d.mts.map +1 -1
  29. package/dist/array/impl/array-utils-slice-clamped.mjs.map +1 -1
  30. package/dist/array/impl/array-utils-slicing.d.mts +17 -2
  31. package/dist/array/impl/array-utils-slicing.d.mts.map +1 -1
  32. package/dist/array/impl/array-utils-slicing.mjs +9 -2
  33. package/dist/array/impl/array-utils-slicing.mjs.map +1 -1
  34. package/dist/array/impl/array-utils-transformation.d.mts +27 -0
  35. package/dist/array/impl/array-utils-transformation.d.mts.map +1 -1
  36. package/dist/array/impl/array-utils-transformation.mjs +6 -0
  37. package/dist/array/impl/array-utils-transformation.mjs.map +1 -1
  38. package/dist/array/impl/array-utils-validation.d.mts +35 -18
  39. package/dist/array/impl/array-utils-validation.d.mts.map +1 -1
  40. package/dist/array/impl/array-utils-validation.mjs +25 -14
  41. package/dist/array/impl/array-utils-validation.mjs.map +1 -1
  42. package/dist/collections/imap-mapped.mjs.map +1 -1
  43. package/dist/collections/imap.d.mts +35 -15
  44. package/dist/collections/imap.d.mts.map +1 -1
  45. package/dist/collections/imap.mjs +5 -3
  46. package/dist/collections/imap.mjs.map +1 -1
  47. package/dist/collections/iset-mapped.d.mts +46 -19
  48. package/dist/collections/iset-mapped.d.mts.map +1 -1
  49. package/dist/collections/iset-mapped.mjs +9 -2
  50. package/dist/collections/iset-mapped.mjs.map +1 -1
  51. package/dist/collections/iset.d.mts +48 -19
  52. package/dist/collections/iset.d.mts.map +1 -1
  53. package/dist/collections/iset.mjs +9 -2
  54. package/dist/collections/iset.mjs.map +1 -1
  55. package/dist/collections/queue.d.mts +65 -25
  56. package/dist/collections/queue.d.mts.map +1 -1
  57. package/dist/collections/queue.mjs +13 -5
  58. package/dist/collections/queue.mjs.map +1 -1
  59. package/dist/collections/stack.d.mts +60 -25
  60. package/dist/collections/stack.d.mts.map +1 -1
  61. package/dist/collections/stack.mjs +12 -5
  62. package/dist/collections/stack.mjs.map +1 -1
  63. package/dist/entry-point.mjs +1 -1
  64. package/dist/functional/match.d.mts +1 -1
  65. package/dist/functional/match.d.mts.map +1 -1
  66. package/dist/functional/match.mjs.map +1 -1
  67. package/dist/functional/optional/impl/optional-expect-to-be.d.mts +3 -2
  68. package/dist/functional/optional/impl/optional-expect-to-be.d.mts.map +1 -1
  69. package/dist/functional/optional/impl/optional-expect-to-be.mjs.map +1 -1
  70. package/dist/functional/optional/impl/optional-filter.d.mts +3 -0
  71. package/dist/functional/optional/impl/optional-filter.d.mts.map +1 -1
  72. package/dist/functional/optional/impl/optional-filter.mjs.map +1 -1
  73. package/dist/functional/optional/impl/optional-flat-map.d.mts +2 -0
  74. package/dist/functional/optional/impl/optional-flat-map.d.mts.map +1 -1
  75. package/dist/functional/optional/impl/optional-flat-map.mjs.map +1 -1
  76. package/dist/functional/optional/impl/optional-from-nullable.d.mts +2 -0
  77. package/dist/functional/optional/impl/optional-from-nullable.d.mts.map +1 -1
  78. package/dist/functional/optional/impl/optional-from-nullable.mjs +2 -0
  79. package/dist/functional/optional/impl/optional-from-nullable.mjs.map +1 -1
  80. package/dist/functional/optional/impl/optional-is-none.d.mts +1 -1
  81. package/dist/functional/optional/impl/optional-is-none.mjs +1 -1
  82. package/dist/functional/optional/impl/optional-is-optional.d.mts +4 -2
  83. package/dist/functional/optional/impl/optional-is-optional.d.mts.map +1 -1
  84. package/dist/functional/optional/impl/optional-is-optional.mjs +4 -2
  85. package/dist/functional/optional/impl/optional-is-optional.mjs.map +1 -1
  86. package/dist/functional/optional/impl/optional-is-some.d.mts +2 -1
  87. package/dist/functional/optional/impl/optional-is-some.d.mts.map +1 -1
  88. package/dist/functional/optional/impl/optional-is-some.mjs +2 -1
  89. package/dist/functional/optional/impl/optional-is-some.mjs.map +1 -1
  90. package/dist/functional/optional/impl/optional-map.d.mts +2 -0
  91. package/dist/functional/optional/impl/optional-map.d.mts.map +1 -1
  92. package/dist/functional/optional/impl/optional-map.mjs.map +1 -1
  93. package/dist/functional/optional/impl/optional-none.d.mts +4 -2
  94. package/dist/functional/optional/impl/optional-none.d.mts.map +1 -1
  95. package/dist/functional/optional/impl/optional-none.mjs +4 -2
  96. package/dist/functional/optional/impl/optional-none.mjs.map +1 -1
  97. package/dist/functional/optional/impl/optional-or-else.d.mts +4 -0
  98. package/dist/functional/optional/impl/optional-or-else.d.mts.map +1 -1
  99. package/dist/functional/optional/impl/optional-or-else.mjs.map +1 -1
  100. package/dist/functional/optional/impl/optional-some.d.mts +5 -3
  101. package/dist/functional/optional/impl/optional-some.d.mts.map +1 -1
  102. package/dist/functional/optional/impl/optional-some.mjs +4 -2
  103. package/dist/functional/optional/impl/optional-some.mjs.map +1 -1
  104. package/dist/functional/optional/impl/optional-to-nullable.d.mts +4 -2
  105. package/dist/functional/optional/impl/optional-to-nullable.d.mts.map +1 -1
  106. package/dist/functional/optional/impl/optional-to-nullable.mjs +4 -2
  107. package/dist/functional/optional/impl/optional-to-nullable.mjs.map +1 -1
  108. package/dist/functional/optional/impl/optional-unwrap-or.d.mts +7 -4
  109. package/dist/functional/optional/impl/optional-unwrap-or.d.mts.map +1 -1
  110. package/dist/functional/optional/impl/optional-unwrap-or.mjs.map +1 -1
  111. package/dist/functional/optional/impl/optional-unwrap-throw.d.mts +2 -1
  112. package/dist/functional/optional/impl/optional-unwrap-throw.d.mts.map +1 -1
  113. package/dist/functional/optional/impl/optional-unwrap-throw.mjs +2 -1
  114. package/dist/functional/optional/impl/optional-unwrap-throw.mjs.map +1 -1
  115. package/dist/functional/optional/impl/optional-unwrap.d.mts +4 -2
  116. package/dist/functional/optional/impl/optional-unwrap.d.mts.map +1 -1
  117. package/dist/functional/optional/impl/optional-unwrap.mjs.map +1 -1
  118. package/dist/functional/optional/impl/optional-zip.d.mts +3 -1
  119. package/dist/functional/optional/impl/optional-zip.d.mts.map +1 -1
  120. package/dist/functional/optional/impl/optional-zip.mjs +3 -1
  121. package/dist/functional/optional/impl/optional-zip.mjs.map +1 -1
  122. package/dist/functional/pipe.d.mts +2 -2
  123. package/dist/functional/result/impl/result-err.d.mts +4 -2
  124. package/dist/functional/result/impl/result-err.d.mts.map +1 -1
  125. package/dist/functional/result/impl/result-err.mjs +3 -1
  126. package/dist/functional/result/impl/result-err.mjs.map +1 -1
  127. package/dist/functional/result/impl/result-expect-to-be.d.mts +3 -2
  128. package/dist/functional/result/impl/result-expect-to-be.d.mts.map +1 -1
  129. package/dist/functional/result/impl/result-expect-to-be.mjs.map +1 -1
  130. package/dist/functional/result/impl/result-flat-map.d.mts +5 -0
  131. package/dist/functional/result/impl/result-flat-map.d.mts.map +1 -1
  132. package/dist/functional/result/impl/result-flat-map.mjs.map +1 -1
  133. package/dist/functional/result/impl/result-fold.d.mts +4 -0
  134. package/dist/functional/result/impl/result-fold.d.mts.map +1 -1
  135. package/dist/functional/result/impl/result-fold.mjs.map +1 -1
  136. package/dist/functional/result/impl/result-from-promise.d.mts +4 -1
  137. package/dist/functional/result/impl/result-from-promise.d.mts.map +1 -1
  138. package/dist/functional/result/impl/result-from-promise.mjs +4 -1
  139. package/dist/functional/result/impl/result-from-promise.mjs.map +1 -1
  140. package/dist/functional/result/impl/result-from-throwable.d.mts +3 -1
  141. package/dist/functional/result/impl/result-from-throwable.d.mts.map +1 -1
  142. package/dist/functional/result/impl/result-from-throwable.mjs +3 -1
  143. package/dist/functional/result/impl/result-from-throwable.mjs.map +1 -1
  144. package/dist/functional/result/impl/result-is-err.d.mts +4 -2
  145. package/dist/functional/result/impl/result-is-err.d.mts.map +1 -1
  146. package/dist/functional/result/impl/result-is-err.mjs +4 -2
  147. package/dist/functional/result/impl/result-is-err.mjs.map +1 -1
  148. package/dist/functional/result/impl/result-is-ok.d.mts +4 -2
  149. package/dist/functional/result/impl/result-is-ok.d.mts.map +1 -1
  150. package/dist/functional/result/impl/result-is-ok.mjs +4 -2
  151. package/dist/functional/result/impl/result-is-ok.mjs.map +1 -1
  152. package/dist/functional/result/impl/result-is-result.d.mts +7 -3
  153. package/dist/functional/result/impl/result-is-result.d.mts.map +1 -1
  154. package/dist/functional/result/impl/result-is-result.mjs +7 -3
  155. package/dist/functional/result/impl/result-is-result.mjs.map +1 -1
  156. package/dist/functional/result/impl/result-map-err.d.mts +3 -0
  157. package/dist/functional/result/impl/result-map-err.d.mts.map +1 -1
  158. package/dist/functional/result/impl/result-map-err.mjs.map +1 -1
  159. package/dist/functional/result/impl/result-map.d.mts +4 -0
  160. package/dist/functional/result/impl/result-map.d.mts.map +1 -1
  161. package/dist/functional/result/impl/result-map.mjs.map +1 -1
  162. package/dist/functional/result/impl/result-ok.d.mts +4 -2
  163. package/dist/functional/result/impl/result-ok.d.mts.map +1 -1
  164. package/dist/functional/result/impl/result-ok.mjs +3 -1
  165. package/dist/functional/result/impl/result-ok.mjs.map +1 -1
  166. package/dist/functional/result/impl/result-or-else.d.mts +4 -0
  167. package/dist/functional/result/impl/result-or-else.d.mts.map +1 -1
  168. package/dist/functional/result/impl/result-or-else.mjs.map +1 -1
  169. package/dist/functional/result/impl/result-swap.d.mts +2 -0
  170. package/dist/functional/result/impl/result-swap.d.mts.map +1 -1
  171. package/dist/functional/result/impl/result-swap.mjs +2 -0
  172. package/dist/functional/result/impl/result-swap.mjs.map +1 -1
  173. package/dist/functional/result/impl/result-to-optional.d.mts +2 -0
  174. package/dist/functional/result/impl/result-to-optional.d.mts.map +1 -1
  175. package/dist/functional/result/impl/result-to-optional.mjs +2 -0
  176. package/dist/functional/result/impl/result-to-optional.mjs.map +1 -1
  177. package/dist/functional/result/impl/result-unwrap-err-or.d.mts +7 -4
  178. package/dist/functional/result/impl/result-unwrap-err-or.d.mts.map +1 -1
  179. package/dist/functional/result/impl/result-unwrap-err-or.mjs.map +1 -1
  180. package/dist/functional/result/impl/result-unwrap-err-throw.d.mts +3 -1
  181. package/dist/functional/result/impl/result-unwrap-err-throw.d.mts.map +1 -1
  182. package/dist/functional/result/impl/result-unwrap-err-throw.mjs +3 -1
  183. package/dist/functional/result/impl/result-unwrap-err-throw.mjs.map +1 -1
  184. package/dist/functional/result/impl/result-unwrap-err.d.mts +3 -2
  185. package/dist/functional/result/impl/result-unwrap-err.d.mts.map +1 -1
  186. package/dist/functional/result/impl/result-unwrap-err.mjs +3 -2
  187. package/dist/functional/result/impl/result-unwrap-err.mjs.map +1 -1
  188. package/dist/functional/result/impl/result-unwrap-ok-or.d.mts +7 -4
  189. package/dist/functional/result/impl/result-unwrap-ok-or.d.mts.map +1 -1
  190. package/dist/functional/result/impl/result-unwrap-ok-or.mjs.map +1 -1
  191. package/dist/functional/result/impl/result-unwrap-ok.d.mts +3 -2
  192. package/dist/functional/result/impl/result-unwrap-ok.d.mts.map +1 -1
  193. package/dist/functional/result/impl/result-unwrap-ok.mjs.map +1 -1
  194. package/dist/functional/result/impl/result-unwrap-throw.d.mts +3 -1
  195. package/dist/functional/result/impl/result-unwrap-throw.d.mts.map +1 -1
  196. package/dist/functional/result/impl/result-unwrap-throw.mjs +3 -1
  197. package/dist/functional/result/impl/result-unwrap-throw.mjs.map +1 -1
  198. package/dist/functional/result/impl/result-zip.d.mts +3 -1
  199. package/dist/functional/result/impl/result-zip.d.mts.map +1 -1
  200. package/dist/functional/result/impl/result-zip.mjs +3 -1
  201. package/dist/functional/result/impl/result-zip.mjs.map +1 -1
  202. package/dist/functional/ternary-result/impl/ternary-result-err.d.mts +3 -2
  203. package/dist/functional/ternary-result/impl/ternary-result-err.d.mts.map +1 -1
  204. package/dist/functional/ternary-result/impl/ternary-result-err.mjs +2 -1
  205. package/dist/functional/ternary-result/impl/ternary-result-err.mjs.map +1 -1
  206. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.d.mts +1 -0
  207. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.d.mts.map +1 -1
  208. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs.map +1 -1
  209. package/dist/functional/ternary-result/impl/ternary-result-flat-map.d.mts +4 -0
  210. package/dist/functional/ternary-result/impl/ternary-result-flat-map.d.mts.map +1 -1
  211. package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs.map +1 -1
  212. package/dist/functional/ternary-result/impl/ternary-result-fold.d.mts +2 -0
  213. package/dist/functional/ternary-result/impl/ternary-result-fold.d.mts.map +1 -1
  214. package/dist/functional/ternary-result/impl/ternary-result-fold.mjs.map +1 -1
  215. package/dist/functional/ternary-result/impl/ternary-result-from-promise.d.mts +3 -1
  216. package/dist/functional/ternary-result/impl/ternary-result-from-promise.d.mts.map +1 -1
  217. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs +3 -1
  218. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs.map +1 -1
  219. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.d.mts +3 -1
  220. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.d.mts.map +1 -1
  221. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs +3 -1
  222. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs.map +1 -1
  223. package/dist/functional/ternary-result/impl/ternary-result-is-ok.d.mts +1 -0
  224. package/dist/functional/ternary-result/impl/ternary-result-is-ok.d.mts.map +1 -1
  225. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs +1 -0
  226. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs.map +1 -1
  227. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.d.mts +7 -3
  228. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.d.mts.map +1 -1
  229. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs +7 -3
  230. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs.map +1 -1
  231. package/dist/functional/ternary-result/impl/ternary-result-is-warn.d.mts +1 -0
  232. package/dist/functional/ternary-result/impl/ternary-result-is-warn.d.mts.map +1 -1
  233. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs +1 -0
  234. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs.map +1 -1
  235. package/dist/functional/ternary-result/impl/ternary-result-map-err.d.mts +3 -0
  236. package/dist/functional/ternary-result/impl/ternary-result-map-err.d.mts.map +1 -1
  237. package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs.map +1 -1
  238. package/dist/functional/ternary-result/impl/ternary-result-map-warn.d.mts +3 -0
  239. package/dist/functional/ternary-result/impl/ternary-result-map-warn.d.mts.map +1 -1
  240. package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs.map +1 -1
  241. package/dist/functional/ternary-result/impl/ternary-result-map.d.mts +6 -0
  242. package/dist/functional/ternary-result/impl/ternary-result-map.d.mts.map +1 -1
  243. package/dist/functional/ternary-result/impl/ternary-result-map.mjs.map +1 -1
  244. package/dist/functional/ternary-result/impl/ternary-result-ok.d.mts +1 -1
  245. package/dist/functional/ternary-result/impl/ternary-result-ok.d.mts.map +1 -1
  246. package/dist/functional/ternary-result/impl/ternary-result-ok.mjs.map +1 -1
  247. package/dist/functional/ternary-result/impl/ternary-result-or-else.d.mts +2 -0
  248. package/dist/functional/ternary-result/impl/ternary-result-or-else.d.mts.map +1 -1
  249. package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs.map +1 -1
  250. package/dist/functional/ternary-result/impl/ternary-result-to-optional.d.mts +2 -0
  251. package/dist/functional/ternary-result/impl/ternary-result-to-optional.d.mts.map +1 -1
  252. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs +2 -0
  253. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs.map +1 -1
  254. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.d.mts +2 -0
  255. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.d.mts.map +1 -1
  256. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs.map +1 -1
  257. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.d.mts +1 -0
  258. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.d.mts.map +1 -1
  259. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs +1 -0
  260. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs.map +1 -1
  261. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.d.mts +2 -0
  262. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.d.mts.map +1 -1
  263. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs +2 -0
  264. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs.map +1 -1
  265. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.d.mts +2 -0
  266. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.d.mts.map +1 -1
  267. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs.map +1 -1
  268. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.d.mts +2 -0
  269. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.d.mts.map +1 -1
  270. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs.map +1 -1
  271. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.d.mts +1 -0
  272. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.d.mts.map +1 -1
  273. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs +1 -0
  274. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs.map +1 -1
  275. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.d.mts +2 -0
  276. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.d.mts.map +1 -1
  277. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs.map +1 -1
  278. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.d.mts +1 -0
  279. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.d.mts.map +1 -1
  280. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs +1 -0
  281. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs.map +1 -1
  282. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.d.mts +2 -0
  283. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.d.mts.map +1 -1
  284. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs +2 -0
  285. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs.map +1 -1
  286. package/dist/functional/ternary-result/impl/ternary-result-warn.d.mts +1 -1
  287. package/dist/functional/ternary-result/impl/ternary-result-warn.d.mts.map +1 -1
  288. package/dist/functional/ternary-result/impl/ternary-result-warn.mjs.map +1 -1
  289. package/dist/functional/ternary-result/impl/ternary-result-zip.d.mts +4 -0
  290. package/dist/functional/ternary-result/impl/ternary-result-zip.d.mts.map +1 -1
  291. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs +4 -0
  292. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs.map +1 -1
  293. package/dist/globals.d.mts +12 -1
  294. package/dist/guard/has-key.d.mts +6 -3
  295. package/dist/guard/has-key.d.mts.map +1 -1
  296. package/dist/guard/has-key.mjs +2 -2
  297. package/dist/guard/index.mjs +1 -1
  298. package/dist/guard/is-record.d.mts +31 -0
  299. package/dist/guard/is-record.d.mts.map +1 -1
  300. package/dist/guard/is-record.mjs +32 -1
  301. package/dist/guard/is-record.mjs.map +1 -1
  302. package/dist/guard/is-type.d.mts +3 -0
  303. package/dist/guard/is-type.d.mts.map +1 -1
  304. package/dist/guard/is-type.mjs +3 -0
  305. package/dist/guard/is-type.mjs.map +1 -1
  306. package/dist/guard/key-is-in.d.mts +3 -2
  307. package/dist/guard/key-is-in.d.mts.map +1 -1
  308. package/dist/guard/key-is-in.mjs +3 -2
  309. package/dist/guard/key-is-in.mjs.map +1 -1
  310. package/dist/index.mjs +1 -1
  311. package/dist/iterator/range.d.mts +4 -0
  312. package/dist/iterator/range.d.mts.map +1 -1
  313. package/dist/iterator/range.mjs +1 -0
  314. package/dist/iterator/range.mjs.map +1 -1
  315. package/dist/json/json.d.mts +42 -21
  316. package/dist/json/json.d.mts.map +1 -1
  317. package/dist/json/json.mjs +42 -21
  318. package/dist/json/json.mjs.map +1 -1
  319. package/dist/number/branded-types/int.d.mts +33 -19
  320. package/dist/number/branded-types/int.d.mts.map +1 -1
  321. package/dist/number/branded-types/int.mjs +33 -19
  322. package/dist/number/branded-types/int.mjs.map +1 -1
  323. package/dist/number/branded-types/non-zero-safe-int.mjs +2 -2
  324. package/dist/number/branded-types/positive-int.d.mts +34 -20
  325. package/dist/number/branded-types/positive-int.d.mts.map +1 -1
  326. package/dist/number/branded-types/positive-int.mjs +34 -20
  327. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  328. package/dist/number/branded-types/positive-safe-int.d.mts +47 -26
  329. package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
  330. package/dist/number/branded-types/positive-safe-int.mjs +48 -27
  331. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  332. package/dist/number/branded-types/safe-int.d.mts +48 -27
  333. package/dist/number/branded-types/safe-int.d.mts.map +1 -1
  334. package/dist/number/branded-types/safe-int.mjs +50 -29
  335. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  336. package/dist/number/branded-types/safe-uint.mjs +1 -1
  337. package/dist/number/branded-types/uint.d.mts +31 -19
  338. package/dist/number/branded-types/uint.d.mts.map +1 -1
  339. package/dist/number/branded-types/uint.mjs +31 -19
  340. package/dist/number/branded-types/uint.mjs.map +1 -1
  341. package/dist/number/num.d.mts +29 -20
  342. package/dist/number/num.d.mts.map +1 -1
  343. package/dist/number/num.mjs +24 -17
  344. package/dist/number/num.mjs.map +1 -1
  345. package/dist/number/refined-number-utils.d.mts +33 -11
  346. package/dist/number/refined-number-utils.d.mts.map +1 -1
  347. package/dist/number/refined-number-utils.mjs +33 -11
  348. package/dist/number/refined-number-utils.mjs.map +1 -1
  349. package/dist/object/object.d.mts +12 -3
  350. package/dist/object/object.d.mts.map +1 -1
  351. package/dist/object/object.mjs +10 -3
  352. package/dist/object/object.mjs.map +1 -1
  353. package/dist/others/map-nullable.mjs.map +1 -1
  354. package/dist/others/tuple.d.mts +14 -3
  355. package/dist/others/tuple.d.mts.map +1 -1
  356. package/dist/others/tuple.mjs +14 -3
  357. package/dist/others/tuple.mjs.map +1 -1
  358. package/dist/others/unknown-to-string.d.mts.map +1 -1
  359. package/dist/others/unknown-to-string.mjs.map +1 -1
  360. package/dist/promise/promise.d.mts +8 -4
  361. package/dist/promise/promise.d.mts.map +1 -1
  362. package/dist/promise/promise.mjs +8 -4
  363. package/dist/promise/promise.mjs.map +1 -1
  364. package/package.json +26 -28
  365. package/src/array/impl/array-utils-creation.mts +20 -0
  366. package/src/array/impl/array-utils-creation.test.mts +72 -1
  367. package/src/array/impl/array-utils-element-access.mts +13 -0
  368. package/src/array/impl/array-utils-element-access.test.mts +36 -15
  369. package/src/array/impl/array-utils-iterators.test.mts +17 -0
  370. package/src/array/impl/array-utils-modification.mts +78 -19
  371. package/src/array/impl/array-utils-modification.test.mts +75 -0
  372. package/src/array/impl/array-utils-overload-type-error.test.mts +19 -0
  373. package/src/array/impl/array-utils-reducing-value.mts +61 -16
  374. package/src/array/impl/array-utils-reducing-value.test.mts +107 -25
  375. package/src/array/impl/array-utils-search.mts +57 -4
  376. package/src/array/impl/array-utils-search.test.mts +61 -10
  377. package/src/array/impl/array-utils-set-op.mts +26 -7
  378. package/src/array/impl/array-utils-set-op.test.mts +129 -13
  379. package/src/array/impl/array-utils-size.mts +5 -2
  380. package/src/array/impl/array-utils-size.test.mts +1 -0
  381. package/src/array/impl/array-utils-slice-clamped.mts +7 -0
  382. package/src/array/impl/array-utils-slice-clamped.test.mts +20 -0
  383. package/src/array/impl/array-utils-slicing.mts +29 -2
  384. package/src/array/impl/array-utils-slicing.test.mts +57 -0
  385. package/src/array/impl/array-utils-transformation.mts +58 -0
  386. package/src/array/impl/array-utils-transformation.test.mts +115 -3
  387. package/src/array/impl/array-utils-validation.mts +41 -18
  388. package/src/array/impl/array-utils-validation.test.mts +176 -78
  389. package/src/array/impl/array.test.mts +18 -6
  390. package/src/collections/imap-mapped.mts +11 -0
  391. package/src/collections/imap-mapped.test.mts +86 -18
  392. package/src/collections/imap.mts +47 -15
  393. package/src/collections/imap.test.mts +137 -31
  394. package/src/collections/iset-mapped.mts +54 -19
  395. package/src/collections/iset-mapped.test.mts +163 -52
  396. package/src/collections/iset.mts +53 -19
  397. package/src/collections/iset.test.mts +323 -130
  398. package/src/collections/queue.mts +78 -25
  399. package/src/collections/queue.test.mts +65 -35
  400. package/src/collections/stack.mts +67 -25
  401. package/src/collections/stack.test.mts +59 -15
  402. package/src/functional/match.mts +17 -1
  403. package/src/functional/match.test.mts +2 -0
  404. package/src/functional/optional/impl/optional-expect-to-be.mts +5 -2
  405. package/src/functional/optional/impl/optional-filter.mts +6 -0
  406. package/src/functional/optional/impl/optional-flat-map.mts +4 -0
  407. package/src/functional/optional/impl/optional-from-nullable.mts +2 -0
  408. package/src/functional/optional/impl/optional-is-none.mts +1 -1
  409. package/src/functional/optional/impl/optional-is-optional.mts +4 -2
  410. package/src/functional/optional/impl/optional-is-some.mts +2 -1
  411. package/src/functional/optional/impl/optional-map.mts +5 -0
  412. package/src/functional/optional/impl/optional-none.mts +4 -2
  413. package/src/functional/optional/impl/optional-or-else.mts +6 -0
  414. package/src/functional/optional/impl/optional-some.mts +5 -3
  415. package/src/functional/optional/impl/optional-to-nullable.mts +4 -2
  416. package/src/functional/optional/impl/optional-unwrap-or.mts +9 -4
  417. package/src/functional/optional/impl/optional-unwrap-throw.mts +2 -1
  418. package/src/functional/optional/impl/optional-unwrap.mts +4 -2
  419. package/src/functional/optional/impl/optional-zip.mts +3 -1
  420. package/src/functional/optional.test.mts +126 -54
  421. package/src/functional/pipe.mts +2 -2
  422. package/src/functional/pipe.test.mts +7 -4
  423. package/src/functional/result/impl/result-err.mts +4 -2
  424. package/src/functional/result/impl/result-expect-to-be.mts +5 -2
  425. package/src/functional/result/impl/result-flat-map.mts +7 -0
  426. package/src/functional/result/impl/result-fold.mts +6 -0
  427. package/src/functional/result/impl/result-from-promise.mts +4 -1
  428. package/src/functional/result/impl/result-from-throwable.mts +5 -1
  429. package/src/functional/result/impl/result-is-err.mts +4 -2
  430. package/src/functional/result/impl/result-is-ok.mts +4 -2
  431. package/src/functional/result/impl/result-is-result.mts +7 -3
  432. package/src/functional/result/impl/result-map-err.mts +5 -0
  433. package/src/functional/result/impl/result-map.mts +6 -0
  434. package/src/functional/result/impl/result-ok.mts +4 -2
  435. package/src/functional/result/impl/result-or-else.mts +6 -0
  436. package/src/functional/result/impl/result-swap.mts +2 -0
  437. package/src/functional/result/impl/result-to-optional.mts +2 -0
  438. package/src/functional/result/impl/result-unwrap-err-or.mts +9 -4
  439. package/src/functional/result/impl/result-unwrap-err-throw.mts +3 -1
  440. package/src/functional/result/impl/result-unwrap-err.mts +3 -2
  441. package/src/functional/result/impl/result-unwrap-ok-or.mts +9 -4
  442. package/src/functional/result/impl/result-unwrap-ok.mts +4 -2
  443. package/src/functional/result/impl/result-unwrap-throw.mts +3 -1
  444. package/src/functional/result/impl/result-zip.mts +3 -1
  445. package/src/functional/result.test.mts +182 -152
  446. package/src/functional/ternary-result/impl/ternary-result-err.mts +3 -2
  447. package/src/functional/ternary-result/impl/ternary-result-expect-to-be.mts +4 -0
  448. package/src/functional/ternary-result/impl/ternary-result-flat-map.mts +7 -0
  449. package/src/functional/ternary-result/impl/ternary-result-fold.mts +5 -0
  450. package/src/functional/ternary-result/impl/ternary-result-from-promise.mts +3 -1
  451. package/src/functional/ternary-result/impl/ternary-result-from-throwable.mts +4 -1
  452. package/src/functional/ternary-result/impl/ternary-result-is-ok.mts +1 -0
  453. package/src/functional/ternary-result/impl/ternary-result-is-ternary-result.mts +7 -3
  454. package/src/functional/ternary-result/impl/ternary-result-is-warn.mts +1 -0
  455. package/src/functional/ternary-result/impl/ternary-result-map-err.mts +6 -0
  456. package/src/functional/ternary-result/impl/ternary-result-map-warn.mts +6 -0
  457. package/src/functional/ternary-result/impl/ternary-result-map.mts +9 -0
  458. package/src/functional/ternary-result/impl/ternary-result-ok.mts +1 -1
  459. package/src/functional/ternary-result/impl/ternary-result-or-else.mts +5 -0
  460. package/src/functional/ternary-result/impl/ternary-result-to-optional.mts +2 -0
  461. package/src/functional/ternary-result/impl/ternary-result-unwrap-err-or.mts +5 -0
  462. package/src/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mts +1 -0
  463. package/src/functional/ternary-result/impl/ternary-result-unwrap-err.mts +2 -0
  464. package/src/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mts +5 -0
  465. package/src/functional/ternary-result/impl/ternary-result-unwrap-ok.mts +3 -0
  466. package/src/functional/ternary-result/impl/ternary-result-unwrap-throw.mts +1 -0
  467. package/src/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mts +5 -0
  468. package/src/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mts +1 -0
  469. package/src/functional/ternary-result/impl/ternary-result-unwrap-warn.mts +2 -0
  470. package/src/functional/ternary-result/impl/ternary-result-warn.mts +4 -1
  471. package/src/functional/ternary-result/impl/ternary-result-zip.mts +4 -0
  472. package/src/functional/ternary-result.test.mts +99 -8
  473. package/src/globals.d.mts +12 -1
  474. package/src/guard/has-key.mts +8 -5
  475. package/src/guard/has-key.test.mts +9 -5
  476. package/src/guard/is-error.test.mts +143 -0
  477. package/src/guard/is-non-empty-string.test.mts +44 -24
  478. package/src/guard/is-non-null-object.test.mts +45 -26
  479. package/src/guard/is-primitive.test.mts +51 -28
  480. package/src/guard/is-record.mts +34 -0
  481. package/src/guard/is-record.test.mts +28 -7
  482. package/src/guard/is-type.mts +3 -0
  483. package/src/guard/is-type.test.mts +285 -155
  484. package/src/guard/key-is-in.mts +3 -2
  485. package/src/guard/key-is-in.test.mts +2 -2
  486. package/src/iterator/range.mts +9 -0
  487. package/src/json/json.mts +50 -21
  488. package/src/json/json.test.mts +224 -176
  489. package/src/number/branded-types/finite-number.test.mts +51 -11
  490. package/src/number/branded-types/int.mts +33 -19
  491. package/src/number/branded-types/int.test.mts +56 -14
  492. package/src/number/branded-types/int16.test.mts +63 -16
  493. package/src/number/branded-types/int32.test.mts +63 -16
  494. package/src/number/branded-types/non-negative-finite-number.test.mts +52 -12
  495. package/src/number/branded-types/non-negative-int16.test.mts +59 -16
  496. package/src/number/branded-types/non-negative-int32.test.mts +59 -16
  497. package/src/number/branded-types/non-zero-finite-number.test.mts +65 -14
  498. package/src/number/branded-types/non-zero-int.test.mts +72 -19
  499. package/src/number/branded-types/non-zero-int16.test.mts +60 -16
  500. package/src/number/branded-types/non-zero-int32.test.mts +60 -16
  501. package/src/number/branded-types/non-zero-safe-int.mts +2 -2
  502. package/src/number/branded-types/non-zero-safe-int.test.mts +85 -23
  503. package/src/number/branded-types/non-zero-uint16.test.mts +53 -16
  504. package/src/number/branded-types/non-zero-uint32.test.mts +53 -16
  505. package/src/number/branded-types/positive-finite-number.test.mts +59 -14
  506. package/src/number/branded-types/positive-int.mts +34 -20
  507. package/src/number/branded-types/positive-int.test.mts +64 -17
  508. package/src/number/branded-types/positive-int16.test.mts +50 -15
  509. package/src/number/branded-types/positive-int32.test.mts +50 -15
  510. package/src/number/branded-types/positive-safe-int.mts +48 -27
  511. package/src/number/branded-types/positive-safe-int.test.mts +68 -19
  512. package/src/number/branded-types/positive-uint16.test.mts +53 -16
  513. package/src/number/branded-types/positive-uint32.test.mts +53 -16
  514. package/src/number/branded-types/safe-int.mts +50 -29
  515. package/src/number/branded-types/safe-int.test.mts +70 -18
  516. package/src/number/branded-types/safe-uint.mts +1 -1
  517. package/src/number/branded-types/safe-uint.test.mts +65 -17
  518. package/src/number/branded-types/uint.mts +31 -19
  519. package/src/number/branded-types/uint.test.mts +58 -15
  520. package/src/number/branded-types/uint16.test.mts +56 -15
  521. package/src/number/branded-types/uint32.test.mts +56 -15
  522. package/src/number/enum/int8.test.mts +7 -1
  523. package/src/number/enum/uint8.test.mts +7 -1
  524. package/src/number/num.mts +32 -21
  525. package/src/number/num.test.mts +88 -26
  526. package/src/number/refined-number-utils.mts +38 -13
  527. package/src/object/object.mts +19 -3
  528. package/src/object/object.test.mts +16 -6
  529. package/src/others/cast-mutable.test.mts +8 -1
  530. package/src/others/cast-readonly.test.mts +21 -4
  531. package/src/others/if-then.test.mts +40 -24
  532. package/src/others/map-nullable.mts +3 -0
  533. package/src/others/map-nullable.test.mts +27 -0
  534. package/src/others/memoize-function.test.mts +41 -0
  535. package/src/others/tuple.mts +14 -3
  536. package/src/others/unknown-to-string.mts +2 -0
  537. package/src/others/unknown-to-string.test.mts +10 -0
  538. package/src/promise/promise.mts +8 -4
  539. package/src/promise/promise.test.mts +8 -13
@@ -27,6 +27,7 @@ describe('IMap[Symbol.iterator]', () => {
27
27
  ['a', 1],
28
28
  ['b', 2],
29
29
  ]);
30
+
30
31
  const mut_collected: (readonly [string, number])[] = [];
31
32
 
32
33
  for (const entry of map) {
@@ -34,7 +35,9 @@ describe('IMap[Symbol.iterator]', () => {
34
35
  }
35
36
 
36
37
  expect(mut_collected).toHaveLength(2);
38
+
37
39
  expect(mut_collected).toContainEqual(['a', 1]);
40
+
38
41
  expect(mut_collected).toContainEqual(['b', 2]);
39
42
  });
40
43
 
@@ -43,10 +46,13 @@ describe('IMap[Symbol.iterator]', () => {
43
46
  ['a', 1],
44
47
  ['b', 2],
45
48
  ]);
49
+
46
50
  const entries = Array.from(map);
47
51
 
48
52
  expect(entries).toHaveLength(2);
53
+
49
54
  expect(entries).toContainEqual(['a', 1]);
55
+
50
56
  expect(entries).toContainEqual(['b', 2]);
51
57
  });
52
58
 
@@ -55,10 +61,13 @@ describe('IMap[Symbol.iterator]', () => {
55
61
  ['a', 1],
56
62
  ['b', 2],
57
63
  ]);
64
+
58
65
  const entries = Array.from(map);
59
66
 
60
67
  expect(entries).toHaveLength(2);
68
+
61
69
  expect(entries).toContainEqual(['a', 1]);
70
+
62
71
  expect(entries).toContainEqual(['b', 2]);
63
72
  });
64
73
  });
@@ -75,10 +84,13 @@ describe('IMap.create', () => {
75
84
  ['a', 1],
76
85
  ['b', 2],
77
86
  ]);
87
+
78
88
  const map = IMap.create(jsMap);
79
89
 
80
90
  expect(map.size).toBe(2);
91
+
81
92
  expect(Optional.unwrap(map.get('a'))).toBe(1);
93
+
82
94
  expect(Optional.unwrap(map.get('b'))).toBe(2);
83
95
  });
84
96
 
@@ -87,10 +99,13 @@ describe('IMap.create', () => {
87
99
  ['a', 1],
88
100
  ['b', 2],
89
101
  ]);
102
+
90
103
  const copy = IMap.create(original);
91
104
 
92
105
  expect(copy.size).toBe(2);
106
+
93
107
  expect(Optional.unwrap(copy.get('a'))).toBe(1);
108
+
94
109
  expect(Optional.unwrap(copy.get('b'))).toBe(2);
95
110
  });
96
111
  });
@@ -101,12 +116,13 @@ describe('IMap.equal', () => {
101
116
  ['a', 1],
102
117
  ['b', 2],
103
118
  ]);
119
+
104
120
  const map2 = IMap.create([
105
121
  ['a', 1],
106
122
  ['b', 2],
107
123
  ]);
108
124
 
109
- expect(IMap.equal(map1, map2)).toBe(true);
125
+ assert.isTrue(IMap.equal(map1, map2));
110
126
  });
111
127
 
112
128
  test('should return true for different creation order', () => {
@@ -114,22 +130,24 @@ describe('IMap.equal', () => {
114
130
  ['a', 1],
115
131
  ['b', 2],
116
132
  ]);
133
+
117
134
  const map2 = IMap.create([
118
135
  ['b', 2],
119
136
  ['a', 1],
120
137
  ]);
121
138
 
122
- expect(IMap.equal(map1, map2)).toBe(true);
139
+ assert.isTrue(IMap.equal(map1, map2));
123
140
  });
124
141
 
125
142
  test('should return false for maps with different sizes', () => {
126
143
  const map1 = IMap.create<'a' | 'b', number>([['a', 1]]);
144
+
127
145
  const map2 = IMap.create([
128
146
  ['a', 1],
129
147
  ['b', 2],
130
148
  ]);
131
149
 
132
- expect(IMap.equal(map1, map2)).toBe(false);
150
+ assert.isFalse(IMap.equal(map1, map2));
133
151
  });
134
152
 
135
153
  test('should return false for maps with different values', () => {
@@ -137,12 +155,13 @@ describe('IMap.equal', () => {
137
155
  ['a', 1],
138
156
  ['b', 2],
139
157
  ]);
158
+
140
159
  const map2 = IMap.create([
141
160
  ['a', 1],
142
161
  ['b', 3],
143
162
  ]);
144
163
 
145
- expect(IMap.equal(map1, map2)).toBe(false);
164
+ assert.isFalse(IMap.equal(map1, map2));
146
165
  });
147
166
 
148
167
  test('should return false for maps with different keys', () => {
@@ -150,19 +169,21 @@ describe('IMap.equal', () => {
150
169
  ['a', 1],
151
170
  ['b', 2],
152
171
  ]);
172
+
153
173
  const map2 = IMap.create<'a' | 'b' | 'c', number>([
154
174
  ['a', 1],
155
175
  ['c', 2],
156
176
  ]);
157
177
 
158
- expect(IMap.equal(map1, map2)).toBe(false);
178
+ assert.isFalse(IMap.equal(map1, map2));
159
179
  });
160
180
 
161
181
  test('should return true for empty maps', () => {
162
182
  const map1 = IMap.create<string, number>([]);
183
+
163
184
  const map2 = IMap.create<string, number>([]);
164
185
 
165
- expect(IMap.equal(map1, map2)).toBe(true);
186
+ assert.isTrue(IMap.equal(map1, map2));
166
187
  });
167
188
  });
168
189
 
@@ -188,7 +209,7 @@ describe('IMap.has', () => {
188
209
  [7, 70],
189
210
  ] as const);
190
211
 
191
- expect(m0.has(6)).toBe(true);
212
+ assert.isTrue(m0.has(6));
192
213
  });
193
214
 
194
215
  test('case 2', () => {
@@ -200,13 +221,13 @@ describe('IMap.has', () => {
200
221
  [7, 70],
201
222
  ]);
202
223
 
203
- expect(m0.has(8)).toBe(false);
224
+ assert.isFalse(m0.has(8));
204
225
  });
205
226
 
206
227
  test('case 3', () => {
207
228
  const m0 = IMap.create<number, number>([]);
208
229
 
209
- expect(m0.has(0)).toBe(false);
230
+ assert.isFalse(m0.has(0));
210
231
  });
211
232
 
212
233
  test('case 4', () => {
@@ -219,7 +240,7 @@ describe('IMap.has', () => {
219
240
  [Number.NaN, 0],
220
241
  ] as const);
221
242
 
222
- expect(m0.has(Number.NaN)).toBe(true);
243
+ assert.isTrue(m0.has(Number.NaN));
223
244
  });
224
245
 
225
246
  test('should handle boolean keys', () => {
@@ -228,8 +249,9 @@ describe('IMap.has', () => {
228
249
  [false, 'no'],
229
250
  ]);
230
251
 
231
- expect(map.has(true)).toBe(true);
232
- expect(map.has(false)).toBe(true);
252
+ assert.isTrue(map.has(true));
253
+
254
+ assert.isTrue(map.has(false));
233
255
  });
234
256
 
235
257
  test('should handle string number keys', () => {
@@ -238,8 +260,9 @@ describe('IMap.has', () => {
238
260
  ['2', 'two'],
239
261
  ]);
240
262
 
241
- expect(map.has('1')).toBe(true);
242
- expect(map.has(String(1))).toBe(true);
263
+ assert.isTrue(map.has('1'));
264
+
265
+ assert.isTrue(map.has(String(1)));
243
266
  });
244
267
  });
245
268
 
@@ -294,6 +317,7 @@ describe('IMap.get', () => {
294
317
  ]);
295
318
 
296
319
  expect(Optional.unwrap(map.get('undef'))).toBeUndefined();
320
+
297
321
  expect(Optional.unwrap(map.get('null'))).toBeNull();
298
322
  });
299
323
  });
@@ -319,6 +343,7 @@ describe('IMap.set', () => {
319
343
  [9, 90],
320
344
  ]),
321
345
  );
346
+
322
347
  assert.deepStrictEqual(
323
348
  m0,
324
349
  IMap.create([
@@ -350,6 +375,7 @@ describe('IMap.set', () => {
350
375
  [7, 70],
351
376
  ]),
352
377
  );
378
+
353
379
  assert.deepStrictEqual(
354
380
  m0,
355
381
  IMap.create([
@@ -366,35 +392,46 @@ describe('IMap.set', () => {
366
392
  const m0 = IMap.create<number, number>([]);
367
393
 
368
394
  assert.deepStrictEqual(m0.set(1, 10), IMap.create([[1, 10]]));
395
+
369
396
  assert.deepStrictEqual(m0, IMap.create<number, number>([]));
370
397
  });
371
398
 
372
399
  test('should not create new instance when setting the same value', () => {
373
400
  const map = IMap.create([['a', 1]]);
401
+
374
402
  const updated = map.set('a', 1);
375
403
 
376
404
  expect(updated).toBe(map);
405
+
377
406
  expect(Optional.unwrap(updated.get('a'))).toBe(1);
378
407
  });
379
408
 
380
409
  test('should not create new instance even with same value', () => {
381
410
  const map = IMap.create([['a', 1]]);
411
+
382
412
  const curr = map.get('a');
383
- assert(Optional.isSome(curr));
413
+
414
+ assert.isTrue(Optional.isSome(curr));
415
+
384
416
  const updated = map.set('a', curr.value);
385
417
 
386
418
  expect(updated).toBe(map);
419
+
387
420
  expect(Optional.unwrap(updated.get('a'))).toBe(1);
388
421
  });
389
422
 
390
423
  test('should not modify original map when setting', () => {
391
424
  const original = IMap.create<string, number>([['a', 1]]);
425
+
392
426
  const modified = original.set('b', 2);
393
427
 
394
428
  expect(original.size).toBe(1);
429
+
395
430
  expect(modified.size).toBe(2);
396
- expect(original.has('b')).toBe(false);
397
- expect(modified.has('b')).toBe(true);
431
+
432
+ assert.isFalse(original.has('b'));
433
+
434
+ assert.isTrue(modified.has('b'));
398
435
  });
399
436
  });
400
437
 
@@ -418,6 +455,7 @@ describe('IMap.update', () => {
418
455
  [7, 70],
419
456
  ]),
420
457
  );
458
+
421
459
  assert.deepStrictEqual(
422
460
  m0,
423
461
  IMap.create([
@@ -449,6 +487,7 @@ describe('IMap.update', () => {
449
487
  [7, 70],
450
488
  ]),
451
489
  );
490
+
452
491
  assert.deepStrictEqual(
453
492
  m0,
454
493
  IMap.create([
@@ -468,14 +507,17 @@ describe('IMap.update', () => {
468
507
  m0.update(1, (x) => 2 * x),
469
508
  IMap.create([]),
470
509
  );
510
+
471
511
  assert.deepStrictEqual(m0, IMap.create<number, number>([]));
472
512
  });
473
513
 
474
514
  test('should not modify original map when updating', () => {
475
515
  const original = IMap.create([['a', 1]]);
516
+
476
517
  const modified = original.update('a', (x) => x * 2);
477
518
 
478
519
  expect(Optional.unwrap(original.get('a'))).toBe(1);
520
+
479
521
  expect(Optional.unwrap(modified.get('a'))).toBe(2);
480
522
  });
481
523
  });
@@ -500,6 +542,7 @@ describe('IMap.delete', () => {
500
542
  [7, 70],
501
543
  ]),
502
544
  );
545
+
503
546
  assert.deepStrictEqual(
504
547
  m0,
505
548
  IMap.create([
@@ -530,6 +573,7 @@ describe('IMap.delete', () => {
530
573
  [7, 70],
531
574
  ]),
532
575
  );
576
+
533
577
  assert.deepStrictEqual(
534
578
  m0,
535
579
  IMap.create([
@@ -546,6 +590,7 @@ describe('IMap.delete', () => {
546
590
  const m0 = IMap.create<number, number>([]);
547
591
 
548
592
  assert.deepStrictEqual(m0.delete(1), IMap.create([]));
593
+
549
594
  assert.deepStrictEqual(m0, IMap.create<number, number>([]));
550
595
  });
551
596
 
@@ -554,12 +599,16 @@ describe('IMap.delete', () => {
554
599
  ['a', 1],
555
600
  ['b', 2],
556
601
  ]);
602
+
557
603
  const modified = original.delete('a');
558
604
 
559
605
  expect(original.size).toBe(2);
606
+
560
607
  expect(modified.size).toBe(1);
561
- expect(original.has('a')).toBe(true);
562
- expect(modified.has('a')).toBe(false);
608
+
609
+ assert.isTrue(original.has('a'));
610
+
611
+ assert.isFalse(modified.has('a'));
563
612
  });
564
613
  });
565
614
 
@@ -571,7 +620,7 @@ describe('IMap.every', () => {
571
620
  ['c', 6],
572
621
  ]);
573
622
 
574
- expect(map.every((value) => value % 2 === 0)).toBe(true);
623
+ assert.isTrue(map.every((value) => value % 2 === 0));
575
624
  });
576
625
 
577
626
  test('should return false when some elements do not satisfy predicate', () => {
@@ -581,13 +630,13 @@ describe('IMap.every', () => {
581
630
  ['c', 4],
582
631
  ]);
583
632
 
584
- expect(map.every((value) => value % 2 === 0)).toBe(false);
633
+ assert.isFalse(map.every((value) => value % 2 === 0));
585
634
  });
586
635
 
587
636
  test('should return true for empty map', () => {
588
637
  const map = IMap.create<string, number>([]);
589
638
 
590
- expect(map.every((value) => value > 0)).toBe(true);
639
+ assert.isTrue(map.every((value) => value > 0));
591
640
  });
592
641
 
593
642
  test('should work with key parameter', () => {
@@ -597,7 +646,7 @@ describe('IMap.every', () => {
597
646
  ['cc', 3],
598
647
  ]);
599
648
 
600
- expect(map.every((_value, key) => key.length === 2)).toBe(true);
649
+ assert.isTrue(map.every((_value, key) => key.length === 2));
601
650
  });
602
651
 
603
652
  test('should work as type guard', () => {
@@ -605,11 +654,12 @@ describe('IMap.every', () => {
605
654
  ['a', 'hello'],
606
655
  ['b', 'world'],
607
656
  ]);
657
+
608
658
  if (map.every((value): value is string => typeof value === 'string')) {
609
659
  // Type should be narrowed to IMap<string, string>
610
660
  const firstValue = Optional.unwrap(map.get('a'));
611
661
 
612
- expect(isString(firstValue)).toBe(true);
662
+ assert.isTrue(isString(firstValue));
613
663
  }
614
664
  });
615
665
  });
@@ -622,7 +672,7 @@ describe('IMap.some', () => {
622
672
  ['c', 3],
623
673
  ]);
624
674
 
625
- expect(map.some((value) => value % 2 === 0)).toBe(true);
675
+ assert.isTrue(map.some((value) => value % 2 === 0));
626
676
  });
627
677
 
628
678
  test('should return false when no elements satisfy predicate', () => {
@@ -632,13 +682,13 @@ describe('IMap.some', () => {
632
682
  ['c', 5],
633
683
  ]);
634
684
 
635
- expect(map.some((value) => value % 2 === 0)).toBe(false);
685
+ assert.isFalse(map.some((value) => value % 2 === 0));
636
686
  });
637
687
 
638
688
  test('should return false for empty map', () => {
639
689
  const map = IMap.create<string, number>([]);
640
690
 
641
- expect(map.some((value) => value > 0)).toBe(false);
691
+ assert.isFalse(map.some((value) => value > 0));
642
692
  });
643
693
 
644
694
  test('should work with key parameter', () => {
@@ -648,7 +698,7 @@ describe('IMap.some', () => {
648
698
  ['c', 3],
649
699
  ]);
650
700
 
651
- expect(map.some((_value, key) => key.length > 1)).toBe(true);
701
+ assert.isTrue(map.some((_value, key) => key.length > 1));
652
702
  });
653
703
  });
654
704
 
@@ -666,9 +716,12 @@ describe('IMap.withMutations', () => {
666
716
  ]);
667
717
 
668
718
  expect(updated.size).toBe(2);
719
+
669
720
  expect(Optional.unwrap(updated.get('a'))).toBe(2);
721
+
670
722
  expect(Optional.unwrap(updated.get('c'))).toBe(3);
671
- expect(Optional.isNone(updated.get('b'))).toBe(true);
723
+
724
+ assert.isTrue(Optional.isNone(updated.get('b')));
672
725
  });
673
726
 
674
727
  test('should handle empty mutations array', () => {
@@ -676,25 +729,31 @@ describe('IMap.withMutations', () => {
676
729
  ['a', 1],
677
730
  ['b', 2],
678
731
  ]);
732
+
679
733
  const updated = map.withMutations([]);
680
734
 
681
735
  expect(updated.size).toBe(map.size);
736
+
682
737
  expect(Optional.unwrap(updated.get('a'))).toBe(1);
738
+
683
739
  expect(Optional.unwrap(updated.get('b'))).toBe(2);
684
740
  });
685
741
 
686
742
  test('should handle update on non-existent key', () => {
687
743
  const map = IMap.create<string, number>([['a', 1]]);
744
+
688
745
  const updated = map.withMutations([
689
746
  { type: 'update', key: 'nonexistent', updater: (x: number) => x * 2 },
690
747
  ]);
691
748
 
692
749
  expect(updated.size).toBe(map.size);
693
- expect(Optional.isNone(updated.get('nonexistent'))).toBe(true);
750
+
751
+ assert.isTrue(Optional.isNone(updated.get('nonexistent')));
694
752
  });
695
753
 
696
754
  test('should handle mixed operations', () => {
697
755
  const map = IMap.create([['a', 1]]);
756
+
698
757
  const updated = map.withMutations([
699
758
  { type: 'set', key: 'a', value: 10 },
700
759
  { type: 'update', key: 'a', updater: (x: number) => x + 5 },
@@ -711,10 +770,13 @@ describe('IMap.map', () => {
711
770
  ['b', 2],
712
771
  ['c', 3],
713
772
  ]);
773
+
714
774
  const doubled = map.map((value) => value * 2);
715
775
 
716
776
  expect(Optional.unwrap(doubled.get('a'))).toBe(2);
777
+
717
778
  expect(Optional.unwrap(doubled.get('b'))).toBe(4);
779
+
718
780
  expect(Optional.unwrap(doubled.get('c'))).toBe(6);
719
781
  });
720
782
 
@@ -723,9 +785,11 @@ describe('IMap.map', () => {
723
785
  ['a', 1],
724
786
  ['b', 2],
725
787
  ]);
788
+
726
789
  const mapped = map.map((value, key) => `${key}-${value}`);
727
790
 
728
791
  expect(Optional.unwrap(mapped.get('a'))).toBe('a-1');
792
+
729
793
  expect(Optional.unwrap(mapped.get('b'))).toBe('b-2');
730
794
  });
731
795
 
@@ -734,9 +798,11 @@ describe('IMap.map', () => {
734
798
  ['a', 1],
735
799
  ['b', 2],
736
800
  ]);
801
+
737
802
  const stringified = map.map((value) => value.toString());
738
803
 
739
804
  expect(Optional.unwrap(stringified.get('a'))).toBe('1');
805
+
740
806
  expect(Optional.unwrap(stringified.get('b'))).toBe('2');
741
807
  });
742
808
  });
@@ -747,10 +813,13 @@ describe('IMap.mapKeys', () => {
747
813
  ['a', 1],
748
814
  ['b', 2],
749
815
  ]);
816
+
750
817
  const mapped = map.mapKeys((key) => key.toUpperCase());
751
818
 
752
- expect(Optional.isNone(mapped.get('a'))).toBe(true);
819
+ assert.isTrue(Optional.isNone(mapped.get('a')));
820
+
753
821
  expect(Optional.unwrap(mapped.get('A'))).toBe(1);
822
+
754
823
  expect(Optional.unwrap(mapped.get('B'))).toBe(2);
755
824
  });
756
825
 
@@ -759,9 +828,11 @@ describe('IMap.mapKeys', () => {
759
828
  ['1', 'one'],
760
829
  ['2', 'two'],
761
830
  ]);
831
+
762
832
  const mapped = map.mapKeys((key) => Number.parseInt(key, 10));
763
833
 
764
834
  expect(Optional.unwrap(mapped.get(1))).toBe('one');
835
+
765
836
  expect(Optional.unwrap(mapped.get(2))).toBe('two');
766
837
  });
767
838
  });
@@ -772,12 +843,14 @@ describe('IMap.mapEntries', () => {
772
843
  ['a', 1],
773
844
  ['b', 2],
774
845
  ]);
846
+
775
847
  const mapped = map.mapEntries(([key, value]) => [
776
848
  key.toUpperCase(),
777
849
  value * 2,
778
850
  ]);
779
851
 
780
852
  expect(Optional.unwrap(mapped.get('A'))).toBe(2);
853
+
781
854
  expect(Optional.unwrap(mapped.get('B'))).toBe(4);
782
855
  });
783
856
 
@@ -786,9 +859,11 @@ describe('IMap.mapEntries', () => {
786
859
  ['a', 1],
787
860
  ['b', 2],
788
861
  ]);
862
+
789
863
  const mapped = map.mapEntries(([key, value]) => [value, key]);
790
864
 
791
865
  expect(Optional.unwrap(mapped.get(1))).toBe('a');
866
+
792
867
  expect(Optional.unwrap(mapped.get(2))).toBe('b');
793
868
  });
794
869
  });
@@ -802,11 +877,14 @@ describe('IMap.forEach', () => {
802
877
  [6, 60],
803
878
  [7, 70],
804
879
  ] as const);
880
+
805
881
  const keys = [1, 3, 5, 6, 7];
882
+
806
883
  const values = [10, 30, 50, 60, 70];
807
884
 
808
885
  for (const [key, value] of m0.entries()) {
809
886
  expect(keys).toContain(key);
887
+
810
888
  expect(values).toContain(value);
811
889
  }
812
890
  });
@@ -817,6 +895,7 @@ describe('IMap.forEach', () => {
817
895
  ['b', 2],
818
896
  ['c', 3],
819
897
  ]);
898
+
820
899
  const mut_collected: [string, number][] = [];
821
900
 
822
901
  for (const [key, value] of map.entries()) {
@@ -824,13 +903,17 @@ describe('IMap.forEach', () => {
824
903
  }
825
904
 
826
905
  expect(mut_collected).toHaveLength(3);
906
+
827
907
  expect(mut_collected).toContainEqual(['a', 1]);
908
+
828
909
  expect(mut_collected).toContainEqual(['b', 2]);
910
+
829
911
  expect(mut_collected).toContainEqual(['c', 3]);
830
912
  });
831
913
 
832
914
  test('should work with empty map', () => {
833
915
  const map = IMap.create<string, number>([]);
916
+
834
917
  let mut_called = false;
835
918
 
836
919
  // eslint-disable-next-line unicorn/no-array-for-each
@@ -851,6 +934,7 @@ describe('IMap.keys', () => {
851
934
  [6, 60],
852
935
  [7, 70],
853
936
  ] as const);
937
+
854
938
  const keys = [1, 3, 5, 6, 7];
855
939
 
856
940
  for (const k of m0.keys()) {
@@ -868,6 +952,7 @@ describe('IMap.values', () => {
868
952
  [6, 60],
869
953
  [7, 70],
870
954
  ]);
955
+
871
956
  const values = [10, 30, 50, 60, 70];
872
957
 
873
958
  for (const v of m0.values()) {
@@ -885,11 +970,14 @@ describe('IMap.entries', () => {
885
970
  [6, 60],
886
971
  [7, 70],
887
972
  ]);
973
+
888
974
  const keys = [1, 3, 5, 6, 7];
975
+
889
976
  const values = [10, 30, 50, 60, 70];
890
977
 
891
978
  for (const [k, v] of m0.entries()) {
892
979
  expect(keys).toContain(k);
980
+
893
981
  expect(values).toContain(v);
894
982
  }
895
983
  });
@@ -902,11 +990,15 @@ describe('IMap.toKeysArray', () => {
902
990
  ['b', 2],
903
991
  ['c', 3],
904
992
  ]);
993
+
905
994
  const keys = map.toKeysArray();
906
995
 
907
996
  expect(keys).toHaveLength(3);
997
+
908
998
  expect(keys).toContain('a');
999
+
909
1000
  expect(keys).toContain('b');
1001
+
910
1002
  expect(keys).toContain('c');
911
1003
  });
912
1004
  });
@@ -918,11 +1010,15 @@ describe('IMap.toValuesArray', () => {
918
1010
  ['b', 2],
919
1011
  ['c', 3],
920
1012
  ]);
1013
+
921
1014
  const values = map.toValuesArray();
922
1015
 
923
1016
  expect(values).toHaveLength(3);
1017
+
924
1018
  expect(values).toContain(1);
1019
+
925
1020
  expect(values).toContain(2);
1021
+
926
1022
  expect(values).toContain(3);
927
1023
  });
928
1024
  });
@@ -934,11 +1030,15 @@ describe('IMap.toEntriesArray', () => {
934
1030
  ['b', 2],
935
1031
  ['c', 3],
936
1032
  ]);
1033
+
937
1034
  const entries = map.toEntriesArray();
938
1035
 
939
1036
  expect(entries).toHaveLength(3);
1037
+
940
1038
  expect(entries).toContainEqual(['a', 1]);
1039
+
941
1040
  expect(entries).toContainEqual(['b', 2]);
1041
+
942
1042
  expect(entries).toContainEqual(['c', 3]);
943
1043
  });
944
1044
  });
@@ -950,7 +1050,9 @@ describe('IMap.toArray', () => {
950
1050
  ['b', 2],
951
1051
  ['c', 3],
952
1052
  ]);
1053
+
953
1054
  const entries = map.toArray();
1055
+
954
1056
  const entriesArray = map.toEntriesArray();
955
1057
 
956
1058
  assert.deepStrictEqual(entries, entriesArray);
@@ -964,11 +1066,15 @@ describe('IMap.toRawMap', () => {
964
1066
  ['b', 2],
965
1067
  ['c', 3],
966
1068
  ]);
1069
+
967
1070
  const rawMap = map.toRawMap();
968
1071
 
969
1072
  expect(rawMap.size).toBe(3);
1073
+
970
1074
  expect(rawMap.get('a')).toBe(1);
1075
+
971
1076
  expect(rawMap.get('b')).toBe(2);
1077
+
972
1078
  expect(rawMap.get('c')).toBe(3);
973
1079
  });
974
1080
  });