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 = NonZeroUint16;
6
6
  const typeNameInMessage = 'a non-zero integer in [1, 2^16)';
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
- randomNonZero: random,
19
- is,
20
12
  castType,
21
13
  clamp,
14
+ div,
15
+ is,
16
+ max: max_,
17
+ min: min_,
18
+ mul,
19
+ pow,
20
+ randomNonZero: random,
21
+ sub,
22
22
  } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
23
23
  ElementType,
24
24
  1,
@@ -32,7 +32,9 @@ const {
32
32
  } as const);
33
33
 
34
34
  /**
35
- * Checks if a number is a NonZeroUint16 (16-bit non-zero unsigned integer in the range [1, 2^16)).
35
+ * Checks if a number is a NonZeroUint16 (16-bit non-zero unsigned integer in
36
+ * the range [1, 2^16)).
37
+ *
36
38
  * @param value The value to check.
37
39
  * @returns `true` if the value is a NonZeroUint16, `false` otherwise.
38
40
  */
@@ -40,70 +42,49 @@ export const isNonZeroUint16 = is;
40
42
 
41
43
  /**
42
44
  * Casts a number to a NonZeroUint16 type.
45
+ *
43
46
  * @param value The value to cast.
44
47
  * @returns The value as a NonZeroUint16 type.
45
48
  * @throws {TypeError} If the value is not a non-zero integer in [1, 2^16).
46
- * @example
47
- * ```typescript
48
- * const x = asNonZeroUint16(1000); // NonZeroUint16
49
- * const y = asNonZeroUint16(65535); // NonZeroUint16
50
- * // asNonZeroUint16(0); // throws TypeError
51
- * // asNonZeroUint16(-1); // throws TypeError
52
- * // asNonZeroUint16(65536); // throws TypeError
53
- * ```
54
49
  */
55
50
  export const asNonZeroUint16 = castType;
56
51
 
57
52
  /**
58
- * Namespace providing type-safe arithmetic operations for 16-bit non-zero unsigned integers.
59
- *
60
- * All operations automatically clamp results to the valid NonZeroUint16 range [1, 65535].
61
- * This ensures that all arithmetic maintains the 16-bit non-zero unsigned integer constraint,
62
- * with results below 1 clamped to MIN_VALUE and overflow results clamped to MAX_VALUE.
63
- *
64
- * @example
65
- * ```typescript
66
- * const a = asNonZeroUint16(60000);
67
- * const b = asNonZeroUint16(10000);
68
- *
69
- * // Arithmetic operations with automatic clamping and non-zero constraint
70
- * const sum = NonZeroUint16.add(a, b); // NonZeroUint16 (65535 - clamped to MAX_VALUE)
71
- * const diff = NonZeroUint16.sub(a, b); // NonZeroUint16 (50000)
72
- * const reverseDiff = NonZeroUint16.sub(b, a); // NonZeroUint16 (1 - clamped to MIN_VALUE)
73
- * const product = NonZeroUint16.mul(a, b); // NonZeroUint16 (65535 - clamped due to overflow)
74
- *
75
- * // Range operations (maintaining non-zero constraint)
76
- * const clamped = NonZeroUint16.clamp(-100); // NonZeroUint16 (1)
77
- * const minimum = NonZeroUint16.min(a, b); // NonZeroUint16 (10000)
78
- * const maximum = NonZeroUint16.max(a, b); // NonZeroUint16 (60000)
53
+ * Namespace providing type-safe arithmetic operations for 16-bit non-zero
54
+ * unsigned integers.
79
55
  *
80
- * // Utility operations
81
- * const random = NonZeroUint16.random(); // NonZeroUint16 (random value in [1, 65535])
82
- * const power = NonZeroUint16.pow(asNonZeroUint16(2), asNonZeroUint16(10)); // NonZeroUint16 (1024)
83
- * ```
56
+ * All operations automatically clamp results to the valid NonZeroUint16 range
57
+ * [1, 65535]. This ensures that all arithmetic maintains the 16-bit non-zero
58
+ * unsigned integer constraint, with results below 1 clamped to MIN_VALUE and
59
+ * overflow results clamped to MAX_VALUE.
84
60
  */
