ts-data-forge 3.2.0 → 3.3.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 (426) hide show
  1. package/README.md +45 -21
  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 +61 -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 +214 -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 +160 -0
  21. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -0
  22. package/dist/array/impl/array-utils-search.d.mts +179 -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 +331 -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 -253
  59. package/dist/collections/imap-mapped.d.mts.map +1 -1
  60. package/dist/collections/imap-mapped.mjs +33 -164
  61. package/dist/collections/imap-mapped.mjs.map +1 -1
  62. package/dist/collections/imap.d.mts +436 -163
  63. package/dist/collections/imap.d.mts.map +1 -1
  64. package/dist/collections/imap.mjs +74 -94
  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 -135
  75. package/dist/collections/queue.d.mts.map +1 -1
  76. package/dist/collections/queue.mjs +55 -156
  77. package/dist/collections/queue.mjs.map +1 -1
  78. package/dist/collections/stack.d.mts +154 -154
  79. package/dist/collections/stack.d.mts.map +1 -1
  80. package/dist/collections/stack.mjs +54 -203
  81. package/dist/collections/stack.mjs.map +1 -1
  82. package/dist/entry-point.d.mts +3 -0
  83. package/dist/entry-point.d.mts.map +1 -0
  84. package/dist/entry-point.mjs +62 -0
  85. package/dist/entry-point.mjs.map +1 -0
  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/match.d.mts +35 -140
  91. package/dist/functional/match.d.mts.map +1 -1
  92. package/dist/functional/match.mjs.map +1 -1
  93. package/dist/functional/optional.d.mts +282 -160
  94. package/dist/functional/optional.d.mts.map +1 -1
  95. package/dist/functional/optional.mjs +131 -71
  96. package/dist/functional/optional.mjs.map +1 -1
  97. package/dist/functional/pipe.d.mts +59 -113
  98. package/dist/functional/pipe.d.mts.map +1 -1
  99. package/dist/functional/pipe.mjs.map +1 -1
  100. package/dist/functional/result.d.mts +433 -332
  101. package/dist/functional/result.d.mts.map +1 -1
  102. package/dist/functional/result.mjs +233 -239
  103. package/dist/functional/result.mjs.map +1 -1
  104. package/dist/globals.d.mts +12 -5
  105. package/dist/guard/has-key.d.mts +23 -74
  106. package/dist/guard/has-key.d.mts.map +1 -1
  107. package/dist/guard/has-key.mjs +23 -74
  108. package/dist/guard/has-key.mjs.map +1 -1
  109. package/dist/guard/is-non-empty-string.d.mts +20 -87
  110. package/dist/guard/is-non-empty-string.d.mts.map +1 -1
  111. package/dist/guard/is-non-empty-string.mjs +20 -87
  112. package/dist/guard/is-non-empty-string.mjs.map +1 -1
  113. package/dist/guard/is-non-null-object.d.mts +14 -84
  114. package/dist/guard/is-non-null-object.d.mts.map +1 -1
  115. package/dist/guard/is-non-null-object.mjs +14 -84
  116. package/dist/guard/is-non-null-object.mjs.map +1 -1
  117. package/dist/guard/is-primitive.d.mts +13 -126
  118. package/dist/guard/is-primitive.d.mts.map +1 -1
  119. package/dist/guard/is-primitive.mjs +13 -126
  120. package/dist/guard/is-primitive.mjs.map +1 -1
  121. package/dist/guard/is-record.d.mts +21 -132
  122. package/dist/guard/is-record.d.mts.map +1 -1
  123. package/dist/guard/is-record.mjs +21 -132
  124. package/dist/guard/is-record.mjs.map +1 -1
  125. package/dist/guard/is-type.d.mts +201 -238
  126. package/dist/guard/is-type.d.mts.map +1 -1
  127. package/dist/guard/is-type.mjs +201 -238
  128. package/dist/guard/is-type.mjs.map +1 -1
  129. package/dist/guard/key-is-in.d.mts +22 -139
  130. package/dist/guard/key-is-in.d.mts.map +1 -1
  131. package/dist/guard/key-is-in.mjs +22 -139
  132. package/dist/guard/key-is-in.mjs.map +1 -1
  133. package/dist/index.d.mts +0 -1
  134. package/dist/index.d.mts.map +1 -1
  135. package/dist/index.mjs +0 -1
  136. package/dist/index.mjs.map +1 -1
  137. package/dist/iterator/range.d.mts +29 -62
  138. package/dist/iterator/range.d.mts.map +1 -1
  139. package/dist/iterator/range.mjs.map +1 -1
  140. package/dist/json/json.d.mts +191 -121
  141. package/dist/json/json.d.mts.map +1 -1
  142. package/dist/json/json.mjs +238 -136
  143. package/dist/json/json.mjs.map +1 -1
  144. package/dist/number/branded-types/finite-number.d.mts +24 -156
  145. package/dist/number/branded-types/finite-number.d.mts.map +1 -1
  146. package/dist/number/branded-types/finite-number.mjs +27 -159
  147. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  148. package/dist/number/branded-types/int.d.mts +122 -120
  149. package/dist/number/branded-types/int.d.mts.map +1 -1
  150. package/dist/number/branded-types/int.mjs +122 -120
  151. package/dist/number/branded-types/int.mjs.map +1 -1
  152. package/dist/number/branded-types/int16.d.mts +22 -30
  153. package/dist/number/branded-types/int16.d.mts.map +1 -1
  154. package/dist/number/branded-types/int16.mjs +22 -30
  155. package/dist/number/branded-types/int16.mjs.map +1 -1
  156. package/dist/number/branded-types/int32.d.mts +22 -31
  157. package/dist/number/branded-types/int32.d.mts.map +1 -1
  158. package/dist/number/branded-types/int32.mjs +22 -31
  159. package/dist/number/branded-types/int32.mjs.map +1 -1
  160. package/dist/number/branded-types/non-negative-finite-number.d.mts +28 -36
  161. package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
  162. package/dist/number/branded-types/non-negative-finite-number.mjs +31 -39
  163. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  164. package/dist/number/branded-types/non-negative-int16.d.mts +24 -34
  165. package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
  166. package/dist/number/branded-types/non-negative-int16.mjs +24 -34
  167. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  168. package/dist/number/branded-types/non-negative-int32.d.mts +26 -35
  169. package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
  170. package/dist/number/branded-types/non-negative-int32.mjs +26 -35
  171. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  172. package/dist/number/branded-types/non-zero-finite-number.d.mts +22 -37
  173. package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -1
  174. package/dist/number/branded-types/non-zero-finite-number.mjs +25 -40
  175. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  176. package/dist/number/branded-types/non-zero-int.d.mts +15 -30
  177. package/dist/number/branded-types/non-zero-int.d.mts.map +1 -1
  178. package/dist/number/branded-types/non-zero-int.mjs +15 -30
  179. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  180. package/dist/number/branded-types/non-zero-int16.d.mts +27 -35
  181. package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
  182. package/dist/number/branded-types/non-zero-int16.mjs +27 -35
  183. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  184. package/dist/number/branded-types/non-zero-int32.d.mts +29 -36
  185. package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
  186. package/dist/number/branded-types/non-zero-int32.mjs +29 -36
  187. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  188. package/dist/number/branded-types/non-zero-safe-int.d.mts +37 -38
  189. package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
  190. package/dist/number/branded-types/non-zero-safe-int.mjs +39 -40
  191. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  192. package/dist/number/branded-types/non-zero-uint16.d.mts +24 -35
  193. package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
  194. package/dist/number/branded-types/non-zero-uint16.mjs +24 -35
  195. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  196. package/dist/number/branded-types/non-zero-uint32.d.mts +24 -35
  197. package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
  198. package/dist/number/branded-types/non-zero-uint32.mjs +24 -35
  199. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  200. package/dist/number/branded-types/positive-finite-number.d.mts +26 -40
  201. package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
  202. package/dist/number/branded-types/positive-finite-number.mjs +29 -43
  203. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  204. package/dist/number/branded-types/positive-int.d.mts +133 -123
  205. package/dist/number/branded-types/positive-int.d.mts.map +1 -1
  206. package/dist/number/branded-types/positive-int.mjs +133 -123
  207. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  208. package/dist/number/branded-types/positive-int16.d.mts +24 -35
  209. package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
  210. package/dist/number/branded-types/positive-int16.mjs +24 -35
  211. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  212. package/dist/number/branded-types/positive-int32.d.mts +24 -35
  213. package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
  214. package/dist/number/branded-types/positive-int32.mjs +24 -35
  215. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  216. package/dist/number/branded-types/positive-safe-int.d.mts +159 -33
  217. package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
  218. package/dist/number/branded-types/positive-safe-int.mjs +160 -34
  219. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  220. package/dist/number/branded-types/positive-uint16.d.mts +24 -35
  221. package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
  222. package/dist/number/branded-types/positive-uint16.mjs +24 -35
  223. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  224. package/dist/number/branded-types/positive-uint32.d.mts +26 -36
  225. package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
  226. package/dist/number/branded-types/positive-uint32.mjs +26 -36
  227. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  228. package/dist/number/branded-types/safe-int.d.mts +140 -99
  229. package/dist/number/branded-types/safe-int.d.mts.map +1 -1
  230. package/dist/number/branded-types/safe-int.mjs +142 -101
  231. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  232. package/dist/number/branded-types/safe-uint.d.mts +24 -33
  233. package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
  234. package/dist/number/branded-types/safe-uint.mjs +25 -34
  235. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  236. package/dist/number/branded-types/uint.d.mts +121 -30
  237. package/dist/number/branded-types/uint.d.mts.map +1 -1
  238. package/dist/number/branded-types/uint.mjs +121 -30
  239. package/dist/number/branded-types/uint.mjs.map +1 -1
  240. package/dist/number/branded-types/uint16.d.mts +26 -34
  241. package/dist/number/branded-types/uint16.d.mts.map +1 -1
  242. package/dist/number/branded-types/uint16.mjs +26 -34
  243. package/dist/number/branded-types/uint16.mjs.map +1 -1
  244. package/dist/number/branded-types/uint32.d.mts +26 -68
  245. package/dist/number/branded-types/uint32.d.mts.map +1 -1
  246. package/dist/number/branded-types/uint32.mjs +26 -68
  247. package/dist/number/branded-types/uint32.mjs.map +1 -1
  248. package/dist/number/enum/int8.d.mts +37 -101
  249. package/dist/number/enum/int8.d.mts.map +1 -1
  250. package/dist/number/enum/int8.mjs +39 -170
  251. package/dist/number/enum/int8.mjs.map +1 -1
  252. package/dist/number/enum/uint8.d.mts +45 -55
  253. package/dist/number/enum/uint8.d.mts.map +1 -1
  254. package/dist/number/enum/uint8.mjs +46 -155
  255. package/dist/number/enum/uint8.mjs.map +1 -1
  256. package/dist/number/num.d.mts +145 -206
  257. package/dist/number/num.d.mts.map +1 -1
  258. package/dist/number/num.mjs +143 -199
  259. package/dist/number/num.mjs.map +1 -1
  260. package/dist/number/refined-number-utils.d.mts +97 -21
  261. package/dist/number/refined-number-utils.d.mts.map +1 -1
  262. package/dist/number/refined-number-utils.mjs +91 -20
  263. package/dist/number/refined-number-utils.mjs.map +1 -1
  264. package/dist/object/object.d.mts +126 -208
  265. package/dist/object/object.d.mts.map +1 -1
  266. package/dist/object/object.mjs +68 -102
  267. package/dist/object/object.mjs.map +1 -1
  268. package/dist/others/cast-mutable.d.mts +12 -88
  269. package/dist/others/cast-mutable.d.mts.map +1 -1
  270. package/dist/others/cast-mutable.mjs +13 -89
  271. package/dist/others/cast-mutable.mjs.map +1 -1
  272. package/dist/others/cast-readonly.d.mts +12 -168
  273. package/dist/others/cast-readonly.d.mts.map +1 -1
  274. package/dist/others/cast-readonly.mjs +13 -169
  275. package/dist/others/cast-readonly.mjs.map +1 -1
  276. package/dist/others/if-then.d.mts +6 -83
  277. package/dist/others/if-then.d.mts.map +1 -1
  278. package/dist/others/if-then.mjs +6 -83
  279. package/dist/others/if-then.mjs.map +1 -1
  280. package/dist/others/map-nullable.d.mts +12 -136
  281. package/dist/others/map-nullable.d.mts.map +1 -1
  282. package/dist/others/map-nullable.mjs.map +1 -1
  283. package/dist/others/memoize-function.d.mts +14 -157
  284. package/dist/others/memoize-function.d.mts.map +1 -1
  285. package/dist/others/memoize-function.mjs +14 -157
  286. package/dist/others/memoize-function.mjs.map +1 -1
  287. package/dist/others/tuple.d.mts +33 -151
  288. package/dist/others/tuple.d.mts.map +1 -1
  289. package/dist/others/tuple.mjs +33 -151
  290. package/dist/others/tuple.mjs.map +1 -1
  291. package/dist/others/unknown-to-string.d.mts +11 -125
  292. package/dist/others/unknown-to-string.d.mts.map +1 -1
  293. package/dist/others/unknown-to-string.mjs +14 -127
  294. package/dist/others/unknown-to-string.mjs.map +1 -1
  295. package/dist/promise/promise.d.mts +33 -20
  296. package/dist/promise/promise.d.mts.map +1 -1
  297. package/dist/promise/promise.mjs +34 -21
  298. package/dist/promise/promise.mjs.map +1 -1
  299. package/dist/types.d.mts +1 -1
  300. package/package.json +54 -50
  301. package/src/array/impl/array-utils-creation.mts +192 -0
  302. package/src/array/{array-utils-creation.test.mts → impl/array-utils-creation.test.mts} +121 -72
  303. package/src/array/impl/array-utils-element-access.mts +115 -0
  304. package/src/array/impl/array-utils-element-access.test.mts +151 -0
  305. package/src/array/impl/array-utils-iterators.mts +79 -0
  306. package/src/array/impl/array-utils-iterators.test.mts +98 -0
  307. package/src/array/impl/array-utils-modification.mts +434 -0
  308. package/src/array/{array-utils-modification.test.mts → impl/array-utils-modification.test.mts} +41 -28
  309. package/src/array/{array-utils-overload-type-error.test.mts → impl/array-utils-overload-type-error.test.mts} +33 -33
  310. package/src/array/impl/array-utils-reducing-value.mts +551 -0
  311. package/src/array/{array-utils-reducing-value.test.mts → impl/array-utils-reducing-value.test.mts} +45 -50
  312. package/src/array/impl/array-utils-search.mts +509 -0
  313. package/src/array/impl/array-utils-search.test.mts +346 -0
  314. package/src/array/impl/array-utils-set-op.mts +166 -0
  315. package/src/array/{array-utils-set-op.test.mts → impl/array-utils-set-op.test.mts} +42 -35
  316. package/src/array/impl/array-utils-size.mts +30 -0
  317. package/src/array/impl/array-utils-size.test.mts +9 -0
  318. package/src/array/impl/array-utils-slice-clamped.mts +51 -0
  319. package/src/array/{array-utils-slice-clamped.test.mts → impl/array-utils-slice-clamped.test.mts} +12 -12
  320. package/src/array/impl/array-utils-slicing.mts +275 -0
  321. package/src/array/impl/array-utils-slicing.test.mts +158 -0
  322. package/src/array/impl/array-utils-transformation.mts +746 -0
  323. package/src/array/{array-utils-transformation.test.mts → impl/array-utils-transformation.test.mts} +662 -889
  324. package/src/array/impl/array-utils-validation.mts +241 -0
  325. package/src/array/{array-utils-validation.test.mts → impl/array-utils-validation.test.mts} +194 -107
  326. package/src/array/{array.test.mts → impl/array.test.mts} +2 -2
  327. package/src/array/impl/index.mts +12 -0
  328. package/src/array/index.mts +1 -1
  329. package/src/collections/imap-mapped.mts +99 -265
  330. package/src/collections/imap.mts +477 -174
  331. package/src/collections/imap.test.mts +12 -19
  332. package/src/collections/iset-mapped.mts +892 -358
  333. package/src/collections/iset.mts +429 -213
  334. package/src/collections/queue.mts +174 -200
  335. package/src/collections/stack.mts +172 -245
  336. package/src/collections/stack.test.mts +9 -1
  337. package/src/entry-point.mts +2 -0
  338. package/src/expect-type.mts +43 -172
  339. package/src/functional/match.mts +35 -145
  340. package/src/functional/optional.mts +285 -163
  341. package/src/functional/optional.test.mts +4 -1
  342. package/src/functional/pipe.mts +60 -113
  343. package/src/functional/result.mts +452 -351
  344. package/src/functional/result.test.mts +9 -2
  345. package/src/globals.d.mts +12 -5
  346. package/src/guard/has-key.mts +23 -74
  347. package/src/guard/is-non-empty-string.mts +20 -87
  348. package/src/guard/is-non-null-object.mts +14 -84
  349. package/src/guard/is-non-null-object.test.mts +1 -1
  350. package/src/guard/is-primitive.mts +13 -126
  351. package/src/guard/is-primitive.test.mts +1 -1
  352. package/src/guard/is-record.mts +21 -132
  353. package/src/guard/is-record.test.mts +0 -1
  354. package/src/guard/is-type.mts +201 -238
  355. package/src/guard/is-type.test.mts +7 -7
  356. package/src/guard/key-is-in.mts +22 -139
  357. package/src/index.mts +0 -1
  358. package/src/iterator/range.mts +29 -62
  359. package/src/json/json.mts +202 -134
  360. package/src/json/json.test.mts +1 -3
  361. package/src/number/branded-types/finite-number.mts +27 -159
  362. package/src/number/branded-types/int.mts +122 -120
  363. package/src/number/branded-types/int16.mts +22 -30
  364. package/src/number/branded-types/int16.test.mts +24 -24
  365. package/src/number/branded-types/int32.mts +22 -31
  366. package/src/number/branded-types/int32.test.mts +39 -39
  367. package/src/number/branded-types/non-negative-finite-number.mts +31 -39
  368. package/src/number/branded-types/non-negative-int16.mts +24 -34
  369. package/src/number/branded-types/non-negative-int16.test.mts +16 -16
  370. package/src/number/branded-types/non-negative-int32.mts +26 -35
  371. package/src/number/branded-types/non-negative-int32.test.mts +30 -30
  372. package/src/number/branded-types/non-zero-finite-number.mts +25 -40
  373. package/src/number/branded-types/non-zero-int.mts +15 -30
  374. package/src/number/branded-types/non-zero-int16.mts +27 -35
  375. package/src/number/branded-types/non-zero-int16.test.mts +26 -26
  376. package/src/number/branded-types/non-zero-int32.mts +29 -36
  377. package/src/number/branded-types/non-zero-int32.test.mts +45 -42
  378. package/src/number/branded-types/non-zero-safe-int.mts +39 -40
  379. package/src/number/branded-types/non-zero-uint16.mts +24 -35
  380. package/src/number/branded-types/non-zero-uint16.test.mts +16 -16
  381. package/src/number/branded-types/non-zero-uint32.mts +24 -35
  382. package/src/number/branded-types/non-zero-uint32.test.mts +28 -28
  383. package/src/number/branded-types/positive-finite-number.mts +29 -43
  384. package/src/number/branded-types/positive-int.mts +134 -124
  385. package/src/number/branded-types/positive-int16.mts +24 -35
  386. package/src/number/branded-types/positive-int16.test.mts +14 -14
  387. package/src/number/branded-types/positive-int32.mts +24 -35
  388. package/src/number/branded-types/positive-int32.test.mts +26 -26
  389. package/src/number/branded-types/positive-safe-int.mts +160 -34
  390. package/src/number/branded-types/positive-uint16.mts +24 -35
  391. package/src/number/branded-types/positive-uint16.test.mts +16 -16
  392. package/src/number/branded-types/positive-uint32.mts +26 -36
  393. package/src/number/branded-types/positive-uint32.test.mts +31 -28
  394. package/src/number/branded-types/safe-int.mts +142 -101
  395. package/src/number/branded-types/safe-uint.mts +25 -34
  396. package/src/number/branded-types/uint.mts +121 -30
  397. package/src/number/branded-types/uint16.mts +26 -34
  398. package/src/number/branded-types/uint16.test.mts +16 -16
  399. package/src/number/branded-types/uint32.mts +26 -68
  400. package/src/number/branded-types/uint32.test.mts +28 -28
  401. package/src/number/enum/int8.mts +39 -170
  402. package/src/number/enum/uint8.mts +46 -155
  403. package/src/number/num.mts +157 -212
  404. package/src/number/num.test.mts +4 -4
  405. package/src/number/refined-number-utils.mts +109 -26
  406. package/src/object/object.mts +130 -212
  407. package/src/object/object.test.mts +29 -0
  408. package/src/others/cast-mutable.mts +13 -89
  409. package/src/others/cast-mutable.test.mts +80 -0
  410. package/src/others/cast-readonly.mts +13 -169
  411. package/src/others/if-then.mts +6 -83
  412. package/src/others/map-nullable.mts +12 -136
  413. package/src/others/map-nullable.test.mts +6 -6
  414. package/src/others/memoize-function.mts +14 -157
  415. package/src/others/tuple.mts +33 -151
  416. package/src/others/unknown-to-string.mts +15 -127
  417. package/src/others/unknown-to-string.test.mts +14 -2
  418. package/src/promise/promise.mts +34 -21
  419. package/src/promise/promise.test.mts +43 -0
  420. package/dist/array/array-utils.d.mts +0 -2956
  421. package/dist/array/array-utils.d.mts.map +0 -1
  422. package/dist/array/array-utils.mjs +0 -1838
  423. package/dist/array/array-utils.mjs.map +0 -1
  424. package/src/array/array-utils-search.test.mts +0 -169
  425. package/src/array/array-utils-slicing.test.mts +0 -274
  426. package/src/array/array-utils.mts +0 -4834
