ts-data-forge 3.3.0 → 4.0.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 (664) hide show
  1. package/README.md +37 -13
  2. package/dist/array/impl/array-utils-creation.d.mts +116 -0
  3. package/dist/array/impl/array-utils-creation.d.mts.map +1 -0
  4. package/dist/array/impl/array-utils-creation.mjs +110 -0
  5. package/dist/array/impl/array-utils-creation.mjs.map +1 -0
  6. package/dist/array/impl/array-utils-element-access.d.mts +60 -0
  7. package/dist/array/impl/array-utils-element-access.d.mts.map +1 -0
  8. package/dist/array/impl/array-utils-element-access.mjs +66 -0
  9. package/dist/array/impl/array-utils-element-access.mjs.map +1 -0
  10. package/dist/array/impl/array-utils-iterators.d.mts +59 -0
  11. package/dist/array/impl/array-utils-iterators.d.mts.map +1 -0
  12. package/dist/array/impl/array-utils-iterators.mjs +104 -0
  13. package/dist/array/impl/array-utils-iterators.mjs.map +1 -0
  14. package/dist/array/impl/array-utils-modification.d.mts +154 -0
  15. package/dist/array/impl/array-utils-modification.d.mts.map +1 -0
  16. package/dist/array/impl/array-utils-modification.mjs +139 -0
  17. package/dist/array/impl/array-utils-modification.mjs.map +1 -0
  18. package/dist/array/impl/array-utils-reducing-value.d.mts +213 -0
  19. package/dist/array/impl/array-utils-reducing-value.d.mts.map +1 -0
  20. package/dist/array/impl/array-utils-reducing-value.mjs +162 -0
  21. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -0
  22. package/dist/array/impl/array-utils-search.d.mts +178 -0
  23. package/dist/array/impl/array-utils-search.d.mts.map +1 -0
  24. package/dist/array/impl/array-utils-search.mjs +153 -0
  25. package/dist/array/impl/array-utils-search.mjs.map +1 -0
  26. package/dist/array/impl/array-utils-set-op.d.mts +100 -0
  27. package/dist/array/impl/array-utils-set-op.d.mts.map +1 -0
  28. package/dist/array/impl/array-utils-set-op.mjs +137 -0
  29. package/dist/array/impl/array-utils-set-op.mjs.map +1 -0
  30. package/dist/array/impl/array-utils-size.d.mts +24 -0
  31. package/dist/array/impl/array-utils-size.d.mts.map +1 -0
  32. package/dist/array/impl/array-utils-size.mjs +28 -0
  33. package/dist/array/impl/array-utils-size.mjs.map +1 -0
  34. package/dist/array/impl/array-utils-slice-clamped.d.mts +18 -0
  35. package/dist/array/impl/array-utils-slice-clamped.d.mts.map +1 -0
  36. package/dist/array/impl/array-utils-slice-clamped.mjs +49 -0
  37. package/dist/array/impl/array-utils-slice-clamped.mjs.map +1 -0
  38. package/dist/array/impl/array-utils-slicing.d.mts +120 -0
  39. package/dist/array/impl/array-utils-slicing.d.mts.map +1 -0
  40. package/dist/array/impl/array-utils-slicing.mjs +140 -0
  41. package/dist/array/impl/array-utils-slicing.mjs.map +1 -0
  42. package/dist/array/impl/array-utils-transformation.d.mts +348 -0
  43. package/dist/array/impl/array-utils-transformation.d.mts.map +1 -0
  44. package/dist/array/impl/array-utils-transformation.mjs +329 -0
  45. package/dist/array/impl/array-utils-transformation.mjs.map +1 -0
  46. package/dist/array/impl/array-utils-validation.d.mts +149 -0
  47. package/dist/array/impl/array-utils-validation.d.mts.map +1 -0
  48. package/dist/array/impl/array-utils-validation.mjs +166 -0
  49. package/dist/array/impl/array-utils-validation.mjs.map +1 -0
  50. package/dist/array/impl/index.d.mts +13 -0
  51. package/dist/array/impl/index.d.mts.map +1 -0
  52. package/dist/array/impl/index.mjs +13 -0
  53. package/dist/array/impl/index.mjs.map +1 -0
  54. package/dist/array/index.d.mts +1 -1
  55. package/dist/array/index.d.mts.map +1 -1
  56. package/dist/array/index.mjs +2 -1
  57. package/dist/array/index.mjs.map +1 -1
  58. package/dist/collections/imap-mapped.d.mts +83 -254
  59. package/dist/collections/imap-mapped.d.mts.map +1 -1
  60. package/dist/collections/imap-mapped.mjs +40 -170
  61. package/dist/collections/imap-mapped.mjs.map +1 -1
  62. package/dist/collections/imap.d.mts +436 -164
  63. package/dist/collections/imap.d.mts.map +1 -1
  64. package/dist/collections/imap.mjs +83 -101
  65. package/dist/collections/imap.mjs.map +1 -1
  66. package/dist/collections/iset-mapped.d.mts +828 -345
  67. package/dist/collections/iset-mapped.d.mts.map +1 -1
  68. package/dist/collections/iset-mapped.mjs +200 -242
  69. package/dist/collections/iset-mapped.mjs.map +1 -1
  70. package/dist/collections/iset.d.mts +397 -205
  71. package/dist/collections/iset.d.mts.map +1 -1
  72. package/dist/collections/iset.mjs +102 -184
  73. package/dist/collections/iset.mjs.map +1 -1
  74. package/dist/collections/queue.d.mts +155 -136
  75. package/dist/collections/queue.d.mts.map +1 -1
  76. package/dist/collections/queue.mjs +59 -160
  77. package/dist/collections/queue.mjs.map +1 -1
  78. package/dist/collections/stack.d.mts +154 -155
  79. package/dist/collections/stack.d.mts.map +1 -1
  80. package/dist/collections/stack.mjs +58 -207
  81. package/dist/collections/stack.mjs.map +1 -1
  82. package/dist/entry-point.d.mts +2 -0
  83. package/dist/entry-point.d.mts.map +1 -1
  84. package/dist/entry-point.mjs +8 -5
  85. package/dist/entry-point.mjs.map +1 -1
  86. package/dist/expect-type.d.mts +43 -172
  87. package/dist/expect-type.d.mts.map +1 -1
  88. package/dist/expect-type.mjs +43 -172
  89. package/dist/expect-type.mjs.map +1 -1
  90. package/dist/functional/index.d.mts +2 -2
  91. package/dist/functional/index.d.mts.map +1 -1
  92. package/dist/functional/index.mjs +4 -2
  93. package/dist/functional/index.mjs.map +1 -1
  94. package/dist/functional/match.d.mts +35 -140
  95. package/dist/functional/match.d.mts.map +1 -1
  96. package/dist/functional/match.mjs.map +1 -1
  97. package/dist/functional/optional/impl/index.d.mts +18 -0
  98. package/dist/functional/optional/impl/index.d.mts.map +1 -0
  99. package/dist/functional/optional/impl/index.mjs +17 -0
  100. package/dist/functional/optional/impl/index.mjs.map +1 -0
  101. package/dist/functional/optional/impl/optional-expect-to-be.d.mts +29 -0
  102. package/dist/functional/optional/impl/optional-expect-to-be.d.mts.map +1 -0
  103. package/dist/functional/optional/impl/optional-expect-to-be.mjs +25 -0
  104. package/dist/functional/optional/impl/optional-expect-to-be.mjs.map +1 -0
  105. package/dist/functional/optional/impl/optional-filter.d.mts +29 -0
  106. package/dist/functional/optional/impl/optional-filter.d.mts.map +1 -0
  107. package/dist/functional/optional/impl/optional-filter.mjs +28 -0
  108. package/dist/functional/optional/impl/optional-filter.mjs.map +1 -0
  109. package/dist/functional/optional/impl/optional-flat-map.d.mts +33 -0
  110. package/dist/functional/optional/impl/optional-flat-map.d.mts.map +1 -0
  111. package/dist/functional/optional/impl/optional-flat-map.mjs +21 -0
  112. package/dist/functional/optional/impl/optional-flat-map.mjs.map +1 -0
  113. package/dist/functional/optional/impl/optional-from-nullable.d.mts +24 -0
  114. package/dist/functional/optional/impl/optional-from-nullable.d.mts.map +1 -0
  115. package/dist/functional/optional/impl/optional-from-nullable.mjs +29 -0
  116. package/dist/functional/optional/impl/optional-from-nullable.mjs.map +1 -0
  117. package/dist/functional/optional/impl/optional-is-none.d.mts +22 -0
  118. package/dist/functional/optional/impl/optional-is-none.d.mts.map +1 -0
  119. package/dist/functional/optional/impl/optional-is-none.mjs +25 -0
  120. package/dist/functional/optional/impl/optional-is-none.mjs.map +1 -0
  121. package/dist/functional/optional/impl/optional-is-optional.d.mts +18 -0
  122. package/dist/functional/optional/impl/optional-is-optional.d.mts.map +1 -0
  123. package/dist/functional/optional/impl/optional-is-optional.mjs +27 -0
  124. package/dist/functional/optional/impl/optional-is-optional.mjs.map +1 -0
  125. package/dist/functional/optional/impl/optional-is-some.d.mts +22 -0
  126. package/dist/functional/optional/impl/optional-is-some.d.mts.map +1 -0
  127. package/dist/functional/optional/impl/optional-is-some.mjs +25 -0
  128. package/dist/functional/optional/impl/optional-is-some.mjs.map +1 -0
  129. package/dist/functional/optional/impl/optional-map.d.mts +31 -0
  130. package/dist/functional/optional/impl/optional-map.d.mts.map +1 -0
  131. package/dist/functional/optional/impl/optional-map.mjs +25 -0
  132. package/dist/functional/optional/impl/optional-map.mjs.map +1 -0
  133. package/dist/functional/optional/impl/optional-none.d.mts +16 -0
  134. package/dist/functional/optional/impl/optional-none.d.mts.map +1 -0
  135. package/dist/functional/optional/impl/optional-none.mjs +20 -0
  136. package/dist/functional/optional/impl/optional-none.mjs.map +1 -0
  137. package/dist/functional/optional/impl/optional-or-else.d.mts +35 -0
  138. package/dist/functional/optional/impl/optional-or-else.d.mts.map +1 -0
  139. package/dist/functional/optional/impl/optional-or-else.mjs +19 -0
  140. package/dist/functional/optional/impl/optional-or-else.mjs.map +1 -0
  141. package/dist/functional/optional/impl/optional-some.d.mts +19 -0
  142. package/dist/functional/optional/impl/optional-some.d.mts.map +1 -0
  143. package/dist/functional/optional/impl/optional-some.mjs +26 -0
  144. package/dist/functional/optional/impl/optional-some.mjs.map +1 -0
  145. package/dist/functional/optional/impl/optional-to-nullable.d.mts +27 -0
  146. package/dist/functional/optional/impl/optional-to-nullable.d.mts.map +1 -0
  147. package/dist/functional/optional/impl/optional-to-nullable.mjs +31 -0
  148. package/dist/functional/optional/impl/optional-to-nullable.mjs.map +1 -0
  149. package/dist/functional/optional/impl/optional-unwrap-or.d.mts +33 -0
  150. package/dist/functional/optional/impl/optional-unwrap-or.d.mts.map +1 -0
  151. package/dist/functional/optional/impl/optional-unwrap-or.mjs +19 -0
  152. package/dist/functional/optional/impl/optional-unwrap-or.mjs.map +1 -0
  153. package/dist/functional/optional/impl/optional-unwrap-throw.d.mts +29 -0
  154. package/dist/functional/optional/impl/optional-unwrap-throw.d.mts.map +1 -0
  155. package/dist/functional/optional/impl/optional-unwrap-throw.mjs +38 -0
  156. package/dist/functional/optional/impl/optional-unwrap-throw.mjs.map +1 -0
  157. package/dist/functional/optional/impl/optional-unwrap.d.mts +28 -0
  158. package/dist/functional/optional/impl/optional-unwrap.d.mts.map +1 -0
  159. package/dist/functional/optional/impl/optional-unwrap.mjs +11 -0
  160. package/dist/functional/optional/impl/optional-unwrap.mjs.map +1 -0
  161. package/dist/functional/optional/impl/optional-zip.d.mts +31 -0
  162. package/dist/functional/optional/impl/optional-zip.d.mts.map +1 -0
  163. package/dist/functional/optional/impl/optional-zip.mjs +39 -0
  164. package/dist/functional/optional/impl/optional-zip.mjs.map +1 -0
  165. package/dist/functional/optional/impl/tag.d.mts +5 -0
  166. package/dist/functional/optional/impl/tag.d.mts.map +1 -0
  167. package/dist/functional/optional/impl/tag.mjs +7 -0
  168. package/dist/functional/optional/impl/tag.mjs.map +1 -0
  169. package/dist/functional/optional/impl/types.d.mts +22 -0
  170. package/dist/functional/optional/impl/types.d.mts.map +1 -0
  171. package/dist/functional/optional/impl/types.mjs +2 -0
  172. package/dist/functional/optional/impl/types.mjs.map +1 -0
  173. package/dist/functional/optional/index.d.mts +2 -0
  174. package/dist/functional/optional/index.d.mts.map +1 -0
  175. package/dist/functional/optional/index.mjs +3 -0
  176. package/dist/functional/optional/index.mjs.map +1 -0
  177. package/dist/functional/pipe.d.mts +63 -117
  178. package/dist/functional/pipe.d.mts.map +1 -1
  179. package/dist/functional/pipe.mjs +4 -3
  180. package/dist/functional/pipe.mjs.map +1 -1
  181. package/dist/functional/result/impl/index.d.mts +24 -0
  182. package/dist/functional/result/impl/index.d.mts.map +1 -0
  183. package/dist/functional/result/impl/index.mjs +23 -0
  184. package/dist/functional/result/impl/index.mjs.map +1 -0
  185. package/dist/functional/result/impl/result-err.d.mts +25 -0
  186. package/dist/functional/result/impl/result-err.d.mts.map +1 -0
  187. package/dist/functional/result/impl/result-err.mjs +32 -0
  188. package/dist/functional/result/impl/result-err.mjs.map +1 -0
  189. package/dist/functional/result/impl/result-expect-to-be.d.mts +27 -0
  190. package/dist/functional/result/impl/result-expect-to-be.d.mts.map +1 -0
  191. package/dist/functional/result/impl/result-expect-to-be.mjs +26 -0
  192. package/dist/functional/result/impl/result-expect-to-be.mjs.map +1 -0
  193. package/dist/functional/result/impl/result-flat-map.d.mts +39 -0
  194. package/dist/functional/result/impl/result-flat-map.d.mts.map +1 -0
  195. package/dist/functional/result/impl/result-flat-map.mjs +24 -0
  196. package/dist/functional/result/impl/result-flat-map.mjs.map +1 -0
  197. package/dist/functional/result/impl/result-fold.d.mts +45 -0
  198. package/dist/functional/result/impl/result-fold.d.mts.map +1 -0
  199. package/dist/functional/result/impl/result-fold.mjs +26 -0
  200. package/dist/functional/result/impl/result-fold.mjs.map +1 -0
  201. package/dist/functional/result/impl/result-from-promise.d.mts +32 -0
  202. package/dist/functional/result/impl/result-from-promise.d.mts.map +1 -0
  203. package/dist/functional/result/impl/result-from-promise.mjs +32 -0
  204. package/dist/functional/result/impl/result-from-promise.mjs.map +1 -0
  205. package/dist/functional/result/impl/result-from-throwable.d.mts +29 -0
  206. package/dist/functional/result/impl/result-from-throwable.d.mts.map +1 -0
  207. package/dist/functional/result/impl/result-from-throwable.mjs +46 -0
  208. package/dist/functional/result/impl/result-from-throwable.mjs.map +1 -0
  209. package/dist/functional/result/impl/result-is-err.d.mts +20 -0
  210. package/dist/functional/result/impl/result-is-err.d.mts.map +1 -0
  211. package/dist/functional/result/impl/result-is-err.mjs +23 -0
  212. package/dist/functional/result/impl/result-is-err.mjs.map +1 -0
  213. package/dist/functional/result/impl/result-is-ok.d.mts +20 -0
  214. package/dist/functional/result/impl/result-is-ok.d.mts.map +1 -0
  215. package/dist/functional/result/impl/result-is-ok.mjs +23 -0
  216. package/dist/functional/result/impl/result-is-ok.mjs.map +1 -0
  217. package/dist/functional/result/impl/result-is-result.d.mts +17 -0
  218. package/dist/functional/result/impl/result-is-result.d.mts.map +1 -0
  219. package/dist/functional/result/impl/result-is-result.mjs +26 -0
  220. package/dist/functional/result/impl/result-is-result.mjs.map +1 -0
  221. package/dist/functional/result/impl/result-map-err.d.mts +33 -0
  222. package/dist/functional/result/impl/result-map-err.d.mts.map +1 -0
  223. package/dist/functional/result/impl/result-map-err.mjs +25 -0
  224. package/dist/functional/result/impl/result-map-err.mjs.map +1 -0
  225. package/dist/functional/result/impl/result-map.d.mts +34 -0
  226. package/dist/functional/result/impl/result-map.d.mts.map +1 -0
  227. package/dist/functional/result/impl/result-map.mjs +25 -0
  228. package/dist/functional/result/impl/result-map.mjs.map +1 -0
  229. package/dist/functional/result/impl/result-ok.d.mts +25 -0
  230. package/dist/functional/result/impl/result-ok.d.mts.map +1 -0
  231. package/dist/functional/result/impl/result-ok.mjs +32 -0
  232. package/dist/functional/result/impl/result-ok.mjs.map +1 -0
  233. package/dist/functional/result/impl/result-or-else.d.mts +32 -0
  234. package/dist/functional/result/impl/result-or-else.d.mts.map +1 -0
  235. package/dist/functional/result/impl/result-or-else.mjs +20 -0
  236. package/dist/functional/result/impl/result-or-else.mjs.map +1 -0
  237. package/dist/functional/result/impl/result-swap.d.mts +20 -0
  238. package/dist/functional/result/impl/result-swap.d.mts.map +1 -0
  239. package/dist/functional/result/impl/result-swap.mjs +28 -0
  240. package/dist/functional/result/impl/result-swap.mjs.map +1 -0
  241. package/dist/functional/result/impl/result-to-optional.d.mts +28 -0
  242. package/dist/functional/result/impl/result-to-optional.d.mts.map +1 -0
  243. package/dist/functional/result/impl/result-to-optional.mjs +34 -0
  244. package/dist/functional/result/impl/result-to-optional.mjs.map +1 -0
  245. package/dist/functional/result/impl/result-unwrap-err-or.d.mts +29 -0
  246. package/dist/functional/result/impl/result-unwrap-err-or.d.mts.map +1 -0
  247. package/dist/functional/result/impl/result-unwrap-err-or.mjs +20 -0
  248. package/dist/functional/result/impl/result-unwrap-err-or.mjs.map +1 -0
  249. package/dist/functional/result/impl/result-unwrap-err-throw.d.mts +30 -0
  250. package/dist/functional/result/impl/result-unwrap-err-throw.d.mts.map +1 -0
  251. package/dist/functional/result/impl/result-unwrap-err-throw.mjs +47 -0
  252. package/dist/functional/result/impl/result-unwrap-err-throw.mjs.map +1 -0
  253. package/dist/functional/result/impl/result-unwrap-err.d.mts +31 -0
  254. package/dist/functional/result/impl/result-unwrap-err.d.mts.map +1 -0
  255. package/dist/functional/result/impl/result-unwrap-err.mjs +36 -0
  256. package/dist/functional/result/impl/result-unwrap-err.mjs.map +1 -0
  257. package/dist/functional/result/impl/result-unwrap-ok-or.d.mts +29 -0
  258. package/dist/functional/result/impl/result-unwrap-ok-or.d.mts.map +1 -0
  259. package/dist/functional/result/impl/result-unwrap-ok-or.mjs +20 -0
  260. package/dist/functional/result/impl/result-unwrap-ok-or.mjs.map +1 -0
  261. package/dist/functional/result/impl/result-unwrap-ok.d.mts +23 -0
  262. package/dist/functional/result/impl/result-unwrap-ok.d.mts.map +1 -0
  263. package/dist/functional/result/impl/result-unwrap-ok.mjs +11 -0
  264. package/dist/functional/result/impl/result-unwrap-ok.mjs.map +1 -0
  265. package/dist/functional/result/impl/result-unwrap-throw.d.mts +30 -0
  266. package/dist/functional/result/impl/result-unwrap-throw.d.mts.map +1 -0
  267. package/dist/functional/result/impl/result-unwrap-throw.mjs +41 -0
  268. package/dist/functional/result/impl/result-unwrap-throw.mjs.map +1 -0
  269. package/dist/functional/result/impl/result-zip.d.mts +29 -0
  270. package/dist/functional/result/impl/result-zip.d.mts.map +1 -0
  271. package/dist/functional/result/impl/result-zip.mjs +38 -0
  272. package/dist/functional/result/impl/result-zip.mjs.map +1 -0
  273. package/dist/functional/result/impl/tag.d.mts +5 -0
  274. package/dist/functional/result/impl/tag.d.mts.map +1 -0
  275. package/dist/functional/result/impl/tag.mjs +7 -0
  276. package/dist/functional/result/impl/tag.mjs.map +1 -0
  277. package/dist/functional/result/impl/types.d.mts +29 -0
  278. package/dist/functional/result/impl/types.d.mts.map +1 -0
  279. package/dist/functional/result/impl/types.mjs +2 -0
  280. package/dist/functional/result/impl/types.mjs.map +1 -0
  281. package/dist/functional/result/index.d.mts +2 -0
  282. package/dist/functional/result/index.d.mts.map +1 -0
  283. package/dist/functional/result/index.mjs +3 -0
  284. package/dist/functional/result/index.mjs.map +1 -0
  285. package/dist/globals.d.mts +95 -5
  286. package/dist/guard/has-key.d.mts +23 -74
  287. package/dist/guard/has-key.d.mts.map +1 -1
  288. package/dist/guard/has-key.mjs +23 -74
  289. package/dist/guard/has-key.mjs.map +1 -1
  290. package/dist/guard/is-non-empty-string.d.mts +20 -87
  291. package/dist/guard/is-non-empty-string.d.mts.map +1 -1
  292. package/dist/guard/is-non-empty-string.mjs +20 -87
  293. package/dist/guard/is-non-empty-string.mjs.map +1 -1
  294. package/dist/guard/is-non-null-object.d.mts +14 -84
  295. package/dist/guard/is-non-null-object.d.mts.map +1 -1
  296. package/dist/guard/is-non-null-object.mjs +14 -84
  297. package/dist/guard/is-non-null-object.mjs.map +1 -1
  298. package/dist/guard/is-primitive.d.mts +13 -126
  299. package/dist/guard/is-primitive.d.mts.map +1 -1
  300. package/dist/guard/is-primitive.mjs +13 -126
  301. package/dist/guard/is-primitive.mjs.map +1 -1
  302. package/dist/guard/is-record.d.mts +21 -132
  303. package/dist/guard/is-record.d.mts.map +1 -1
  304. package/dist/guard/is-record.mjs +21 -132
  305. package/dist/guard/is-record.mjs.map +1 -1
  306. package/dist/guard/is-type.d.mts +201 -238
  307. package/dist/guard/is-type.d.mts.map +1 -1
  308. package/dist/guard/is-type.mjs +201 -238
  309. package/dist/guard/is-type.mjs.map +1 -1
  310. package/dist/guard/key-is-in.d.mts +22 -139
  311. package/dist/guard/key-is-in.d.mts.map +1 -1
  312. package/dist/guard/key-is-in.mjs +22 -139
  313. package/dist/guard/key-is-in.mjs.map +1 -1
  314. package/dist/index.d.mts +0 -2
  315. package/dist/index.d.mts.map +1 -1
  316. package/dist/index.mjs +0 -5
  317. package/dist/index.mjs.map +1 -1
  318. package/dist/iterator/range.d.mts +29 -62
  319. package/dist/iterator/range.d.mts.map +1 -1
  320. package/dist/iterator/range.mjs.map +1 -1
  321. package/dist/json/json.d.mts +191 -122
  322. package/dist/json/json.d.mts.map +1 -1
  323. package/dist/json/json.mjs +246 -144
  324. package/dist/json/json.mjs.map +1 -1
  325. package/dist/number/branded-types/finite-number.d.mts +24 -156
  326. package/dist/number/branded-types/finite-number.d.mts.map +1 -1
  327. package/dist/number/branded-types/finite-number.mjs +28 -160
  328. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  329. package/dist/number/branded-types/int.d.mts +122 -120
  330. package/dist/number/branded-types/int.d.mts.map +1 -1
  331. package/dist/number/branded-types/int.mjs +123 -121
  332. package/dist/number/branded-types/int.mjs.map +1 -1
  333. package/dist/number/branded-types/int16.d.mts +22 -30
  334. package/dist/number/branded-types/int16.d.mts.map +1 -1
  335. package/dist/number/branded-types/int16.mjs +23 -31
  336. package/dist/number/branded-types/int16.mjs.map +1 -1
  337. package/dist/number/branded-types/int32.d.mts +22 -31
  338. package/dist/number/branded-types/int32.d.mts.map +1 -1
  339. package/dist/number/branded-types/int32.mjs +23 -32
  340. package/dist/number/branded-types/int32.mjs.map +1 -1
  341. package/dist/number/branded-types/non-negative-finite-number.d.mts +28 -36
  342. package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
  343. package/dist/number/branded-types/non-negative-finite-number.mjs +32 -40
  344. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  345. package/dist/number/branded-types/non-negative-int16.d.mts +24 -34
  346. package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
  347. package/dist/number/branded-types/non-negative-int16.mjs +25 -35
  348. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  349. package/dist/number/branded-types/non-negative-int32.d.mts +26 -35
  350. package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
  351. package/dist/number/branded-types/non-negative-int32.mjs +27 -36
  352. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  353. package/dist/number/branded-types/non-zero-finite-number.d.mts +22 -37
  354. package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -1
  355. package/dist/number/branded-types/non-zero-finite-number.mjs +26 -41
  356. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  357. package/dist/number/branded-types/non-zero-int.d.mts +15 -30
  358. package/dist/number/branded-types/non-zero-int.d.mts.map +1 -1
  359. package/dist/number/branded-types/non-zero-int.mjs +16 -31
  360. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  361. package/dist/number/branded-types/non-zero-int16.d.mts +27 -35
  362. package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
  363. package/dist/number/branded-types/non-zero-int16.mjs +28 -36
  364. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  365. package/dist/number/branded-types/non-zero-int32.d.mts +29 -36
  366. package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
  367. package/dist/number/branded-types/non-zero-int32.mjs +30 -37
  368. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  369. package/dist/number/branded-types/non-zero-safe-int.d.mts +37 -38
  370. package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
  371. package/dist/number/branded-types/non-zero-safe-int.mjs +40 -41
  372. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  373. package/dist/number/branded-types/non-zero-uint16.d.mts +24 -35
  374. package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
  375. package/dist/number/branded-types/non-zero-uint16.mjs +25 -36
  376. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  377. package/dist/number/branded-types/non-zero-uint32.d.mts +24 -35
  378. package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
  379. package/dist/number/branded-types/non-zero-uint32.mjs +25 -36
  380. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  381. package/dist/number/branded-types/positive-finite-number.d.mts +26 -40
  382. package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
  383. package/dist/number/branded-types/positive-finite-number.mjs +30 -44
  384. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  385. package/dist/number/branded-types/positive-int.d.mts +133 -123
  386. package/dist/number/branded-types/positive-int.d.mts.map +1 -1
  387. package/dist/number/branded-types/positive-int.mjs +134 -124
  388. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  389. package/dist/number/branded-types/positive-int16.d.mts +24 -35
  390. package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
  391. package/dist/number/branded-types/positive-int16.mjs +25 -36
  392. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  393. package/dist/number/branded-types/positive-int32.d.mts +24 -35
  394. package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
  395. package/dist/number/branded-types/positive-int32.mjs +25 -36
  396. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  397. package/dist/number/branded-types/positive-safe-int.d.mts +159 -33
  398. package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
  399. package/dist/number/branded-types/positive-safe-int.mjs +161 -35
  400. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  401. package/dist/number/branded-types/positive-uint16.d.mts +24 -35
  402. package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
  403. package/dist/number/branded-types/positive-uint16.mjs +25 -36
  404. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  405. package/dist/number/branded-types/positive-uint32.d.mts +26 -36
  406. package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
  407. package/dist/number/branded-types/positive-uint32.mjs +27 -37
  408. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  409. package/dist/number/branded-types/safe-int.d.mts +140 -99
  410. package/dist/number/branded-types/safe-int.d.mts.map +1 -1
  411. package/dist/number/branded-types/safe-int.mjs +143 -102
  412. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  413. package/dist/number/branded-types/safe-uint.d.mts +24 -33
  414. package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
  415. package/dist/number/branded-types/safe-uint.mjs +26 -35
  416. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  417. package/dist/number/branded-types/uint.d.mts +121 -30
  418. package/dist/number/branded-types/uint.d.mts.map +1 -1
  419. package/dist/number/branded-types/uint.mjs +122 -31
  420. package/dist/number/branded-types/uint.mjs.map +1 -1
  421. package/dist/number/branded-types/uint16.d.mts +26 -34
  422. package/dist/number/branded-types/uint16.d.mts.map +1 -1
  423. package/dist/number/branded-types/uint16.mjs +27 -35
  424. package/dist/number/branded-types/uint16.mjs.map +1 -1
  425. package/dist/number/branded-types/uint32.d.mts +26 -68
  426. package/dist/number/branded-types/uint32.d.mts.map +1 -1
  427. package/dist/number/branded-types/uint32.mjs +27 -69
  428. package/dist/number/branded-types/uint32.mjs.map +1 -1
  429. package/dist/number/enum/int8.d.mts +37 -101
  430. package/dist/number/enum/int8.d.mts.map +1 -1
  431. package/dist/number/enum/int8.mjs +40 -171
  432. package/dist/number/enum/int8.mjs.map +1 -1
  433. package/dist/number/enum/uint8.d.mts +45 -55
  434. package/dist/number/enum/uint8.d.mts.map +1 -1
  435. package/dist/number/enum/uint8.mjs +47 -156
  436. package/dist/number/enum/uint8.mjs.map +1 -1
  437. package/dist/number/num.d.mts +145 -206
  438. package/dist/number/num.d.mts.map +1 -1
  439. package/dist/number/num.mjs +143 -199
  440. package/dist/number/num.mjs.map +1 -1
  441. package/dist/number/refined-number-utils.d.mts +97 -21
  442. package/dist/number/refined-number-utils.d.mts.map +1 -1
  443. package/dist/number/refined-number-utils.mjs +91 -22
  444. package/dist/number/refined-number-utils.mjs.map +1 -1
  445. package/dist/object/object.d.mts +126 -208
  446. package/dist/object/object.d.mts.map +1 -1
  447. package/dist/object/object.mjs +68 -102
  448. package/dist/object/object.mjs.map +1 -1
  449. package/dist/others/cast-mutable.d.mts +12 -88
  450. package/dist/others/cast-mutable.d.mts.map +1 -1
  451. package/dist/others/cast-mutable.mjs +13 -89
  452. package/dist/others/cast-mutable.mjs.map +1 -1
  453. package/dist/others/cast-readonly.d.mts +12 -168
  454. package/dist/others/cast-readonly.d.mts.map +1 -1
  455. package/dist/others/cast-readonly.mjs +13 -169
  456. package/dist/others/cast-readonly.mjs.map +1 -1
  457. package/dist/others/if-then.d.mts +6 -83
  458. package/dist/others/if-then.d.mts.map +1 -1
  459. package/dist/others/if-then.mjs +6 -83
  460. package/dist/others/if-then.mjs.map +1 -1
  461. package/dist/others/map-nullable.d.mts +12 -136
  462. package/dist/others/map-nullable.d.mts.map +1 -1
  463. package/dist/others/map-nullable.mjs.map +1 -1
  464. package/dist/others/memoize-function.d.mts +14 -157
  465. package/dist/others/memoize-function.d.mts.map +1 -1
  466. package/dist/others/memoize-function.mjs +14 -157
  467. package/dist/others/memoize-function.mjs.map +1 -1
  468. package/dist/others/tuple.d.mts +33 -151
  469. package/dist/others/tuple.d.mts.map +1 -1
  470. package/dist/others/tuple.mjs +33 -151
  471. package/dist/others/tuple.mjs.map +1 -1
  472. package/dist/others/unknown-to-string.d.mts +11 -125
  473. package/dist/others/unknown-to-string.d.mts.map +1 -1
  474. package/dist/others/unknown-to-string.mjs +12 -126
  475. package/dist/others/unknown-to-string.mjs.map +1 -1
  476. package/dist/promise/promise.d.mts +33 -21
  477. package/dist/promise/promise.d.mts.map +1 -1
  478. package/dist/promise/promise.mjs +36 -24
  479. package/dist/promise/promise.mjs.map +1 -1
  480. package/package.json +58 -44
  481. package/src/array/impl/array-utils-creation.mts +192 -0
  482. package/src/array/{array-utils-creation.test.mts → impl/array-utils-creation.test.mts} +121 -72
  483. package/src/array/impl/array-utils-element-access.mts +115 -0
  484. package/src/array/impl/array-utils-element-access.test.mts +151 -0
  485. package/src/array/impl/array-utils-iterators.mts +79 -0
  486. package/src/array/impl/array-utils-iterators.test.mts +98 -0
  487. package/src/array/impl/array-utils-modification.mts +434 -0
  488. package/src/array/{array-utils-modification.test.mts → impl/array-utils-modification.test.mts} +41 -28
  489. package/src/array/{array-utils-overload-type-error.test.mts → impl/array-utils-overload-type-error.test.mts} +33 -33
  490. package/src/array/impl/array-utils-reducing-value.mts +535 -0
  491. package/src/array/{array-utils-reducing-value.test.mts → impl/array-utils-reducing-value.test.mts} +53 -58
  492. package/src/array/impl/array-utils-search.mts +509 -0
  493. package/src/array/impl/array-utils-search.test.mts +346 -0
  494. package/src/array/impl/array-utils-set-op.mts +166 -0
  495. package/src/array/{array-utils-set-op.test.mts → impl/array-utils-set-op.test.mts} +42 -35
  496. package/src/array/impl/array-utils-size.mts +30 -0
  497. package/src/array/impl/array-utils-size.test.mts +9 -0
  498. package/src/array/impl/array-utils-slice-clamped.mts +51 -0
  499. package/src/array/{array-utils-slice-clamped.test.mts → impl/array-utils-slice-clamped.test.mts} +13 -13
  500. package/src/array/impl/array-utils-slicing.mts +275 -0
  501. package/src/array/impl/array-utils-slicing.test.mts +158 -0
  502. package/src/array/impl/array-utils-transformation.mts +746 -0
  503. package/src/array/{array-utils-transformation.test.mts → impl/array-utils-transformation.test.mts} +662 -889
  504. package/src/array/impl/array-utils-validation.mts +241 -0
  505. package/src/array/{array-utils-validation.test.mts → impl/array-utils-validation.test.mts} +194 -107
  506. package/src/array/{array.test.mts → impl/array.test.mts} +2 -2
  507. package/src/array/impl/index.mts +12 -0
  508. package/src/array/index.mts +1 -1
  509. package/src/collections/imap-mapped.mts +99 -265
  510. package/src/collections/imap.mts +477 -174
  511. package/src/collections/imap.test.mts +12 -19
  512. package/src/collections/iset-mapped.mts +892 -358
  513. package/src/collections/iset.mts +429 -213
  514. package/src/collections/queue.mts +174 -200
  515. package/src/collections/stack.mts +172 -245
  516. package/src/collections/stack.test.mts +9 -1
  517. package/src/entry-point.mts +2 -0
  518. package/src/expect-type.mts +43 -172
  519. package/src/functional/index.mts +2 -2
  520. package/src/functional/match.mts +35 -145
  521. package/src/functional/optional/impl/index.mts +17 -0
  522. package/src/functional/optional/impl/optional-expect-to-be.mts +65 -0
  523. package/src/functional/optional/impl/optional-filter.mts +71 -0
  524. package/src/functional/optional/impl/optional-flat-map.mts +67 -0
  525. package/src/functional/optional/impl/optional-from-nullable.mts +28 -0
  526. package/src/functional/optional/impl/optional-is-none.mts +25 -0
  527. package/src/functional/optional/impl/optional-is-optional.mts +27 -0
  528. package/src/functional/optional/impl/optional-is-some.mts +25 -0
  529. package/src/functional/optional/impl/optional-map.mts +69 -0
  530. package/src/functional/optional/impl/optional-none.mts +17 -0
  531. package/src/functional/optional/impl/optional-or-else.mts +73 -0
  532. package/src/functional/optional/impl/optional-some.mts +23 -0
  533. package/src/functional/optional/impl/optional-to-nullable.mts +31 -0
  534. package/src/functional/optional/impl/optional-unwrap-or.mts +64 -0
  535. package/src/functional/optional/impl/optional-unwrap-throw.mts +39 -0
  536. package/src/functional/optional/impl/optional-unwrap.mts +41 -0
  537. package/src/functional/optional/impl/optional-zip.mts +40 -0
  538. package/src/functional/optional/impl/tag.mts +6 -0
  539. package/src/functional/optional/impl/types.mts +28 -0
  540. package/src/functional/optional/index.mts +1 -0
  541. package/src/functional/optional.test.mts +11 -9
  542. package/src/functional/pipe.mts +65 -118
  543. package/src/functional/pipe.test.mts +1 -1
  544. package/src/functional/result/impl/index.mts +23 -0
  545. package/src/functional/result/impl/result-err.mts +29 -0
  546. package/src/functional/result/impl/result-expect-to-be.mts +63 -0
  547. package/src/functional/result/impl/result-flat-map.mts +79 -0
  548. package/src/functional/result/impl/result-fold.mts +95 -0
  549. package/src/functional/result/impl/result-from-promise.mts +39 -0
  550. package/src/functional/result/impl/result-from-throwable.mts +42 -0
  551. package/src/functional/result/impl/result-is-err.mts +23 -0
  552. package/src/functional/result/impl/result-is-ok.mts +23 -0
  553. package/src/functional/result/impl/result-is-result.mts +23 -0
  554. package/src/functional/result/impl/result-map-err.mts +72 -0
  555. package/src/functional/result/impl/result-map.mts +73 -0
  556. package/src/functional/result/impl/result-ok.mts +29 -0
  557. package/src/functional/result/impl/result-or-else.mts +63 -0
  558. package/src/functional/result/impl/result-swap.mts +28 -0
  559. package/src/functional/result/impl/result-to-optional.mts +34 -0
  560. package/src/functional/result/impl/result-unwrap-err-or.mts +60 -0
  561. package/src/functional/result/impl/result-unwrap-err-throw.mts +53 -0
  562. package/src/functional/result/impl/result-unwrap-err.mts +36 -0
  563. package/src/functional/result/impl/result-unwrap-ok-or.mts +60 -0
  564. package/src/functional/result/impl/result-unwrap-ok.mts +35 -0
  565. package/src/functional/result/impl/result-unwrap-throw.mts +43 -0
  566. package/src/functional/result/impl/result-zip.mts +39 -0
  567. package/src/functional/result/impl/tag.mts +6 -0
  568. package/src/functional/result/impl/types.mts +35 -0
  569. package/src/functional/result/index.mts +1 -0
  570. package/src/functional/result.test.mts +14 -6
  571. package/src/globals.d.mts +95 -5
  572. package/src/guard/has-key.mts +23 -74
  573. package/src/guard/is-non-empty-string.mts +20 -87
  574. package/src/guard/is-non-empty-string.test.mts +1 -1
  575. package/src/guard/is-non-null-object.mts +14 -84
  576. package/src/guard/is-non-null-object.test.mts +4 -4
  577. package/src/guard/is-primitive.mts +13 -126
  578. package/src/guard/is-primitive.test.mts +4 -4
  579. package/src/guard/is-record.mts +21 -132
  580. package/src/guard/is-type.mts +201 -238
  581. package/src/guard/is-type.test.mts +10 -10
  582. package/src/guard/key-is-in.mts +22 -139
  583. package/src/index.mts +0 -2
  584. package/src/iterator/range.mts +29 -62
  585. package/src/json/json.mts +202 -134
  586. package/src/json/json.test.mts +1 -3
  587. package/src/number/branded-types/finite-number.mts +34 -166
  588. package/src/number/branded-types/int.mts +129 -127
  589. package/src/number/branded-types/int16.mts +31 -39
  590. package/src/number/branded-types/int16.test.mts +24 -24
  591. package/src/number/branded-types/int32.mts +31 -40
  592. package/src/number/branded-types/int32.test.mts +39 -39
  593. package/src/number/branded-types/non-negative-finite-number.mts +39 -47
  594. package/src/number/branded-types/non-negative-int16.mts +33 -43
  595. package/src/number/branded-types/non-negative-int16.test.mts +16 -16
  596. package/src/number/branded-types/non-negative-int32.mts +35 -44
  597. package/src/number/branded-types/non-negative-int32.test.mts +30 -30
  598. package/src/number/branded-types/non-zero-finite-number.mts +32 -47
  599. package/src/number/branded-types/non-zero-int.mts +22 -37
  600. package/src/number/branded-types/non-zero-int16.mts +36 -44
  601. package/src/number/branded-types/non-zero-int16.test.mts +26 -26
  602. package/src/number/branded-types/non-zero-int32.mts +38 -45
  603. package/src/number/branded-types/non-zero-int32.test.mts +45 -42
  604. package/src/number/branded-types/non-zero-safe-int.mts +48 -49
  605. package/src/number/branded-types/non-zero-uint16.mts +33 -44
  606. package/src/number/branded-types/non-zero-uint16.test.mts +16 -16
  607. package/src/number/branded-types/non-zero-uint32.mts +33 -44
  608. package/src/number/branded-types/non-zero-uint32.test.mts +28 -28
  609. package/src/number/branded-types/positive-finite-number.mts +37 -51
  610. package/src/number/branded-types/positive-int.mts +142 -132
  611. package/src/number/branded-types/positive-int16.mts +33 -44
  612. package/src/number/branded-types/positive-int16.test.mts +14 -14
  613. package/src/number/branded-types/positive-int32.mts +33 -44
  614. package/src/number/branded-types/positive-int32.test.mts +26 -26
  615. package/src/number/branded-types/positive-safe-int.mts +169 -43
  616. package/src/number/branded-types/positive-uint16.mts +33 -44
  617. package/src/number/branded-types/positive-uint16.test.mts +16 -16
  618. package/src/number/branded-types/positive-uint32.mts +35 -45
  619. package/src/number/branded-types/positive-uint32.test.mts +31 -28
  620. package/src/number/branded-types/safe-int.mts +151 -110
  621. package/src/number/branded-types/safe-uint.mts +34 -43
  622. package/src/number/branded-types/uint.mts +129 -38
  623. package/src/number/branded-types/uint16.mts +35 -43
  624. package/src/number/branded-types/uint16.test.mts +16 -16
  625. package/src/number/branded-types/uint32.mts +35 -77
  626. package/src/number/branded-types/uint32.test.mts +28 -28
  627. package/src/number/enum/int8.mts +42 -173
  628. package/src/number/enum/int8.test.mts +9 -9
  629. package/src/number/enum/uint8.mts +49 -158
  630. package/src/number/enum/uint8.test.mts +8 -8
  631. package/src/number/num.mts +157 -212
  632. package/src/number/num.test.mts +4 -4
  633. package/src/number/refined-number-utils.mts +109 -26
  634. package/src/object/object.mts +130 -212
  635. package/src/object/object.test.mts +29 -0
  636. package/src/others/cast-mutable.mts +13 -89
  637. package/src/others/cast-mutable.test.mts +80 -0
  638. package/src/others/cast-readonly.mts +13 -169
  639. package/src/others/if-then.mts +6 -83
  640. package/src/others/map-nullable.mts +12 -136
  641. package/src/others/map-nullable.test.mts +6 -6
  642. package/src/others/memoize-function.mts +14 -157
  643. package/src/others/tuple.mts +33 -151
  644. package/src/others/unknown-to-string.mts +12 -126
  645. package/src/others/unknown-to-string.test.mts +13 -1
  646. package/src/promise/promise.mts +34 -21
  647. package/src/promise/promise.test.mts +43 -0
  648. package/dist/array/array-utils.d.mts +0 -2956
  649. package/dist/array/array-utils.d.mts.map +0 -1
  650. package/dist/array/array-utils.mjs +0 -1838
  651. package/dist/array/array-utils.mjs.map +0 -1
  652. package/dist/functional/optional.d.mts +0 -360
  653. package/dist/functional/optional.d.mts.map +0 -1
  654. package/dist/functional/optional.mjs +0 -268
  655. package/dist/functional/optional.mjs.map +0 -1
  656. package/dist/functional/result.d.mts +0 -611
  657. package/dist/functional/result.d.mts.map +0 -1
  658. package/dist/functional/result.mjs +0 -545
  659. package/dist/functional/result.mjs.map +0 -1
  660. package/src/array/array-utils-search.test.mts +0 -169
  661. package/src/array/array-utils-slicing.test.mts +0 -274
  662. package/src/array/array-utils.mts +0 -4834
  663. package/src/functional/optional.mts +0 -591
  664. package/src/functional/result.mts +0 -986
