ts-data-forge 8.0.0 → 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/dist/array/impl/array-utils-creation.d.mts.map +1 -1
  2. package/dist/array/impl/array-utils-creation.mjs +17 -112
  3. package/dist/array/impl/array-utils-creation.mjs.map +1 -1
  4. package/dist/array/impl/array-utils-element-access.d.mts.map +1 -1
  5. package/dist/array/impl/array-utils-element-access.mjs +22 -61
  6. package/dist/array/impl/array-utils-element-access.mjs.map +1 -1
  7. package/dist/array/impl/array-utils-iterators.d.mts.map +1 -1
  8. package/dist/array/impl/array-utils-iterators.mjs +9 -63
  9. package/dist/array/impl/array-utils-iterators.mjs.map +1 -1
  10. package/dist/array/impl/array-utils-modification.mjs +78 -78
  11. package/dist/array/impl/array-utils-modification.mjs.map +1 -1
  12. package/dist/array/impl/array-utils-reducing-value.mjs +95 -89
  13. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -1
  14. package/dist/array/impl/array-utils-search.mjs +100 -92
  15. package/dist/array/impl/array-utils-search.mjs.map +1 -1
  16. package/dist/array/impl/array-utils-set-op.d.mts.map +1 -1
  17. package/dist/array/impl/array-utils-set-op.mjs +31 -141
  18. package/dist/array/impl/array-utils-set-op.mjs.map +1 -1
  19. package/dist/array/impl/array-utils-size.d.mts.map +1 -1
  20. package/dist/array/impl/array-utils-size.mjs +4 -8
  21. package/dist/array/impl/array-utils-size.mjs.map +1 -1
  22. package/dist/array/impl/array-utils-slice-clamped.mjs +11 -12
  23. package/dist/array/impl/array-utils-slice-clamped.mjs.map +1 -1
  24. package/dist/array/impl/array-utils-slicing.d.mts.map +1 -1
  25. package/dist/array/impl/array-utils-slicing.mjs +44 -96
  26. package/dist/array/impl/array-utils-slicing.mjs.map +1 -1
  27. package/dist/array/impl/array-utils-transformation.d.mts +1 -1
  28. package/dist/array/impl/array-utils-transformation.d.mts.map +1 -1
  29. package/dist/array/impl/array-utils-transformation.mjs +150 -292
  30. package/dist/array/impl/array-utils-transformation.mjs.map +1 -1
  31. package/dist/array/impl/array-utils-validation.d.mts.map +1 -1
  32. package/dist/array/impl/array-utils-validation.mjs +18 -169
  33. package/dist/array/impl/array-utils-validation.mjs.map +1 -1
  34. package/dist/collections/imap-mapped.d.mts.map +1 -1
  35. package/dist/collections/imap-mapped.mjs +243 -330
  36. package/dist/collections/imap-mapped.mjs.map +1 -1
  37. package/dist/collections/imap.d.mts.map +1 -1
  38. package/dist/collections/imap.mjs +190 -275
  39. package/dist/collections/imap.mjs.map +1 -1
  40. package/dist/collections/iset-mapped.d.mts +1 -1
  41. package/dist/collections/iset-mapped.d.mts.map +1 -1
  42. package/dist/collections/iset-mapped.mjs +222 -444
  43. package/dist/collections/iset-mapped.mjs.map +1 -1
  44. package/dist/collections/iset.d.mts +1 -1
  45. package/dist/collections/iset.d.mts.map +1 -1
  46. package/dist/collections/iset.mjs +158 -324
  47. package/dist/collections/iset.mjs.map +1 -1
  48. package/dist/collections/queue.d.mts.map +1 -1
  49. package/dist/collections/queue.mjs +106 -178
  50. package/dist/collections/queue.mjs.map +1 -1
  51. package/dist/collections/stack.d.mts.map +1 -1
  52. package/dist/collections/stack.mjs +95 -165
  53. package/dist/collections/stack.mjs.map +1 -1
  54. package/dist/entry-point.mjs +1 -0
  55. package/dist/entry-point.mjs.map +1 -1
  56. package/dist/expect-type.d.mts +1 -1
  57. package/dist/expect-type.d.mts.map +1 -1
  58. package/dist/expect-type.mjs +1 -69
  59. package/dist/expect-type.mjs.map +1 -1
  60. package/dist/functional/match.mjs +9 -9
  61. package/dist/functional/match.mjs.map +1 -1
  62. package/dist/functional/optional/impl/optional-expect-to-be.mjs +13 -14
  63. package/dist/functional/optional/impl/optional-expect-to-be.mjs.map +1 -1
  64. package/dist/functional/optional/impl/optional-filter.mjs +14 -15
  65. package/dist/functional/optional/impl/optional-filter.mjs.map +1 -1
  66. package/dist/functional/optional/impl/optional-flat-map.mjs +10 -11
  67. package/dist/functional/optional/impl/optional-flat-map.mjs.map +1 -1
  68. package/dist/functional/optional/impl/optional-from-nullable.d.mts.map +1 -1
  69. package/dist/functional/optional/impl/optional-from-nullable.mjs +1 -25
  70. package/dist/functional/optional/impl/optional-from-nullable.mjs.map +1 -1
  71. package/dist/functional/optional/impl/optional-is-none.d.mts.map +1 -1
  72. package/dist/functional/optional/impl/optional-is-none.mjs +0 -19
  73. package/dist/functional/optional/impl/optional-is-none.mjs.map +1 -1
  74. package/dist/functional/optional/impl/optional-is-optional.d.mts.map +1 -1
  75. package/dist/functional/optional/impl/optional-is-optional.mjs +1 -23
  76. package/dist/functional/optional/impl/optional-is-optional.mjs.map +1 -1
  77. package/dist/functional/optional/impl/optional-is-some.d.mts.map +1 -1
  78. package/dist/functional/optional/impl/optional-is-some.mjs +0 -20
  79. package/dist/functional/optional/impl/optional-is-some.mjs.map +1 -1
  80. package/dist/functional/optional/impl/optional-map.mjs +13 -14
  81. package/dist/functional/optional/impl/optional-map.mjs.map +1 -1
  82. package/dist/functional/optional/impl/optional-none.mjs +0 -16
  83. package/dist/functional/optional/impl/optional-none.mjs.map +1 -1
  84. package/dist/functional/optional/impl/optional-or-else.mjs +10 -11
  85. package/dist/functional/optional/impl/optional-or-else.mjs.map +1 -1
  86. package/dist/functional/optional/impl/optional-some.d.mts.map +1 -1
  87. package/dist/functional/optional/impl/optional-some.mjs +2 -21
  88. package/dist/functional/optional/impl/optional-some.mjs.map +1 -1
  89. package/dist/functional/optional/impl/optional-to-nullable.d.mts.map +1 -1
  90. package/dist/functional/optional/impl/optional-to-nullable.mjs +1 -27
  91. package/dist/functional/optional/impl/optional-to-nullable.mjs.map +1 -1
  92. package/dist/functional/optional/impl/optional-unwrap-or.mjs +9 -10
  93. package/dist/functional/optional/impl/optional-unwrap-or.mjs.map +1 -1
  94. package/dist/functional/optional/impl/optional-unwrap-throw.d.mts.map +1 -1
  95. package/dist/functional/optional/impl/optional-unwrap-throw.mjs +4 -32
  96. package/dist/functional/optional/impl/optional-unwrap-throw.mjs.map +1 -1
  97. package/dist/functional/optional/impl/optional-unwrap.mjs +4 -4
  98. package/dist/functional/optional/impl/optional-unwrap.mjs.map +1 -1
  99. package/dist/functional/optional/impl/optional-zip.d.mts.map +1 -1
  100. package/dist/functional/optional/impl/optional-zip.mjs +1 -35
  101. package/dist/functional/optional/impl/optional-zip.mjs.map +1 -1
  102. package/dist/functional/optional/impl/tag.mjs +2 -3
  103. package/dist/functional/optional/impl/tag.mjs.map +1 -1
  104. package/dist/functional/pipe.d.mts.map +1 -1
  105. package/dist/functional/pipe.mjs +9 -34
  106. package/dist/functional/pipe.mjs.map +1 -1
  107. package/dist/functional/result/impl/result-err.d.mts.map +1 -1
  108. package/dist/functional/result/impl/result-err.mjs +2 -27
  109. package/dist/functional/result/impl/result-err.mjs.map +1 -1
  110. package/dist/functional/result/impl/result-expect-to-be.mjs +13 -15
  111. package/dist/functional/result/impl/result-expect-to-be.mjs.map +1 -1
  112. package/dist/functional/result/impl/result-flat-map.mjs +16 -16
  113. package/dist/functional/result/impl/result-flat-map.mjs.map +1 -1
  114. package/dist/functional/result/impl/result-fold.mjs +16 -16
  115. package/dist/functional/result/impl/result-fold.mjs.map +1 -1
  116. package/dist/functional/result/impl/result-from-promise.d.mts.map +1 -1
  117. package/dist/functional/result/impl/result-from-promise.mjs +4 -31
  118. package/dist/functional/result/impl/result-from-promise.mjs.map +1 -1
  119. package/dist/functional/result/impl/result-from-throwable.d.mts.map +1 -1
  120. package/dist/functional/result/impl/result-from-throwable.mjs +8 -38
  121. package/dist/functional/result/impl/result-from-throwable.mjs.map +1 -1
  122. package/dist/functional/result/impl/result-is-err.d.mts.map +1 -1
  123. package/dist/functional/result/impl/result-is-err.mjs +0 -19
  124. package/dist/functional/result/impl/result-is-err.mjs.map +1 -1
  125. package/dist/functional/result/impl/result-is-ok.d.mts.map +1 -1
  126. package/dist/functional/result/impl/result-is-ok.mjs +0 -19
  127. package/dist/functional/result/impl/result-is-ok.mjs.map +1 -1
  128. package/dist/functional/result/impl/result-is-result.d.mts.map +1 -1
  129. package/dist/functional/result/impl/result-is-result.mjs +1 -23
  130. package/dist/functional/result/impl/result-is-result.mjs.map +1 -1
  131. package/dist/functional/result/impl/result-map-err.mjs +16 -16
  132. package/dist/functional/result/impl/result-map-err.mjs.map +1 -1
  133. package/dist/functional/result/impl/result-map.mjs +16 -16
  134. package/dist/functional/result/impl/result-map.mjs.map +1 -1
  135. package/dist/functional/result/impl/result-ok.d.mts.map +1 -1
  136. package/dist/functional/result/impl/result-ok.mjs +2 -27
  137. package/dist/functional/result/impl/result-ok.mjs.map +1 -1
  138. package/dist/functional/result/impl/result-or-else.mjs +10 -12
  139. package/dist/functional/result/impl/result-or-else.mjs.map +1 -1
  140. package/dist/functional/result/impl/result-swap.d.mts.map +1 -1
  141. package/dist/functional/result/impl/result-swap.mjs +4 -22
  142. package/dist/functional/result/impl/result-swap.mjs.map +1 -1
  143. package/dist/functional/result/impl/result-to-optional.d.mts.map +1 -1
  144. package/dist/functional/result/impl/result-to-optional.mjs +0 -27
  145. package/dist/functional/result/impl/result-to-optional.mjs.map +1 -1
  146. package/dist/functional/result/impl/result-unwrap-err-or.mjs +9 -11
  147. package/dist/functional/result/impl/result-unwrap-err-or.mjs.map +1 -1
  148. package/dist/functional/result/impl/result-unwrap-err-throw.d.mts.map +1 -1
  149. package/dist/functional/result/impl/result-unwrap-err-throw.mjs +13 -40
  150. package/dist/functional/result/impl/result-unwrap-err-throw.mjs.map +1 -1
  151. package/dist/functional/result/impl/result-unwrap-err.d.mts.map +1 -1
  152. package/dist/functional/result/impl/result-unwrap-err.mjs +4 -32
  153. package/dist/functional/result/impl/result-unwrap-err.mjs.map +1 -1
  154. package/dist/functional/result/impl/result-unwrap-ok-or.mjs +9 -11
  155. package/dist/functional/result/impl/result-unwrap-ok-or.mjs.map +1 -1
  156. package/dist/functional/result/impl/result-unwrap-ok.mjs +4 -4
  157. package/dist/functional/result/impl/result-unwrap-ok.mjs.map +1 -1
  158. package/dist/functional/result/impl/result-unwrap-throw.d.mts.map +1 -1
  159. package/dist/functional/result/impl/result-unwrap-throw.mjs +4 -35
  160. package/dist/functional/result/impl/result-unwrap-throw.mjs.map +1 -1
  161. package/dist/functional/result/impl/result-zip.d.mts.map +1 -1
  162. package/dist/functional/result/impl/result-zip.mjs +1 -34
  163. package/dist/functional/result/impl/result-zip.mjs.map +1 -1
  164. package/dist/functional/result/impl/tag.mjs +2 -3
  165. package/dist/functional/result/impl/tag.mjs.map +1 -1
  166. package/dist/functional/ternary-result/impl/tag.mjs +3 -5
  167. package/dist/functional/ternary-result/impl/tag.mjs.map +1 -1
  168. package/dist/functional/ternary-result/impl/ternary-result-err.d.mts.map +1 -1
  169. package/dist/functional/ternary-result/impl/ternary-result-err.mjs +2 -15
  170. package/dist/functional/ternary-result/impl/ternary-result-err.mjs.map +1 -1
  171. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs +13 -13
  172. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs.map +1 -1
  173. package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs +27 -26
  174. package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs.map +1 -1
  175. package/dist/functional/ternary-result/impl/ternary-result-fold.mjs +21 -22
  176. package/dist/functional/ternary-result/impl/ternary-result-fold.mjs.map +1 -1
  177. package/dist/functional/ternary-result/impl/ternary-result-from-promise.d.mts.map +1 -1
  178. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs +4 -20
  179. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs.map +1 -1
  180. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.d.mts.map +1 -1
  181. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs +7 -25
  182. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs.map +1 -1
  183. package/dist/functional/ternary-result/impl/ternary-result-is-err.d.mts.map +1 -1
  184. package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs +0 -17
  185. package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs.map +1 -1
  186. package/dist/functional/ternary-result/impl/ternary-result-is-ok.d.mts.map +1 -1
  187. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs +0 -19
  188. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs.map +1 -1
  189. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.d.mts.map +1 -1
  190. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs +1 -25
  191. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs.map +1 -1
  192. package/dist/functional/ternary-result/impl/ternary-result-is-warn.d.mts.map +1 -1
  193. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs +0 -18
  194. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs.map +1 -1
  195. package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs +13 -15
  196. package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs.map +1 -1
  197. package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs +18 -18
  198. package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs.map +1 -1
  199. package/dist/functional/ternary-result/impl/ternary-result-map.mjs +21 -22
  200. package/dist/functional/ternary-result/impl/ternary-result-map.mjs.map +1 -1
  201. package/dist/functional/ternary-result/impl/ternary-result-ok.d.mts.map +1 -1
  202. package/dist/functional/ternary-result/impl/ternary-result-ok.mjs +2 -16
  203. package/dist/functional/ternary-result/impl/ternary-result-ok.mjs.map +1 -1
  204. package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs +9 -9
  205. package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs.map +1 -1
  206. package/dist/functional/ternary-result/impl/ternary-result-to-optional.d.mts.map +1 -1
  207. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs +4 -22
  208. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs.map +1 -1
  209. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs +9 -9
  210. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs.map +1 -1
  211. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.d.mts.map +1 -1
  212. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs +12 -27
  213. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs.map +1 -1
  214. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.d.mts.map +1 -1
  215. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs +4 -19
  216. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs.map +1 -1
  217. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs +9 -9
  218. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs.map +1 -1
  219. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs +4 -5
  220. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs.map +1 -1
  221. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.d.mts.map +1 -1
  222. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs +15 -27
  223. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs.map +1 -1
  224. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs +9 -9
  225. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs.map +1 -1
  226. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.d.mts.map +1 -1
  227. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs +10 -24
  228. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs.map +1 -1
  229. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.d.mts.map +1 -1
  230. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs +4 -19
  231. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs.map +1 -1
  232. package/dist/functional/ternary-result/impl/ternary-result-warn.d.mts.map +1 -1
  233. package/dist/functional/ternary-result/impl/ternary-result-warn.mjs +3 -19
  234. package/dist/functional/ternary-result/impl/ternary-result-warn.mjs.map +1 -1
  235. package/dist/functional/ternary-result/impl/ternary-result-zip.d.mts.map +1 -1
  236. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs +14 -45
  237. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs.map +1 -1
  238. package/dist/functional/ternary-result/impl/variant-name.d.mts +1 -1
  239. package/dist/functional/ternary-result/impl/variant-name.d.mts.map +1 -1
  240. package/dist/functional/ternary-result/impl/variant-name.mjs +8 -9
  241. package/dist/functional/ternary-result/impl/variant-name.mjs.map +1 -1
  242. package/dist/functional/ternary-result/ternary-result.d.mts.map +1 -1
  243. package/dist/guard/has-key.d.mts.map +1 -1
  244. package/dist/guard/has-key.mjs +0 -41
  245. package/dist/guard/has-key.mjs.map +1 -1
  246. package/dist/guard/index.d.mts +1 -0
  247. package/dist/guard/index.d.mts.map +1 -1
  248. package/dist/guard/index.mjs +1 -0
  249. package/dist/guard/index.mjs.map +1 -1
  250. package/dist/guard/is-length-bounded-string.d.mts +164 -0
  251. package/dist/guard/is-length-bounded-string.d.mts.map +1 -0
  252. package/dist/guard/is-length-bounded-string.mjs +7 -0
  253. package/dist/guard/is-length-bounded-string.mjs.map +1 -0
  254. package/dist/guard/is-non-empty-string.d.mts +1 -1
  255. package/dist/guard/is-non-empty-string.d.mts.map +1 -1
  256. package/dist/guard/is-non-empty-string.mjs +1 -38
  257. package/dist/guard/is-non-empty-string.mjs.map +1 -1
  258. package/dist/guard/is-non-null-object.d.mts.map +1 -1
  259. package/dist/guard/is-non-null-object.mjs +1 -35
  260. package/dist/guard/is-non-null-object.mjs.map +1 -1
  261. package/dist/guard/is-primitive.d.mts.map +1 -1
  262. package/dist/guard/is-primitive.mjs +12 -43
  263. package/dist/guard/is-primitive.mjs.map +1 -1
  264. package/dist/guard/is-record.d.mts.map +1 -1
  265. package/dist/guard/is-record.mjs +0 -86
  266. package/dist/guard/is-record.mjs.map +1 -1
  267. package/dist/guard/is-type.d.mts.map +1 -1
  268. package/dist/guard/is-type.mjs +12 -399
  269. package/dist/guard/is-type.mjs.map +1 -1
  270. package/dist/guard/key-is-in.d.mts.map +1 -1
  271. package/dist/guard/key-is-in.mjs +0 -40
  272. package/dist/guard/key-is-in.mjs.map +1 -1
  273. package/dist/index.mjs +1 -0
  274. package/dist/index.mjs.map +1 -1
  275. package/dist/iterator/range.mjs +16 -16
  276. package/dist/iterator/range.mjs.map +1 -1
  277. package/dist/json/json.d.mts.map +1 -1
  278. package/dist/json/json.mjs +52 -340
  279. package/dist/json/json.mjs.map +1 -1
  280. package/dist/number/branded-types/finite-number.d.mts +3 -3
  281. package/dist/number/branded-types/finite-number.mjs +135 -154
  282. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  283. package/dist/number/branded-types/int.d.mts +4 -4
  284. package/dist/number/branded-types/int.mjs +205 -245
  285. package/dist/number/branded-types/int.mjs.map +1 -1
  286. package/dist/number/branded-types/int16.d.mts +15 -15
  287. package/dist/number/branded-types/int16.mjs +116 -123
  288. package/dist/number/branded-types/int16.mjs.map +1 -1
  289. package/dist/number/branded-types/int32.d.mts +11 -11
  290. package/dist/number/branded-types/int32.mjs +116 -123
  291. package/dist/number/branded-types/int32.mjs.map +1 -1
  292. package/dist/number/branded-types/negative-finite-number.d.mts +4 -4
  293. package/dist/number/branded-types/negative-finite-number.mjs +129 -144
  294. package/dist/number/branded-types/negative-finite-number.mjs.map +1 -1
  295. package/dist/number/branded-types/negative-int.d.mts +5 -5
  296. package/dist/number/branded-types/negative-int.mjs +94 -113
  297. package/dist/number/branded-types/negative-int.mjs.map +1 -1
  298. package/dist/number/branded-types/negative-safe-int.d.mts +5 -5
  299. package/dist/number/branded-types/negative-safe-int.mjs +103 -124
  300. package/dist/number/branded-types/negative-safe-int.mjs.map +1 -1
  301. package/dist/number/branded-types/non-negative-finite-number.d.mts +5 -5
  302. package/dist/number/branded-types/non-negative-finite-number.mjs +136 -142
  303. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  304. package/dist/number/branded-types/non-negative-int16.d.mts +16 -16
  305. package/dist/number/branded-types/non-negative-int16.mjs +109 -118
  306. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  307. package/dist/number/branded-types/non-negative-int32.d.mts +12 -12
  308. package/dist/number/branded-types/non-negative-int32.mjs +110 -119
  309. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  310. package/dist/number/branded-types/non-positive-finite-number.d.mts +3 -3
  311. package/dist/number/branded-types/non-positive-finite-number.mjs +120 -124
  312. package/dist/number/branded-types/non-positive-finite-number.mjs.map +1 -1
  313. package/dist/number/branded-types/non-positive-int.d.mts +4 -4
  314. package/dist/number/branded-types/non-positive-int.mjs +167 -212
  315. package/dist/number/branded-types/non-positive-int.mjs.map +1 -1
  316. package/dist/number/branded-types/non-positive-safe-int.d.mts +4 -4
  317. package/dist/number/branded-types/non-positive-safe-int.mjs +95 -106
  318. package/dist/number/branded-types/non-positive-safe-int.mjs.map +1 -1
  319. package/dist/number/branded-types/non-zero-finite-number.d.mts +4 -4
  320. package/dist/number/branded-types/non-zero-finite-number.mjs +114 -123
  321. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  322. package/dist/number/branded-types/non-zero-int.d.mts +2 -2
  323. package/dist/number/branded-types/non-zero-int.mjs +72 -83
  324. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  325. package/dist/number/branded-types/non-zero-int16.d.mts +7 -7
  326. package/dist/number/branded-types/non-zero-int16.mjs +96 -107
  327. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  328. package/dist/number/branded-types/non-zero-int32.d.mts +5 -5
  329. package/dist/number/branded-types/non-zero-int32.mjs +97 -108
  330. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  331. package/dist/number/branded-types/non-zero-safe-int.d.mts +2 -2
  332. package/dist/number/branded-types/non-zero-safe-int.mjs +100 -111
  333. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  334. package/dist/number/branded-types/non-zero-uint16.d.mts +8 -8
  335. package/dist/number/branded-types/non-zero-uint16.mjs +96 -107
  336. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  337. package/dist/number/branded-types/non-zero-uint32.d.mts +6 -6
  338. package/dist/number/branded-types/non-zero-uint32.mjs +96 -107
  339. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  340. package/dist/number/branded-types/positive-finite-number.d.mts +8 -8
  341. package/dist/number/branded-types/positive-finite-number.mjs +139 -141
  342. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  343. package/dist/number/branded-types/positive-int.d.mts +11 -11
  344. package/dist/number/branded-types/positive-int.mjs +228 -271
  345. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  346. package/dist/number/branded-types/positive-int16.d.mts +19 -19
  347. package/dist/number/branded-types/positive-int16.mjs +109 -118
  348. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  349. package/dist/number/branded-types/positive-int32.d.mts +15 -15
  350. package/dist/number/branded-types/positive-int32.mjs +109 -118
  351. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  352. package/dist/number/branded-types/positive-safe-int.d.mts +11 -11
  353. package/dist/number/branded-types/positive-safe-int.mjs +244 -275
  354. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  355. package/dist/number/branded-types/positive-uint16.d.mts +17 -17
  356. package/dist/number/branded-types/positive-uint16.mjs +109 -118
  357. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  358. package/dist/number/branded-types/positive-uint32.d.mts +13 -13
  359. package/dist/number/branded-types/positive-uint32.mjs +110 -119
  360. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  361. package/dist/number/branded-types/safe-int.d.mts +4 -4
  362. package/dist/number/branded-types/safe-int.mjs +251 -292
  363. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  364. package/dist/number/branded-types/safe-uint.d.mts +8 -8
  365. package/dist/number/branded-types/safe-uint.mjs +111 -119
  366. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  367. package/dist/number/branded-types/uint.d.mts +8 -8
  368. package/dist/number/branded-types/uint.mjs +198 -225
  369. package/dist/number/branded-types/uint.mjs.map +1 -1
  370. package/dist/number/branded-types/uint16.d.mts +14 -14
  371. package/dist/number/branded-types/uint16.mjs +109 -119
  372. package/dist/number/branded-types/uint16.mjs.map +1 -1
  373. package/dist/number/branded-types/uint32.d.mts +10 -10
  374. package/dist/number/branded-types/uint32.mjs +110 -117
  375. package/dist/number/branded-types/uint32.mjs.map +1 -1
  376. package/dist/number/enum/int8.mjs +119 -145
  377. package/dist/number/enum/int8.mjs.map +1 -1
  378. package/dist/number/enum/uint8.mjs +107 -121
  379. package/dist/number/enum/uint8.mjs.map +1 -1
  380. package/dist/number/num.d.mts +2 -2
  381. package/dist/number/num.d.mts.map +1 -1
  382. package/dist/number/num.mjs +76 -537
  383. package/dist/number/num.mjs.map +1 -1
  384. package/dist/number/refined-number-utils.d.mts +1 -1
  385. package/dist/number/refined-number-utils.d.mts.map +1 -1
  386. package/dist/number/refined-number-utils.mjs +127 -263
  387. package/dist/number/refined-number-utils.mjs.map +1 -1
  388. package/dist/object/object.d.mts.map +1 -1
  389. package/dist/object/object.mjs +107 -222
  390. package/dist/object/object.mjs.map +1 -1
  391. package/dist/others/cast-mutable.d.mts.map +1 -1
  392. package/dist/others/cast-mutable.mjs +8 -37
  393. package/dist/others/cast-mutable.mjs.map +1 -1
  394. package/dist/others/cast-readonly.d.mts.map +1 -1
  395. package/dist/others/cast-readonly.mjs +8 -36
  396. package/dist/others/cast-readonly.mjs.map +1 -1
  397. package/dist/others/debounce-function.d.mts.map +1 -1
  398. package/dist/others/debounce-function.mjs +7 -16
  399. package/dist/others/debounce-function.mjs.map +1 -1
  400. package/dist/others/fast-deep-equal.d.mts.map +1 -1
  401. package/dist/others/fast-deep-equal.mjs +43 -59
  402. package/dist/others/fast-deep-equal.mjs.map +1 -1
  403. package/dist/others/if-then.d.mts.map +1 -1
  404. package/dist/others/if-then.mjs +0 -29
  405. package/dist/others/if-then.mjs.map +1 -1
  406. package/dist/others/map-nullable.mjs +9 -9
  407. package/dist/others/map-nullable.mjs.map +1 -1
  408. package/dist/others/memoize-function.mjs +12 -12
  409. package/dist/others/memoize-function.mjs.map +1 -1
  410. package/dist/others/tuple.d.mts.map +1 -1
  411. package/dist/others/tuple.mjs +0 -50
  412. package/dist/others/tuple.mjs.map +1 -1
  413. package/dist/others/unknown-to-string.d.mts.map +1 -1
  414. package/dist/others/unknown-to-string.mjs +41 -88
  415. package/dist/others/unknown-to-string.mjs.map +1 -1
  416. package/dist/promise/promise.d.mts.map +1 -1
  417. package/dist/promise/promise.mjs +4 -49
  418. package/dist/promise/promise.mjs.map +1 -1
  419. package/package.json +17 -16
  420. package/src/array/impl/array-utils-transformation.mts +1 -2
  421. package/src/array/impl/array-utils-transformation.test.mts +3 -36
  422. package/src/array/impl/array-utils-validation.test.mts +1 -3
  423. package/src/expect-type.mts +4 -5
  424. package/src/functional/ternary-result/ternary-result.mts +2 -6
  425. package/src/guard/index.mts +1 -0
  426. package/src/guard/is-length-bounded-string.mts +199 -0
  427. package/src/guard/is-length-bounded-string.test.mts +170 -0
  428. package/src/number/refined-number-utils.mts +1 -9
  429. package/src/object/object.mts +25 -23
