ts-data-forge 5.0.0 → 5.1.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 (532) hide show
  1. package/README.md +55 -6
  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 +7 -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 +1 -0
  13. package/dist/array/impl/array-utils-modification.mjs.map +1 -1
  14. package/dist/array/impl/array-utils-reducing-value.d.mts +26 -2
  15. package/dist/array/impl/array-utils-reducing-value.d.mts.map +1 -1
  16. package/dist/array/impl/array-utils-reducing-value.mjs +2 -1
  17. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -1
  18. package/dist/array/impl/array-utils-search.d.mts +30 -0
  19. package/dist/array/impl/array-utils-search.d.mts.map +1 -1
  20. package/dist/array/impl/array-utils-search.mjs +1 -0
  21. package/dist/array/impl/array-utils-search.mjs.map +1 -1
  22. package/dist/array/impl/array-utils-set-op.d.mts +13 -0
  23. package/dist/array/impl/array-utils-set-op.d.mts.map +1 -1
  24. package/dist/array/impl/array-utils-set-op.mjs +13 -0
  25. package/dist/array/impl/array-utils-set-op.mjs.map +1 -1
  26. package/dist/array/impl/array-utils-size.d.mts +3 -0
  27. package/dist/array/impl/array-utils-size.d.mts.map +1 -1
  28. package/dist/array/impl/array-utils-size.mjs +3 -0
  29. package/dist/array/impl/array-utils-size.mjs.map +1 -1
  30. package/dist/array/impl/array-utils-slice-clamped.d.mts +2 -0
  31. package/dist/array/impl/array-utils-slice-clamped.d.mts.map +1 -1
  32. package/dist/array/impl/array-utils-slice-clamped.mjs.map +1 -1
  33. package/dist/array/impl/array-utils-slicing.d.mts +15 -0
  34. package/dist/array/impl/array-utils-slicing.d.mts.map +1 -1
  35. package/dist/array/impl/array-utils-slicing.mjs +7 -0
  36. package/dist/array/impl/array-utils-slicing.mjs.map +1 -1
  37. package/dist/array/impl/array-utils-transformation.d.mts +27 -0
  38. package/dist/array/impl/array-utils-transformation.d.mts.map +1 -1
  39. package/dist/array/impl/array-utils-transformation.mjs +7 -0
  40. package/dist/array/impl/array-utils-transformation.mjs.map +1 -1
  41. package/dist/array/impl/array-utils-validation.d.mts +17 -0
  42. package/dist/array/impl/array-utils-validation.d.mts.map +1 -1
  43. package/dist/array/impl/array-utils-validation.mjs +11 -0
  44. package/dist/array/impl/array-utils-validation.mjs.map +1 -1
  45. package/dist/collections/imap-mapped.mjs +1 -0
  46. package/dist/collections/imap-mapped.mjs.map +1 -1
  47. package/dist/collections/imap.d.mts +20 -0
  48. package/dist/collections/imap.d.mts.map +1 -1
  49. package/dist/collections/imap.mjs +3 -0
  50. package/dist/collections/imap.mjs.map +1 -1
  51. package/dist/collections/iset-mapped.d.mts +27 -0
  52. package/dist/collections/iset-mapped.d.mts.map +1 -1
  53. package/dist/collections/iset-mapped.mjs +7 -0
  54. package/dist/collections/iset-mapped.mjs.map +1 -1
  55. package/dist/collections/iset.d.mts +29 -0
  56. package/dist/collections/iset.d.mts.map +1 -1
  57. package/dist/collections/iset.mjs +7 -0
  58. package/dist/collections/iset.mjs.map +1 -1
  59. package/dist/collections/queue.d.mts +40 -0
  60. package/dist/collections/queue.d.mts.map +1 -1
  61. package/dist/collections/queue.mjs +9 -0
  62. package/dist/collections/queue.mjs.map +1 -1
  63. package/dist/collections/stack.d.mts +35 -0
  64. package/dist/collections/stack.d.mts.map +1 -1
  65. package/dist/collections/stack.mjs +8 -0
  66. package/dist/collections/stack.mjs.map +1 -1
  67. package/dist/entry-point.mjs +1 -1
  68. package/dist/functional/match.d.mts.map +1 -1
  69. package/dist/functional/match.mjs.map +1 -1
  70. package/dist/functional/optional/impl/optional-expect-to-be.d.mts +1 -0
  71. package/dist/functional/optional/impl/optional-expect-to-be.d.mts.map +1 -1
  72. package/dist/functional/optional/impl/optional-expect-to-be.mjs.map +1 -1
  73. package/dist/functional/optional/impl/optional-filter.d.mts +3 -0
  74. package/dist/functional/optional/impl/optional-filter.d.mts.map +1 -1
  75. package/dist/functional/optional/impl/optional-filter.mjs.map +1 -1
  76. package/dist/functional/optional/impl/optional-flat-map.d.mts +2 -0
  77. package/dist/functional/optional/impl/optional-flat-map.d.mts.map +1 -1
  78. package/dist/functional/optional/impl/optional-flat-map.mjs.map +1 -1
  79. package/dist/functional/optional/impl/optional-from-nullable.d.mts +2 -0
  80. package/dist/functional/optional/impl/optional-from-nullable.d.mts.map +1 -1
  81. package/dist/functional/optional/impl/optional-from-nullable.mjs +2 -0
  82. package/dist/functional/optional/impl/optional-from-nullable.mjs.map +1 -1
  83. package/dist/functional/optional/impl/optional-is-optional.d.mts +2 -0
  84. package/dist/functional/optional/impl/optional-is-optional.d.mts.map +1 -1
  85. package/dist/functional/optional/impl/optional-is-optional.mjs +2 -0
  86. package/dist/functional/optional/impl/optional-is-optional.mjs.map +1 -1
  87. package/dist/functional/optional/impl/optional-is-some.d.mts +1 -0
  88. package/dist/functional/optional/impl/optional-is-some.d.mts.map +1 -1
  89. package/dist/functional/optional/impl/optional-is-some.mjs +1 -0
  90. package/dist/functional/optional/impl/optional-is-some.mjs.map +1 -1
  91. package/dist/functional/optional/impl/optional-map.d.mts +2 -0
  92. package/dist/functional/optional/impl/optional-map.d.mts.map +1 -1
  93. package/dist/functional/optional/impl/optional-map.mjs.map +1 -1
  94. package/dist/functional/optional/impl/optional-none.d.mts +2 -0
  95. package/dist/functional/optional/impl/optional-none.d.mts.map +1 -1
  96. package/dist/functional/optional/impl/optional-none.mjs +2 -0
  97. package/dist/functional/optional/impl/optional-none.mjs.map +1 -1
  98. package/dist/functional/optional/impl/optional-or-else.d.mts +4 -0
  99. package/dist/functional/optional/impl/optional-or-else.d.mts.map +1 -1
  100. package/dist/functional/optional/impl/optional-or-else.mjs.map +1 -1
  101. package/dist/functional/optional/impl/optional-some.d.mts +3 -1
  102. package/dist/functional/optional/impl/optional-some.d.mts.map +1 -1
  103. package/dist/functional/optional/impl/optional-some.mjs +2 -0
  104. package/dist/functional/optional/impl/optional-some.mjs.map +1 -1
  105. package/dist/functional/optional/impl/optional-to-nullable.d.mts +2 -0
  106. package/dist/functional/optional/impl/optional-to-nullable.d.mts.map +1 -1
  107. package/dist/functional/optional/impl/optional-to-nullable.mjs +2 -0
  108. package/dist/functional/optional/impl/optional-to-nullable.mjs.map +1 -1
  109. package/dist/functional/optional/impl/optional-unwrap-or.d.mts +3 -0
  110. package/dist/functional/optional/impl/optional-unwrap-or.d.mts.map +1 -1
  111. package/dist/functional/optional/impl/optional-unwrap-or.mjs.map +1 -1
  112. package/dist/functional/optional/impl/optional-unwrap-throw.d.mts +1 -0
  113. package/dist/functional/optional/impl/optional-unwrap-throw.d.mts.map +1 -1
  114. package/dist/functional/optional/impl/optional-unwrap-throw.mjs +1 -0
  115. package/dist/functional/optional/impl/optional-unwrap-throw.mjs.map +1 -1
  116. package/dist/functional/optional/impl/optional-unwrap.d.mts +2 -0
  117. package/dist/functional/optional/impl/optional-unwrap.d.mts.map +1 -1
  118. package/dist/functional/optional/impl/optional-unwrap.mjs.map +1 -1
  119. package/dist/functional/optional/impl/optional-zip.d.mts +2 -0
  120. package/dist/functional/optional/impl/optional-zip.d.mts.map +1 -1
  121. package/dist/functional/optional/impl/optional-zip.mjs +2 -0
  122. package/dist/functional/optional/impl/optional-zip.mjs.map +1 -1
  123. package/dist/functional/result/impl/result-err.d.mts +3 -1
  124. package/dist/functional/result/impl/result-err.d.mts.map +1 -1
  125. package/dist/functional/result/impl/result-err.mjs +2 -0
  126. package/dist/functional/result/impl/result-err.mjs.map +1 -1
  127. package/dist/functional/result/impl/result-expect-to-be.d.mts +1 -0
  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 +3 -0
  137. package/dist/functional/result/impl/result-from-promise.d.mts.map +1 -1
  138. package/dist/functional/result/impl/result-from-promise.mjs +3 -0
  139. package/dist/functional/result/impl/result-from-promise.mjs.map +1 -1
  140. package/dist/functional/result/impl/result-from-throwable.d.mts +2 -0
  141. package/dist/functional/result/impl/result-from-throwable.d.mts.map +1 -1
  142. package/dist/functional/result/impl/result-from-throwable.mjs +4 -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 +2 -0
  145. package/dist/functional/result/impl/result-is-err.d.mts.map +1 -1
  146. package/dist/functional/result/impl/result-is-err.mjs +2 -0
  147. package/dist/functional/result/impl/result-is-err.mjs.map +1 -1
  148. package/dist/functional/result/impl/result-is-ok.d.mts +2 -0
  149. package/dist/functional/result/impl/result-is-ok.d.mts.map +1 -1
  150. package/dist/functional/result/impl/result-is-ok.mjs +2 -0
  151. package/dist/functional/result/impl/result-is-ok.mjs.map +1 -1
  152. package/dist/functional/result/impl/result-is-result.d.mts +4 -0
  153. package/dist/functional/result/impl/result-is-result.d.mts.map +1 -1
  154. package/dist/functional/result/impl/result-is-result.mjs +4 -0
  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 +3 -1
  163. package/dist/functional/result/impl/result-ok.d.mts.map +1 -1
  164. package/dist/functional/result/impl/result-ok.mjs +2 -0
  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 +3 -0
  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 +2 -0
  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 +2 -0
  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 +1 -0
  185. package/dist/functional/result/impl/result-unwrap-err.d.mts.map +1 -1
  186. package/dist/functional/result/impl/result-unwrap-err.mjs +1 -0
  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 +3 -0
  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 +1 -0
  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 +2 -0
  195. package/dist/functional/result/impl/result-unwrap-throw.d.mts.map +1 -1
  196. package/dist/functional/result/impl/result-unwrap-throw.mjs +2 -0
  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 +2 -1
  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 +1 -0
  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 +2 -0
  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 +2 -0
  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 +2 -0
  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 +4 -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 +4 -0
  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 +4 -0
  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 +10 -0
  294. package/dist/guard/index.mjs +1 -1
  295. package/dist/guard/is-record.d.mts +31 -0
  296. package/dist/guard/is-record.d.mts.map +1 -1
  297. package/dist/guard/is-record.mjs +32 -1
  298. package/dist/guard/is-record.mjs.map +1 -1
  299. package/dist/guard/is-type.d.mts +3 -0
  300. package/dist/guard/is-type.d.mts.map +1 -1
  301. package/dist/guard/is-type.mjs +3 -0
  302. package/dist/guard/is-type.mjs.map +1 -1
  303. package/dist/guard/key-is-in.d.mts +1 -0
  304. package/dist/guard/key-is-in.d.mts.map +1 -1
  305. package/dist/guard/key-is-in.mjs +1 -0
  306. package/dist/guard/key-is-in.mjs.map +1 -1
  307. package/dist/index.mjs +1 -1
  308. package/dist/iterator/range.d.mts +4 -0
  309. package/dist/iterator/range.d.mts.map +1 -1
  310. package/dist/iterator/range.mjs +1 -0
  311. package/dist/iterator/range.mjs.map +1 -1
  312. package/dist/json/json.d.mts +21 -0
  313. package/dist/json/json.d.mts.map +1 -1
  314. package/dist/json/json.mjs +22 -0
  315. package/dist/json/json.mjs.map +1 -1
  316. package/dist/number/branded-types/int.d.mts +14 -0
  317. package/dist/number/branded-types/int.d.mts.map +1 -1
  318. package/dist/number/branded-types/int.mjs +14 -0
  319. package/dist/number/branded-types/int.mjs.map +1 -1
  320. package/dist/number/branded-types/non-zero-safe-int.mjs +2 -2
  321. package/dist/number/branded-types/positive-int.d.mts +14 -0
  322. package/dist/number/branded-types/positive-int.d.mts.map +1 -1
  323. package/dist/number/branded-types/positive-int.mjs +14 -0
  324. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  325. package/dist/number/branded-types/positive-safe-int.d.mts +21 -0
  326. package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
  327. package/dist/number/branded-types/positive-safe-int.mjs +22 -1
  328. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  329. package/dist/number/branded-types/safe-int.d.mts +21 -0
  330. package/dist/number/branded-types/safe-int.d.mts.map +1 -1
  331. package/dist/number/branded-types/safe-int.mjs +23 -2
  332. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  333. package/dist/number/branded-types/safe-uint.mjs +1 -1
  334. package/dist/number/branded-types/uint.d.mts +12 -0
  335. package/dist/number/branded-types/uint.d.mts.map +1 -1
  336. package/dist/number/branded-types/uint.mjs +12 -0
  337. package/dist/number/branded-types/uint.mjs.map +1 -1
  338. package/dist/number/num.d.mts +9 -0
  339. package/dist/number/num.d.mts.map +1 -1
  340. package/dist/number/num.mjs +8 -1
  341. package/dist/number/num.mjs.map +1 -1
  342. package/dist/number/refined-number-utils.d.mts +22 -0
  343. package/dist/number/refined-number-utils.d.mts.map +1 -1
  344. package/dist/number/refined-number-utils.mjs +23 -0
  345. package/dist/number/refined-number-utils.mjs.map +1 -1
  346. package/dist/object/object.d.mts +9 -0
  347. package/dist/object/object.d.mts.map +1 -1
  348. package/dist/object/object.mjs +7 -0
  349. package/dist/object/object.mjs.map +1 -1
  350. package/dist/others/map-nullable.mjs.map +1 -1
  351. package/dist/others/tuple.d.mts +11 -0
  352. package/dist/others/tuple.d.mts.map +1 -1
  353. package/dist/others/tuple.mjs +11 -0
  354. package/dist/others/tuple.mjs.map +1 -1
  355. package/dist/others/unknown-to-string.d.mts.map +1 -1
  356. package/dist/others/unknown-to-string.mjs +2 -1
  357. package/dist/others/unknown-to-string.mjs.map +1 -1
  358. package/dist/promise/promise.d.mts +4 -0
  359. package/dist/promise/promise.d.mts.map +1 -1
  360. package/dist/promise/promise.mjs +5 -0
  361. package/dist/promise/promise.mjs.map +1 -1
  362. package/package.json +20 -24
  363. package/src/array/impl/array-utils-creation.mts +20 -0
  364. package/src/array/impl/array-utils-creation.test.mts +71 -0
  365. package/src/array/impl/array-utils-element-access.mts +13 -0
  366. package/src/array/impl/array-utils-element-access.test.mts +21 -0
  367. package/src/array/impl/array-utils-iterators.test.mts +17 -0
  368. package/src/array/impl/array-utils-modification.mts +40 -0
  369. package/src/array/impl/array-utils-modification.test.mts +75 -0
  370. package/src/array/impl/array-utils-overload-type-error.test.mts +19 -0
  371. package/src/array/impl/array-utils-reducing-value.mts +55 -9
  372. package/src/array/impl/array-utils-reducing-value.test.mts +90 -0
  373. package/src/array/impl/array-utils-search.mts +53 -0
  374. package/src/array/impl/array-utils-search.test.mts +51 -0
  375. package/src/array/impl/array-utils-set-op.mts +19 -0
  376. package/src/array/impl/array-utils-set-op.test.mts +116 -0
  377. package/src/array/impl/array-utils-size.mts +3 -0
  378. package/src/array/impl/array-utils-size.test.mts +1 -0
  379. package/src/array/impl/array-utils-slice-clamped.mts +7 -0
  380. package/src/array/impl/array-utils-slice-clamped.test.mts +20 -0
  381. package/src/array/impl/array-utils-slicing.mts +27 -0
  382. package/src/array/impl/array-utils-slicing.test.mts +57 -0
  383. package/src/array/impl/array-utils-transformation.mts +58 -0
  384. package/src/array/impl/array-utils-transformation.test.mts +113 -1
  385. package/src/array/impl/array-utils-validation.mts +23 -0
  386. package/src/array/impl/array-utils-validation.test.mts +96 -0
  387. package/src/array/impl/array.test.mts +12 -0
  388. package/src/collections/imap-mapped.mts +11 -0
  389. package/src/collections/imap-mapped.test.mts +70 -0
  390. package/src/collections/imap.mts +32 -0
  391. package/src/collections/imap.test.mts +106 -0
  392. package/src/collections/iset-mapped.mts +35 -0
  393. package/src/collections/iset-mapped.test.mts +111 -0
  394. package/src/collections/iset.mts +34 -0
  395. package/src/collections/iset.test.mts +193 -0
  396. package/src/collections/queue.mts +53 -0
  397. package/src/collections/queue.test.mts +32 -0
  398. package/src/collections/stack.mts +42 -0
  399. package/src/collections/stack.test.mts +44 -0
  400. package/src/functional/match.mts +16 -0
  401. package/src/functional/match.test.mts +2 -0
  402. package/src/functional/optional/impl/optional-expect-to-be.mts +3 -0
  403. package/src/functional/optional/impl/optional-filter.mts +6 -0
  404. package/src/functional/optional/impl/optional-flat-map.mts +4 -0
  405. package/src/functional/optional/impl/optional-from-nullable.mts +2 -0
  406. package/src/functional/optional/impl/optional-is-optional.mts +2 -0
  407. package/src/functional/optional/impl/optional-is-some.mts +1 -0
  408. package/src/functional/optional/impl/optional-map.mts +5 -0
  409. package/src/functional/optional/impl/optional-none.mts +2 -0
  410. package/src/functional/optional/impl/optional-or-else.mts +6 -0
  411. package/src/functional/optional/impl/optional-some.mts +3 -1
  412. package/src/functional/optional/impl/optional-to-nullable.mts +2 -0
  413. package/src/functional/optional/impl/optional-unwrap-or.mts +5 -0
  414. package/src/functional/optional/impl/optional-unwrap-throw.mts +1 -0
  415. package/src/functional/optional/impl/optional-unwrap.mts +2 -0
  416. package/src/functional/optional/impl/optional-zip.mts +2 -0
  417. package/src/functional/optional.test.mts +73 -0
  418. package/src/functional/pipe.test.mts +3 -0
  419. package/src/functional/result/impl/result-err.mts +3 -1
  420. package/src/functional/result/impl/result-expect-to-be.mts +3 -0
  421. package/src/functional/result/impl/result-flat-map.mts +7 -0
  422. package/src/functional/result/impl/result-fold.mts +6 -0
  423. package/src/functional/result/impl/result-from-promise.mts +3 -0
  424. package/src/functional/result/impl/result-from-throwable.mts +6 -1
  425. package/src/functional/result/impl/result-is-err.mts +2 -0
  426. package/src/functional/result/impl/result-is-ok.mts +2 -0
  427. package/src/functional/result/impl/result-is-result.mts +4 -0
  428. package/src/functional/result/impl/result-map-err.mts +5 -0
  429. package/src/functional/result/impl/result-map.mts +6 -0
  430. package/src/functional/result/impl/result-ok.mts +3 -1
  431. package/src/functional/result/impl/result-or-else.mts +6 -0
  432. package/src/functional/result/impl/result-swap.mts +2 -0
  433. package/src/functional/result/impl/result-to-optional.mts +2 -0
  434. package/src/functional/result/impl/result-unwrap-err-or.mts +5 -0
  435. package/src/functional/result/impl/result-unwrap-err-throw.mts +2 -0
  436. package/src/functional/result/impl/result-unwrap-err.mts +1 -0
  437. package/src/functional/result/impl/result-unwrap-ok-or.mts +5 -0
  438. package/src/functional/result/impl/result-unwrap-ok.mts +2 -0
  439. package/src/functional/result/impl/result-unwrap-throw.mts +2 -0
  440. package/src/functional/result/impl/result-zip.mts +3 -1
  441. package/src/functional/result.test.mts +88 -0
  442. package/src/functional/ternary-result/impl/ternary-result-err.mts +2 -1
  443. package/src/functional/ternary-result/impl/ternary-result-expect-to-be.mts +4 -0
  444. package/src/functional/ternary-result/impl/ternary-result-flat-map.mts +7 -0
  445. package/src/functional/ternary-result/impl/ternary-result-fold.mts +5 -0
  446. package/src/functional/ternary-result/impl/ternary-result-from-promise.mts +2 -0
  447. package/src/functional/ternary-result/impl/ternary-result-from-throwable.mts +5 -1
  448. package/src/functional/ternary-result/impl/ternary-result-is-ok.mts +1 -0
  449. package/src/functional/ternary-result/impl/ternary-result-is-ternary-result.mts +4 -0
  450. package/src/functional/ternary-result/impl/ternary-result-is-warn.mts +1 -0
  451. package/src/functional/ternary-result/impl/ternary-result-map-err.mts +6 -0
  452. package/src/functional/ternary-result/impl/ternary-result-map-warn.mts +6 -0
  453. package/src/functional/ternary-result/impl/ternary-result-map.mts +9 -0
  454. package/src/functional/ternary-result/impl/ternary-result-ok.mts +1 -1
  455. package/src/functional/ternary-result/impl/ternary-result-or-else.mts +5 -0
  456. package/src/functional/ternary-result/impl/ternary-result-to-optional.mts +2 -0
  457. package/src/functional/ternary-result/impl/ternary-result-unwrap-err-or.mts +5 -0
  458. package/src/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mts +1 -0
  459. package/src/functional/ternary-result/impl/ternary-result-unwrap-err.mts +2 -0
  460. package/src/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mts +5 -0
  461. package/src/functional/ternary-result/impl/ternary-result-unwrap-ok.mts +3 -0
  462. package/src/functional/ternary-result/impl/ternary-result-unwrap-throw.mts +1 -0
  463. package/src/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mts +5 -0
  464. package/src/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mts +1 -0
  465. package/src/functional/ternary-result/impl/ternary-result-unwrap-warn.mts +2 -0
  466. package/src/functional/ternary-result/impl/ternary-result-warn.mts +4 -1
  467. package/src/functional/ternary-result/impl/ternary-result-zip.mts +4 -0
  468. package/src/functional/ternary-result.test.mts +91 -0
  469. package/src/globals.d.mts +10 -0
  470. package/src/guard/has-key.test.mts +9 -0
  471. package/src/guard/is-non-empty-string.test.mts +20 -0
  472. package/src/guard/is-non-null-object.test.mts +19 -0
  473. package/src/guard/is-primitive.test.mts +23 -0
  474. package/src/guard/is-record.mts +34 -0
  475. package/src/guard/is-record.test.mts +21 -0
  476. package/src/guard/is-type.mts +3 -0
  477. package/src/guard/is-type.test.mts +134 -0
  478. package/src/guard/key-is-in.mts +1 -0
  479. package/src/iterator/range.mts +9 -0
  480. package/src/json/json.mts +29 -0
  481. package/src/json/json.test.mts +87 -0
  482. package/src/number/branded-types/finite-number.test.mts +38 -0
  483. package/src/number/branded-types/int.mts +14 -0
  484. package/src/number/branded-types/int.test.mts +42 -0
  485. package/src/number/branded-types/int16.test.mts +47 -0
  486. package/src/number/branded-types/int32.test.mts +47 -0
  487. package/src/number/branded-types/non-negative-finite-number.test.mts +40 -0
  488. package/src/number/branded-types/non-negative-int16.test.mts +43 -0
  489. package/src/number/branded-types/non-negative-int32.test.mts +43 -0
  490. package/src/number/branded-types/non-zero-finite-number.test.mts +51 -0
  491. package/src/number/branded-types/non-zero-int.test.mts +53 -0
  492. package/src/number/branded-types/non-zero-int16.test.mts +44 -0
  493. package/src/number/branded-types/non-zero-int32.test.mts +44 -0
  494. package/src/number/branded-types/non-zero-safe-int.mts +2 -2
  495. package/src/number/branded-types/non-zero-safe-int.test.mts +62 -0
  496. package/src/number/branded-types/non-zero-uint16.test.mts +37 -0
  497. package/src/number/branded-types/non-zero-uint32.test.mts +37 -0
  498. package/src/number/branded-types/positive-finite-number.test.mts +45 -0
  499. package/src/number/branded-types/positive-int.mts +14 -0
  500. package/src/number/branded-types/positive-int.test.mts +47 -0
  501. package/src/number/branded-types/positive-int16.test.mts +35 -0
  502. package/src/number/branded-types/positive-int32.test.mts +35 -0
  503. package/src/number/branded-types/positive-safe-int.mts +22 -1
  504. package/src/number/branded-types/positive-safe-int.test.mts +49 -0
  505. package/src/number/branded-types/positive-uint16.test.mts +37 -0
  506. package/src/number/branded-types/positive-uint32.test.mts +37 -0
  507. package/src/number/branded-types/safe-int.mts +23 -2
  508. package/src/number/branded-types/safe-int.test.mts +52 -0
  509. package/src/number/branded-types/safe-uint.mts +1 -1
  510. package/src/number/branded-types/safe-uint.test.mts +48 -0
  511. package/src/number/branded-types/uint.mts +12 -0
  512. package/src/number/branded-types/uint.test.mts +43 -0
  513. package/src/number/branded-types/uint16.test.mts +41 -0
  514. package/src/number/branded-types/uint32.test.mts +41 -0
  515. package/src/number/enum/int8.test.mts +6 -0
  516. package/src/number/enum/uint8.test.mts +6 -0
  517. package/src/number/num.mts +12 -1
  518. package/src/number/num.test.mts +62 -0
  519. package/src/number/refined-number-utils.mts +25 -0
  520. package/src/object/object.mts +15 -0
  521. package/src/object/object.test.mts +10 -0
  522. package/src/others/cast-mutable.test.mts +7 -0
  523. package/src/others/cast-readonly.test.mts +17 -0
  524. package/src/others/if-then.test.mts +16 -0
  525. package/src/others/map-nullable.mts +3 -0
  526. package/src/others/map-nullable.test.mts +27 -0
  527. package/src/others/memoize-function.test.mts +41 -0
  528. package/src/others/tuple.mts +11 -0
  529. package/src/others/unknown-to-string.mts +4 -1
  530. package/src/others/unknown-to-string.test.mts +10 -0
  531. package/src/promise/promise.mts +4 -0
  532. package/src/promise/promise.test.mts +1 -0