@@ -6,19 +6,19 @@ type ElementType = PositiveInt16;
6
6
  const typeNameInMessage = 'a positive integer in [1, 2^15)';
7
7
 
8
8
  const {
9
- MIN_VALUE,
10
9
  MAX_VALUE,
11
- min: min_,
12
- max: max_,
13
- pow,
10
+ MIN_VALUE,
14
11
  add,
15
- sub,
16
- mul,
17
- div,
18
- random,
19
- is,
20
12
  castType,
21
13
  clamp,
14
+ div,
15
+ is,
16
+ max: max_,
17
+ min: min_,
18
+ mul,
19
+ pow,
20
+ random,
21
+ sub,
22
22
  } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
23
23
  ElementType,
24
24
  1,
@@ -31,7 +31,9 @@ const {
31
31
  } as const);
32
32
 
33
33
  /**
34
- * Checks if a number is a PositiveInt16 (16-bit positive signed integer in the range [1, 2^15)).
34
+ * Checks if a number is a PositiveInt16 (16-bit positive signed integer in the
35
+ * range [1, 2^15)).
36
+ *
35
37
  * @param value The value to check.
36
38
  * @returns `true` if the value is a PositiveInt16, `false` otherwise.
37
39
  */
@@ -39,70 +41,49 @@ export const isPositiveInt16 = is;
39
41
 