@@ -1,234 +1,207 @@
1
1
  import { TsDataForgeInternals } from '../refined-number-utils.mjs';
2
2
 
3
- const typeNameInMessage = 'a non-negative integer';
4
- const { MIN_VALUE, add, castType, clamp, div, is, max: max_, min: min_, mul, pow, random, sub, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
5
- integerOrSafeInteger: 'Integer',
6
- MIN_VALUE: 0,
7
- MAX_VALUE: Number.MAX_VALUE,
8
- typeNameInMessage,
3
+ const typeNameInMessage = "a non-negative integer";
4
+ const {
5
+ MIN_VALUE,
6
+ add,
7
+ castType,
8
+ clamp,
9
+ div,
10
+ is,
11
+ max: max_,
12
+ min: min_,
13
+ mul,
14
+ pow,
15
+ random,
16
+ sub
17
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
18
+ integerOrSafeInteger: "Integer",
19
+ MIN_VALUE: 0,
20
+ MAX_VALUE: Number.MAX_VALUE,
21
+ typeNameInMessage
9
22
  });
10
- /**
11
- * Checks if a number is a Uint.
12
- *
13
- * @example
14
- *
15
- * ```ts
16
- * assert.isTrue(isUint(4));
17
- *
18
- * assert.isFalse(isUint(-1));
19
- *
20
- * assert.isTrue(Uint.is(0));
21
- * ```
22
- *
23
- * @param value The value to check.
24
- * @returns `true` if the value is a Uint, `false` otherwise.
25
- */
26
23
  const isUint = is;