@@ -2,22 +2,17 @@ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
2
2
  type ElementType = NonNegativeFiniteNumber;
3
3
  /**
4
4
  * Checks if a number is a NonNegativeFiniteNumber (a finite number >= 0).
5
+ *
5
6
  * @param value The value to check.
6
7
  * @returns `true` if the value is a NonNegativeFiniteNumber, `false` otherwise.
7
8
  */
8
9
  export declare const isNonNegativeFiniteNumber: (a: number) => a is NonNegativeFiniteNumber;
9
10
  /**
10
11
  * Casts a number to a NonNegativeFiniteNumber type.
12
+ *
11
13
  * @param value The value to cast.
12
14
  * @returns The value as a NonNegativeFiniteNumber type.
13
15
  * @throws {TypeError} If the value is not a non-negative finite number.
14
- * @example
15
- * ```typescript
16
- * const x = asNonNegativeFiniteNumber(5.5); // NonNegativeFiniteNumber
17
- * const y = asNonNegativeFiniteNumber(0); // NonNegativeFiniteNumber
18
- * // asNonNegativeFiniteNumber(-1); // throws TypeError
19
- * // asNonNegativeFiniteNumber(Infinity); // throws TypeError
20
- * ```
21
16
  */
22
17
  export declare const asNonNegativeFiniteNumber: <N extends number>(x: N) => number & {
23
18
  readonly NaNValue: false;
@@ -31,48 +26,32 @@ export declare const asNonNegativeFiniteNumber: <N extends number>(x: N) => numb
31
26
  'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
32
27
  }> & N;