40
42
  /**
41
43
  * Casts a number to a PositiveInt16 type.
44
+ *
42
45
  * @param value The value to cast.
43
46
  * @returns The value as a PositiveInt16 type.
44
47
  * @throws {TypeError} If the value is not a positive integer in [1, 2^15).
45
- * @example
46
- * ```typescript
47
- * const x = asPositiveInt16(1000); // PositiveInt16
48
- * const y = asPositiveInt16(32767); // PositiveInt16
49
- * // asPositiveInt16(0); // throws TypeError
50
- * // asPositiveInt16(-1); // throws TypeError
51
- * // asPositiveInt16(32768); // throws TypeError
52
- * ```
53
48
  */
54
49
  export const asPositiveInt16 = castType;
55
50
 
56
51
  /**
57
- * Namespace providing type-safe arithmetic operations for 16-bit positive integers.
58
- *
59
- * All operations automatically clamp results to the valid PositiveInt16 range [1, 32767].
60
- * This ensures that all arithmetic maintains the 16-bit positive integer constraint,
61
- * with results below 1 clamped to MIN_VALUE and overflow results clamped to MAX_VALUE.
62
- *
63
- * @example
64
- * ```typescript
65
- * const a = asPositiveInt16(30000);
66
- * const b = asPositiveInt16(5000);
67
- *
68
- * // Arithmetic operations with automatic clamping
69
- * const sum = PositiveInt16.add(a, b); // PositiveInt16 (32767 - clamped to MAX_VALUE)
70
- * const diff = PositiveInt16.sub(a, b); // PositiveInt16 (25000)
71
- * const reverseDiff = PositiveInt16.sub(b, a); // PositiveInt16 (1 - clamped to MIN_VALUE)
72
- * const product = PositiveInt16.mul(a, b); // PositiveInt16 (32767 - clamped due to overflow)
73
- *
74
- * // Range operations
75
- * const clamped = PositiveInt16.clamp(0); // PositiveInt16 (1)
76
- * const minimum = PositiveInt16.min(a, b); // PositiveInt16 (5000)
77
- * const maximum = PositiveInt16.max(a, b); // PositiveInt16 (30000)
52
+ * Namespace providing type-safe arithmetic operations for 16-bit positive
53
+ * integers.
78
54
  *
79
- * // Utility operations
80
- * const random = PositiveInt16.random(); // PositiveInt16 (random value in [1, 32767])
81
- * const power = PositiveInt16.pow(asPositiveInt16(2), asPositiveInt16(10)); // PositiveInt16 (1024)
82
- * ```
55
+ * All operations automatically clamp results to the valid PositiveInt16 range
56
+ * [1, 32767]. This ensures that all arithmetic maintains the 16-bit positive
57
+ * integer constraint, with results below 1 clamped to MIN_VALUE and overflow
58
+ * results clamped to MAX_VALUE.
83
59
  */