27
- /**
28
- * Casts a number to a Uint type.
29
- *
30
- * @example
31
- *
32
- * ```ts
33
- * const branded = asUint(12);
34
- *
35
- * assert.isTrue(branded === 12);
36
- *
37
- * assert.isTrue(Uint.is(branded));
38
- * ```
39
- *
40
- * @param value The value to cast.
41
- * @returns The value as a Uint type.
42
- * @throws {TypeError} If the value is not a non-negative integer.
43
- */
44
24
  const asUint = castType;
45
- /**
46
- * Namespace providing type-safe arithmetic operations for unsigned integers.
47
- *
48
- * All operations maintain the non-negative constraint by clamping negative
49
- * results to 0. This ensures that all arithmetic preserves the unsigned integer
50
- * property.
51
- */
52
25
  const Uint = {
53
- /**
54
- * Type guard to check if a value is a Uint.
55
- *
56
- * @example
57
- *
58
- * ```ts
59
- * assert.isTrue(isUint(4));
60
- *
61
- * assert.isFalse(isUint(-1));
62
- *
63
- * assert.isTrue(Uint.is(0));
64
- * ```
65
- *
66
- * @param value The value to check.
67
- * @returns `true` if the value is a non-negative integer, `false` otherwise.
68
- * @see {@link isUint} for usage examples
69
- */
70
- is,
71
- /**
72
- * The minimum value for an unsigned integer.
73
- *
74
- * @readonly
75
- */
76
- MIN_VALUE,
77
- /**
78
- * Returns the smaller of two Uint values.
79
- *
80
- * @example
81
- *
82
- * ```ts
83
- * const smallest = Uint.min(asUint(7), asUint(3));
84
- *
85
- * assert.isTrue(smallest === 3);
86
- * ```
87
- *
88
- * @param a The first Uint.
89
- * @param b The second Uint.
90
- * @returns The minimum value as a Uint.
91
- */
92
- min: min_,
93
- /**
94
- * Returns the larger of two Uint values.
95
- *
96
- * @example
97
- *
98
- * ```ts
99
- * const largest = Uint.max(asUint(7), asUint(3));
100
- *
101
- * assert.isTrue(largest === 7);
102
- * ```
103
- *
104
- * @param a The first Uint.
105
- * @param b The second Uint.
106
- * @returns The maximum value as a Uint.
107
- */
108
- max: max_,
109
- /**
110
- * Clamps a number to the Uint range (non-negative).
111
- *
112
- * @example
113
- *
114
- * ```ts
115
- * const clampedNegative = Uint.clamp(-5);
116
- *
117
- * const clampedPositive = Uint.clamp(42);
118
- *
119
- * assert.isTrue(clampedNegative === 0);
120
- *
121
- * assert.isTrue(clampedPositive === 42);
122
- * ```
123
- *
124
- * @param value The number to clamp.
125
- * @returns The value clamped to [0, +∞) as a Uint.
126
- */
127
- clamp,
128
- /**
129
- * Generates a random Uint value.
130
- *
131
- * @example
132
- *
133
- * ```ts
134
- * const min = asUint(0);
135
- *
136
- * const max = asUint(3);
137
- *
138
- * const randomValue = Uint.random(min, max);
139
- *
140
- * assert.isTrue(Uint.is(randomValue));
141
- *
142
- * assert.isTrue(randomValue >= 0 && randomValue <= 3);
143
- * ```
144
- *
145
- * @returns A random non-negative integer as a Uint.
146
- */
147
- random,
148
- /**
149
- * Raises a Uint to the power of another Uint.
150
- *
151
- * @example
152
- *
153
- * ```ts
154
- * const base = asUint(2);
155
- *
156
- * const exponent = asUint(5);
157
- *
158
- * const power = Uint.pow(base, exponent);
159
- *
160
- * assert.isTrue(power === 32);
161
- * ```
162
- *
163
- * @param a The base Uint.
164
- * @param b The exponent Uint.
165
- * @returns `a ** b` clamped to [0, +∞) as a Uint.
166
- */
167
- pow,
168
- /**
169
- * Adds two Uint values.
170
- *
171
- * @example
172
- *
173
- * ```ts
174
- * const sum = Uint.add(asUint(5), asUint(8));
175
- *
176
- * assert.isTrue(sum === 13);
177
- * ```
178
- *
179
- * @param a The first Uint.
180
- * @param b The second Uint.
181
- * @returns `a + b` clamped to [0, +∞) as a Uint.
182
- */
183
- add,
184
- /**
185
- * Subtracts one Uint from another.
186
- *
187
- * @example
188
- *
189
- * ```ts
190
- * const difference = Uint.sub(asUint(5), asUint(8));
191
- *
192
- * assert.isTrue(difference === 0);
193
- * ```
194
- *
195
- * @param a The minuend Uint.
196
- * @param b The subtrahend Uint.
197
- * @returns `a - b` clamped to [0, +∞) as a Uint (minimum 0).
198
- */
199
- sub,
200
- /**
201
- * Multiplies two Uint values.
202
- *
203
- * @example
204
- *
205
- * ```ts
206
- * const product = Uint.mul(asUint(7), asUint(6));
207
- *
208
- * assert.isTrue(product === 42);
209
- * ```
210
- *
211
- * @param a The first Uint.
212
- * @param b The second Uint.
213
- * @returns `a * b` clamped to [0, +∞) as a Uint.
214
- */
215
- mul,
216
- /**
217
- * Divides one Uint by another using floor division.
218
- *
219
- * @example
220
- *
221
- * ```ts
222
- * const quotient = Uint.div(asUint(10), asUint(4));
223
- *
224
- * assert.isTrue(quotient === 2);
225
- * ```
226
- *
227
- * @param a The dividend Uint.
228
- * @param b The divisor Uint.
229
- * @returns `⌊a / b⌋` clamped to [0, +∞) as a Uint.
230
- */
231
- div,
26
+ /**
27
+ * Type guard to check if a value is a Uint.
28
+ *
29
+ * @example
30
+ *
31
+ * ```ts
32
+ * assert.isTrue(isUint(4));
33
+ *
34
+ * assert.isFalse(isUint(-1));
35
+ *
36
+ * assert.isTrue(Uint.is(0));
37
+ * ```
38
+ *
39
+ * @param value The value to check.
40
+ * @returns `true` if the value is a non-negative integer, `false` otherwise.
41
+ * @see {@link isUint} for usage examples
42
+ */
43
+ is,
44
+ /**
45
+ * The minimum value for an unsigned integer.
46
+ *
47
+ * @readonly
48
+ */
49
+ MIN_VALUE,
50
+ /**
51
+ * Returns the smaller of two Uint values.
52
+ *
53
+ * @example
54
+ *
55
+ * ```ts
56
+ * const smallest = Uint.min(asUint(7), asUint(3));
57
+ *
58
+ * assert.isTrue(smallest === 3);
59
+ * ```
60
+ *
61
+ * @param a The first Uint.
62
+ * @param b The second Uint.
63
+ * @returns The minimum value as a Uint.
64
+ */
65
+ min: min_,
66
+ /**
67
+ * Returns the larger of two Uint values.
68
+ *
69
+ * @example
70
+ *
71
+ * ```ts
72
+ * const largest = Uint.max(asUint(7), asUint(3));
73
+ *
74
+ * assert.isTrue(largest === 7);
75
+ * ```
76
+ *
77
+ * @param a The first Uint.
78
+ * @param b The second Uint.
79
+ * @returns The maximum value as a Uint.
80
+ */
81
+ max: max_,
82
+ /**
83
+ * Clamps a number to the Uint range (non-negative).
84
+ *
85
+ * @example
86
+ *
87
+ * ```ts
88
+ * const clampedNegative = Uint.clamp(-5);
89
+ *
90
+ * const clampedPositive = Uint.clamp(42);
91
+ *
92
+ * assert.isTrue(clampedNegative === 0);
93
+ *
94
+ * assert.isTrue(clampedPositive === 42);
95
+ * ```
96
+ *
97
+ * @param value The number to clamp.
98
+ * @returns The value clamped to [0, +∞) as a Uint.
99
+ */
100
+ clamp,
101
+ /**
102
+ * Generates a random Uint value.
103
+ *
104
+ * @example
105
+ *
106
+ * ```ts
107
+ * const min = asUint(0);
108
+ *
109
+ * const max = asUint(3);
110
+ *
111
+ * const randomValue = Uint.random(min, max);
112
+ *
113
+ * assert.isTrue(Uint.is(randomValue));
114
+ *
115
+ * assert.isTrue(randomValue >= 0 && randomValue <= 3);
116
+ * ```
117
+ *
118
+ * @returns A random non-negative integer as a Uint.
119
+ */
120
+ random,
121
+ /**
122
+ * Raises a Uint to the power of another Uint.
123
+ *
124
+ * @example
125
+ *
126
+ * ```ts
127
+ * const base = asUint(2);
128
+ *
129
+ * const exponent = asUint(5);
130
+ *
131
+ * const power = Uint.pow(base, exponent);
132
+ *
133
+ * assert.isTrue(power === 32);
134
+ * ```
135
+ *
136
+ * @param a The base Uint.
137
+ * @param b The exponent Uint.
138
+ * @returns `a ** b` clamped to [0, +∞) as a Uint.
139
+ */
140
+ pow,
141
+ /**
142
+ * Adds two Uint values.
143
+ *
144
+ * @example
145
+ *
146
+ * ```ts
147
+ * const sum = Uint.add(asUint(5), asUint(8));
148
+ *
149
+ * assert.isTrue(sum === 13);
150
+ * ```
151
+ *
152
+ * @param a The first Uint.
153
+ * @param b The second Uint.
154
+ * @returns `a + b` clamped to [0, +∞) as a Uint.
155
+ */
156
+ add,
157
+ /**
158
+ * Subtracts one Uint from another.
159
+ *
160
+ * @example
161
+ *
162
+ * ```ts
163
+ * const difference = Uint.sub(asUint(5), asUint(8));
164
+ *
165
+ * assert.isTrue(difference === 0);
166
+ * ```
167
+ *
168
+ * @param a The minuend Uint.
169
+ * @param b The subtrahend Uint.
170
+ * @returns `a - b` clamped to [0, +∞) as a Uint (minimum 0).
171
+ */
172
+ sub,
173
+ /**
174
+ * Multiplies two Uint values.
175
+ *
176
+ * @example
177
+ *
178
+ * ```ts
179
+ * const product = Uint.mul(asUint(7), asUint(6));
180
+ *
181
+ * assert.isTrue(product === 42);
182
+ * ```
183
+ *
184
+ * @param a The first Uint.
185
+ * @param b The second Uint.
186
+ * @returns `a * b` clamped to [0, +∞) as a Uint.
187
+ */
188
+ mul,
189
+ /**
190
+ * Divides one Uint by another using floor division.
191
+ *
192
+ * @example
193
+ *
194
+ * ```ts
195
+ * const quotient = Uint.div(asUint(10), asUint(4));
196
+ *
197
+ * assert.isTrue(quotient === 2);
198
+ * ```
199
+ *
200
+ * @param a The dividend Uint.
201
+ * @param b The divisor Uint.
202
+ * @returns `⌊a / b⌋` clamped to [0, +∞) as a Uint.
203
+ */
204
+ div
232
205
  };