@@ -10,25 +10,35 @@ describe('NonZeroFiniteNumber test', () => {
10
10
  describe(asNonZeroFiniteNumber, () => {
11
11
  test('accepts valid non-zero finite numbers', () => {
12
12
  expect(() => asNonZeroFiniteNumber(1)).not.toThrow();
13
+
13
14
  expect(() => asNonZeroFiniteNumber(-1)).not.toThrow();
15
+
14
16
  expect(() => asNonZeroFiniteNumber(3.14)).not.toThrow();
17
+
15
18
  expect(() => asNonZeroFiniteNumber(-2.5)).not.toThrow();
19
+
16
20
  expect(() => asNonZeroFiniteNumber(0.001)).not.toThrow();
21
+
17
22
  expect(() => asNonZeroFiniteNumber(-0.001)).not.toThrow();
23
+
18
24
  expect(() => asNonZeroFiniteNumber(Number.MAX_VALUE)).not.toThrow();
25
+
19
26
  expect(() => asNonZeroFiniteNumber(-Number.MAX_VALUE)).not.toThrow();
20
27
  });
21
28
 
22
29
  test('rejects zero', () => {
23
30
  expect(() => asNonZeroFiniteNumber(0)).toThrow(TypeError);
31
+
24
32
  expect(() => asNonZeroFiniteNumber(-0)).toThrow(TypeError);
25
33
  });
26
34
 
27
35
  test('rejects non-finite numbers', () => {
28
36
  expect(() => asNonZeroFiniteNumber(Number.NaN)).toThrow(TypeError);
37
+
29
38
  expect(() => asNonZeroFiniteNumber(Number.POSITIVE_INFINITY)).toThrow(
30
39
  TypeError,
31
40
  );
41
+
32
42
  expect(() => asNonZeroFiniteNumber(Number.NEGATIVE_INFINITY)).toThrow(
33
43
  TypeError,
34
44
  );
@@ -36,7 +46,9 @@ describe('NonZeroFiniteNumber test', () => {
36
46
 
37
47
  test('returns the same value for valid inputs', () => {
38
48
  expect(asNonZeroFiniteNumber(5.5)).toBe(5.5);
49
+
39
50
  expect(asNonZeroFiniteNumber(-10)).toBe(-10);
51
+
40
52
  expect(asNonZeroFiniteNumber(1)).toBe(1);
41
53
  });
42
54
 
@@ -58,21 +70,29 @@ describe('NonZeroFiniteNumber test', () => {
58
70
  describe(isNonZeroFiniteNumber, () => {
59
71
  test('correctly identifies non-zero finite numbers', () => {
60
72
  expect(isNonZeroFiniteNumber(1)).toBe(true);
73
+
61
74
  expect(isNonZeroFiniteNumber(-1)).toBe(true);
75
+
62
76
  expect(isNonZeroFiniteNumber(3.14)).toBe(true);
77
+
63
78
  expect(isNonZeroFiniteNumber(-2.5)).toBe(true);
79
+
64
80
  expect(isNonZeroFiniteNumber(0.001)).toBe(true);
81
+
65
82
  expect(isNonZeroFiniteNumber(-0.001)).toBe(true);
66
83
  });
67
84
 
68
85
  test('correctly identifies zero', () => {
69
86
  expect(isNonZeroFiniteNumber(0)).toBe(false);
87
+
70
88
  expect(isNonZeroFiniteNumber(-0)).toBe(false);
71
89
  });
72
90
 
73
91
  test('correctly identifies non-finite numbers', () => {
74
92
  expect(isNonZeroFiniteNumber(Number.NaN)).toBe(false);
93
+
75
94
  expect(isNonZeroFiniteNumber(Number.POSITIVE_INFINITY)).toBe(false);
95
+
76
96
  expect(isNonZeroFiniteNumber(Number.NEGATIVE_INFINITY)).toBe(false);
77
97
  });
78
98
  });
@@ -80,55 +100,73 @@ describe('NonZeroFiniteNumber test', () => {
80
100
  describe('NonZeroFiniteNumber.is', () => {
81
101
  test('same as isNonZeroFiniteNumber function', () => {
82
102
  expect(NonZeroFiniteNumber.is(5)).toBe(isNonZeroFiniteNumber(5));
103
+
83
104
  expect(NonZeroFiniteNumber.is(0)).toBe(isNonZeroFiniteNumber(0));
105
+
84
106
  expect(NonZeroFiniteNumber.is(-1)).toBe(isNonZeroFiniteNumber(-1));
85
107
  });
86
108
  });
87
109
 
88
110
  describe('mathematical operations', () => {
89
111
  const a = asNonZeroFiniteNumber(5.5);
112
+
90
113
  const b = asNonZeroFiniteNumber(2.5);
114
+
91
115
  const c = asNonZeroFiniteNumber(-3.5);
92
116
 
93
117
  test('abs', () => {
94
118
  expect(NonZeroFiniteNumber.abs(a)).toBe(5.5);
119
+
95
120
  expect(NonZeroFiniteNumber.abs(c)).toBe(3.5);
121
+
96
122
  expect(NonZeroFiniteNumber.abs(asNonZeroFiniteNumber(-1))).toBe(1);
97
123
  });
98
124
 
99
125
  test('min and max', () => {
100
126
  expect(NonZeroFiniteNumber.min(a, b)).toBe(2.5);
127
+
101
128
  expect(NonZeroFiniteNumber.max(a, b)).toBe(5.5);
129
+
102
130
  expect(NonZeroFiniteNumber.min(a, c)).toBe(-3.5);
131
+
103
132
  expect(NonZeroFiniteNumber.max(a, c)).toBe(5.5);
104
133
  });
105
134
 
106
135
  test('floor, ceil, round', () => {
107
136
  expect(NonZeroFiniteNumber.floor(a)).toBe(5);
137
+
108
138
  expect(NonZeroFiniteNumber.ceil(a)).toBe(6);
139
+
109
140
  expect(NonZeroFiniteNumber.round(a)).toBe(6);
141
+
110
142
  expect(NonZeroFiniteNumber.floor(c)).toBe(-4);
143
+
111
144
  expect(NonZeroFiniteNumber.ceil(c)).toBe(-3);
145
+
112
146
  expect(NonZeroFiniteNumber.round(c)).toBe(-3);
113
147
  });
114
148
 
115
149
  test('add', () => {
116
150
  expect(NonZeroFiniteNumber.add(a, b)).toBe(8);
151
+
117
152
  expect(NonZeroFiniteNumber.add(a, c)).toBe(2);
118
153
  });
119
154
 
120
155
  test('sub', () => {
121
156
  expect(NonZeroFiniteNumber.sub(a, b)).toBe(3);
157
+
122
158
  expect(NonZeroFiniteNumber.sub(a, c)).toBe(9);
123
159
  });
124
160
 
125
161
  test('mul', () => {
126
162
  expect(NonZeroFiniteNumber.mul(a, b)).toBe(13.75);
163
+
127
164
  expect(NonZeroFiniteNumber.mul(a, c)).toBe(-19.25);
128
165
  });
129
166
 
130
167
  test('div', () => {
131
168
  expect(NonZeroFiniteNumber.div(a, b)).toBe(2.2);
169
+
132
170
  expect(NonZeroFiniteNumber.div(a, asNonZeroFiniteNumber(2))).toBe(2.75);
133
171
  });
134
172
 
@@ -139,6 +177,7 @@ describe('NonZeroFiniteNumber test', () => {
139
177
  asNonZeroFiniteNumber(3),
140
178
  ),
141
179
  ).toBe(8);
180
+
142
181
  expect(
143
182
  NonZeroFiniteNumber.pow(
144
183
  asNonZeroFiniteNumber(3),
@@ -151,42 +190,54 @@ describe('NonZeroFiniteNumber test', () => {
151
190
  describe('random', () => {
152
191
  test('generates non-zero numbers within specified range (positive range)', () => {
153
192
  const min = asNonZeroFiniteNumber(1.5);
193
+
154
194
  const max = asNonZeroFiniteNumber(10.3);
155
195
 
156
196
  for (const _ of range(10)) {
157
197
  const result = NonZeroFiniteNumber.random(min, max);
158
198
 
159
199
  expect(result).toBeGreaterThanOrEqual(min);
200
+
160
201
  expect(result).toBeLessThanOrEqual(max);
202
+
161
203
  expect(NonZeroFiniteNumber.is(result)).toBe(true);
204
+
162
205
  expect(result).not.toBe(0);
163
206
  }
164
207
  });
165
208
 
166
209
  test('generates non-zero numbers within specified range (negative range)', () => {
167
210
  const min = asNonZeroFiniteNumber(-10.3);
211
+
168
212
  const max = asNonZeroFiniteNumber(-1.5);
169
213
 
170
214
  for (const _ of range(10)) {
171
215
  const result = NonZeroFiniteNumber.random(min, max);
172
216
 
173
217
  expect(result).toBeGreaterThanOrEqual(min);
218
+
174
219
  expect(result).toBeLessThanOrEqual(max);
220
+
175
221
  expect(NonZeroFiniteNumber.is(result)).toBe(true);
222
+
176
223
  expect(result).not.toBe(0);
177
224
  }
178
225
  });
179
226
 
180
227
  test('generates non-zero numbers within range that spans zero', () => {
181
228
  const min = asNonZeroFiniteNumber(-5.5);
229
+
182
230
  const max = asNonZeroFiniteNumber(5.5);
183
231
 
184
232
  for (const _ of range(10)) {
185
233
  const result = NonZeroFiniteNumber.random(min, max);
186
234
 
187
235
  expect(result).toBeGreaterThanOrEqual(min);
236
+
188
237
  expect(result).toBeLessThanOrEqual(max);
238
+
189
239
  expect(NonZeroFiniteNumber.is(result)).toBe(true);
240
+
190
241
  expect(result).not.toBe(0);
191
242
  }
192
243
  });
@@ -6,29 +6,41 @@ describe('NonZeroInt test', () => {
6
6
  describe(asNonZeroInt, () => {
7
7
  test('accepts valid non-zero integers', () => {
8
8
  expect(() => asNonZeroInt(1)).not.toThrow();
9
+
9
10
  expect(() => asNonZeroInt(-1)).not.toThrow();
11
+
10
12
  expect(() => asNonZeroInt(42)).not.toThrow();
13
+
11
14
  expect(() => asNonZeroInt(-42)).not.toThrow();
15
+
12
16
  expect(() => asNonZeroInt(Number.MAX_SAFE_INTEGER)).not.toThrow();
17
+
13
18
  expect(() => asNonZeroInt(Number.MIN_SAFE_INTEGER)).not.toThrow();
14
19
  });
15
20
 
16
21
  test('rejects zero', () => {
17
22
  expect(() => asNonZeroInt(0)).toThrow(TypeError);
23
+
18
24
  expect(() => asNonZeroInt(-0)).toThrow(TypeError);
19
25
  });
20
26
 
21
27
  test('rejects non-integers', () => {
22
28
  expect(() => asNonZeroInt(Number.NaN)).toThrow(TypeError);
29
+
23
30
  expect(() => asNonZeroInt(Number.POSITIVE_INFINITY)).toThrow(TypeError);
31
+
24
32
  expect(() => asNonZeroInt(Number.NEGATIVE_INFINITY)).toThrow(TypeError);
33
+
25
34
  expect(() => asNonZeroInt(1.2)).toThrow(TypeError);
35
+
26
36
  expect(() => asNonZeroInt(-3.4)).toThrow(TypeError);
27
37
  });
28
38
 
29
39
  test('returns the same value for valid inputs', () => {
30
40
  expect(asNonZeroInt(5)).toBe(5);
41
+
31
42
  expect(asNonZeroInt(-10)).toBe(-10);
43
+
32
44
  expect(asNonZeroInt(1)).toBe(1);
33
45
  });
34
46
 
@@ -49,23 +61,33 @@ describe('NonZeroInt test', () => {
49
61
  describe(isNonZeroInt, () => {
50
62
  test('correctly identifies non-zero integers', () => {
51
63
  expect(isNonZeroInt(1)).toBe(true);
64
+
52
65
  expect(isNonZeroInt(-1)).toBe(true);
66
+
53
67
  expect(isNonZeroInt(42)).toBe(true);
68
+
54
69
  expect(isNonZeroInt(-42)).toBe(true);
70
+
55
71
  expect(isNonZeroInt(Number.MAX_SAFE_INTEGER)).toBe(true);
72
+
56
73
  expect(isNonZeroInt(Number.MIN_SAFE_INTEGER)).toBe(true);
57
74
  });
58
75
 
59
76
  test('correctly identifies zero', () => {
60
77
  expect(isNonZeroInt(0)).toBe(false);
78
+
61
79
  expect(isNonZeroInt(-0)).toBe(false);
62
80
  });
63
81
 
64
82
  test('correctly identifies non-integers', () => {
65
83
  expect(isNonZeroInt(Number.NaN)).toBe(false);
84
+
66
85
  expect(isNonZeroInt(Number.POSITIVE_INFINITY)).toBe(false);
86
+
67
87
  expect(isNonZeroInt(Number.NEGATIVE_INFINITY)).toBe(false);
88
+
68
89
  expect(isNonZeroInt(1.2)).toBe(false);
90
+
69
91
  expect(isNonZeroInt(-3.4)).toBe(false);
70
92
  });
71
93
  });
@@ -73,53 +95,69 @@ describe('NonZeroInt test', () => {
73
95
  describe('NonZeroInt.is', () => {
74
96
  test('same as isNonZeroInt function', () => {
75
97
  expect(NonZeroInt.is(5)).toBe(isNonZeroInt(5));
98
+
76
99
  expect(NonZeroInt.is(0)).toBe(isNonZeroInt(0));
100
+
77
101
  expect(NonZeroInt.is(-10)).toBe(isNonZeroInt(-10));
78
102
  });
79
103
  });
80
104
 
81
105
  describe('mathematical operations', () => {
82
106
  const a = asNonZeroInt(5);
107
+
83
108
  const b = asNonZeroInt(2);
109
+
84
110
  const c = asNonZeroInt(-3);
85
111
 
86
112
  test('abs', () => {
87
113
  expect(NonZeroInt.abs(a)).toBe(5);
114
+
88
115
  expect(NonZeroInt.abs(c)).toBe(3);
116
+
89
117
  expect(NonZeroInt.abs(asNonZeroInt(-1))).toBe(1);
90
118
  });
91
119
 
92
120
  test('min and max', () => {
93
121
  expect(NonZeroInt.min(a, b)).toBe(2);
122
+
94
123
  expect(NonZeroInt.max(a, b)).toBe(5);
124
+
95
125
  expect(NonZeroInt.min(a, c)).toBe(-3);
126
+
96
127
  expect(NonZeroInt.max(a, c)).toBe(5);
97
128
  });
98
129
 
99
130
  test('add', () => {
100
131
  expect(NonZeroInt.add(a, b)).toBe(7);
132
+
101
133
  expect(NonZeroInt.add(a, c)).toBe(2);
102
134
  });
103
135
 
104
136
  test('sub', () => {
105
137
  expect(NonZeroInt.sub(a, b)).toBe(3);
138
+
106
139
  expect(NonZeroInt.sub(a, c)).toBe(8);
107
140
  });
108
141
 
109
142
  test('mul', () => {
110
143
  expect(NonZeroInt.mul(a, b)).toBe(10);
144
+
111
145
  expect(NonZeroInt.mul(a, c)).toBe(-15);
112
146
  });
113
147
 
114
148
  test('div (floor division)', () => {
115
149
  expect(NonZeroInt.div(a, b)).toBe(2);
150
+
116
151
  expect(NonZeroInt.div(asNonZeroInt(7), asNonZeroInt(3))).toBe(2);
152
+
117
153
  expect(NonZeroInt.div(asNonZeroInt(-7), asNonZeroInt(3))).toBe(-3);
118
154
  });
119
155
 
120
156
  test('pow', () => {
121
157
  expect(NonZeroInt.pow(asNonZeroInt(2), asNonZeroInt(3))).toBe(8);
158
+
122
159
  expect(NonZeroInt.pow(asNonZeroInt(3), asNonZeroInt(2))).toBe(9);
160
+
123
161
  expect(NonZeroInt.pow(asNonZeroInt(-2), asNonZeroInt(3))).toBe(-8);
124
162
  });
125
163
  });
@@ -127,45 +165,60 @@ describe('NonZeroInt test', () => {
127
165
  describe('random', () => {
128
166
  test('generates non-zero integers within specified range (positive range)', () => {
129
167
  const min = 1;
168
+
130
169
  const max = 10;
131
170
 
132
171
  for (const _ of range(10)) {
133
172
  const result = NonZeroInt.random(min, max);
134
173
 
135
174
  expect(result).toBeGreaterThanOrEqual(min);
175
+
136
176
  expect(result).toBeLessThanOrEqual(max);
177
+
137
178
  expect(NonZeroInt.is(result)).toBe(true);
179
+
138
180
  expect(Number.isInteger(result)).toBe(true);
181
+
139
182
  expect(result).not.toBe(0);
140
183
  }
141
184
  });
142
185
 
143
186
  test('generates non-zero integers within specified range (negative range)', () => {
144
187
  const min = -10;
188
+
145
189
  const max = -1;
146
190
 
147
191
  for (const _ of range(10)) {
148
192
  const result = NonZeroInt.random(min, max);
149
193
 
150
194
  expect(result).toBeGreaterThanOrEqual(min);
195
+
151
196
  expect(result).toBeLessThanOrEqual(max);
197
+
152
198
  expect(NonZeroInt.is(result)).toBe(true);
199
+
153
200
  expect(Number.isInteger(result)).toBe(true);
201
+
154
202
  expect(result).not.toBe(0);
155
203
  }
156
204
  });
157
205
 
158
206
  test('generates non-zero integers within range that spans zero', () => {
159
207
  const min = -5;
208
+
160
209
  const max = 5;
161
210
 
162
211
  for (const _ of range(10)) {
163
212
  const result = NonZeroInt.random(min, max);
164
213
 
165
214
  expect(result).toBeGreaterThanOrEqual(min);
215
+
166
216
  expect(result).toBeLessThanOrEqual(max);
217
+
167
218
  expect(NonZeroInt.is(result)).toBe(true);
219
+
168
220
  expect(Number.isInteger(result)).toBe(true);
221
+
169
222
  expect(result).not.toBe(0);
170
223
  }
171
224
  });
@@ -10,8 +10,11 @@ describe('NonZeroInt16 test', () => {
10
10
  describe(asNonZeroInt16, () => {
11
11
  test('accepts valid non-zero int16 values', () => {
12
12
  expect(() => asNonZeroInt16(1)).not.toThrow();
13
+
13
14
  expect(() => asNonZeroInt16(-1)).not.toThrow();
15
+
14
16
  expect(() => asNonZeroInt16(32_767)).not.toThrow(); // 2^15 - 1
17
+
15
18
  expect(() => asNonZeroInt16(-32_768)).not.toThrow(); // -2^15
16
19
  });
17
20
 
@@ -21,23 +24,33 @@ describe('NonZeroInt16 test', () => {
21
24
 
22
25
  test('rejects values outside int16 range', () => {
23
26
  expect(() => asNonZeroInt16(32_768)).toThrow(TypeError); // 2^15
27
+
24
28
  expect(() => asNonZeroInt16(-32_769)).toThrow(TypeError); // -2^15 - 1
29
+
25
30
  expect(() => asNonZeroInt16(65_536)).toThrow(TypeError);
31
+
26
32
  expect(() => asNonZeroInt16(-65_536)).toThrow(TypeError);
27
33
  });
28
34
 
29
35
  test('rejects non-integers', () => {
30
36
  expect(() => asNonZeroInt16(Number.NaN)).toThrow(TypeError);
37
+
31
38
  expect(() => asNonZeroInt16(Number.POSITIVE_INFINITY)).toThrow(TypeError);
39
+
32
40
  expect(() => asNonZeroInt16(Number.NEGATIVE_INFINITY)).toThrow(TypeError);
41
+
33
42
  expect(() => asNonZeroInt16(1.2)).toThrow(TypeError);
43
+
34
44
  expect(() => asNonZeroInt16(-3.4)).toThrow(TypeError);
35
45
  });
36
46
 
37
47
  test('returns the same value for valid inputs', () => {
38
48
  expect(asNonZeroInt16(5)).toBe(5);
49
+
39
50
  expect(asNonZeroInt16(-10)).toBe(-10);
51
+
40
52
  expect(asNonZeroInt16(32_767)).toBe(32_767);
53
+
41
54
  expect(asNonZeroInt16(-32_768)).toBe(-32_768);
42
55
  });
43
56
 
@@ -65,8 +78,11 @@ describe('NonZeroInt16 test', () => {
65
78
  describe(isNonZeroInt16, () => {
66
79
  test('correctly identifies non-zero int16 values', () => {
67
80
  expect(isNonZeroInt16(1)).toBe(true);
81
+
68
82
  expect(isNonZeroInt16(-1)).toBe(true);
83
+
69
84
  expect(isNonZeroInt16(32_767)).toBe(true);
85
+
70
86
  expect(isNonZeroInt16(-32_768)).toBe(true);
71
87
  });
72
88
 
@@ -76,16 +92,23 @@ describe('NonZeroInt16 test', () => {
76
92
 
77
93
  test('correctly identifies values outside int16 range', () => {
78
94
  expect(isNonZeroInt16(32_768)).toBe(false);
95
+
79
96
  expect(isNonZeroInt16(-32_769)).toBe(false);
97
+
80
98
  expect(isNonZeroInt16(65_536)).toBe(false);
99
+
81
100
  expect(isNonZeroInt16(-65_536)).toBe(false);
82
101
  });
83
102
 
84
103
  test('correctly identifies non-integers', () => {
85
104
  expect(isNonZeroInt16(Number.NaN)).toBe(false);
105
+
86
106
  expect(isNonZeroInt16(Number.POSITIVE_INFINITY)).toBe(false);
107
+
87
108
  expect(isNonZeroInt16(Number.NEGATIVE_INFINITY)).toBe(false);
109
+
88
110
  expect(isNonZeroInt16(1.2)).toBe(false);
111
+
89
112
  expect(isNonZeroInt16(-3.4)).toBe(false);
90
113
  });
91
114
  });
@@ -93,7 +116,9 @@ describe('NonZeroInt16 test', () => {
93
116
  describe('NonZeroInt16.is', () => {
94
117
  test('same as isNonZeroInt16 function', () => {
95
118
  expect(NonZeroInt16.is(5)).toBe(isNonZeroInt16(5));
119
+
96
120
  expect(NonZeroInt16.is(0)).toBe(isNonZeroInt16(0));
121
+
97
122
  expect(NonZeroInt16.is(-1)).toBe(isNonZeroInt16(-1));
98
123
  });
99
124
  });
@@ -101,24 +126,31 @@ describe('NonZeroInt16 test', () => {
101
126
  describe('constants', () => {
102
127
  test('MIN_VALUE and MAX_VALUE', () => {
103
128
  expect(NonZeroInt16.MIN_VALUE).toBe(-32_768);
129
+
104
130
  expect(NonZeroInt16.MAX_VALUE).toBe(32_767);
105
131
  });
106
132
  });
107
133
 
108
134
  describe('mathematical operations', () => {
109
135
  const a = asNonZeroInt16(100);
136
+
110
137
  const b = asNonZeroInt16(50);
138
+
111
139
  const c = asNonZeroInt16(-30);
112
140
 
113
141
  test('abs', () => {
114
142
  expect(NonZeroInt16.abs(a)).toBe(100);
143
+
115
144
  expect(NonZeroInt16.abs(c)).toBe(30);
116
145
  });
117
146
 
118
147
  test('min and max', () => {
119
148
  expect(NonZeroInt16.min(a, b)).toBe(50);
149
+
120
150
  expect(NonZeroInt16.max(a, b)).toBe(100);
151
+
121
152
  expect(NonZeroInt16.min(a, c)).toBe(-30);
153
+
122
154
  expect(NonZeroInt16.max(a, c)).toBe(100);
123
155
  });
124
156
 
@@ -129,6 +161,7 @@ describe('NonZeroInt16 test', () => {
129
161
  );
130
162
 
131
163
  expect(result).toBe(32_767); // clamped to max
164
+
132
165
  expect(NonZeroInt16.add(a, b)).toBe(150);
133
166
  });
134
167
 
@@ -139,6 +172,7 @@ describe('NonZeroInt16 test', () => {
139
172
  );
140
173
 
141
174
  expect(result).toBe(-32_768); // clamped to min
175
+
142
176
  expect(NonZeroInt16.sub(a, b)).toBe(50);
143
177
  });
144
178
 
@@ -149,12 +183,15 @@ describe('NonZeroInt16 test', () => {
149
183
  );
150
184
 
151
185
  expect(result).toBe(32_767); // clamped to max
186
+
152
187
  expect(NonZeroInt16.mul(asNonZeroInt16(10), asNonZeroInt16(5))).toBe(50);
153
188
  });
154
189
 
155
190
  test('div (floor division with clamping)', () => {
156
191
  expect(NonZeroInt16.div(a, asNonZeroInt16(50))).toBe(2);
192
+
157
193
  expect(NonZeroInt16.div(asNonZeroInt16(7), asNonZeroInt16(3))).toBe(2);
194
+
158
195
  expect(NonZeroInt16.div(asNonZeroInt16(-7), asNonZeroInt16(3))).toBe(-3);
159
196
  });
160
197
 
@@ -162,6 +199,7 @@ describe('NonZeroInt16 test', () => {
162
199
  const result = NonZeroInt16.pow(asNonZeroInt16(200), asNonZeroInt16(3));
163
200
 
164
201
  expect(result).toBe(32_767); // clamped to max
202
+
165
203
  expect(NonZeroInt16.pow(asNonZeroInt16(2), asNonZeroInt16(3))).toBe(8);
166
204
  });
167
205
  });
@@ -169,15 +207,20 @@ describe('NonZeroInt16 test', () => {
169
207
  describe('random', () => {
170
208
  test('generates non-zero int16 values within specified range', () => {
171
209
  const min = -10;
210
+
172
211
  const max = 10;
173
212
 
174
213
  for (const _ of range(10)) {
175
214
  const result = NonZeroInt16.random(min, max);
176
215
 
177
216
  expect(result).toBeGreaterThanOrEqual(min);
217
+
178
218
  expect(result).toBeLessThanOrEqual(max);
219
+
179
220
  expect(NonZeroInt16.is(result)).toBe(true);
221
+
180
222
  expect(Number.isInteger(result)).toBe(true);
223
+
181
224
  expect(result).not.toBe(0);
182
225
  }
183
226
  });
@@ -187,6 +230,7 @@ describe('NonZeroInt16 test', () => {
187
230
  const result = NonZeroInt16.random(-20, 20);
188
231
 
189
232
  expect(result).toBeGreaterThanOrEqual(-32_768);
233
+
190
234
  expect(result).toBeLessThanOrEqual(32_767);
191
235
  }
192
236
  });