85
61
  export const NonZeroUint16 = {
86
62
  /**
87
63
  * Type guard to check if a value is a NonZeroUint16.
64
+ *
88
65
  * @param value The value to check.
89
- * @returns `true` if the value is a 16-bit non-zero unsigned integer, `false` otherwise.
66
+ * @returns `true` if the value is a 16-bit non-zero unsigned integer, `false`
67
+ * otherwise.
90
68
  */
91
69
  is,
92
70
 
93
71
  /**
94
72
  * The minimum value for a 16-bit non-zero unsigned integer.
73
+ *
95
74
  * @readonly
96
75
  */
97
76
  MIN_VALUE,
98
77
 
99
78
  /**
100
79
  * The maximum value for a 16-bit non-zero unsigned integer.
80
+ *
101
81
  * @readonly
102
82
  */
103
83
  MAX_VALUE,
104
84
 
105
85
  /**
106
86
  * Returns the smaller of two NonZeroUint16 values.
87
+ *
107
88
  * @param a The first NonZeroUint16.
108
89
  * @param b The second NonZeroUint16.
109
90
  * @returns The minimum value as a NonZeroUint16.
@@ -112,6 +93,7 @@ export const NonZeroUint16 = {
112
93
 
113
94
  /**
114
95
  * Returns the larger of two NonZeroUint16 values.
96
+ *
115
97
  * @param a The first NonZeroUint16.
116
98
  * @param b The second NonZeroUint16.
117
99
  * @returns The maximum value as a NonZeroUint16.
@@ -120,6 +102,7 @@ export const NonZeroUint16 = {
120
102
 
121
103
  /**
122
104
  * Clamps a number to the NonZeroUint16 range.
105
+ *
123
106
  * @param value The number to clamp.
124
107
  * @returns The value clamped to [1, 65535] as a NonZeroUint16.
125
108
  */
@@ -127,12 +110,14 @@ export const NonZeroUint16 = {
127
110
 
128
111
  /**
129
112
  * Generates a random NonZeroUint16 value within the valid range.
113
+ *
130
114
  * @returns A random NonZeroUint16 between 1 and 65535.
131
115
  */
132
116
  random,
133
117
 
134
118
  /**
135
119
  * Raises a NonZeroUint16 to the power of another NonZeroUint16.
120
+ *
136
121
  * @param a The base NonZeroUint16.
137
122
  * @param b The exponent NonZeroUint16.
138
123
  * @returns `a ** b` clamped to [1, 65535] as a NonZeroUint16.
@@ -141,6 +126,7 @@ export const NonZeroUint16 = {
141
126
 
142
127
  /**
143
128
  * Adds two NonZeroUint16 values.
129
+ *
144
130
  * @param a The first NonZeroUint16.
145
131
  * @param b The second NonZeroUint16.
146
132
  * @returns `a + b` clamped to [1, 65535] as a NonZeroUint16.
@@ -149,6 +135,7 @@ export const NonZeroUint16 = {
149
135
 
150
136
  /**
151
137
  * Subtracts one NonZeroUint16 from another.
138
+ *
152
139
  * @param a The minuend NonZeroUint16.
153
140
  * @param b The subtrahend NonZeroUint16.
154
141
  * @returns `a - b` clamped to [1, 65535] as a NonZeroUint16 (minimum 1).
@@ -157,6 +144,7 @@ export const NonZeroUint16 = {
157
144
 
158
145
  /**
159
146
  * Multiplies two NonZeroUint16 values.
147
+ *
160
148
  * @param a The first NonZeroUint16.
161
149
  * @param b The second NonZeroUint16.
162
150
  * @returns `a * b` clamped to [1, 65535] as a NonZeroUint16.
@@ -165,6 +153,7 @@ export const NonZeroUint16 = {
165
153
 
166
154
  /**
167
155
  * Divides one NonZeroUint16 by another using floor division.
156
+ *
168
157
  * @param a The dividend NonZeroUint16.
169
158
  * @param b The divisor NonZeroUint16.
170
159
  * @returns `⌊a / b⌋` clamped to [1, 65535] as a NonZeroUint16.
@@ -11,8 +11,8 @@ describe('NonZeroUint16', () => {
11
11
  test('accepts valid non-zero uint16 values', () => {
12
12
  expect(() => asNonZeroUint16(1)).not.toThrow();
13
13
  expect(() => asNonZeroUint16(1000)).not.toThrow();
14
- expect(() => asNonZeroUint16(65535)).not.toThrow(); // 2^16 - 1
15
- expect(() => asNonZeroUint16(32768)).not.toThrow(); // 2^15
14
+ expect(() => asNonZeroUint16(65_535)).not.toThrow(); // 2^16 - 1
15
+ expect(() => asNonZeroUint16(32_768)).not.toThrow(); // 2^15
16
16
  });
17
17
 
18
18
  test('rejects zero', () => {
@@ -20,8 +20,8 @@ describe('NonZeroUint16', () => {
20
20
  });
21
21
 
22
22
  test('rejects values outside uint16 range', () => {
23
- expect(() => asNonZeroUint16(65536)).toThrow(TypeError); // 2^16
24
- expect(() => asNonZeroUint16(100000)).toThrow(TypeError);
23
+ expect(() => asNonZeroUint16(65_536)).toThrow(TypeError); // 2^16
24
+ expect(() => asNonZeroUint16(100_000)).toThrow(TypeError);
25
25
  });
26
26
 
27
27
  test('rejects negative integers', () => {
@@ -44,7 +44,7 @@ describe('NonZeroUint16', () => {
44
44
  test('returns the same value for valid inputs', () => {
45
45
  expect(asNonZeroUint16(5)).toBe(5);
46
46
  expect(asNonZeroUint16(1)).toBe(1);
47
- expect(asNonZeroUint16(65535)).toBe(65535);
47
+ expect(asNonZeroUint16(65_535)).toBe(65_535);
48
48
  });
49
49
 
50
50
  test.each([
@@ -55,7 +55,7 @@ describe('NonZeroUint16', () => {
55
55
  { name: '-3.4', value: -3.4 },
56
56
  { name: '0', value: 0 },
57
57
  { name: '-1', value: -1 },
58
- { name: '65536', value: 65536 },
58
+ { name: '65536', value: 65_536 },
59
59
  ] as const)(
60
60
  `asNonZeroUint16($name) should throw a TypeError`,
61
61
  ({ value }) => {
@@ -72,8 +72,8 @@ describe('NonZeroUint16', () => {
72
72
  test('correctly identifies non-zero uint16 values', () => {
73
73
  expect(isNonZeroUint16(1)).toBe(true);
74
74
  expect(isNonZeroUint16(1000)).toBe(true);
75
- expect(isNonZeroUint16(65535)).toBe(true);
76
- expect(isNonZeroUint16(32768)).toBe(true);
75
+ expect(isNonZeroUint16(65_535)).toBe(true);
76
+ expect(isNonZeroUint16(32_768)).toBe(true);
77
77
  });
78
78
 
79
79
  test('correctly identifies zero', () => {
@@ -81,8 +81,8 @@ describe('NonZeroUint16', () => {
81
81
  });
82
82
 
83
83
  test('correctly identifies values outside uint16 range', () => {
84
- expect(isNonZeroUint16(65536)).toBe(false);
85
- expect(isNonZeroUint16(100000)).toBe(false);
84
+ expect(isNonZeroUint16(65_536)).toBe(false);
85
+ expect(isNonZeroUint16(100_000)).toBe(false);
86
86
  });
87
87
 
88
88
  test('correctly identifies negative integers', () => {
@@ -110,7 +110,7 @@ describe('NonZeroUint16', () => {
110
110
  describe('constants', () => {
111
111
  test('MIN_VALUE and MAX_VALUE', () => {
112
112
  expect(NonZeroUint16.MIN_VALUE).toBe(1);
113
- expect(NonZeroUint16.MAX_VALUE).toBe(65535);
113
+ expect(NonZeroUint16.MAX_VALUE).toBe(65_535);
114
114
  });
115
115
  });
116
116
 
@@ -125,10 +125,10 @@ describe('NonZeroUint16', () => {
125
125
 
126
126
  test('add (with clamping to non-zero uint16 range)', () => {
127
127
  const result = NonZeroUint16.add(
128
- asNonZeroUint16(65000),
128
+ asNonZeroUint16(65_000),
129
129
  asNonZeroUint16(1000),
130
130
  );
131
- expect(result).toBe(65535); // clamped to max
131
+ expect(result).toBe(65_535); // clamped to max
132
132
  expect(NonZeroUint16.add(a, b)).toBe(150);
133
133
  });
134
134
 
@@ -142,7 +142,7 @@ describe('NonZeroUint16', () => {
142
142
  asNonZeroUint16(1000),
143
143
  asNonZeroUint16(100),
144
144
  );
145
- expect(result).toBe(65535); // clamped to max
145
+ expect(result).toBe(65_535); // clamped to max
146
146
  expect(NonZeroUint16.mul(asNonZeroUint16(10), asNonZeroUint16(5))).toBe(
147
147
  50,
148
148
  );
@@ -161,7 +161,7 @@ describe('NonZeroUint16', () => {
161
161
  asNonZeroUint16(256),
162
162
  asNonZeroUint16(3),
163
163
  );
164
- expect(result).toBe(65535); // clamped to max
164
+ expect(result).toBe(65_535); // clamped to max
165
165
  expect(NonZeroUint16.pow(asNonZeroUint16(2), asNonZeroUint16(3))).toBe(8);
166
166
  });
167
167
  });
@@ -185,7 +185,7 @@ describe('NonZeroUint16', () => {
185
185
  for (const _ of range(10)) {
186
186
  const result = NonZeroUint16.random(1, 30);
187
187
  expect(result).toBeGreaterThanOrEqual(1);
188
- expect(result).toBeLessThanOrEqual(65535);
188
+ expect(result).toBeLessThanOrEqual(65_535);
189
189
  }
190
190
  });
191
191
  });
@@ -6,19 +6,19 @@ type ElementType = NonZeroUint32;
6
6
  const typeNameInMessage = 'a non-zero integer in [1, 2^32)';
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
- randomNonZero: random,
19
- is,
20
12
  castType,
21
13
  clamp,
14
+ div,
15
+ is,
16
+ max: max_,
17
+ min: min_,
18
+ mul,
19
+ pow,
20
+ randomNonZero: random,
21
+ sub,
22
22
  } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
23
23
  ElementType,
24
24
  1,
@@ -32,7 +32,9 @@ const {
32
32
  } as const);
33
33
 
34
34
  /**
35
- * Checks if a number is a NonZeroUint32 (32-bit non-zero unsigned integer in the range [1, 2^32)).
35
+ * Checks if a number is a NonZeroUint32 (32-bit non-zero unsigned integer in
36
+ * the range [1, 2^32)).
37
+ *
36
38
  * @param value The value to check.
37
39
  * @returns `true` if the value is a NonZeroUint32, `false` otherwise.
38
40
  */
@@ -40,70 +42,49 @@ export const isNonZeroUint32 = is;
40
42
 
41
43
  /**
42
44
  * Casts a number to a NonZeroUint32 type.
45
+ *
43
46
  * @param value The value to cast.
44
47
  * @returns The value as a NonZeroUint32 type.
45
48
  * @throws {TypeError} If the value is not a non-zero integer in [1, 2^32).
46
- * @example
47
- * ```typescript
48
- * const x = asNonZeroUint32(1000); // NonZeroUint32
49
- * const y = asNonZeroUint32(4294967295); // NonZeroUint32
50
- * // asNonZeroUint32(0); // throws TypeError
51
- * // asNonZeroUint32(-1); // throws TypeError
52
- * // asNonZeroUint32(4294967296); // throws TypeError
53
- * ```
54
49
  */
55
50
  export const asNonZeroUint32 = castType;
56
51
 
57
52
  /**
58
- * Namespace providing type-safe arithmetic operations for 32-bit non-zero unsigned integers.
59
- *
60
- * All operations automatically clamp results to the valid NonZeroUint32 range [1, 4294967295].
61
- * This ensures that all arithmetic maintains the 32-bit non-zero unsigned integer constraint,
62
- * with results below 1 clamped to MIN_VALUE and overflow results clamped to MAX_VALUE.
63
- *
64
- * @example
65
- * ```typescript
66
- * const a = asNonZeroUint32(4000000000);
67
- * const b = asNonZeroUint32(1000000000);
68
- *
69
- * // Arithmetic operations with automatic clamping and non-zero constraint
70
- * const sum = NonZeroUint32.add(a, b); // NonZeroUint32 (4294967295 - clamped to MAX_VALUE)
71
- * const diff = NonZeroUint32.sub(a, b); // NonZeroUint32 (3000000000)
72
- * const reverseDiff = NonZeroUint32.sub(b, a); // NonZeroUint32 (1 - clamped to MIN_VALUE)
73
- * const product = NonZeroUint32.mul(a, b); // NonZeroUint32 (4294967295 - clamped due to overflow)
74
- *
75
- * // Range operations (maintaining non-zero constraint)
76
- * const clamped = NonZeroUint32.clamp(-100); // NonZeroUint32 (1)
77
- * const minimum = NonZeroUint32.min(a, b); // NonZeroUint32 (1000000000)
78
- * const maximum = NonZeroUint32.max(a, b); // NonZeroUint32 (4000000000)
53
+ * Namespace providing type-safe arithmetic operations for 32-bit non-zero
54
+ * unsigned integers.
79
55
  *
80
- * // Utility operations
81
- * const random = NonZeroUint32.random(); // NonZeroUint32 (random value in [1, 4294967295])
82
- * const power = NonZeroUint32.pow(asNonZeroUint32(2), asNonZeroUint32(20)); // NonZeroUint32 (1048576)
83
- * ```
56
+ * All operations automatically clamp results to the valid NonZeroUint32 range
57
+ * [1, 4294967295]. This ensures that all arithmetic maintains the 32-bit
58
+ * non-zero unsigned integer constraint, with results below 1 clamped to
59
+ * MIN_VALUE and overflow results clamped to MAX_VALUE.
84
60
  */
85
61
  export const NonZeroUint32 = {
86
62
  /**
87
63
  * Type guard to check if a value is a NonZeroUint32.
64
+ *
88
65
  * @param value The value to check.
89
- * @returns `true` if the value is a 32-bit non-zero unsigned integer, `false` otherwise.
66
+ * @returns `true` if the value is a 32-bit non-zero unsigned integer, `false`
67
+ * otherwise.
90
68
  */
91
69
  is,
92
70
 
93
71
  /**
94
72
  * The minimum value for a 32-bit non-zero unsigned integer.
73
+ *
95
74
  * @readonly
96
75
  */
97
76
  MIN_VALUE,
98
77
 
99
78
  /**
100
79
  * The maximum value for a 32-bit non-zero unsigned integer.
80
+ *
101
81
  * @readonly
102
82
  */
103
83
  MAX_VALUE,
104
84
 
105
85
  /**
106
86
  * Returns the smaller of two NonZeroUint32 values.
87
+ *
107
88
  * @param a The first NonZeroUint32.
108
89
  * @param b The second NonZeroUint32.
109
90
  * @returns The minimum value as a NonZeroUint32.
@@ -112,6 +93,7 @@ export const NonZeroUint32 = {
112
93
 
113
94
  /**
114
95
  * Returns the larger of two NonZeroUint32 values.
96
+ *
115
97
  * @param a The first NonZeroUint32.
116
98
  * @param b The second NonZeroUint32.
117
99
  * @returns The maximum value as a NonZeroUint32.
@@ -120,6 +102,7 @@ export const NonZeroUint32 = {
120
102
 
121
103
  /**
122
104
  * Clamps a number to the NonZeroUint32 range.
105
+ *
123
106
  * @param value The number to clamp.
124
107
  * @returns The value clamped to [1, 4294967295] as a NonZeroUint32.
125
108
  */
@@ -127,12 +110,14 @@ export const NonZeroUint32 = {
127
110
 
128
111
  /**
129
112
  * Generates a random NonZeroUint32 value within the valid range.
113
+ *
130
114
  * @returns A random NonZeroUint32 between 1 and 4294967295.
131
115
  */
132
116
  random,
133
117
 
134
118
  /**
135
119
  * Raises a NonZeroUint32 to the power of another NonZeroUint32.
120
+ *
136
121
  * @param a The base NonZeroUint32.
137
122
  * @param b The exponent NonZeroUint32.
138
123
  * @returns `a ** b` clamped to [1, 4294967295] as a NonZeroUint32.
@@ -141,6 +126,7 @@ export const NonZeroUint32 = {
141
126
 
142
127
  /**
143
128
  * Adds two NonZeroUint32 values.
129
+ *
144
130
  * @param a The first NonZeroUint32.
145
131
  * @param b The second NonZeroUint32.
146
132
  * @returns `a + b` clamped to [1, 4294967295] as a NonZeroUint32.
@@ -149,6 +135,7 @@ export const NonZeroUint32 = {
149
135
 
150
136
  /**
151
137
  * Subtracts one NonZeroUint32 from another.
138
+ *
152
139
  * @param a The minuend NonZeroUint32.
153
140
  * @param b The subtrahend NonZeroUint32.
154
141
  * @returns `a - b` clamped to [1, 4294967295] as a NonZeroUint32 (minimum 1).
@@ -157,6 +144,7 @@ export const NonZeroUint32 = {
157
144
 
158
145
  /**
159
146
  * Multiplies two NonZeroUint32 values.
147
+ *
160
148
  * @param a The first NonZeroUint32.
161
149
  * @param b The second NonZeroUint32.
162
150
  * @returns `a * b` clamped to [1, 4294967295] as a NonZeroUint32.
@@ -165,6 +153,7 @@ export const NonZeroUint32 = {
165
153
 
166
154
  /**
167
155
  * Divides one NonZeroUint32 by another using floor division.
156
+ *
168
157
  * @param a The dividend NonZeroUint32.
169
158
  * @param b The divisor NonZeroUint32.
170
159
  * @returns `⌊a / b⌋` clamped to [1, 4294967295] as a NonZeroUint32.
@@ -11,8 +11,8 @@ describe('NonZeroUint32', () => {
11
11
  test('accepts valid non-zero uint32 values', () => {
12
12
  expect(() => asNonZeroUint32(1)).not.toThrow();
13
13
  expect(() => asNonZeroUint32(1000)).not.toThrow();
14
- expect(() => asNonZeroUint32(4294967295)).not.toThrow(); // 2^32 - 1
15
- expect(() => asNonZeroUint32(2147483648)).not.toThrow(); // 2^31
14
+ expect(() => asNonZeroUint32(4_294_967_295)).not.toThrow(); // 2^32 - 1
15
+ expect(() => asNonZeroUint32(2_147_483_648)).not.toThrow(); // 2^31
16
16
  });
17
17
 
18
18
  test('rejects zero', () => {
@@ -20,8 +20,8 @@ describe('NonZeroUint32', () => {
20
20
  });
21
21
 
22
22
  test('rejects values outside uint32 range', () => {
23
- expect(() => asNonZeroUint32(4294967296)).toThrow(TypeError); // 2^32
24
- expect(() => asNonZeroUint32(10000000000)).toThrow(TypeError);
23
+ expect(() => asNonZeroUint32(4_294_967_296)).toThrow(TypeError); // 2^32
24
+ expect(() => asNonZeroUint32(10_000_000_000)).toThrow(TypeError);
25
25
  });
26
26
 
27
27
  test('rejects negative integers', () => {
@@ -44,7 +44,7 @@ describe('NonZeroUint32', () => {
44
44
  test('returns the same value for valid inputs', () => {
45
45
  expect(asNonZeroUint32(5)).toBe(5);
46
46
  expect(asNonZeroUint32(1)).toBe(1);
47
- expect(asNonZeroUint32(4294967295)).toBe(4294967295);
47
+ expect(asNonZeroUint32(4_294_967_295)).toBe(4_294_967_295);
48
48
  });
49
49
 
50
50
  test.each([
@@ -55,7 +55,7 @@ describe('NonZeroUint32', () => {
55
55
  { name: '-3.4', value: -3.4 },
56
56
  { name: '0', value: 0 },
57
57
  { name: '-1', value: -1 },
58
- { name: '4294967296', value: 4294967296 },
58
+ { name: '4294967296', value: 4_294_967_296 },
59
59
  ] as const)(
60
60
  `asNonZeroUint32($name) should throw a TypeError`,
61
61
  ({ value }) => {
@@ -72,8 +72,8 @@ describe('NonZeroUint32', () => {
72
72
  test('correctly identifies non-zero uint32 values', () => {
73
73
  expect(isNonZeroUint32(1)).toBe(true);
74
74
  expect(isNonZeroUint32(1000)).toBe(true);
75
- expect(isNonZeroUint32(4294967295)).toBe(true);
76
- expect(isNonZeroUint32(2147483648)).toBe(true);
75
+ expect(isNonZeroUint32(4_294_967_295)).toBe(true);
76
+ expect(isNonZeroUint32(2_147_483_648)).toBe(true);
77
77
  });
78
78
 
79
79
  test('correctly identifies zero', () => {
@@ -81,8 +81,8 @@ describe('NonZeroUint32', () => {
81
81
  });
82
82
 
83
83
  test('correctly identifies values outside uint32 range', () => {
84
- expect(isNonZeroUint32(4294967296)).toBe(false);
85
- expect(isNonZeroUint32(10000000000)).toBe(false);
84
+ expect(isNonZeroUint32(4_294_967_296)).toBe(false);
85
+ expect(isNonZeroUint32(10_000_000_000)).toBe(false);
86
86
  });
87
87
 
88
88
  test('correctly identifies negative integers', () => {
@@ -110,58 +110,58 @@ describe('NonZeroUint32', () => {
110
110
  describe('constants', () => {
111
111
  test('MIN_VALUE and MAX_VALUE', () => {
112
112
  expect(NonZeroUint32.MIN_VALUE).toBe(1);
113
- expect(NonZeroUint32.MAX_VALUE).toBe(4294967295);
113
+ expect(NonZeroUint32.MAX_VALUE).toBe(4_294_967_295);
114
114
  });
115
115
  });
116
116
 
117
117
  describe('mathematical operations', () => {
118
- const a = asNonZeroUint32(1000000);
119
- const b = asNonZeroUint32(500000);
118
+ const a = asNonZeroUint32(1_000_000);
119
+ const b = asNonZeroUint32(500_000);
120
120
 
121
121
  test('min and max', () => {
122
- expect(NonZeroUint32.min(a, b)).toBe(500000);
123
- expect(NonZeroUint32.max(a, b)).toBe(1000000);
122
+ expect(NonZeroUint32.min(a, b)).toBe(500_000);
123
+ expect(NonZeroUint32.max(a, b)).toBe(1_000_000);
124
124
  });
125
125
 
126
126
  test('add (with clamping to non-zero uint32 range)', () => {
127
127
  const result = NonZeroUint32.add(
128
- asNonZeroUint32(4294967000),
128
+ asNonZeroUint32(4_294_967_000),
129
129
  asNonZeroUint32(1000),
130
130
  );
131
- expect(result).toBe(4294967295); // clamped to max
132
- expect(NonZeroUint32.add(a, b)).toBe(1500000);
131
+ expect(result).toBe(4_294_967_295); // clamped to max
132
+ expect(NonZeroUint32.add(a, b)).toBe(1_500_000);
133
133
  });
134
134
 
135
135
  test('sub (never goes below 1)', () => {
136
- expect(NonZeroUint32.sub(a, b)).toBe(500000);
136
+ expect(NonZeroUint32.sub(a, b)).toBe(500_000);
137
137
  expect(NonZeroUint32.sub(b, a)).toBe(1); // clamped to 1
138
138
  });
139
139
 
140
140
  test('mul (with clamping to non-zero uint32 range)', () => {
141
141
  const result = NonZeroUint32.mul(
142
- asNonZeroUint32(100000),
143
- asNonZeroUint32(100000),
142
+ asNonZeroUint32(100_000),
143
+ asNonZeroUint32(100_000),
144
144
  );
145
- expect(result).toBe(4294967295); // clamped to max
145
+ expect(result).toBe(4_294_967_295); // clamped to max
146
146
  expect(NonZeroUint32.mul(asNonZeroUint32(1000), asNonZeroUint32(5))).toBe(
147
147
  5000,
148
148
  );
149
149
  });
150
150
 
151
151
  test('div (floor division, never goes below 1)', () => {
152
- expect(NonZeroUint32.div(a, asNonZeroUint32(500000))).toBe(2);
152
+ expect(NonZeroUint32.div(a, asNonZeroUint32(500_000))).toBe(2);
153
153
  expect(NonZeroUint32.div(asNonZeroUint32(7), asNonZeroUint32(3))).toBe(2);
154
154
  expect(
155
- NonZeroUint32.div(asNonZeroUint32(500000), asNonZeroUint32(1000000)),
155
+ NonZeroUint32.div(asNonZeroUint32(500_000), asNonZeroUint32(1_000_000)),
156
156
  ).toBe(1); // floor(500000/1000000) = 0, clamped to 1
157
157
  });
158
158
 
159
159
  test('pow (with clamping to non-zero uint32 range)', () => {
160
160
  const result = NonZeroUint32.pow(
161
- asNonZeroUint32(10000),
161
+ asNonZeroUint32(10_000),
162
162
  asNonZeroUint32(3),
163
163
  );
164
- expect(result).toBe(4294967295); // clamped to max
164
+ expect(result).toBe(4_294_967_295); // clamped to max
165
165
  expect(NonZeroUint32.pow(asNonZeroUint32(2), asNonZeroUint32(3))).toBe(8);
166
166
  });
167
167
  });
@@ -185,7 +185,7 @@ describe('NonZeroUint32', () => {
185
185
  for (const _ of range(10)) {
186
186
  const result = NonZeroUint32.random(1, 30);
187
187
  expect(result).toBeGreaterThanOrEqual(1);
188
- expect(result).toBeLessThanOrEqual(4294967295);
188
+ expect(result).toBeLessThanOrEqual(4_294_967_295);
189
189
  }
190
190
  });
191
191
  });
@@ -194,7 +194,7 @@ describe('NonZeroUint32', () => {
194
194
  test('type relationships', () => {
195
195
  expectType<NonZeroUint32, number>('<=');
196
196
 
197
- expectTypeOf(asNonZeroUint32(1000000)).toExtend<NonZeroUint32>();
197
+ expectTypeOf(asNonZeroUint32(1_000_000)).toExtend<NonZeroUint32>();
198
198
  });
199
199
  });
200
200
  });