233
206
 
234
207
  export { Uint, asUint, isUint };
@@ -1 +1 @@
1
- {"version":3,"file":"uint.mjs","sources":["../../../src/number/branded-types/uint.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA,MAAM,iBAAiB,GAAG,wBAAwB;AAElD,MAAM,EACJ,SAAS,EACT,GAAG,EACH,QAAQ,EACR,KAAK,EACL,GAAG,EACH,EAAE,EACF,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,MAAM,EACN,GAAG,GACJ,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,SAAS;AAC/B,IAAA,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;;;;;;;;;;AAeG;AACI,MAAM,MAAM,GAAG;AAEtB;;;;;;;;;;;;;;;;AAgBG;AACI,MAAM,MAAM,GAAG;AAEtB;;;;;;AAMG;AACI,MAAM,IAAI,GAAG;AAClB;;;;;;;;;;;;;;;;AAgBG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;;;;;;;;;;;AAcG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;;;;;;;;;AAcG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;;;;;;;;;;;;AAiBG;IACH,KAAK;AAEL;;;;;;;;;;;;;;;;;;AAkBG;IACH,MAAM;AAEN;;;;;;;;;;;;;;;;;;AAkBG;IACH,GAAG;AAEH;;;;;;;;;;;;;;AAcG;IACH,GAAG;AAEH;;;;;;;;;;;;;;AAcG;IACH,GAAG;AAEH;;;;;;;;;;;;;;AAcG;IACH,GAAG;AAEH;;;;;;;;;;;;;;AAcG;IACH,GAAG;;;;;"}
1
+ {"version":3,"file":"uint.mjs","sources":["../../../src/number/branded-types/uint.mts"],"sourcesContent":["import { type Uint as TtfImported_Uint } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type Uint = TtfImported_Uint;\n\ntype ElementType = Uint;\n\nconst typeNameInMessage = 'a non-negative integer';\n\nconst {\n MIN_VALUE,\n add,\n castType,\n clamp,\n div,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n 0,\n number\n>({\n integerOrSafeInteger: 'Integer',\n MIN_VALUE: 0,\n MAX_VALUE: Number.MAX_VALUE,\n typeNameInMessage,\n} as const);\n\n/**\n * Checks if a number is a Uint.\n *\n * @example\n *\n * ```ts\n * assert.isTrue(isUint(4));\n *\n * assert.isFalse(isUint(-1));\n *\n * assert.isTrue(Uint.is(0));\n * ```\n *\n * @param value The value to check.\n * @returns `true` if the value is a Uint, `false` otherwise.\n */\nexport const isUint = is;\n\n/**\n * Casts a number to a Uint type.\n *\n * @example\n *\n * ```ts\n * const branded = asUint(12);\n *\n * assert.isTrue(branded === 12);\n *\n * assert.isTrue(Uint.is(branded));\n * ```\n *\n * @param value The value to cast.\n * @returns The value as a Uint type.\n * @throws {TypeError} If the value is not a non-negative integer.\n */\nexport const asUint = castType;\n\n/**\n * Namespace providing type-safe arithmetic operations for unsigned integers.\n *\n * All operations maintain the non-negative constraint by clamping negative\n * results to 0. This ensures that all arithmetic preserves the unsigned integer\n * property.\n */\nexport const Uint = {\n /**\n * Type guard to check if a value is a Uint.\n *\n * @example\n *\n * ```ts\n * assert.isTrue(isUint(4));\n *\n * assert.isFalse(isUint(-1));\n *\n * assert.isTrue(Uint.is(0));\n * ```\n *\n * @param value The value to check.\n * @returns `true` if the value is a non-negative integer, `false` otherwise.\n * @see {@link isUint} for usage examples\n */\n is,\n\n /**\n * The minimum value for an unsigned integer.\n *\n * @readonly\n */\n MIN_VALUE,\n\n /**\n * Returns the smaller of two Uint values.\n *\n * @example\n *\n * ```ts\n * const smallest = Uint.min(asUint(7), asUint(3));\n *\n * assert.isTrue(smallest === 3);\n * ```\n *\n * @param a The first Uint.\n * @param b The second Uint.\n * @returns The minimum value as a Uint.\n */\n min: min_,\n\n /**\n * Returns the larger of two Uint values.\n *\n * @example\n *\n * ```ts\n * const largest = Uint.max(asUint(7), asUint(3));\n *\n * assert.isTrue(largest === 7);\n * ```\n *\n * @param a The first Uint.\n * @param b The second Uint.\n * @returns The maximum value as a Uint.\n */\n max: max_,\n\n /**\n * Clamps a number to the Uint range (non-negative).\n *\n * @example\n *\n * ```ts\n * const clampedNegative = Uint.clamp(-5);\n *\n * const clampedPositive = Uint.clamp(42);\n *\n * assert.isTrue(clampedNegative === 0);\n *\n * assert.isTrue(clampedPositive === 42);\n * ```\n *\n * @param value The number to clamp.\n * @returns The value clamped to [0, +∞) as a Uint.\n */\n clamp,\n\n /**\n * Generates a random Uint value.\n *\n * @example\n *\n * ```ts\n * const min = asUint(0);\n *\n * const max = asUint(3);\n *\n * const randomValue = Uint.random(min, max);\n *\n * assert.isTrue(Uint.is(randomValue));\n *\n * assert.isTrue(randomValue >= 0 && randomValue <= 3);\n * ```\n *\n * @returns A random non-negative integer as a Uint.\n */\n random,\n\n /**\n * Raises a Uint to the power of another Uint.\n *\n * @example\n *\n * ```ts\n * const base = asUint(2);\n *\n * const exponent = asUint(5);\n *\n * const power = Uint.pow(base, exponent);\n *\n * assert.isTrue(power === 32);\n * ```\n *\n * @param a The base Uint.\n * @param b The exponent Uint.\n * @returns `a ** b` clamped to [0, +∞) as a Uint.\n */\n pow,\n\n /**\n * Adds two Uint values.\n *\n * @example\n *\n * ```ts\n * const sum = Uint.add(asUint(5), asUint(8));\n *\n * assert.isTrue(sum === 13);\n * ```\n *\n * @param a The first Uint.\n * @param b The second Uint.\n * @returns `a + b` clamped to [0, +∞) as a Uint.\n */\n add,\n\n /**\n * Subtracts one Uint from another.\n *\n * @example\n *\n * ```ts\n * const difference = Uint.sub(asUint(5), asUint(8));\n *\n * assert.isTrue(difference === 0);\n * ```\n *\n * @param a The minuend Uint.\n * @param b The subtrahend Uint.\n * @returns `a - b` clamped to [0, +∞) as a Uint (minimum 0).\n */\n sub,\n\n /**\n * Multiplies two Uint values.\n *\n * @example\n *\n * ```ts\n * const product = Uint.mul(asUint(7), asUint(6));\n *\n * assert.isTrue(product === 42);\n * ```\n *\n * @param a The first Uint.\n * @param b The second Uint.\n * @returns `a * b` clamped to [0, +∞) as a Uint.\n */\n mul,\n\n /**\n * Divides one Uint by another using floor division.\n *\n * @example\n *\n * ```ts\n * const quotient = Uint.div(asUint(10), asUint(4));\n *\n * assert.isTrue(quotient === 2);\n * ```\n *\n * @param a The dividend Uint.\n * @param b The divisor Uint.\n * @returns `⌊a / b⌋` clamped to [0, +∞) as a Uint.\n */\n div,\n} as const;\n\nexpectType<\n keyof typeof Uint,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'non-negative'\n >\n>('=');\n\nexpectType<\n typeof Uint,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'non-negative'\n >\n>('<=');\n"],"names":[],"mappings":";;AAQA,MAAM,iBAAA,GAAoB,wBAAA;AAE1B,MAAM;AAAA,EACJ,SAAA;AAAA,EACA,GAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAA,EAAK,IAAA;AAAA,EACL,GAAA,EAAK,IAAA;AAAA,EACL,GAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,mBAAA,CAI1C;AAAA,EACA,oBAAA,EAAsB,SAAA;AAAA,EACtB,SAAA,EAAW,CAAA;AAAA,EACX,WAAW,MAAA,CAAO,SAAA;AAAA,EAClB;AACF,CAAU,CAAA;AAkBH,MAAM,MAAA,GAAS;AAmBf,MAAM,MAAA,GAAS;AASf,MAAM,IAAA,GAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBlB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBL,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA;AACF;;;;"}
@@ -17,17 +17,17 @@ export declare const isUint16: (a: number) => a is TtfImported_Uint16;
17
17
  * 2^16.
18
18
  */
19
19
  export declare const asUint16: <N extends number>(x: N) => number & {
20
- readonly NaNValue: false;
21
- readonly Finite: true;
22
- readonly Int: true;
20
+ readonly "< 2^16": true;
21
+ readonly "< 2^31": true;
22
+ readonly "< 2^32": true;
23
23
  readonly "> -2^16": true;
24
24
  readonly "> -2^32": true;
25
25
  readonly ">= -2^15": true;
26
26
  readonly ">= -2^31": true;
27
27
  readonly ">=0": true;
28
- readonly "< 2^16": true;
29
- readonly "< 2^31": true;
30
- readonly "< 2^32": true;
28
+ readonly Finite: true;
29
+ readonly Int: true;
30
+ readonly NaNValue: false;
31
31
  readonly SafeInt: true;
32
32
  } & Readonly<{
33
33
  'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
@@ -130,19 +130,19 @@ export declare const Uint16: {
130
130
  * @param b The divisor Uint16.
131
131
  * @returns `⌊a / b⌋` clamped to [0, 65535] as a Uint16.
132
132
  */
133
- readonly div: (x: import("ts-type-forge").WithSmallInt<TtfImported_Uint16>, y: 1 | 2 | 3 | 32 | 4 | 5 | 6 | 7 | 8 | 9 | 11 | 10 | 20 | 30 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 31 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | import("ts-type-forge").NormalizeBrandUnion<number & {
134
- readonly NaNValue: false;
135
- readonly Finite: true;
136
- readonly Int: true;
133
+ readonly div: (x: import("ts-type-forge").WithSmallInt<TtfImported_Uint16>, y: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | import("ts-type-forge").NormalizeBrandUnion<number & {
134
+ readonly "!=0": true;
135
+ readonly "< 2^16": true;
136
+ readonly "< 2^31": true;
137
+ readonly "< 2^32": true;
137
138
  readonly "> -2^16": true;
138
139
  readonly "> -2^32": true;
139
140
  readonly ">= -2^15": true;
140
141
  readonly ">= -2^31": true;
141
142
  readonly ">=0": true;
142
- readonly "!=0": true;
143
- readonly "< 2^16": true;
144
- readonly "< 2^31": true;
145
- readonly "< 2^32": true;
143
+ readonly Finite: true;
144
+ readonly Int: true;
145
+ readonly NaNValue: false;
146
146
  readonly SafeInt: true;
147
147
  } & Readonly<{
148
148
  'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;