84
60
  export const PositiveInt16 = {
85
61
  /**
86
62
  * Type guard to check if a value is a PositiveInt16.
63
+ *
87
64
  * @param value The value to check.
88
- * @returns `true` if the value is a 16-bit positive integer, `false` otherwise.
65
+ * @returns `true` if the value is a 16-bit positive integer, `false`
66
+ * otherwise.
89
67
  */
90
68
  is,
91
69
 
92
70
  /**
93
71
  * The minimum value for a 16-bit positive integer.
72
+ *
94
73
  * @readonly
95
74
  */
96
75
  MIN_VALUE,
97
76
 
98
77
  /**
99
78
  * The maximum value for a 16-bit positive integer.
79
+ *
100
80
  * @readonly
101
81
  */
102
82
  MAX_VALUE,
103
83
 
104
84
  /**
105
85
  * Returns the smaller of two PositiveInt16 values.
86
+ *
106
87
  * @param a The first PositiveInt16.
107
88
  * @param b The second PositiveInt16.
108
89
  * @returns The minimum value as a PositiveInt16.
@@ -111,6 +92,7 @@ export const PositiveInt16 = {
111
92
 
112
93
  /**
113
94
  * Returns the larger of two PositiveInt16 values.
95
+ *
114
96
  * @param a The first PositiveInt16.
115
97
  * @param b The second PositiveInt16.
116
98
  * @returns The maximum value as a PositiveInt16.
@@ -119,6 +101,7 @@ export const PositiveInt16 = {
119
101
 
120
102
  /**
121
103
  * Clamps a number to the PositiveInt16 range.
104
+ *
122
105
  * @param value The number to clamp.
123
106
  * @returns The value clamped to [1, 32767] as a PositiveInt16.
124
107
  */
@@ -126,12 +109,14 @@ export const PositiveInt16 = {
126
109
 
127
110
  /**
128
111
  * Generates a random PositiveInt16 value within the valid range.
112
+ *
129
113
  * @returns A random PositiveInt16 between 1 and 32767.
130
114
  */
131
115
  random,
132
116
 
133
117
  /**
134
118
  * Raises a PositiveInt16 to the power of another PositiveInt16.
119
+ *
135
120
  * @param a The base PositiveInt16.
136
121
  * @param b The exponent PositiveInt16.
137
122
  * @returns `a ** b` clamped to [1, 32767] as a PositiveInt16.
@@ -140,6 +125,7 @@ export const PositiveInt16 = {
140
125
 
141
126
  /**
142
127
  * Adds two PositiveInt16 values.
128
+ *
143
129
  * @param a The first PositiveInt16.
144
130
  * @param b The second PositiveInt16.
145
131
  * @returns `a + b` clamped to [1, 32767] as a PositiveInt16.
@@ -148,6 +134,7 @@ export const PositiveInt16 = {
148
134
 
149
135
  /**
150
136
  * Subtracts one PositiveInt16 from another.
137
+ *
151
138
  * @param a The minuend PositiveInt16.
152
139
  * @param b The subtrahend PositiveInt16.
153
140
  * @returns `a - b` clamped to [1, 32767] as a PositiveInt16 (minimum 1).
@@ -156,6 +143,7 @@ export const PositiveInt16 = {
156
143
 
157
144
  /**
158
145
  * Multiplies two PositiveInt16 values.
146
+ *
159
147
  * @param a The first PositiveInt16.
160
148
  * @param b The second PositiveInt16.
161
149
  * @returns `a * b` clamped to [1, 32767] as a PositiveInt16.
@@ -164,6 +152,7 @@ export const PositiveInt16 = {
164
152
 
165
153
  /**
166
154
  * Divides one PositiveInt16 by another using floor division.
155
+ *
167
156
  * @param a The dividend PositiveInt16.
168
157
  * @param b The divisor PositiveInt16.
169
158
  * @returns `⌊a / b⌋` clamped to [1, 32767] as a PositiveInt16.
@@ -11,7 +11,7 @@ describe('PositiveInt16', () => {
11
11
  test('accepts valid positive int16 values', () => {
12
12
  expect(() => asPositiveInt16(1)).not.toThrow();
13
13
  expect(() => asPositiveInt16(1000)).not.toThrow();
14
- expect(() => asPositiveInt16(32767)).not.toThrow(); // 2^15 - 1
14
+ expect(() => asPositiveInt16(32_767)).not.toThrow(); // 2^15 - 1
15
15
  });
16
16
 
17
17
  test('rejects zero', () => {
@@ -19,8 +19,8 @@ describe('PositiveInt16', () => {
19
19
  });
20
20
 
21
21
  test('rejects values outside int16 range', () => {
22
- expect(() => asPositiveInt16(32768)).toThrow(TypeError); // 2^15
23
- expect(() => asPositiveInt16(65536)).toThrow(TypeError);
22
+ expect(() => asPositiveInt16(32_768)).toThrow(TypeError); // 2^15
23
+ expect(() => asPositiveInt16(65_536)).toThrow(TypeError);
24
24
  });
25
25
 
26
26
  test('rejects negative integers', () => {
@@ -43,7 +43,7 @@ describe('PositiveInt16', () => {
43
43
  test('returns the same value for valid inputs', () => {
44
44
  expect(asPositiveInt16(5)).toBe(5);
45
45
  expect(asPositiveInt16(1)).toBe(1);
46
- expect(asPositiveInt16(32767)).toBe(32767);
46
+ expect(asPositiveInt16(32_767)).toBe(32_767);
47
47
  });
48
48
 
49
49
  test.each([
@@ -54,7 +54,7 @@ describe('PositiveInt16', () => {
54
54
  { name: '-3.4', value: -3.4 },
55
55
  { name: '0', value: 0 },
56
56
  { name: '-1', value: -1 },
57
- { name: '32768', value: 32768 },
57
+ { name: '32768', value: 32_768 },
58
58
  ] as const)(
59
59
  `asPositiveInt16($name) should throw a TypeError`,
60
60
  ({ value }) => {
@@ -71,7 +71,7 @@ describe('PositiveInt16', () => {
71
71
  test('correctly identifies positive int16 values', () => {
72
72
  expect(isPositiveInt16(1)).toBe(true);
73
73
  expect(isPositiveInt16(1000)).toBe(true);
74
- expect(isPositiveInt16(32767)).toBe(true);
74
+ expect(isPositiveInt16(32_767)).toBe(true);
75
75
  });
76
76
 
77
77
  test('correctly identifies zero', () => {
@@ -79,8 +79,8 @@ describe('PositiveInt16', () => {
79
79
  });
80
80
 
81
81
  test('correctly identifies values outside int16 range', () => {
82
- expect(isPositiveInt16(32768)).toBe(false);
83
- expect(isPositiveInt16(65536)).toBe(false);
82
+ expect(isPositiveInt16(32_768)).toBe(false);
83
+ expect(isPositiveInt16(65_536)).toBe(false);
84
84
  });
85
85
 
86
86
  test('correctly identifies negative integers', () => {
@@ -108,7 +108,7 @@ describe('PositiveInt16', () => {
108
108
  describe('constants', () => {
109
109
  test('MIN_VALUE and MAX_VALUE', () => {
110
110
  expect(PositiveInt16.MIN_VALUE).toBe(1);
111
- expect(PositiveInt16.MAX_VALUE).toBe(32767);
111
+ expect(PositiveInt16.MAX_VALUE).toBe(32_767);
112
112
  });
113
113
  });
114
114
 
@@ -123,10 +123,10 @@ describe('PositiveInt16', () => {
123
123
 
124
124
  test('add (with clamping to positive int16 range)', () => {
125
125
  const result = PositiveInt16.add(
126
- asPositiveInt16(32000),
126
+ asPositiveInt16(32_000),
127
127
  asPositiveInt16(1000),
128
128
  );
129
- expect(result).toBe(32767); // clamped to max
129
+ expect(result).toBe(32_767); // clamped to max
130
130
  expect(PositiveInt16.add(a, b)).toBe(150);
131
131
  });
132
132
 
@@ -140,7 +140,7 @@ describe('PositiveInt16', () => {
140
140
  asPositiveInt16(1000),
141
141
  asPositiveInt16(100),
142
142
  );
143
- expect(result).toBe(32767); // clamped to max
143
+ expect(result).toBe(32_767); // clamped to max
144
144
  expect(PositiveInt16.mul(asPositiveInt16(10), asPositiveInt16(5))).toBe(
145
145
  50,
146
146
  );
@@ -159,7 +159,7 @@ describe('PositiveInt16', () => {
159
159
  asPositiveInt16(200),
160
160
  asPositiveInt16(3),
161
161
  );
162
- expect(result).toBe(32767); // clamped to max
162
+ expect(result).toBe(32_767); // clamped to max
163
163
  expect(PositiveInt16.pow(asPositiveInt16(2), asPositiveInt16(3))).toBe(8);
164
164
  });
165
165
  });
@@ -183,7 +183,7 @@ describe('PositiveInt16', () => {
183
183
  for (const _ of range(10)) {
184
184
  const result = PositiveInt16.random(1, 30);
185
185
  expect(result).toBeGreaterThanOrEqual(1);
186
- expect(result).toBeLessThanOrEqual(32767);
186
+ expect(result).toBeLessThanOrEqual(32_767);
187
187
  }
188
188
  });
189
189
  });
@@ -6,19 +6,19 @@ type ElementType = PositiveInt32;
6
6
  const typeNameInMessage = 'a positive integer in [1, 2^31)';
7
7
 
8
8
  const {
9
- MIN_VALUE,
10
9
  MAX_VALUE,
11
- min: min_,
12
- max: max_,
13
- pow,
10
+ MIN_VALUE,
14
11
  add,
15
- sub,
16
- mul,
17
- div,
18
- random,
19
- is,
20
12
  castType,
21
13
  clamp,
14
+ div,
15
+ is,
16
+ max: max_,
17
+ min: min_,
18
+ mul,
19
+ pow,
20
+ random,
21
+ sub,
22
22
  } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
23
23
  ElementType,
24
24
  1,
@@ -31,7 +31,9 @@ const {
31
31
  } as const);
32
32
 
33
33
  /**
34
- * Checks if a number is a PositiveInt32 (32-bit positive signed integer in the range [1, 2^31)).
34
+ * Checks if a number is a PositiveInt32 (32-bit positive signed integer in the
35
+ * range [1, 2^31)).
36
+ *
35
37
  * @param value The value to check.
36
38
  * @returns `true` if the value is a PositiveInt32, `false` otherwise.
37
39
  */
@@ -39,70 +41,49 @@ export const isPositiveInt32 = is;
39
41
 
40
42
  /**
41
43
  * Casts a number to a PositiveInt32 type.
44
+ *
42
45
  * @param value The value to cast.
43
46
  * @returns The value as a PositiveInt32 type.
44
47
  * @throws {TypeError} If the value is not a positive integer in [1, 2^31).
45
- * @example
46
- * ```typescript
47
- * const x = asPositiveInt32(1000); // PositiveInt32
48
- * const y = asPositiveInt32(2147483647); // PositiveInt32
49
- * // asPositiveInt32(0); // throws TypeError
50
- * // asPositiveInt32(-1); // throws TypeError
51
- * // asPositiveInt32(2147483648); // throws TypeError
52
- * ```
53
48
  */
54
49
  export const asPositiveInt32 = castType;
55
50
 
56
51
  /**
57
- * Namespace providing type-safe arithmetic operations for 32-bit positive integers.
58
- *
59
- * All operations automatically clamp results to the valid PositiveInt32 range [1, 2147483647].
60
- * This ensures that all arithmetic maintains the 32-bit positive integer constraint,
61
- * with results below 1 clamped to MIN_VALUE and overflow results clamped to MAX_VALUE.
62
- *
63
- * @example
64
- * ```typescript
65
- * const a = asPositiveInt32(2000000000);
66
- * const b = asPositiveInt32(500000000);
67
- *
68
- * // Arithmetic operations with automatic clamping and positive constraint
69
- * const sum = PositiveInt32.add(a, b); // PositiveInt32 (2147483647 - clamped to MAX_VALUE)
70
- * const diff = PositiveInt32.sub(a, b); // PositiveInt32 (1500000000)
71
- * const reverseDiff = PositiveInt32.sub(b, a); // PositiveInt32 (1 - clamped to MIN_VALUE)
72
- * const product = PositiveInt32.mul(a, b); // PositiveInt32 (2147483647 - clamped due to overflow)
73
- *
74
- * // Range operations (maintaining positive constraint)
75
- * const clamped = PositiveInt32.clamp(-1000); // PositiveInt32 (1)
76
- * const minimum = PositiveInt32.min(a, b); // PositiveInt32 (500000000)
77
- * const maximum = PositiveInt32.max(a, b); // PositiveInt32 (2000000000)
52
+ * Namespace providing type-safe arithmetic operations for 32-bit positive
53
+ * integers.
78
54
  *
79
- * // Utility operations
80
- * const random = PositiveInt32.random(); // PositiveInt32 (random value in [1, 2147483647])
81
- * const power = PositiveInt32.pow(asPositiveInt32(2), asPositiveInt32(20)); // PositiveInt32 (1048576)
82
- * ```
55
+ * All operations automatically clamp results to the valid PositiveInt32 range
56
+ * [1, 2147483647]. This ensures that all arithmetic maintains the 32-bit
57
+ * positive integer constraint, with results below 1 clamped to MIN_VALUE and
58
+ * overflow results clamped to MAX_VALUE.
83
59
  */
84
60
  export const PositiveInt32 = {
85
61
  /**
86
62
  * Type guard to check if a value is a PositiveInt32.
63
+ *
87
64
  * @param value The value to check.
88
- * @returns `true` if the value is a 32-bit positive integer, `false` otherwise.
65
+ * @returns `true` if the value is a 32-bit positive integer, `false`
66
+ * otherwise.
89
67
  */
90
68
  is,
91
69
 
92
70
  /**
93
71
  * The minimum value for a 32-bit positive integer.
72
+ *
94
73
  * @readonly
95
74
  */
96
75
  MIN_VALUE,
97
76
 
98
77
  /**
99
78
  * The maximum value for a 32-bit positive integer.
79
+ *
100
80
  * @readonly
101
81
  */
102
82
  MAX_VALUE,
103
83
 
104
84
  /**
105
85
  * Returns the smaller of two PositiveInt32 values.
86
+ *
106
87
  * @param a The first PositiveInt32.
107
88
  * @param b The second PositiveInt32.
108
89
  * @returns The minimum value as a PositiveInt32.
@@ -111,6 +92,7 @@ export const PositiveInt32 = {
111
92
 
112
93
  /**
113
94
  * Returns the larger of two PositiveInt32 values.
95
+ *
114
96
  * @param a The first PositiveInt32.
115
97
  * @param b The second PositiveInt32.
116
98
  * @returns The maximum value as a PositiveInt32.
@@ -119,6 +101,7 @@ export const PositiveInt32 = {
119
101
 
120
102
  /**
121
103
  * Clamps a number to the PositiveInt32 range.
104
+ *
122
105
  * @param value The number to clamp.
123
106
  * @returns The value clamped to [1, 2147483647] as a PositiveInt32.
124
107
  */
@@ -126,12 +109,14 @@ export const PositiveInt32 = {
126
109
 
127
110
  /**
128
111
  * Generates a random PositiveInt32 value within the valid range.
112
+ *
129
113
  * @returns A random PositiveInt32 between 1 and 2147483647.
130
114
  */
131
115
  random,
132
116
 
133
117
  /**
134
118
  * Raises a PositiveInt32 to the power of another PositiveInt32.
119
+ *
135
120
  * @param a The base PositiveInt32.
136
121
  * @param b The exponent PositiveInt32.
137
122
  * @returns `a ** b` clamped to [1, 2147483647] as a PositiveInt32.
@@ -140,6 +125,7 @@ export const PositiveInt32 = {
140
125
 
141
126
  /**
142
127
  * Adds two PositiveInt32 values.
128
+ *
143
129
  * @param a The first PositiveInt32.
144
130
  * @param b The second PositiveInt32.
145
131
  * @returns `a + b` clamped to [1, 2147483647] as a PositiveInt32.
@@ -148,6 +134,7 @@ export const PositiveInt32 = {
148
134
 
149
135
  /**
150
136
  * Subtracts one PositiveInt32 from another.
137
+ *
151
138
  * @param a The minuend PositiveInt32.
152
139
  * @param b The subtrahend PositiveInt32.
153
140
  * @returns `a - b` clamped to [1, 2147483647] as a PositiveInt32 (minimum 1).
@@ -156,6 +143,7 @@ export const PositiveInt32 = {
156
143
 
157
144
  /**
158
145
  * Multiplies two PositiveInt32 values.
146
+ *
159
147
  * @param a The first PositiveInt32.
160
148
  * @param b The second PositiveInt32.
161
149
  * @returns `a * b` clamped to [1, 2147483647] as a PositiveInt32.
@@ -164,6 +152,7 @@ export const PositiveInt32 = {
164
152
 
165
153
  /**
166
154
  * Divides one PositiveInt32 by another using floor division.
155
+ *
167
156
  * @param a The dividend PositiveInt32.
168
157
  * @param b The divisor PositiveInt32.
169
158
  * @returns `⌊a / b⌋` clamped to [1, 2147483647] as a PositiveInt32.
@@ -11,7 +11,7 @@ describe('PositiveInt32', () => {
11
11
  test('accepts valid positive int32 values', () => {
12
12
  expect(() => asPositiveInt32(1)).not.toThrow();
13
13
  expect(() => asPositiveInt32(1000)).not.toThrow();
14
- expect(() => asPositiveInt32(2147483647)).not.toThrow(); // 2^31 - 1
14
+ expect(() => asPositiveInt32(2_147_483_647)).not.toThrow(); // 2^31 - 1
15
15
  });
16
16
 
17
17
  test('rejects zero', () => {
@@ -19,8 +19,8 @@ describe('PositiveInt32', () => {
19
19
  });
20
20
 
21
21
  test('rejects values outside int32 range', () => {
22
- expect(() => asPositiveInt32(2147483648)).toThrow(TypeError); // 2^31
23
- expect(() => asPositiveInt32(4294967296)).toThrow(TypeError);
22
+ expect(() => asPositiveInt32(2_147_483_648)).toThrow(TypeError); // 2^31
23
+ expect(() => asPositiveInt32(4_294_967_296)).toThrow(TypeError);
24
24
  });
25
25
 
26
26
  test('rejects negative integers', () => {
@@ -43,7 +43,7 @@ describe('PositiveInt32', () => {
43
43
  test('returns the same value for valid inputs', () => {
44
44
  expect(asPositiveInt32(5)).toBe(5);
45
45
  expect(asPositiveInt32(1)).toBe(1);
46
- expect(asPositiveInt32(2147483647)).toBe(2147483647);
46
+ expect(asPositiveInt32(2_147_483_647)).toBe(2_147_483_647);
47
47
  });
48
48
 
49
49
  test.each([
@@ -54,7 +54,7 @@ describe('PositiveInt32', () => {
54
54
  { name: '-3.4', value: -3.4 },
55
55
  { name: '0', value: 0 },
56
56
  { name: '-1', value: -1 },
57
- { name: '2147483648', value: 2147483648 },
57
+ { name: '2147483648', value: 2_147_483_648 },
58
58
  ] as const)(
59
59
  `asPositiveInt32($name) should throw a TypeError`,
60
60
  ({ value }) => {
@@ -71,7 +71,7 @@ describe('PositiveInt32', () => {
71
71
  test('correctly identifies positive int32 values', () => {
72
72
  expect(isPositiveInt32(1)).toBe(true);
73
73
  expect(isPositiveInt32(1000)).toBe(true);
74
- expect(isPositiveInt32(2147483647)).toBe(true);
74
+ expect(isPositiveInt32(2_147_483_647)).toBe(true);
75
75
  });
76
76
 
77
77
  test('correctly identifies zero', () => {
@@ -79,8 +79,8 @@ describe('PositiveInt32', () => {
79
79
  });
80
80
 
81
81
  test('correctly identifies values outside int32 range', () => {
82
- expect(isPositiveInt32(2147483648)).toBe(false);
83
- expect(isPositiveInt32(4294967296)).toBe(false);
82
+ expect(isPositiveInt32(2_147_483_648)).toBe(false);
83
+ expect(isPositiveInt32(4_294_967_296)).toBe(false);
84
84
  });
85
85
 
86
86
  test('correctly identifies negative integers', () => {
@@ -108,58 +108,58 @@ describe('PositiveInt32', () => {
108
108
  describe('constants', () => {
109
109
  test('MIN_VALUE and MAX_VALUE', () => {
110
110
  expect(PositiveInt32.MIN_VALUE).toBe(1);
111
- expect(PositiveInt32.MAX_VALUE).toBe(2147483647);
111
+ expect(PositiveInt32.MAX_VALUE).toBe(2_147_483_647);
112
112
  });
113
113
  });
114
114
 
115
115
  describe('mathematical operations', () => {
116
- const a = asPositiveInt32(1000000);
117
- const b = asPositiveInt32(500000);
116
+ const a = asPositiveInt32(1_000_000);
117
+ const b = asPositiveInt32(500_000);
118
118
 
119
119
  test('min and max', () => {
120
- expect(PositiveInt32.min(a, b)).toBe(500000);
121
- expect(PositiveInt32.max(a, b)).toBe(1000000);
120
+ expect(PositiveInt32.min(a, b)).toBe(500_000);
121
+ expect(PositiveInt32.max(a, b)).toBe(1_000_000);
122
122
  });
123
123
 
124
124
  test('add (with clamping to positive int32 range)', () => {
125
125
  const result = PositiveInt32.add(
126
- asPositiveInt32(2147483000),
126
+ asPositiveInt32(2_147_483_000),
127
127
  asPositiveInt32(1000),
128
128
  );
129
- expect(result).toBe(2147483647); // clamped to max
130
- expect(PositiveInt32.add(a, b)).toBe(1500000);
129
+ expect(result).toBe(2_147_483_647); // clamped to max
130
+ expect(PositiveInt32.add(a, b)).toBe(1_500_000);
131
131
  });
132
132
 
133
133
  test('sub (never goes below 1)', () => {
134
- expect(PositiveInt32.sub(a, b)).toBe(500000);
134
+ expect(PositiveInt32.sub(a, b)).toBe(500_000);
135
135
  expect(PositiveInt32.sub(b, a)).toBe(1); // clamped to 1
136
136
  });
137
137
 
138
138
  test('mul (with clamping to positive int32 range)', () => {
139
139
  const result = PositiveInt32.mul(
140
- asPositiveInt32(100000),
141
- asPositiveInt32(100000),
140
+ asPositiveInt32(100_000),
141
+ asPositiveInt32(100_000),
142
142
  );
143
- expect(result).toBe(2147483647); // clamped to max
143
+ expect(result).toBe(2_147_483_647); // clamped to max
144
144
  expect(PositiveInt32.mul(asPositiveInt32(1000), asPositiveInt32(5))).toBe(
145
145
  5000,
146
146
  );
147
147
  });
148
148
 
149
149
  test('div (floor division, never goes below 1)', () => {
150
- expect(PositiveInt32.div(a, asPositiveInt32(500000))).toBe(2);
150
+ expect(PositiveInt32.div(a, asPositiveInt32(500_000))).toBe(2);
151
151
  expect(PositiveInt32.div(asPositiveInt32(7), asPositiveInt32(3))).toBe(2);
152
152
  expect(
153
- PositiveInt32.div(asPositiveInt32(500000), asPositiveInt32(1000000)),
153
+ PositiveInt32.div(asPositiveInt32(500_000), asPositiveInt32(1_000_000)),
154
154
  ).toBe(1); // floor(500000/1000000) = 0, clamped to 1
155
155
  });
156
156
 
157
157
  test('pow (with clamping to positive int32 range)', () => {
158
158
  const result = PositiveInt32.pow(
159
- asPositiveInt32(10000),
159
+ asPositiveInt32(10_000),
160
160
  asPositiveInt32(3),
161
161
  );
162
- expect(result).toBe(2147483647); // clamped to max
162
+ expect(result).toBe(2_147_483_647); // clamped to max
163
163
  expect(PositiveInt32.pow(asPositiveInt32(2), asPositiveInt32(3))).toBe(8);
164
164
  });
165
165
  });
@@ -183,7 +183,7 @@ describe('PositiveInt32', () => {
183
183
  for (const _ of range(10)) {
184
184
  const result = PositiveInt32.random(1, 30);
185
185
  expect(result).toBeGreaterThanOrEqual(1);
186
- expect(result).toBeLessThanOrEqual(2147483647);
186
+ expect(result).toBeLessThanOrEqual(2_147_483_647);
187
187
  }
188
188
  });
189
189
  });
@@ -192,7 +192,7 @@ describe('PositiveInt32', () => {
192
192
  test('type relationships', () => {
193
193
  expectType<PositiveInt32, number>('<=');
194
194
 
195
- expectTypeOf(asPositiveInt32(1000000)).toExtend<PositiveInt32>();
195
+ expectTypeOf(asPositiveInt32(1_000_000)).toExtend<PositiveInt32>();
196
196
  });
197
197
  });
198
198
  });