33
28
  /**
34
- * Namespace providing type-safe arithmetic operations for non-negative finite numbers.
35
- *
36
- * All operations maintain the non-negative constraint by clamping negative results to 0,
37
- * while ensuring results remain finite (excluding NaN and Infinity). This type is useful
38
- * for representing measurements, distances, weights, and other inherently non-negative values.
39
- *
40
- * @example
41
- * ```typescript
42
- * const distance = asNonNegativeFiniteNumber(5.5);
43
- * const speed = asNonNegativeFiniteNumber(2.2);
44
- *
45
- * // Arithmetic operations with non-negative clamping
46
- * const total = NonNegativeFiniteNumber.add(distance, speed); // NonNegativeFiniteNumber (7.7)
47
- * const diff = NonNegativeFiniteNumber.sub(speed, distance); // NonNegativeFiniteNumber (0 - clamped)
48
- * const area = NonNegativeFiniteNumber.mul(distance, speed); // NonNegativeFiniteNumber (12.1)
49
- * const ratio = NonNegativeFiniteNumber.div(distance, speed); // NonNegativeFiniteNumber (2.5)
50
- *
51
- * // Range operations
52
- * const clamped = NonNegativeFiniteNumber.clamp(-10.5); // NonNegativeFiniteNumber (0)
53
- * const minimum = NonNegativeFiniteNumber.min(distance, speed); // NonNegativeFiniteNumber (2.2)
54
- * const maximum = NonNegativeFiniteNumber.max(distance, speed); // NonNegativeFiniteNumber (5.5)
29
+ * Namespace providing type-safe arithmetic operations for non-negative finite
30
+ * numbers.
55
31
  *
56
- * // Rounding operations (return Uint)
57
- * const pixels = NonNegativeFiniteNumber.round(distance); // Uint (6)
58
- * const floorValue = NonNegativeFiniteNumber.floor(distance); // Uint (5)
59
- * const ceilValue = NonNegativeFiniteNumber.ceil(distance); // Uint (6)
60
- * ```
32
+ * All operations maintain the non-negative constraint by clamping negative
33
+ * results to 0, while ensuring results remain finite (excluding NaN and
34
+ * Infinity). This type is useful for representing measurements, distances,
35
+ * weights, and other inherently non-negative values.
61
36
  */
62
37
  export declare const NonNegativeFiniteNumber: {
63
38
  /**
64
39
  * Type guard to check if a value is a NonNegativeFiniteNumber.
40
+ *
65
41
  * @param value The value to check.
66
- * @returns `true` if the value is a non-negative finite number, `false` otherwise.
42
+ * @returns `true` if the value is a non-negative finite number, `false`
43
+ * otherwise.
67
44
  */
68
45
  readonly is: (a: number) => a is NonNegativeFiniteNumber;
69
46
  /**
70
47
  * The minimum value for a non-negative finite number.
48
+ *
71
49
  * @readonly
72
50
  */
73
51
  readonly MIN_VALUE: 0;
74
52
  /**
75
53
  * Returns the smaller of two NonNegativeFiniteNumber values.
54
+ *
76
55
  * @param a The first NonNegativeFiniteNumber.
77
56
  * @param b The second NonNegativeFiniteNumber.
78
57
  * @returns The minimum value as a NonNegativeFiniteNumber.
@@ -80,6 +59,7 @@ export declare const NonNegativeFiniteNumber: {
80
59
  readonly min: (...values: readonly NonNegativeFiniteNumber[]) => NonNegativeFiniteNumber;
81
60
  /**
82
61
  * Returns the larger of two NonNegativeFiniteNumber values.
62
+ *
83
63
  * @param a The first NonNegativeFiniteNumber.
84
64
  * @param b The second NonNegativeFiniteNumber.
85
65
  * @returns The maximum value as a NonNegativeFiniteNumber.
@@ -87,35 +67,42 @@ export declare const NonNegativeFiniteNumber: {
87
67
  readonly max: (...values: readonly NonNegativeFiniteNumber[]) => NonNegativeFiniteNumber;
88
68
  /**
89
69
  * Clamps a number to the non-negative finite range.
70
+ *
90
71
  * @param value The number to clamp.
91
72
  * @returns The value clamped to [0, +∞) as a NonNegativeFiniteNumber.
92
73
  */
93
74
  readonly clamp: (x: number) => NonNegativeFiniteNumber;
94
75
  /**
95
76
  * Rounds down a NonNegativeFiniteNumber to the nearest integer.
77
+ *
96
78
  * @param x The NonNegativeFiniteNumber to round down.
97
79
  * @returns The floor value as a Uint.
98
80
  */
99
81
  readonly floor: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;
100
82
  /**
101
83
  * Rounds up a NonNegativeFiniteNumber to the nearest integer.
84
+ *
102
85
  * @param x The NonNegativeFiniteNumber to round up.
103
86
  * @returns The ceiling value as a Uint.
104
87
  */
105
88
  readonly ceil: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;
106
89
  /**
107
90
  * Rounds a NonNegativeFiniteNumber to the nearest integer.
91
+ *
108
92
  * @param x The NonNegativeFiniteNumber to round.
109
93
  * @returns The rounded value as a Uint.
110
94
  */
111
95
  readonly round: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;
112
96
  /**
113
97
  * Generates a random NonNegativeFiniteNumber value.
98
+ *
114
99
  * @returns A random non-negative finite number.
115
100
  */
116
101
  readonly random: (min?: NonNegativeFiniteNumber | undefined, max?: NonNegativeFiniteNumber | undefined) => NonNegativeFiniteNumber;
117
102
  /**
118
- * Raises a NonNegativeFiniteNumber to the power of another NonNegativeFiniteNumber.
103
+ * Raises a NonNegativeFiniteNumber to the power of another
104
+ * NonNegativeFiniteNumber.
105
+ *
119
106
  * @param a The base NonNegativeFiniteNumber.
120
107
  * @param b The exponent NonNegativeFiniteNumber.
121
108
  * @returns `a ** b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
@@ -123,6 +110,7 @@ export declare const NonNegativeFiniteNumber: {
123
110
  readonly pow: (x: NonNegativeFiniteNumber, y: NonNegativeFiniteNumber) => NonNegativeFiniteNumber;
124
111
  /**
125
112
  * Adds two NonNegativeFiniteNumber values.
113
+ *
126
114
  * @param a The first NonNegativeFiniteNumber.
127
115
  * @param b The second NonNegativeFiniteNumber.
128
116
  * @returns `a + b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
@@ -130,13 +118,16 @@ export declare const NonNegativeFiniteNumber: {
130
118
  readonly add: (x: NonNegativeFiniteNumber, y: NonNegativeFiniteNumber) => NonNegativeFiniteNumber;
131
119
  /**
132
120
  * Subtracts one NonNegativeFiniteNumber from another.
121
+ *
133
122
  * @param a The minuend NonNegativeFiniteNumber.
134
123
  * @param b The subtrahend NonNegativeFiniteNumber.
135
- * @returns `a - b` clamped to [0, +∞) as a NonNegativeFiniteNumber (minimum 0).
124
+ * @returns `a - b` clamped to [0, +∞) as a NonNegativeFiniteNumber (minimum
125
+ * 0).
136
126
  */
137
127
  readonly sub: (x: NonNegativeFiniteNumber, y: NonNegativeFiniteNumber) => NonNegativeFiniteNumber;
138
128
  /**
139
129
  * Multiplies two NonNegativeFiniteNumber values.
130
+ *
140
131
  * @param a The first NonNegativeFiniteNumber.
141
132
  * @param b The second NonNegativeFiniteNumber.
142
133
  * @returns `a * b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
@@ -144,6 +135,7 @@ export declare const NonNegativeFiniteNumber: {
144
135
  readonly mul: (x: NonNegativeFiniteNumber, y: NonNegativeFiniteNumber) => NonNegativeFiniteNumber;
145
136
  /**
146
137
  * Divides one NonNegativeFiniteNumber by another.
138
+ *
147
139
  * @param a The dividend NonNegativeFiniteNumber.
148
140
  * @param b The divisor NonNegativeFiniteNumber.
149
141
  * @returns `a / b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
@@ -1 +1 @@
1
- {"version":3,"file":"non-negative-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-finite-number.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,KAAK,WAAW,GAAG,uBAAuB,CAAC;AAiD3C;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,6CAAK,CAAC;AAE5C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;MAAW,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;wBAjHA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAmH3D;;;;OAIG;uBAlHA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAoH3D;;;;OAIG;wBAnHA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAqH3D;;;OAGG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;;;;;;;;;;;;CAEK,CAAC"}
1
+ {"version":3,"file":"non-negative-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-finite-number.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,KAAK,WAAW,GAAG,uBAAuB,CAAC;AAiD3C;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,6CAAK,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;MAAW,CAAC;AAElD;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;wBA/FA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAiG3D;;;;;OAKG;uBAjGA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAmG3D;;;;;OAKG;wBAnGA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAqG3D;;;;OAIG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;;;;;;;;;;;;CAEK,CAAC"}
@@ -7,77 +7,56 @@ const { MIN_VALUE, min: min_, max: max_, pow, add, sub, mul, div, random, is, ca
7
7
  typeNameInMessage,
8
8
  });
9
9
  const floor = (x) =>
10
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
10
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
11
11
  Math.floor(x);
12
12
  const ceil = (x) =>
13
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
13
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
14
14
  Math.ceil(x);
15
15
  const round = (x) =>
16
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
16
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
17
17
  Math.round(x);
18
18
  /**
19
19
  * Checks if a number is a NonNegativeFiniteNumber (a finite number >= 0).
20
+ *
20
21
  * @param value The value to check.
21
22
  * @returns `true` if the value is a NonNegativeFiniteNumber, `false` otherwise.
22
23
  */
23
24
  const isNonNegativeFiniteNumber = is;
24
25
  /**
25
26
  * Casts a number to a NonNegativeFiniteNumber type.
27
+ *
26
28
  * @param value The value to cast.
27
29
  * @returns The value as a NonNegativeFiniteNumber type.
28
30
  * @throws {TypeError} If the value is not a non-negative finite number.
29
- * @example
30
- * ```typescript
31
- * const x = asNonNegativeFiniteNumber(5.5); // NonNegativeFiniteNumber
32
- * const y = asNonNegativeFiniteNumber(0); // NonNegativeFiniteNumber
33
- * // asNonNegativeFiniteNumber(-1); // throws TypeError
34
- * // asNonNegativeFiniteNumber(Infinity); // throws TypeError
35
- * ```
36
31
  */
37
32
  const asNonNegativeFiniteNumber = castType;
38
33
  /**
39
- * Namespace providing type-safe arithmetic operations for non-negative finite numbers.
40
- *
41
- * All operations maintain the non-negative constraint by clamping negative results to 0,
42
- * while ensuring results remain finite (excluding NaN and Infinity). This type is useful
43
- * for representing measurements, distances, weights, and other inherently non-negative values.
44
- *
45
- * @example
46
- * ```typescript
47
- * const distance = asNonNegativeFiniteNumber(5.5);
48
- * const speed = asNonNegativeFiniteNumber(2.2);
49
- *
50
- * // Arithmetic operations with non-negative clamping
51
- * const total = NonNegativeFiniteNumber.add(distance, speed); // NonNegativeFiniteNumber (7.7)
52
- * const diff = NonNegativeFiniteNumber.sub(speed, distance); // NonNegativeFiniteNumber (0 - clamped)
53
- * const area = NonNegativeFiniteNumber.mul(distance, speed); // NonNegativeFiniteNumber (12.1)
54
- * const ratio = NonNegativeFiniteNumber.div(distance, speed); // NonNegativeFiniteNumber (2.5)
55
- *
56
- * // Range operations
57
- * const clamped = NonNegativeFiniteNumber.clamp(-10.5); // NonNegativeFiniteNumber (0)
58
- * const minimum = NonNegativeFiniteNumber.min(distance, speed); // NonNegativeFiniteNumber (2.2)
59
- * const maximum = NonNegativeFiniteNumber.max(distance, speed); // NonNegativeFiniteNumber (5.5)
34
+ * Namespace providing type-safe arithmetic operations for non-negative finite
35
+ * numbers.
60
36
  *
61
- * // Rounding operations (return Uint)
62
- * const pixels = NonNegativeFiniteNumber.round(distance); // Uint (6)
63
- * const floorValue = NonNegativeFiniteNumber.floor(distance); // Uint (5)
64
- * const ceilValue = NonNegativeFiniteNumber.ceil(distance); // Uint (6)
65
- * ```
37
+ * All operations maintain the non-negative constraint by clamping negative
38
+ * results to 0, while ensuring results remain finite (excluding NaN and
39
+ * Infinity). This type is useful for representing measurements, distances,
40
+ * weights, and other inherently non-negative values.
66
41
  */
67
42
  const NonNegativeFiniteNumber = {
68
43
  /**
69
44
  * Type guard to check if a value is a NonNegativeFiniteNumber.
45
+ *
70
46
  * @param value The value to check.
71
- * @returns `true` if the value is a non-negative finite number, `false` otherwise.
47
+ * @returns `true` if the value is a non-negative finite number, `false`
48
+ * otherwise.
72
49
  */
73
50
  is,
74
51
  /**
75
52
  * The minimum value for a non-negative finite number.
53
+ *
76
54
  * @readonly
77
55
  */
78
56
  MIN_VALUE,
79
57
  /**
80
58
  * Returns the smaller of two NonNegativeFiniteNumber values.
59
+ *
81
60
  * @param a The first NonNegativeFiniteNumber.
82
61
  * @param b The second NonNegativeFiniteNumber.
83
62
  * @returns The minimum value as a NonNegativeFiniteNumber.
@@ -85,6 +64,7 @@ const NonNegativeFiniteNumber = {
85
64
  min: min_,
86
65
  /**
87
66
  * Returns the larger of two NonNegativeFiniteNumber values.
67
+ *
88
68
  * @param a The first NonNegativeFiniteNumber.
89
69
  * @param b The second NonNegativeFiniteNumber.
90
70
  * @returns The maximum value as a NonNegativeFiniteNumber.
@@ -92,35 +72,42 @@ const NonNegativeFiniteNumber = {
92
72
  max: max_,
93
73
  /**
94
74
  * Clamps a number to the non-negative finite range.
75
+ *
95
76
  * @param value The number to clamp.
96
77
  * @returns The value clamped to [0, +∞) as a NonNegativeFiniteNumber.
97
78
  */
98
79
  clamp,
99
80
  /**
100
81
  * Rounds down a NonNegativeFiniteNumber to the nearest integer.
82
+ *
101
83
  * @param x The NonNegativeFiniteNumber to round down.
102
84
  * @returns The floor value as a Uint.
103
85
  */
104
86
  floor,
105
87
  /**
106
88
  * Rounds up a NonNegativeFiniteNumber to the nearest integer.
89
+ *
107
90
  * @param x The NonNegativeFiniteNumber to round up.
108
91
  * @returns The ceiling value as a Uint.
109
92
  */
110
93
  ceil,
111
94
  /**
112
95
  * Rounds a NonNegativeFiniteNumber to the nearest integer.
96
+ *
113
97
  * @param x The NonNegativeFiniteNumber to round.
114
98
  * @returns The rounded value as a Uint.
115
99
  */
116
100
  round,
117
101
  /**
118
102
  * Generates a random NonNegativeFiniteNumber value.
103
+ *
119
104
  * @returns A random non-negative finite number.
120
105
  */
121
106
  random,
122
107
  /**
123
- * Raises a NonNegativeFiniteNumber to the power of another NonNegativeFiniteNumber.
108
+ * Raises a NonNegativeFiniteNumber to the power of another
109
+ * NonNegativeFiniteNumber.
110
+ *
124
111
  * @param a The base NonNegativeFiniteNumber.
125
112
  * @param b The exponent NonNegativeFiniteNumber.
126
113
  * @returns `a ** b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
@@ -128,6 +115,7 @@ const NonNegativeFiniteNumber = {
128
115
  pow,
129
116
  /**
130
117
  * Adds two NonNegativeFiniteNumber values.
118
+ *
131
119
  * @param a The first NonNegativeFiniteNumber.
132
120
  * @param b The second NonNegativeFiniteNumber.
133
121
  * @returns `a + b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
@@ -135,13 +123,16 @@ const NonNegativeFiniteNumber = {
135
123
  add,
136
124
  /**
137
125
  * Subtracts one NonNegativeFiniteNumber from another.
126
+ *
138
127
  * @param a The minuend NonNegativeFiniteNumber.
139
128
  * @param b The subtrahend NonNegativeFiniteNumber.
140
- * @returns `a - b` clamped to [0, +∞) as a NonNegativeFiniteNumber (minimum 0).
129
+ * @returns `a - b` clamped to [0, +∞) as a NonNegativeFiniteNumber (minimum
130
+ * 0).
141
131
  */
142
132
  sub,
143
133
  /**
144
134
  * Multiplies two NonNegativeFiniteNumber values.
135
+ *
145
136
  * @param a The first NonNegativeFiniteNumber.
146
137
  * @param b The second NonNegativeFiniteNumber.
147
138
  * @returns `a * b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
@@ -149,6 +140,7 @@ const NonNegativeFiniteNumber = {
149
140
  mul,
150
141
  /**
151
142
  * Divides one NonNegativeFiniteNumber by another.
143
+ *
152
144
  * @param a The dividend NonNegativeFiniteNumber.
153
145
  * @param b The divisor NonNegativeFiniteNumber.
154
146
  * @returns `a / b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
@@ -1 +1 @@
1
- {"version":3,"file":"non-negative-finite-number.mjs","sources":["../../../src/number/branded-types/non-negative-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,8BAA8B;AAExD,MAAM,EACJ,SAAS,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,QAAQ,EACR,KAAK,GACN,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,iBAAiB,CAI3D;AACA,IAAA,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,iBAAiB;AACT,CAAA,CAAC;AAEX,MAAM,KAAK,GAAG,CACZ,CAAc;AAEd;AACA,IAAI,CAAC,KAAK,CAAC,CAAC,CAA+D;AAE7E,MAAM,IAAI,GAAG,CACX,CAAc;AAEd;AACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAA+D;AAE5E,MAAM,KAAK,GAAG,CACZ,CAAc;AAEd;AACA,IAAI,CAAC,KAAK,CAAC,CAAC,CAA+D;AAM7E;;;;AAIG;AACI,MAAM,yBAAyB,GAAG;AAEzC;;;;;;;;;;;;AAYG;AACI,MAAM,yBAAyB,GAAG;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;AACI,MAAM,uBAAuB,GAAG;AACrC;;;;AAIG;IACH,EAAE;AAEF;;;AAGG;IACH,SAAS;AAET;;;;;AAKG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;AAIG;IACH,KAAK;AAEL;;;;AAIG;IACH,KAAK;AAEL;;;;AAIG;IACH,IAAI;AAEJ;;;;AAIG;IACH,KAAK;AAEL;;;AAGG;IACH,MAAM;AAEN;;;;;AAKG;IACH,GAAG;AAEH;;;;;AAKG;IACH,GAAG;AAEH;;;;;AAKG;IACH,GAAG;AAEH;;;;;AAKG;IACH,GAAG;AAEH;;;;;AAKG;IACH,GAAG;;;;;"}
1
+ {"version":3,"file":"non-negative-finite-number.mjs","sources":["../../../src/number/branded-types/non-negative-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,8BAA8B;AAExD,MAAM,EACJ,SAAS,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,QAAQ,EACR,KAAK,GACN,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,iBAAiB,CAI3D;AACA,IAAA,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,iBAAiB;AACT,CAAA,CAAC;AAEX,MAAM,KAAK,GAAG,CACZ,CAAc;AAEd;AACA,IAAI,CAAC,KAAK,CAAC,CAAC,CAA+D;AAE7E,MAAM,IAAI,GAAG,CACX,CAAc;AAEd;AACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAA+D;AAE5E,MAAM,KAAK,GAAG,CACZ,CAAc;AAEd;AACA,IAAI,CAAC,KAAK,CAAC,CAAC,CAA+D;AAM7E;;;;;AAKG;AACI,MAAM,yBAAyB,GAAG;AAEzC;;;;;;AAMG;AACI,MAAM,yBAAyB,GAAG;AAEzC;;;;;;;;AAQG;AACI,MAAM,uBAAuB,GAAG;AACrC;;;;;;AAMG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;IACH,KAAK;AAEL;;;;;AAKG;IACH,KAAK;AAEL;;;;;AAKG;IACH,IAAI;AAEJ;;;;;AAKG;IACH,KAAK;AAEL;;;;AAIG;IACH,MAAM;AAEN;;;;;;;AAOG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;;AAOG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;;;;;"}
@@ -1,21 +1,17 @@
1
1
  /**
2
- * Checks if a number is a NonNegativeInt16 (16-bit non-negative signed integer in the range [0, 2^15)).
2
+ * Checks if a number is a NonNegativeInt16 (16-bit non-negative signed integer
3
+ * in the range [0, 2^15)).
4
+ *
3
5
  * @param value The value to check.
4
6
  * @returns `true` if the value is a NonNegativeInt16, `false` otherwise.
5
7
  */
6
8
  export declare const isNonNegativeInt16: (a: number) => a is NonNegativeInt16;
7
9
  /**
8
10
  * Casts a number to a NonNegativeInt16 type.
11
+ *
9
12
  * @param value The value to cast.
10
13
  * @returns The value as a NonNegativeInt16 type.
11
14
  * @throws {TypeError} If the value is not a non-negative integer in [0, 2^15).
12
- * @example
13
- * ```typescript
14
- * const x = asNonNegativeInt16(1000); // NonNegativeInt16
15
- * const y = asNonNegativeInt16(0); // NonNegativeInt16
16
- * // asNonNegativeInt16(-1); // throws TypeError
17
- * // asNonNegativeInt16(32768); // throws TypeError
18
- * ```
19
15
  */
20
16
  export declare const asNonNegativeInt16: <N extends number>(x: N) => number & {
21
17
  readonly NaNValue: false;
@@ -35,52 +31,38 @@ export declare const asNonNegativeInt16: <N extends number>(x: N) => number & {
35
31
  'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
36
32
  }> & N;
37
33
  /**
38
- * Namespace providing type-safe arithmetic operations for 16-bit non-negative integers.
39
- *
40
- * All operations automatically clamp results to the valid NonNegativeInt16 range [0, 32767].
41
- * This ensures that all arithmetic maintains the 16-bit non-negative integer constraint,
42
- * with negative results clamped to 0 and overflow results clamped to MAX_VALUE.
43
- *
44
- * @example
45
- * ```typescript
46
- * const a = asNonNegativeInt16(30000);
47
- * const b = asNonNegativeInt16(5000);
48
- *
49
- * // Arithmetic operations with automatic clamping
50
- * const sum = NonNegativeInt16.add(a, b); // NonNegativeInt16 (32767 - clamped to MAX_VALUE)
51
- * const diff = NonNegativeInt16.sub(a, b); // NonNegativeInt16 (25000)
52
- * const reverseDiff = NonNegativeInt16.sub(b, a); // NonNegativeInt16 (0 - clamped to MIN_VALUE)
53
- * const product = NonNegativeInt16.mul(a, b); // NonNegativeInt16 (32767 - clamped due to overflow)
54
- *
55
- * // Range operations
56
- * const clamped = NonNegativeInt16.clamp(-100); // NonNegativeInt16 (0)
57
- * const minimum = NonNegativeInt16.min(a, b); // NonNegativeInt16 (5000)
58
- * const maximum = NonNegativeInt16.max(a, b); // NonNegativeInt16 (30000)
34
+ * Namespace providing type-safe arithmetic operations for 16-bit non-negative
35
+ * integers.
59
36
  *
60
- * // Utility operations
61
- * const random = NonNegativeInt16.random(); // NonNegativeInt16 (random value in [0, 32767])
62
- * const power = NonNegativeInt16.pow(asNonNegativeInt16(2), asNonNegativeInt16(10)); // NonNegativeInt16 (1024)
63
- * ```
37
+ * All operations automatically clamp results to the valid NonNegativeInt16
38
+ * range [0, 32767]. This ensures that all arithmetic maintains the 16-bit
39
+ * non-negative integer constraint, with negative results clamped to 0 and
40
+ * overflow results clamped to MAX_VALUE.
64
41
  */
65
42
  export declare const NonNegativeInt16: {
66
43
  /**
67
44
  * Type guard to check if a value is a NonNegativeInt16.
45
+ *
68
46
  * @param value The value to check.
69
- * @returns `true` if the value is a 16-bit non-negative integer, `false` otherwise.
47
+ * @returns `true` if the value is a 16-bit non-negative integer, `false`
48
+ * otherwise.
70
49
  */
71
50
  readonly is: (a: number) => a is NonNegativeInt16;
72
51
  /**
73
52
  * The minimum value for a 16-bit non-negative integer.
53
+ *
74
54
  * @readonly
75
55
  */
76
56
  readonly MIN_VALUE: 0;
77
57
  /**
78
58
  * The maximum value for a 16-bit non-negative integer.
59
+ *
79
60
  * @readonly
80
61
  */
81
62
  readonly MAX_VALUE: number;
82
63
  /**
83
64
  * Returns the smaller of two NonNegativeInt16 values.
65
+ *
84
66
  * @param a The first NonNegativeInt16.
85
67
  * @param b The second NonNegativeInt16.
86
68
  * @returns The minimum value as a NonNegativeInt16.
@@ -88,6 +70,7 @@ export declare const NonNegativeInt16: {
88
70
  readonly min: (...values: readonly WithSmallInt<NonNegativeInt16, 40>[]) => NonNegativeInt16;
89
71
  /**
90
72
  * Returns the larger of two NonNegativeInt16 values.
73
+ *
91
74
  * @param a The first NonNegativeInt16.
92
75
  * @param b The second NonNegativeInt16.
93
76
  * @returns The maximum value as a NonNegativeInt16.
@@ -95,17 +78,20 @@ export declare const NonNegativeInt16: {
95
78
  readonly max: (...values: readonly WithSmallInt<NonNegativeInt16, 40>[]) => NonNegativeInt16;
96
79
  /**
97
80
  * Clamps a number to the NonNegativeInt16 range.
81
+ *
98
82
  * @param value The number to clamp.
99
83
  * @returns The value clamped to [0, 32767] as a NonNegativeInt16.
100
84
  */
101
85
  readonly clamp: (x: number) => NonNegativeInt16;
102
86
  /**
103
87
  * Generates a random NonNegativeInt16 value within the valid range.
88
+ *
104
89
  * @returns A random NonNegativeInt16 between 0 and 32767.
105
90
  */
106
91
  readonly random: (min?: WithSmallInt<NonNegativeInt16, 40> | undefined, max?: WithSmallInt<NonNegativeInt16, 40> | undefined) => NonNegativeInt16;
107
92
  /**
108
93
  * Raises a NonNegativeInt16 to the power of another NonNegativeInt16.
94
+ *
109
95
  * @param a The base NonNegativeInt16.
110
96
  * @param b The exponent NonNegativeInt16.
111
97
  * @returns `a ** b` clamped to [0, 32767] as a NonNegativeInt16.
@@ -113,6 +99,7 @@ export declare const NonNegativeInt16: {
113
99
  readonly pow: (x: WithSmallInt<NonNegativeInt16, 40>, y: WithSmallInt<NonNegativeInt16, 40>) => NonNegativeInt16;
114
100
  /**
115
101
  * Adds two NonNegativeInt16 values.
102
+ *
116
103
  * @param a The first NonNegativeInt16.
117
104
  * @param b The second NonNegativeInt16.
118
105
  * @returns `a + b` clamped to [0, 32767] as a NonNegativeInt16.
@@ -120,6 +107,7 @@ export declare const NonNegativeInt16: {
120
107
  readonly add: (x: WithSmallInt<NonNegativeInt16, 40>, y: WithSmallInt<NonNegativeInt16, 40>) => NonNegativeInt16;
121
108
  /**
122
109
  * Subtracts one NonNegativeInt16 from another.
110
+ *
123
111
  * @param a The minuend NonNegativeInt16.
124
112
  * @param b The subtrahend NonNegativeInt16.
125
113
  * @returns `a - b` clamped to [0, 32767] as a NonNegativeInt16 (minimum 0).
@@ -127,6 +115,7 @@ export declare const NonNegativeInt16: {
127
115
  readonly sub: (x: WithSmallInt<NonNegativeInt16, 40>, y: WithSmallInt<NonNegativeInt16, 40>) => NonNegativeInt16;
128
116
  /**
129
117
  * Multiplies two NonNegativeInt16 values.
118
+ *
130
119
  * @param a The first NonNegativeInt16.
131
120
  * @param b The second NonNegativeInt16.
132
121
  * @returns `a * b` clamped to [0, 32767] as a NonNegativeInt16.
@@ -134,6 +123,7 @@ export declare const NonNegativeInt16: {
134
123
  readonly mul: (x: WithSmallInt<NonNegativeInt16, 40>, y: WithSmallInt<NonNegativeInt16, 40>) => NonNegativeInt16;
135
124
  /**
136
125
  * Divides one NonNegativeInt16 by another using floor division.
126
+ *
137
127
  * @param a The dividend NonNegativeInt16.
138
128
  * @param b The divisor NonNegativeInt16.
139
129
  * @returns `⌊a / b⌋` clamped to [0, 32767] as a NonNegativeInt16.
@@ -1 +1 @@
1
- {"version":3,"file":"non-negative-int16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-int16.mts"],"names":[],"mappings":"AAgCA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,sCAAK,CAAC;AAErC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;MAAW,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;;;;;;;;;;;;;;;;;;CAEK,CAAC"}
1
+ {"version":3,"file":"non-negative-int16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-int16.mts"],"names":[],"mappings":"AAgCA;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,sCAAK,CAAC;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;MAAW,CAAC;AAE3C;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;;;;;;;;;;;;;;;;;;CAEK,CAAC"}
@@ -8,72 +8,54 @@ const { MIN_VALUE, MAX_VALUE, min: min_, max: max_, pow, add, sub, mul, div, ran
8
8
  typeNameInMessage,
9
9
  });
10
10
  /**
11
- * Checks if a number is a NonNegativeInt16 (16-bit non-negative signed integer in the range [0, 2^15)).
11
+ * Checks if a number is a NonNegativeInt16 (16-bit non-negative signed integer
12
+ * in the range [0, 2^15)).
13
+ *
12
14
  * @param value The value to check.
13
15
  * @returns `true` if the value is a NonNegativeInt16, `false` otherwise.
14
16
  */
15
17
  const isNonNegativeInt16 = is;
16
18
  /**
17
19
  * Casts a number to a NonNegativeInt16 type.
20
+ *
18
21
  * @param value The value to cast.
19
22
  * @returns The value as a NonNegativeInt16 type.
20
23
  * @throws {TypeError} If the value is not a non-negative integer in [0, 2^15).
21
- * @example
22
- * ```typescript
23
- * const x = asNonNegativeInt16(1000); // NonNegativeInt16
24
- * const y = asNonNegativeInt16(0); // NonNegativeInt16
25
- * // asNonNegativeInt16(-1); // throws TypeError
26
- * // asNonNegativeInt16(32768); // throws TypeError
27
- * ```
28
24
  */
29
25
  const asNonNegativeInt16 = castType;
30
26
  /**
31
- * Namespace providing type-safe arithmetic operations for 16-bit non-negative integers.
32
- *
33
- * All operations automatically clamp results to the valid NonNegativeInt16 range [0, 32767].
34
- * This ensures that all arithmetic maintains the 16-bit non-negative integer constraint,
35
- * with negative results clamped to 0 and overflow results clamped to MAX_VALUE.
36
- *
37
- * @example
38
- * ```typescript
39
- * const a = asNonNegativeInt16(30000);
40
- * const b = asNonNegativeInt16(5000);
41
- *
42
- * // Arithmetic operations with automatic clamping
43
- * const sum = NonNegativeInt16.add(a, b); // NonNegativeInt16 (32767 - clamped to MAX_VALUE)
44
- * const diff = NonNegativeInt16.sub(a, b); // NonNegativeInt16 (25000)
45
- * const reverseDiff = NonNegativeInt16.sub(b, a); // NonNegativeInt16 (0 - clamped to MIN_VALUE)
46
- * const product = NonNegativeInt16.mul(a, b); // NonNegativeInt16 (32767 - clamped due to overflow)
47
- *
48
- * // Range operations
49
- * const clamped = NonNegativeInt16.clamp(-100); // NonNegativeInt16 (0)
50
- * const minimum = NonNegativeInt16.min(a, b); // NonNegativeInt16 (5000)
51
- * const maximum = NonNegativeInt16.max(a, b); // NonNegativeInt16 (30000)
27
+ * Namespace providing type-safe arithmetic operations for 16-bit non-negative
28
+ * integers.
52
29
  *
53
- * // Utility operations
54
- * const random = NonNegativeInt16.random(); // NonNegativeInt16 (random value in [0, 32767])
55
- * const power = NonNegativeInt16.pow(asNonNegativeInt16(2), asNonNegativeInt16(10)); // NonNegativeInt16 (1024)
56
- * ```
30
+ * All operations automatically clamp results to the valid NonNegativeInt16
31
+ * range [0, 32767]. This ensures that all arithmetic maintains the 16-bit
32
+ * non-negative integer constraint, with negative results clamped to 0 and
33
+ * overflow results clamped to MAX_VALUE.
57
34
  */
58
35
  const NonNegativeInt16 = {
59
36
  /**
60
37
  * Type guard to check if a value is a NonNegativeInt16.
38
+ *
61
39
  * @param value The value to check.
62
- * @returns `true` if the value is a 16-bit non-negative integer, `false` otherwise.
40
+ * @returns `true` if the value is a 16-bit non-negative integer, `false`
41
+ * otherwise.
63
42
  */
64
43
  is,
65
44
  /**
66
45
  * The minimum value for a 16-bit non-negative integer.
46
+ *
67
47
  * @readonly
68
48
  */
69
49
  MIN_VALUE,
70
50
  /**
71
51
  * The maximum value for a 16-bit non-negative integer.
52
+ *
72
53
  * @readonly
73
54
  */
74
55
  MAX_VALUE,
75
56
  /**
76
57
  * Returns the smaller of two NonNegativeInt16 values.
58
+ *
77
59
  * @param a The first NonNegativeInt16.
78
60
  * @param b The second NonNegativeInt16.
79
61
  * @returns The minimum value as a NonNegativeInt16.
@@ -81,6 +63,7 @@ const NonNegativeInt16 = {
81
63
  min: min_,
82
64
  /**
83
65
  * Returns the larger of two NonNegativeInt16 values.
66
+ *
84
67
  * @param a The first NonNegativeInt16.
85
68
  * @param b The second NonNegativeInt16.
86
69
  * @returns The maximum value as a NonNegativeInt16.
@@ -88,17 +71,20 @@ const NonNegativeInt16 = {
88
71
  max: max_,
89
72
  /**
90
73
  * Clamps a number to the NonNegativeInt16 range.
74
+ *
91
75
  * @param value The number to clamp.
92
76
  * @returns The value clamped to [0, 32767] as a NonNegativeInt16.
93
77
  */
94
78
  clamp,
95
79
  /**
96
80
  * Generates a random NonNegativeInt16 value within the valid range.
81
+ *
97
82
  * @returns A random NonNegativeInt16 between 0 and 32767.
98
83
  */
99
84
  random,
100
85
  /**
101
86
  * Raises a NonNegativeInt16 to the power of another NonNegativeInt16.
87
+ *
102
88
  * @param a The base NonNegativeInt16.
103
89
  * @param b The exponent NonNegativeInt16.
104
90
  * @returns `a ** b` clamped to [0, 32767] as a NonNegativeInt16.
@@ -106,6 +92,7 @@ const NonNegativeInt16 = {
106
92
  pow,
107
93
  /**
108
94
  * Adds two NonNegativeInt16 values.
95
+ *
109
96
  * @param a The first NonNegativeInt16.
110
97
  * @param b The second NonNegativeInt16.
111
98
  * @returns `a + b` clamped to [0, 32767] as a NonNegativeInt16.
@@ -113,6 +100,7 @@ const NonNegativeInt16 = {
113
100
  add,
114
101
  /**
115
102
  * Subtracts one NonNegativeInt16 from another.
103
+ *
116
104
  * @param a The minuend NonNegativeInt16.
117
105
  * @param b The subtrahend NonNegativeInt16.
118
106
  * @returns `a - b` clamped to [0, 32767] as a NonNegativeInt16 (minimum 0).
@@ -120,6 +108,7 @@ const NonNegativeInt16 = {
120
108
  sub,
121
109
  /**
122
110
  * Multiplies two NonNegativeInt16 values.
111
+ *
123
112
  * @param a The first NonNegativeInt16.
124
113
  * @param b The second NonNegativeInt16.
125
114
  * @returns `a * b` clamped to [0, 32767] as a NonNegativeInt16.
@@ -127,6 +116,7 @@ const NonNegativeInt16 = {
127
116
  mul,
128
117
  /**
129
118
  * Divides one NonNegativeInt16 by another using floor division.
119
+ *
130
120
  * @param a The dividend NonNegativeInt16.
131
121
  * @param b The divisor NonNegativeInt16.
132
122
  * @returns `⌊a / b⌋` clamped to [0, 32767] as a NonNegativeInt16.