ts-data-forge 3.3.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (664) hide show
  1. package/README.md +37 -13
  2. package/dist/array/impl/array-utils-creation.d.mts +116 -0
  3. package/dist/array/impl/array-utils-creation.d.mts.map +1 -0
  4. package/dist/array/impl/array-utils-creation.mjs +110 -0
  5. package/dist/array/impl/array-utils-creation.mjs.map +1 -0
  6. package/dist/array/impl/array-utils-element-access.d.mts +60 -0
  7. package/dist/array/impl/array-utils-element-access.d.mts.map +1 -0
  8. package/dist/array/impl/array-utils-element-access.mjs +66 -0
  9. package/dist/array/impl/array-utils-element-access.mjs.map +1 -0
  10. package/dist/array/impl/array-utils-iterators.d.mts +59 -0
  11. package/dist/array/impl/array-utils-iterators.d.mts.map +1 -0
  12. package/dist/array/impl/array-utils-iterators.mjs +104 -0
  13. package/dist/array/impl/array-utils-iterators.mjs.map +1 -0
  14. package/dist/array/impl/array-utils-modification.d.mts +154 -0
  15. package/dist/array/impl/array-utils-modification.d.mts.map +1 -0
  16. package/dist/array/impl/array-utils-modification.mjs +139 -0
  17. package/dist/array/impl/array-utils-modification.mjs.map +1 -0
  18. package/dist/array/impl/array-utils-reducing-value.d.mts +213 -0
  19. package/dist/array/impl/array-utils-reducing-value.d.mts.map +1 -0
  20. package/dist/array/impl/array-utils-reducing-value.mjs +162 -0
  21. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -0
  22. package/dist/array/impl/array-utils-search.d.mts +178 -0
  23. package/dist/array/impl/array-utils-search.d.mts.map +1 -0
  24. package/dist/array/impl/array-utils-search.mjs +153 -0
  25. package/dist/array/impl/array-utils-search.mjs.map +1 -0
  26. package/dist/array/impl/array-utils-set-op.d.mts +100 -0
  27. package/dist/array/impl/array-utils-set-op.d.mts.map +1 -0
  28. package/dist/array/impl/array-utils-set-op.mjs +137 -0
  29. package/dist/array/impl/array-utils-set-op.mjs.map +1 -0
  30. package/dist/array/impl/array-utils-size.d.mts +24 -0
  31. package/dist/array/impl/array-utils-size.d.mts.map +1 -0
  32. package/dist/array/impl/array-utils-size.mjs +28 -0
  33. package/dist/array/impl/array-utils-size.mjs.map +1 -0
  34. package/dist/array/impl/array-utils-slice-clamped.d.mts +18 -0
  35. package/dist/array/impl/array-utils-slice-clamped.d.mts.map +1 -0
  36. package/dist/array/impl/array-utils-slice-clamped.mjs +49 -0
  37. package/dist/array/impl/array-utils-slice-clamped.mjs.map +1 -0
  38. package/dist/array/impl/array-utils-slicing.d.mts +120 -0
  39. package/dist/array/impl/array-utils-slicing.d.mts.map +1 -0
  40. package/dist/array/impl/array-utils-slicing.mjs +140 -0
  41. package/dist/array/impl/array-utils-slicing.mjs.map +1 -0
  42. package/dist/array/impl/array-utils-transformation.d.mts +348 -0
  43. package/dist/array/impl/array-utils-transformation.d.mts.map +1 -0
  44. package/dist/array/impl/array-utils-transformation.mjs +329 -0
  45. package/dist/array/impl/array-utils-transformation.mjs.map +1 -0
  46. package/dist/array/impl/array-utils-validation.d.mts +149 -0
  47. package/dist/array/impl/array-utils-validation.d.mts.map +1 -0
  48. package/dist/array/impl/array-utils-validation.mjs +166 -0
  49. package/dist/array/impl/array-utils-validation.mjs.map +1 -0
  50. package/dist/array/impl/index.d.mts +13 -0
  51. package/dist/array/impl/index.d.mts.map +1 -0
  52. package/dist/array/impl/index.mjs +13 -0
  53. package/dist/array/impl/index.mjs.map +1 -0
  54. package/dist/array/index.d.mts +1 -1
  55. package/dist/array/index.d.mts.map +1 -1
  56. package/dist/array/index.mjs +2 -1
  57. package/dist/array/index.mjs.map +1 -1
  58. package/dist/collections/imap-mapped.d.mts +83 -254
  59. package/dist/collections/imap-mapped.d.mts.map +1 -1
  60. package/dist/collections/imap-mapped.mjs +40 -170
  61. package/dist/collections/imap-mapped.mjs.map +1 -1
  62. package/dist/collections/imap.d.mts +436 -164
  63. package/dist/collections/imap.d.mts.map +1 -1
  64. package/dist/collections/imap.mjs +83 -101
  65. package/dist/collections/imap.mjs.map +1 -1
  66. package/dist/collections/iset-mapped.d.mts +828 -345
  67. package/dist/collections/iset-mapped.d.mts.map +1 -1
  68. package/dist/collections/iset-mapped.mjs +200 -242
  69. package/dist/collections/iset-mapped.mjs.map +1 -1
  70. package/dist/collections/iset.d.mts +397 -205
  71. package/dist/collections/iset.d.mts.map +1 -1
  72. package/dist/collections/iset.mjs +102 -184
  73. package/dist/collections/iset.mjs.map +1 -1
  74. package/dist/collections/queue.d.mts +155 -136
  75. package/dist/collections/queue.d.mts.map +1 -1
  76. package/dist/collections/queue.mjs +59 -160
  77. package/dist/collections/queue.mjs.map +1 -1
  78. package/dist/collections/stack.d.mts +154 -155
  79. package/dist/collections/stack.d.mts.map +1 -1
  80. package/dist/collections/stack.mjs +58 -207
  81. package/dist/collections/stack.mjs.map +1 -1
  82. package/dist/entry-point.d.mts +2 -0
  83. package/dist/entry-point.d.mts.map +1 -1
  84. package/dist/entry-point.mjs +8 -5
  85. package/dist/entry-point.mjs.map +1 -1
  86. package/dist/expect-type.d.mts +43 -172
  87. package/dist/expect-type.d.mts.map +1 -1
  88. package/dist/expect-type.mjs +43 -172
  89. package/dist/expect-type.mjs.map +1 -1
  90. package/dist/functional/index.d.mts +2 -2
  91. package/dist/functional/index.d.mts.map +1 -1
  92. package/dist/functional/index.mjs +4 -2
  93. package/dist/functional/index.mjs.map +1 -1
  94. package/dist/functional/match.d.mts +35 -140
  95. package/dist/functional/match.d.mts.map +1 -1
  96. package/dist/functional/match.mjs.map +1 -1
  97. package/dist/functional/optional/impl/index.d.mts +18 -0
  98. package/dist/functional/optional/impl/index.d.mts.map +1 -0
  99. package/dist/functional/optional/impl/index.mjs +17 -0
  100. package/dist/functional/optional/impl/index.mjs.map +1 -0
  101. package/dist/functional/optional/impl/optional-expect-to-be.d.mts +29 -0
  102. package/dist/functional/optional/impl/optional-expect-to-be.d.mts.map +1 -0
  103. package/dist/functional/optional/impl/optional-expect-to-be.mjs +25 -0
  104. package/dist/functional/optional/impl/optional-expect-to-be.mjs.map +1 -0
  105. package/dist/functional/optional/impl/optional-filter.d.mts +29 -0
  106. package/dist/functional/optional/impl/optional-filter.d.mts.map +1 -0
  107. package/dist/functional/optional/impl/optional-filter.mjs +28 -0
  108. package/dist/functional/optional/impl/optional-filter.mjs.map +1 -0
  109. package/dist/functional/optional/impl/optional-flat-map.d.mts +33 -0
  110. package/dist/functional/optional/impl/optional-flat-map.d.mts.map +1 -0
  111. package/dist/functional/optional/impl/optional-flat-map.mjs +21 -0
  112. package/dist/functional/optional/impl/optional-flat-map.mjs.map +1 -0
  113. package/dist/functional/optional/impl/optional-from-nullable.d.mts +24 -0
  114. package/dist/functional/optional/impl/optional-from-nullable.d.mts.map +1 -0
  115. package/dist/functional/optional/impl/optional-from-nullable.mjs +29 -0
  116. package/dist/functional/optional/impl/optional-from-nullable.mjs.map +1 -0
  117. package/dist/functional/optional/impl/optional-is-none.d.mts +22 -0
  118. package/dist/functional/optional/impl/optional-is-none.d.mts.map +1 -0
  119. package/dist/functional/optional/impl/optional-is-none.mjs +25 -0
  120. package/dist/functional/optional/impl/optional-is-none.mjs.map +1 -0
  121. package/dist/functional/optional/impl/optional-is-optional.d.mts +18 -0
  122. package/dist/functional/optional/impl/optional-is-optional.d.mts.map +1 -0
  123. package/dist/functional/optional/impl/optional-is-optional.mjs +27 -0
  124. package/dist/functional/optional/impl/optional-is-optional.mjs.map +1 -0
  125. package/dist/functional/optional/impl/optional-is-some.d.mts +22 -0
  126. package/dist/functional/optional/impl/optional-is-some.d.mts.map +1 -0
  127. package/dist/functional/optional/impl/optional-is-some.mjs +25 -0
  128. package/dist/functional/optional/impl/optional-is-some.mjs.map +1 -0
  129. package/dist/functional/optional/impl/optional-map.d.mts +31 -0
  130. package/dist/functional/optional/impl/optional-map.d.mts.map +1 -0
  131. package/dist/functional/optional/impl/optional-map.mjs +25 -0
  132. package/dist/functional/optional/impl/optional-map.mjs.map +1 -0
  133. package/dist/functional/optional/impl/optional-none.d.mts +16 -0
  134. package/dist/functional/optional/impl/optional-none.d.mts.map +1 -0
  135. package/dist/functional/optional/impl/optional-none.mjs +20 -0
  136. package/dist/functional/optional/impl/optional-none.mjs.map +1 -0
  137. package/dist/functional/optional/impl/optional-or-else.d.mts +35 -0
  138. package/dist/functional/optional/impl/optional-or-else.d.mts.map +1 -0
  139. package/dist/functional/optional/impl/optional-or-else.mjs +19 -0
  140. package/dist/functional/optional/impl/optional-or-else.mjs.map +1 -0
  141. package/dist/functional/optional/impl/optional-some.d.mts +19 -0
  142. package/dist/functional/optional/impl/optional-some.d.mts.map +1 -0
  143. package/dist/functional/optional/impl/optional-some.mjs +26 -0
  144. package/dist/functional/optional/impl/optional-some.mjs.map +1 -0
  145. package/dist/functional/optional/impl/optional-to-nullable.d.mts +27 -0
  146. package/dist/functional/optional/impl/optional-to-nullable.d.mts.map +1 -0
  147. package/dist/functional/optional/impl/optional-to-nullable.mjs +31 -0
  148. package/dist/functional/optional/impl/optional-to-nullable.mjs.map +1 -0
  149. package/dist/functional/optional/impl/optional-unwrap-or.d.mts +33 -0
  150. package/dist/functional/optional/impl/optional-unwrap-or.d.mts.map +1 -0
  151. package/dist/functional/optional/impl/optional-unwrap-or.mjs +19 -0
  152. package/dist/functional/optional/impl/optional-unwrap-or.mjs.map +1 -0
  153. package/dist/functional/optional/impl/optional-unwrap-throw.d.mts +29 -0
  154. package/dist/functional/optional/impl/optional-unwrap-throw.d.mts.map +1 -0
  155. package/dist/functional/optional/impl/optional-unwrap-throw.mjs +38 -0
  156. package/dist/functional/optional/impl/optional-unwrap-throw.mjs.map +1 -0
  157. package/dist/functional/optional/impl/optional-unwrap.d.mts +28 -0
  158. package/dist/functional/optional/impl/optional-unwrap.d.mts.map +1 -0
  159. package/dist/functional/optional/impl/optional-unwrap.mjs +11 -0
  160. package/dist/functional/optional/impl/optional-unwrap.mjs.map +1 -0
  161. package/dist/functional/optional/impl/optional-zip.d.mts +31 -0
  162. package/dist/functional/optional/impl/optional-zip.d.mts.map +1 -0
  163. package/dist/functional/optional/impl/optional-zip.mjs +39 -0
  164. package/dist/functional/optional/impl/optional-zip.mjs.map +1 -0
  165. package/dist/functional/optional/impl/tag.d.mts +5 -0
  166. package/dist/functional/optional/impl/tag.d.mts.map +1 -0
  167. package/dist/functional/optional/impl/tag.mjs +7 -0
  168. package/dist/functional/optional/impl/tag.mjs.map +1 -0
  169. package/dist/functional/optional/impl/types.d.mts +22 -0
  170. package/dist/functional/optional/impl/types.d.mts.map +1 -0
  171. package/dist/functional/optional/impl/types.mjs +2 -0
  172. package/dist/functional/optional/impl/types.mjs.map +1 -0
  173. package/dist/functional/optional/index.d.mts +2 -0
  174. package/dist/functional/optional/index.d.mts.map +1 -0
  175. package/dist/functional/optional/index.mjs +3 -0
  176. package/dist/functional/optional/index.mjs.map +1 -0
  177. package/dist/functional/pipe.d.mts +63 -117
  178. package/dist/functional/pipe.d.mts.map +1 -1
  179. package/dist/functional/pipe.mjs +4 -3
  180. package/dist/functional/pipe.mjs.map +1 -1
  181. package/dist/functional/result/impl/index.d.mts +24 -0
  182. package/dist/functional/result/impl/index.d.mts.map +1 -0
  183. package/dist/functional/result/impl/index.mjs +23 -0
  184. package/dist/functional/result/impl/index.mjs.map +1 -0
  185. package/dist/functional/result/impl/result-err.d.mts +25 -0
  186. package/dist/functional/result/impl/result-err.d.mts.map +1 -0
  187. package/dist/functional/result/impl/result-err.mjs +32 -0
  188. package/dist/functional/result/impl/result-err.mjs.map +1 -0
  189. package/dist/functional/result/impl/result-expect-to-be.d.mts +27 -0
  190. package/dist/functional/result/impl/result-expect-to-be.d.mts.map +1 -0
  191. package/dist/functional/result/impl/result-expect-to-be.mjs +26 -0
  192. package/dist/functional/result/impl/result-expect-to-be.mjs.map +1 -0
  193. package/dist/functional/result/impl/result-flat-map.d.mts +39 -0
  194. package/dist/functional/result/impl/result-flat-map.d.mts.map +1 -0
  195. package/dist/functional/result/impl/result-flat-map.mjs +24 -0
  196. package/dist/functional/result/impl/result-flat-map.mjs.map +1 -0
  197. package/dist/functional/result/impl/result-fold.d.mts +45 -0
  198. package/dist/functional/result/impl/result-fold.d.mts.map +1 -0
  199. package/dist/functional/result/impl/result-fold.mjs +26 -0
  200. package/dist/functional/result/impl/result-fold.mjs.map +1 -0
  201. package/dist/functional/result/impl/result-from-promise.d.mts +32 -0
  202. package/dist/functional/result/impl/result-from-promise.d.mts.map +1 -0
  203. package/dist/functional/result/impl/result-from-promise.mjs +32 -0
  204. package/dist/functional/result/impl/result-from-promise.mjs.map +1 -0
  205. package/dist/functional/result/impl/result-from-throwable.d.mts +29 -0
  206. package/dist/functional/result/impl/result-from-throwable.d.mts.map +1 -0
  207. package/dist/functional/result/impl/result-from-throwable.mjs +46 -0
  208. package/dist/functional/result/impl/result-from-throwable.mjs.map +1 -0
  209. package/dist/functional/result/impl/result-is-err.d.mts +20 -0
  210. package/dist/functional/result/impl/result-is-err.d.mts.map +1 -0
  211. package/dist/functional/result/impl/result-is-err.mjs +23 -0
  212. package/dist/functional/result/impl/result-is-err.mjs.map +1 -0
  213. package/dist/functional/result/impl/result-is-ok.d.mts +20 -0
  214. package/dist/functional/result/impl/result-is-ok.d.mts.map +1 -0
  215. package/dist/functional/result/impl/result-is-ok.mjs +23 -0
  216. package/dist/functional/result/impl/result-is-ok.mjs.map +1 -0
  217. package/dist/functional/result/impl/result-is-result.d.mts +17 -0
  218. package/dist/functional/result/impl/result-is-result.d.mts.map +1 -0
  219. package/dist/functional/result/impl/result-is-result.mjs +26 -0
  220. package/dist/functional/result/impl/result-is-result.mjs.map +1 -0
  221. package/dist/functional/result/impl/result-map-err.d.mts +33 -0
  222. package/dist/functional/result/impl/result-map-err.d.mts.map +1 -0
  223. package/dist/functional/result/impl/result-map-err.mjs +25 -0
  224. package/dist/functional/result/impl/result-map-err.mjs.map +1 -0
  225. package/dist/functional/result/impl/result-map.d.mts +34 -0
  226. package/dist/functional/result/impl/result-map.d.mts.map +1 -0
  227. package/dist/functional/result/impl/result-map.mjs +25 -0
  228. package/dist/functional/result/impl/result-map.mjs.map +1 -0
  229. package/dist/functional/result/impl/result-ok.d.mts +25 -0
  230. package/dist/functional/result/impl/result-ok.d.mts.map +1 -0
  231. package/dist/functional/result/impl/result-ok.mjs +32 -0
  232. package/dist/functional/result/impl/result-ok.mjs.map +1 -0
  233. package/dist/functional/result/impl/result-or-else.d.mts +32 -0
  234. package/dist/functional/result/impl/result-or-else.d.mts.map +1 -0
  235. package/dist/functional/result/impl/result-or-else.mjs +20 -0
  236. package/dist/functional/result/impl/result-or-else.mjs.map +1 -0
  237. package/dist/functional/result/impl/result-swap.d.mts +20 -0
  238. package/dist/functional/result/impl/result-swap.d.mts.map +1 -0
  239. package/dist/functional/result/impl/result-swap.mjs +28 -0
  240. package/dist/functional/result/impl/result-swap.mjs.map +1 -0
  241. package/dist/functional/result/impl/result-to-optional.d.mts +28 -0
  242. package/dist/functional/result/impl/result-to-optional.d.mts.map +1 -0
  243. package/dist/functional/result/impl/result-to-optional.mjs +34 -0
  244. package/dist/functional/result/impl/result-to-optional.mjs.map +1 -0
  245. package/dist/functional/result/impl/result-unwrap-err-or.d.mts +29 -0
  246. package/dist/functional/result/impl/result-unwrap-err-or.d.mts.map +1 -0
  247. package/dist/functional/result/impl/result-unwrap-err-or.mjs +20 -0
  248. package/dist/functional/result/impl/result-unwrap-err-or.mjs.map +1 -0
  249. package/dist/functional/result/impl/result-unwrap-err-throw.d.mts +30 -0
  250. package/dist/functional/result/impl/result-unwrap-err-throw.d.mts.map +1 -0
  251. package/dist/functional/result/impl/result-unwrap-err-throw.mjs +47 -0
  252. package/dist/functional/result/impl/result-unwrap-err-throw.mjs.map +1 -0
  253. package/dist/functional/result/impl/result-unwrap-err.d.mts +31 -0
  254. package/dist/functional/result/impl/result-unwrap-err.d.mts.map +1 -0
  255. package/dist/functional/result/impl/result-unwrap-err.mjs +36 -0
  256. package/dist/functional/result/impl/result-unwrap-err.mjs.map +1 -0
  257. package/dist/functional/result/impl/result-unwrap-ok-or.d.mts +29 -0
  258. package/dist/functional/result/impl/result-unwrap-ok-or.d.mts.map +1 -0
  259. package/dist/functional/result/impl/result-unwrap-ok-or.mjs +20 -0
  260. package/dist/functional/result/impl/result-unwrap-ok-or.mjs.map +1 -0
  261. package/dist/functional/result/impl/result-unwrap-ok.d.mts +23 -0
  262. package/dist/functional/result/impl/result-unwrap-ok.d.mts.map +1 -0
  263. package/dist/functional/result/impl/result-unwrap-ok.mjs +11 -0
  264. package/dist/functional/result/impl/result-unwrap-ok.mjs.map +1 -0
  265. package/dist/functional/result/impl/result-unwrap-throw.d.mts +30 -0
  266. package/dist/functional/result/impl/result-unwrap-throw.d.mts.map +1 -0
  267. package/dist/functional/result/impl/result-unwrap-throw.mjs +41 -0
  268. package/dist/functional/result/impl/result-unwrap-throw.mjs.map +1 -0
  269. package/dist/functional/result/impl/result-zip.d.mts +29 -0
  270. package/dist/functional/result/impl/result-zip.d.mts.map +1 -0
  271. package/dist/functional/result/impl/result-zip.mjs +38 -0
  272. package/dist/functional/result/impl/result-zip.mjs.map +1 -0
  273. package/dist/functional/result/impl/tag.d.mts +5 -0
  274. package/dist/functional/result/impl/tag.d.mts.map +1 -0
  275. package/dist/functional/result/impl/tag.mjs +7 -0
  276. package/dist/functional/result/impl/tag.mjs.map +1 -0
  277. package/dist/functional/result/impl/types.d.mts +29 -0
  278. package/dist/functional/result/impl/types.d.mts.map +1 -0
  279. package/dist/functional/result/impl/types.mjs +2 -0
  280. package/dist/functional/result/impl/types.mjs.map +1 -0
  281. package/dist/functional/result/index.d.mts +2 -0
  282. package/dist/functional/result/index.d.mts.map +1 -0
  283. package/dist/functional/result/index.mjs +3 -0
  284. package/dist/functional/result/index.mjs.map +1 -0
  285. package/dist/globals.d.mts +95 -5
  286. package/dist/guard/has-key.d.mts +23 -74
  287. package/dist/guard/has-key.d.mts.map +1 -1
  288. package/dist/guard/has-key.mjs +23 -74
  289. package/dist/guard/has-key.mjs.map +1 -1
  290. package/dist/guard/is-non-empty-string.d.mts +20 -87
  291. package/dist/guard/is-non-empty-string.d.mts.map +1 -1
  292. package/dist/guard/is-non-empty-string.mjs +20 -87
  293. package/dist/guard/is-non-empty-string.mjs.map +1 -1
  294. package/dist/guard/is-non-null-object.d.mts +14 -84
  295. package/dist/guard/is-non-null-object.d.mts.map +1 -1
  296. package/dist/guard/is-non-null-object.mjs +14 -84
  297. package/dist/guard/is-non-null-object.mjs.map +1 -1
  298. package/dist/guard/is-primitive.d.mts +13 -126
  299. package/dist/guard/is-primitive.d.mts.map +1 -1
  300. package/dist/guard/is-primitive.mjs +13 -126
  301. package/dist/guard/is-primitive.mjs.map +1 -1
  302. package/dist/guard/is-record.d.mts +21 -132
  303. package/dist/guard/is-record.d.mts.map +1 -1
  304. package/dist/guard/is-record.mjs +21 -132
  305. package/dist/guard/is-record.mjs.map +1 -1
  306. package/dist/guard/is-type.d.mts +201 -238
  307. package/dist/guard/is-type.d.mts.map +1 -1
  308. package/dist/guard/is-type.mjs +201 -238
  309. package/dist/guard/is-type.mjs.map +1 -1
  310. package/dist/guard/key-is-in.d.mts +22 -139
  311. package/dist/guard/key-is-in.d.mts.map +1 -1
  312. package/dist/guard/key-is-in.mjs +22 -139
  313. package/dist/guard/key-is-in.mjs.map +1 -1
  314. package/dist/index.d.mts +0 -2
  315. package/dist/index.d.mts.map +1 -1
  316. package/dist/index.mjs +0 -5
  317. package/dist/index.mjs.map +1 -1
  318. package/dist/iterator/range.d.mts +29 -62
  319. package/dist/iterator/range.d.mts.map +1 -1
  320. package/dist/iterator/range.mjs.map +1 -1
  321. package/dist/json/json.d.mts +191 -122
  322. package/dist/json/json.d.mts.map +1 -1
  323. package/dist/json/json.mjs +246 -144
  324. package/dist/json/json.mjs.map +1 -1
  325. package/dist/number/branded-types/finite-number.d.mts +24 -156
  326. package/dist/number/branded-types/finite-number.d.mts.map +1 -1
  327. package/dist/number/branded-types/finite-number.mjs +28 -160
  328. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  329. package/dist/number/branded-types/int.d.mts +122 -120
  330. package/dist/number/branded-types/int.d.mts.map +1 -1
  331. package/dist/number/branded-types/int.mjs +123 -121
  332. package/dist/number/branded-types/int.mjs.map +1 -1
  333. package/dist/number/branded-types/int16.d.mts +22 -30
  334. package/dist/number/branded-types/int16.d.mts.map +1 -1
  335. package/dist/number/branded-types/int16.mjs +23 -31
  336. package/dist/number/branded-types/int16.mjs.map +1 -1
  337. package/dist/number/branded-types/int32.d.mts +22 -31
  338. package/dist/number/branded-types/int32.d.mts.map +1 -1
  339. package/dist/number/branded-types/int32.mjs +23 -32
  340. package/dist/number/branded-types/int32.mjs.map +1 -1
  341. package/dist/number/branded-types/non-negative-finite-number.d.mts +28 -36
  342. package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
  343. package/dist/number/branded-types/non-negative-finite-number.mjs +32 -40
  344. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  345. package/dist/number/branded-types/non-negative-int16.d.mts +24 -34
  346. package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
  347. package/dist/number/branded-types/non-negative-int16.mjs +25 -35
  348. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  349. package/dist/number/branded-types/non-negative-int32.d.mts +26 -35
  350. package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
  351. package/dist/number/branded-types/non-negative-int32.mjs +27 -36
  352. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  353. package/dist/number/branded-types/non-zero-finite-number.d.mts +22 -37
  354. package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -1
  355. package/dist/number/branded-types/non-zero-finite-number.mjs +26 -41
  356. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  357. package/dist/number/branded-types/non-zero-int.d.mts +15 -30
  358. package/dist/number/branded-types/non-zero-int.d.mts.map +1 -1
  359. package/dist/number/branded-types/non-zero-int.mjs +16 -31
  360. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  361. package/dist/number/branded-types/non-zero-int16.d.mts +27 -35
  362. package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
  363. package/dist/number/branded-types/non-zero-int16.mjs +28 -36
  364. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  365. package/dist/number/branded-types/non-zero-int32.d.mts +29 -36
  366. package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
  367. package/dist/number/branded-types/non-zero-int32.mjs +30 -37
  368. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  369. package/dist/number/branded-types/non-zero-safe-int.d.mts +37 -38
  370. package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
  371. package/dist/number/branded-types/non-zero-safe-int.mjs +40 -41
  372. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  373. package/dist/number/branded-types/non-zero-uint16.d.mts +24 -35
  374. package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
  375. package/dist/number/branded-types/non-zero-uint16.mjs +25 -36
  376. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  377. package/dist/number/branded-types/non-zero-uint32.d.mts +24 -35
  378. package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
  379. package/dist/number/branded-types/non-zero-uint32.mjs +25 -36
  380. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  381. package/dist/number/branded-types/positive-finite-number.d.mts +26 -40
  382. package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
  383. package/dist/number/branded-types/positive-finite-number.mjs +30 -44
  384. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  385. package/dist/number/branded-types/positive-int.d.mts +133 -123
  386. package/dist/number/branded-types/positive-int.d.mts.map +1 -1
  387. package/dist/number/branded-types/positive-int.mjs +134 -124
  388. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  389. package/dist/number/branded-types/positive-int16.d.mts +24 -35
  390. package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
  391. package/dist/number/branded-types/positive-int16.mjs +25 -36
  392. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  393. package/dist/number/branded-types/positive-int32.d.mts +24 -35
  394. package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
  395. package/dist/number/branded-types/positive-int32.mjs +25 -36
  396. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  397. package/dist/number/branded-types/positive-safe-int.d.mts +159 -33
  398. package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
  399. package/dist/number/branded-types/positive-safe-int.mjs +161 -35
  400. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  401. package/dist/number/branded-types/positive-uint16.d.mts +24 -35
  402. package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
  403. package/dist/number/branded-types/positive-uint16.mjs +25 -36
  404. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  405. package/dist/number/branded-types/positive-uint32.d.mts +26 -36
  406. package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
  407. package/dist/number/branded-types/positive-uint32.mjs +27 -37
  408. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  409. package/dist/number/branded-types/safe-int.d.mts +140 -99
  410. package/dist/number/branded-types/safe-int.d.mts.map +1 -1
  411. package/dist/number/branded-types/safe-int.mjs +143 -102
  412. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  413. package/dist/number/branded-types/safe-uint.d.mts +24 -33
  414. package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
  415. package/dist/number/branded-types/safe-uint.mjs +26 -35
  416. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  417. package/dist/number/branded-types/uint.d.mts +121 -30
  418. package/dist/number/branded-types/uint.d.mts.map +1 -1
  419. package/dist/number/branded-types/uint.mjs +122 -31
  420. package/dist/number/branded-types/uint.mjs.map +1 -1
  421. package/dist/number/branded-types/uint16.d.mts +26 -34
  422. package/dist/number/branded-types/uint16.d.mts.map +1 -1
  423. package/dist/number/branded-types/uint16.mjs +27 -35
  424. package/dist/number/branded-types/uint16.mjs.map +1 -1
  425. package/dist/number/branded-types/uint32.d.mts +26 -68
  426. package/dist/number/branded-types/uint32.d.mts.map +1 -1
  427. package/dist/number/branded-types/uint32.mjs +27 -69
  428. package/dist/number/branded-types/uint32.mjs.map +1 -1
  429. package/dist/number/enum/int8.d.mts +37 -101
  430. package/dist/number/enum/int8.d.mts.map +1 -1
  431. package/dist/number/enum/int8.mjs +40 -171
  432. package/dist/number/enum/int8.mjs.map +1 -1
  433. package/dist/number/enum/uint8.d.mts +45 -55
  434. package/dist/number/enum/uint8.d.mts.map +1 -1
  435. package/dist/number/enum/uint8.mjs +47 -156
  436. package/dist/number/enum/uint8.mjs.map +1 -1
  437. package/dist/number/num.d.mts +145 -206
  438. package/dist/number/num.d.mts.map +1 -1
  439. package/dist/number/num.mjs +143 -199
  440. package/dist/number/num.mjs.map +1 -1
  441. package/dist/number/refined-number-utils.d.mts +97 -21
  442. package/dist/number/refined-number-utils.d.mts.map +1 -1
  443. package/dist/number/refined-number-utils.mjs +91 -22
  444. package/dist/number/refined-number-utils.mjs.map +1 -1
  445. package/dist/object/object.d.mts +126 -208
  446. package/dist/object/object.d.mts.map +1 -1
  447. package/dist/object/object.mjs +68 -102
  448. package/dist/object/object.mjs.map +1 -1
  449. package/dist/others/cast-mutable.d.mts +12 -88
  450. package/dist/others/cast-mutable.d.mts.map +1 -1
  451. package/dist/others/cast-mutable.mjs +13 -89
  452. package/dist/others/cast-mutable.mjs.map +1 -1
  453. package/dist/others/cast-readonly.d.mts +12 -168
  454. package/dist/others/cast-readonly.d.mts.map +1 -1
  455. package/dist/others/cast-readonly.mjs +13 -169
  456. package/dist/others/cast-readonly.mjs.map +1 -1
  457. package/dist/others/if-then.d.mts +6 -83
  458. package/dist/others/if-then.d.mts.map +1 -1
  459. package/dist/others/if-then.mjs +6 -83
  460. package/dist/others/if-then.mjs.map +1 -1
  461. package/dist/others/map-nullable.d.mts +12 -136
  462. package/dist/others/map-nullable.d.mts.map +1 -1
  463. package/dist/others/map-nullable.mjs.map +1 -1
  464. package/dist/others/memoize-function.d.mts +14 -157
  465. package/dist/others/memoize-function.d.mts.map +1 -1
  466. package/dist/others/memoize-function.mjs +14 -157
  467. package/dist/others/memoize-function.mjs.map +1 -1
  468. package/dist/others/tuple.d.mts +33 -151
  469. package/dist/others/tuple.d.mts.map +1 -1
  470. package/dist/others/tuple.mjs +33 -151
  471. package/dist/others/tuple.mjs.map +1 -1
  472. package/dist/others/unknown-to-string.d.mts +11 -125
  473. package/dist/others/unknown-to-string.d.mts.map +1 -1
  474. package/dist/others/unknown-to-string.mjs +12 -126
  475. package/dist/others/unknown-to-string.mjs.map +1 -1
  476. package/dist/promise/promise.d.mts +33 -21
  477. package/dist/promise/promise.d.mts.map +1 -1
  478. package/dist/promise/promise.mjs +36 -24
  479. package/dist/promise/promise.mjs.map +1 -1
  480. package/package.json +58 -44
  481. package/src/array/impl/array-utils-creation.mts +192 -0
  482. package/src/array/{array-utils-creation.test.mts → impl/array-utils-creation.test.mts} +121 -72
  483. package/src/array/impl/array-utils-element-access.mts +115 -0
  484. package/src/array/impl/array-utils-element-access.test.mts +151 -0
  485. package/src/array/impl/array-utils-iterators.mts +79 -0
  486. package/src/array/impl/array-utils-iterators.test.mts +98 -0
  487. package/src/array/impl/array-utils-modification.mts +434 -0
  488. package/src/array/{array-utils-modification.test.mts → impl/array-utils-modification.test.mts} +41 -28
  489. package/src/array/{array-utils-overload-type-error.test.mts → impl/array-utils-overload-type-error.test.mts} +33 -33
  490. package/src/array/impl/array-utils-reducing-value.mts +535 -0
  491. package/src/array/{array-utils-reducing-value.test.mts → impl/array-utils-reducing-value.test.mts} +53 -58
  492. package/src/array/impl/array-utils-search.mts +509 -0
  493. package/src/array/impl/array-utils-search.test.mts +346 -0
  494. package/src/array/impl/array-utils-set-op.mts +166 -0
  495. package/src/array/{array-utils-set-op.test.mts → impl/array-utils-set-op.test.mts} +42 -35
  496. package/src/array/impl/array-utils-size.mts +30 -0
  497. package/src/array/impl/array-utils-size.test.mts +9 -0
  498. package/src/array/impl/array-utils-slice-clamped.mts +51 -0
  499. package/src/array/{array-utils-slice-clamped.test.mts → impl/array-utils-slice-clamped.test.mts} +13 -13
  500. package/src/array/impl/array-utils-slicing.mts +275 -0
  501. package/src/array/impl/array-utils-slicing.test.mts +158 -0
  502. package/src/array/impl/array-utils-transformation.mts +746 -0
  503. package/src/array/{array-utils-transformation.test.mts → impl/array-utils-transformation.test.mts} +662 -889
  504. package/src/array/impl/array-utils-validation.mts +241 -0
  505. package/src/array/{array-utils-validation.test.mts → impl/array-utils-validation.test.mts} +194 -107
  506. package/src/array/{array.test.mts → impl/array.test.mts} +2 -2
  507. package/src/array/impl/index.mts +12 -0
  508. package/src/array/index.mts +1 -1
  509. package/src/collections/imap-mapped.mts +99 -265
  510. package/src/collections/imap.mts +477 -174
  511. package/src/collections/imap.test.mts +12 -19
  512. package/src/collections/iset-mapped.mts +892 -358
  513. package/src/collections/iset.mts +429 -213
  514. package/src/collections/queue.mts +174 -200
  515. package/src/collections/stack.mts +172 -245
  516. package/src/collections/stack.test.mts +9 -1
  517. package/src/entry-point.mts +2 -0
  518. package/src/expect-type.mts +43 -172
  519. package/src/functional/index.mts +2 -2
  520. package/src/functional/match.mts +35 -145
  521. package/src/functional/optional/impl/index.mts +17 -0
  522. package/src/functional/optional/impl/optional-expect-to-be.mts +65 -0
  523. package/src/functional/optional/impl/optional-filter.mts +71 -0
  524. package/src/functional/optional/impl/optional-flat-map.mts +67 -0
  525. package/src/functional/optional/impl/optional-from-nullable.mts +28 -0
  526. package/src/functional/optional/impl/optional-is-none.mts +25 -0
  527. package/src/functional/optional/impl/optional-is-optional.mts +27 -0
  528. package/src/functional/optional/impl/optional-is-some.mts +25 -0
  529. package/src/functional/optional/impl/optional-map.mts +69 -0
  530. package/src/functional/optional/impl/optional-none.mts +17 -0
  531. package/src/functional/optional/impl/optional-or-else.mts +73 -0
  532. package/src/functional/optional/impl/optional-some.mts +23 -0
  533. package/src/functional/optional/impl/optional-to-nullable.mts +31 -0
  534. package/src/functional/optional/impl/optional-unwrap-or.mts +64 -0
  535. package/src/functional/optional/impl/optional-unwrap-throw.mts +39 -0
  536. package/src/functional/optional/impl/optional-unwrap.mts +41 -0
  537. package/src/functional/optional/impl/optional-zip.mts +40 -0
  538. package/src/functional/optional/impl/tag.mts +6 -0
  539. package/src/functional/optional/impl/types.mts +28 -0
  540. package/src/functional/optional/index.mts +1 -0
  541. package/src/functional/optional.test.mts +11 -9
  542. package/src/functional/pipe.mts +65 -118
  543. package/src/functional/pipe.test.mts +1 -1
  544. package/src/functional/result/impl/index.mts +23 -0
  545. package/src/functional/result/impl/result-err.mts +29 -0
  546. package/src/functional/result/impl/result-expect-to-be.mts +63 -0
  547. package/src/functional/result/impl/result-flat-map.mts +79 -0
  548. package/src/functional/result/impl/result-fold.mts +95 -0
  549. package/src/functional/result/impl/result-from-promise.mts +39 -0
  550. package/src/functional/result/impl/result-from-throwable.mts +42 -0
  551. package/src/functional/result/impl/result-is-err.mts +23 -0
  552. package/src/functional/result/impl/result-is-ok.mts +23 -0
  553. package/src/functional/result/impl/result-is-result.mts +23 -0
  554. package/src/functional/result/impl/result-map-err.mts +72 -0
  555. package/src/functional/result/impl/result-map.mts +73 -0
  556. package/src/functional/result/impl/result-ok.mts +29 -0
  557. package/src/functional/result/impl/result-or-else.mts +63 -0
  558. package/src/functional/result/impl/result-swap.mts +28 -0
  559. package/src/functional/result/impl/result-to-optional.mts +34 -0
  560. package/src/functional/result/impl/result-unwrap-err-or.mts +60 -0
  561. package/src/functional/result/impl/result-unwrap-err-throw.mts +53 -0
  562. package/src/functional/result/impl/result-unwrap-err.mts +36 -0
  563. package/src/functional/result/impl/result-unwrap-ok-or.mts +60 -0
  564. package/src/functional/result/impl/result-unwrap-ok.mts +35 -0
  565. package/src/functional/result/impl/result-unwrap-throw.mts +43 -0
  566. package/src/functional/result/impl/result-zip.mts +39 -0
  567. package/src/functional/result/impl/tag.mts +6 -0
  568. package/src/functional/result/impl/types.mts +35 -0
  569. package/src/functional/result/index.mts +1 -0
  570. package/src/functional/result.test.mts +14 -6
  571. package/src/globals.d.mts +95 -5
  572. package/src/guard/has-key.mts +23 -74
  573. package/src/guard/is-non-empty-string.mts +20 -87
  574. package/src/guard/is-non-empty-string.test.mts +1 -1
  575. package/src/guard/is-non-null-object.mts +14 -84
  576. package/src/guard/is-non-null-object.test.mts +4 -4
  577. package/src/guard/is-primitive.mts +13 -126
  578. package/src/guard/is-primitive.test.mts +4 -4
  579. package/src/guard/is-record.mts +21 -132
  580. package/src/guard/is-type.mts +201 -238
  581. package/src/guard/is-type.test.mts +10 -10
  582. package/src/guard/key-is-in.mts +22 -139
  583. package/src/index.mts +0 -2
  584. package/src/iterator/range.mts +29 -62
  585. package/src/json/json.mts +202 -134
  586. package/src/json/json.test.mts +1 -3
  587. package/src/number/branded-types/finite-number.mts +34 -166
  588. package/src/number/branded-types/int.mts +129 -127
  589. package/src/number/branded-types/int16.mts +31 -39
  590. package/src/number/branded-types/int16.test.mts +24 -24
  591. package/src/number/branded-types/int32.mts +31 -40
  592. package/src/number/branded-types/int32.test.mts +39 -39
  593. package/src/number/branded-types/non-negative-finite-number.mts +39 -47
  594. package/src/number/branded-types/non-negative-int16.mts +33 -43
  595. package/src/number/branded-types/non-negative-int16.test.mts +16 -16
  596. package/src/number/branded-types/non-negative-int32.mts +35 -44
  597. package/src/number/branded-types/non-negative-int32.test.mts +30 -30
  598. package/src/number/branded-types/non-zero-finite-number.mts +32 -47
  599. package/src/number/branded-types/non-zero-int.mts +22 -37
  600. package/src/number/branded-types/non-zero-int16.mts +36 -44
  601. package/src/number/branded-types/non-zero-int16.test.mts +26 -26
  602. package/src/number/branded-types/non-zero-int32.mts +38 -45
  603. package/src/number/branded-types/non-zero-int32.test.mts +45 -42
  604. package/src/number/branded-types/non-zero-safe-int.mts +48 -49
  605. package/src/number/branded-types/non-zero-uint16.mts +33 -44
  606. package/src/number/branded-types/non-zero-uint16.test.mts +16 -16
  607. package/src/number/branded-types/non-zero-uint32.mts +33 -44
  608. package/src/number/branded-types/non-zero-uint32.test.mts +28 -28
  609. package/src/number/branded-types/positive-finite-number.mts +37 -51
  610. package/src/number/branded-types/positive-int.mts +142 -132
  611. package/src/number/branded-types/positive-int16.mts +33 -44
  612. package/src/number/branded-types/positive-int16.test.mts +14 -14
  613. package/src/number/branded-types/positive-int32.mts +33 -44
  614. package/src/number/branded-types/positive-int32.test.mts +26 -26
  615. package/src/number/branded-types/positive-safe-int.mts +169 -43
  616. package/src/number/branded-types/positive-uint16.mts +33 -44
  617. package/src/number/branded-types/positive-uint16.test.mts +16 -16
  618. package/src/number/branded-types/positive-uint32.mts +35 -45
  619. package/src/number/branded-types/positive-uint32.test.mts +31 -28
  620. package/src/number/branded-types/safe-int.mts +151 -110
  621. package/src/number/branded-types/safe-uint.mts +34 -43
  622. package/src/number/branded-types/uint.mts +129 -38
  623. package/src/number/branded-types/uint16.mts +35 -43
  624. package/src/number/branded-types/uint16.test.mts +16 -16
  625. package/src/number/branded-types/uint32.mts +35 -77
  626. package/src/number/branded-types/uint32.test.mts +28 -28
  627. package/src/number/enum/int8.mts +42 -173
  628. package/src/number/enum/int8.test.mts +9 -9
  629. package/src/number/enum/uint8.mts +49 -158
  630. package/src/number/enum/uint8.test.mts +8 -8
  631. package/src/number/num.mts +157 -212
  632. package/src/number/num.test.mts +4 -4
  633. package/src/number/refined-number-utils.mts +109 -26
  634. package/src/object/object.mts +130 -212
  635. package/src/object/object.test.mts +29 -0
  636. package/src/others/cast-mutable.mts +13 -89
  637. package/src/others/cast-mutable.test.mts +80 -0
  638. package/src/others/cast-readonly.mts +13 -169
  639. package/src/others/if-then.mts +6 -83
  640. package/src/others/map-nullable.mts +12 -136
  641. package/src/others/map-nullable.test.mts +6 -6
  642. package/src/others/memoize-function.mts +14 -157
  643. package/src/others/tuple.mts +33 -151
  644. package/src/others/unknown-to-string.mts +12 -126
  645. package/src/others/unknown-to-string.test.mts +13 -1
  646. package/src/promise/promise.mts +34 -21
  647. package/src/promise/promise.test.mts +43 -0
  648. package/dist/array/array-utils.d.mts +0 -2956
  649. package/dist/array/array-utils.d.mts.map +0 -1
  650. package/dist/array/array-utils.mjs +0 -1838
  651. package/dist/array/array-utils.mjs.map +0 -1
  652. package/dist/functional/optional.d.mts +0 -360
  653. package/dist/functional/optional.d.mts.map +0 -1
  654. package/dist/functional/optional.mjs +0 -268
  655. package/dist/functional/optional.mjs.map +0 -1
  656. package/dist/functional/result.d.mts +0 -611
  657. package/dist/functional/result.d.mts.map +0 -1
  658. package/dist/functional/result.mjs +0 -545
  659. package/dist/functional/result.mjs.map +0 -1
  660. package/src/array/array-utils-search.test.mts +0 -169
  661. package/src/array/array-utils-slicing.test.mts +0 -274
  662. package/src/array/array-utils.mts +0 -4834
  663. package/src/functional/optional.mts +0 -591
  664. package/src/functional/result.mts +0 -986
@@ -1,7 +1,7 @@
1
1
  import { TsDataForgeInternals } from '../refined-number-utils.mjs';
2
2
 
3
3
  const typeNameInMessage = 'an integer';
4
- const { abs, min: min_, max: max_, pow, add, sub, mul, div, random, is, castType, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
4
+ const { abs, add, castType, div, is, max: max_, min: min_, mul, pow, random, sub, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
5
5
  integerOrSafeInteger: 'Integer',
6
6
  MIN_VALUE: -Number.MAX_VALUE,
7
7
  MAX_VALUE: Number.MAX_VALUE,
@@ -14,42 +14,37 @@ const { abs, min: min_, max: max_, pow, add, sub, mul, div, random, is, castType
14
14
  * with no fractional component. This includes values outside the safe integer
15
15
  * range, unlike SafeInt.
16
16
  *
17
- * @param value - The value to check
18
- * @returns `true` if the value is an integer, `false` otherwise
19
- *
20
17
  * @example
21
- * ```typescript
22
- * isInt(5); // true
23
- * isInt(-10); // true
24
- * isInt(0); // true
25
- * isInt(5.5); // false
26
- * isInt(NaN); // false
27
- * isInt(Infinity); // false
18
+ *
19
+ * ```ts
20
+ * assert.ok(isInt(5));
21
+ * assert.notOk(isInt(5.25));
22
+ * assert.ok(Int.is(-10));
28
23
  * ```
24
+ *
25
+ * @param value - The value to check
26
+ * @returns `true` if the value is an integer, `false` otherwise
29
27
  */
30
28
  const isInt = is;
31
29
  /**
32
30
  * Casts a number to an Int branded type.
33
31
  *
34
- * This function validates that the input is an integer and returns it with
35
- * the Int brand. Throws a TypeError if the value has a fractional component
36
- * or is not a finite number.
37
- *
38
- * @param value - The value to cast
39
- * @returns The value as an Int branded type
40
- * @throws {TypeError} If the value is not an integer
32
+ * This function validates that the input is an integer and returns it with the
33
+ * Int brand. Throws a TypeError if the value has a fractional component or is
34
+ * not a finite number.
41
35
  *
42
36
  * @example
43
- * ```typescript
44
- * const x = asInt(5); // Int
45
- * const y = asInt(-10); // Int
46
- * const z = asInt(0); // Int
47
37
  *
48
- * // These throw TypeError:
49
- * // asInt(5.5); // Not an integer
50
- * // asInt(NaN); // Not a number
51
- * // asInt(Infinity); // Not finite
38
+ * ```ts
39
+ * const branded = asInt(42);
40
+ *
41
+ * assert(branded === 42);
42
+ * assert.ok(Int.is(branded));
52
43
  * ```
44
+ *
45
+ * @param value - The value to cast
46
+ * @returns The value as an Int branded type
47
+ * @throws {TypeError} If the value is not an integer
53
48
  */
54
49
  const asInt = castType;
55
50
  /**
@@ -59,178 +54,185 @@ const asInt = castType;
59
54
  * range restrictions. All operations preserve the integer constraint, using
60
55
  * floor division for division operations.
61
56
  *
62
- * Unlike SafeInt, Int allows values outside the safe integer range
63
- * (±2^53 - 1), but be aware that very large integers may lose precision
64
- * in JavaScript's number type.
65
- *
66
- * @example
67
- * ```typescript
68
- * // Type validation
69
- * Int.is(42); // true
70
- * Int.is(3.14); // false
71
- * Int.is(-0); // true (negative zero is an integer)
72
- *
73
- * // Basic arithmetic
74
- * const a = asInt(10);
75
- * const b = asInt(3);
76
- *
77
- * const sum = Int.add(a, b); // Int (13)
78
- * const diff = Int.sub(a, b); // Int (7)
79
- * const product = Int.mul(a, b); // Int (30)
80
- * const quotient = Int.div(a, b); // Int (3) - floor division
81
- * const power = Int.pow(a, b); // Int (1000)
82
- *
83
- * // Utility operations
84
- * const absolute = Int.abs(asInt(-42)); // Int (42)
85
- * const minimum = Int.min(a, b, asInt(5)); // Int (3)
86
- * const maximum = Int.max(a, b, asInt(5)); // Int (10)
87
- *
88
- * // Random generation
89
- * const die = Int.random(asInt(1), asInt(6)); // Random Int in [1, 6]
90
- * ```
57
+ * Unlike SafeInt, Int allows values outside the safe integer range (±2^53 - 1),
58
+ * but be aware that very large integers may lose precision in JavaScript's
59
+ * number type.
91
60
  */
92
61
  const Int = {
93
62
  /**
94
63
  * Type guard that checks if a value is an integer.
95
64
  *
65
+ * @example
66
+ *
67
+ * ```ts
68
+ * assert.ok(isInt(5));
69
+ * assert.notOk(isInt(5.25));
70
+ * assert.ok(Int.is(-10));
71
+ * ```
72
+ *
96
73
  * @param value - The value to check
97
74
  * @returns `true` if the value is an integer, `false` otherwise
98
- *
99
75
  * @see {@link isInt} for usage examples
100
76
  */
101
77
  is,
102
78
  /**
103
79
  * Returns the absolute value of an integer.
104
80
  *
105
- * The result is always non-negative and maintains the Int brand.
106
- * Note that Math.abs(Number.MIN_SAFE_INTEGER) exceeds Number.MAX_SAFE_INTEGER,
107
- * so use SafeInt for guaranteed precision.
108
- *
109
- * @param a - The integer value
110
- * @returns The absolute value as a non-negative Int
81
+ * The result is always non-negative and maintains the Int brand. Note that
82
+ * Math.abs(Number.MIN_SAFE_INTEGER) exceeds Number.MAX_SAFE_INTEGER, so use
83
+ * SafeInt for guaranteed precision.
111
84
  *
112
85
  * @example
113
- * ```typescript
114
- * Int.abs(asInt(-5)); // Int (5)
115
- * Int.abs(asInt(3)); // Int (3)
116
- * Int.abs(asInt(-0)); // Int (0)
86
+ *
87
+ * ```ts
88
+ * const negative = asInt(-12);
89
+ * const absolute = Int.abs(negative);
90
+ *
91
+ * assert(absolute === 12);
92
+ * assert.ok(Int.is(absolute));
117
93
  * ```
94
+ *
95
+ * @param a - The integer value
96
+ * @returns The absolute value as a non-negative Int
118
97
  */
119
98
  abs,
120
99
  /**
121
100
  * Returns the minimum value from a list of integers.
122
101
  *
123
- * @param values - The integers to compare (at least one required)
124
- * @returns The smallest value as an Int
125
- *
126
102
  * @example
127
- * ```typescript
128
- * Int.min(asInt(5), asInt(3)); // Int (3)
129
- * Int.min(asInt(-10), asInt(0), asInt(10)); // Int (-10)
103
+ *
104
+ * ```ts
105
+ * const smallest = Int.min(asInt(7), asInt(-3), asInt(2));
106
+ *
107
+ * assert(smallest === -3);
130
108
  * ```
109
+ *
110
+ * @param values - The integers to compare (at least one required)
111
+ * @returns The smallest value as an Int
131
112
  */
132
113
  min: min_,
133
114
  /**
134
115
  * Returns the maximum value from a list of integers.
135
116
  *
136
- * @param values - The integers to compare (at least one required)
137
- * @returns The largest value as an Int
138
- *
139
117
  * @example
140
- * ```typescript
141
- * Int.max(asInt(5), asInt(3)); // Int (5)
142
- * Int.max(asInt(-10), asInt(0), asInt(10)); // Int (10)
118
+ *
119
+ * ```ts
120
+ * const largest = Int.max(asInt(7), asInt(-3), asInt(2));
121
+ *
122
+ * assert(largest === 7);
143
123
  * ```
124
+ *
125
+ * @param values - The integers to compare (at least one required)
126
+ * @returns The largest value as an Int
144
127
  */
145
128
  max: max_,
146
129
  /**
147
130
  * Generates a random integer within the specified range (inclusive).
148
131
  *
149
- * The range is inclusive on both ends, so random(1, 6) can return
150
- * any of: 1, 2, 3, 4, 5, or 6.
151
- *
152
- * @param min - The minimum value (inclusive)
153
- * @param max - The maximum value (inclusive)
154
- * @returns A random Int in the range [min, max]
132
+ * The range is inclusive on both ends, so random(1, 6) can return any of: 1,
133
+ * 2, 3, 4, 5, or 6.
155
134
  *
156
135
  * @example
157
- * ```typescript
158
- * // Dice roll
159
- * const d6 = Int.random(asInt(1), asInt(6));
160
136
  *
161
- * // Random array index
162
- * const index = Int.random(asInt(0), asInt(array.length - 1));
137
+ * ```ts
138
+ * const min = asInt(1);
139
+ * const max = asInt(6);
140
+ * const randomValue = Int.random(min, max);
163
141
  *
164
- * // Can generate negative values
165
- * const temp = Int.random(asInt(-10), asInt(10));
142
+ * assert.ok(Int.is(randomValue));
143
+ * assert.ok(randomValue >= 1 && randomValue <= 6);
166
144
  * ```
145
+ *
146
+ * @param min - The minimum value (inclusive)
147
+ * @param max - The maximum value (inclusive)
148
+ * @returns A random Int in the range [min, max]
167
149
  */
168
150
  random,
169
151
  /**
170
152
  * Raises an integer to a power.
153
+ *
154
+ * @example
155
+ *
156
+ * ```ts
157
+ * const base = asInt(2);
158
+ * const exponent = asInt(5);
159
+ * const power = Int.pow(base, exponent);
160
+ *
161
+ * assert(power === 32);
162
+ * ```
163
+ *
171
164
  * @param a - The base integer
172
165
  * @param b - The exponent integer
173
166
  * @returns `a ** b` as an Int
174
- * @example
175
- * ```typescript
176
- * Int.pow(asInt(2), asInt(3)); // Int (8)
177
- * ```
178
167
  */
179
168
  pow,
180
169
  /**
181
170
  * Adds two integers.
171
+ *
172
+ * @example
173
+ *
174
+ * ```ts
175
+ * const sum = Int.add(asInt(12), asInt(8));
176
+ *
177
+ * assert(sum === 20);
178
+ * ```
179
+ *
182
180
  * @param a - First integer
183
181
  * @param b - Second integer
184
182
  * @returns `a + b` as an Int
185
- * @example
186
- * ```typescript
187
- * Int.add(asInt(5), asInt(3)); // Int (8)
188
- * ```
189
183
  */
190
184
  add,
191
185
  /**
192
186
  * Subtracts two integers.
187
+ *
188
+ * @example
189
+ *
190
+ * ```ts
191
+ * const difference = Int.sub(asInt(12), asInt(8));
192
+ *
193
+ * assert(difference === 4);
194
+ * ```
195
+ *
193
196
  * @param a - First integer
194
197
  * @param b - Second integer
195
198
  * @returns `a - b` as an Int
196
- * @example
197
- * ```typescript
198
- * Int.sub(asInt(8), asInt(3)); // Int (5)
199
- * ```
200
199
  */
201
200
  sub,
202
201
  /**
203
202
  * Multiplies two integers.
203
+ *
204
+ * @example
205
+ *
206
+ * ```ts
207
+ * const product = Int.mul(asInt(-4), asInt(6));
208
+ *
209
+ * assert(product === -24);
210
+ * ```
211
+ *
204
212
  * @param a - First integer
205
213
  * @param b - Second integer
206
214
  * @returns `a * b` as an Int
207
- * @example
208
- * ```typescript
209
- * Int.mul(asInt(4), asInt(3)); // Int (12)
210
- * ```
211
215
  */
212
216
  mul,
213
217
  /**
214
218
  * Divides two integers using floor division.
215
219
  *
216
- * Performs mathematical floor division: `⌊a / b⌋`.
217
- * The result is always an integer, rounding toward negative infinity.
220
+ * Performs mathematical floor division: `⌊a / b⌋`. The result is always an
221
+ * integer, rounding toward negative infinity.
222
+ *
223
+ * @example
224
+ *
225
+ * ```ts
226
+ * const dividend = asInt(17);
227
+ * const divisor = asInt(5);
228
+ * const quotient = Int.div(dividend, divisor);
229
+ *
230
+ * assert(quotient === 3);
231
+ * ```
218
232
  *
219
233
  * @param a - The dividend
220
234
  * @param b - The divisor (must be non-zero)
221
235
  * @returns The integer quotient as an Int
222
- *
223
- * @example
224
- * ```typescript
225
- * // Positive division
226
- * Int.div(asInt(10), asInt(3)); // Int (3)
227
- * Int.div(asInt(9), asInt(3)); // Int (3)
228
- *
229
- * // Negative division (rounds toward -∞)
230
- * Int.div(asInt(-10), asInt(3)); // Int (-4)
231
- * Int.div(asInt(10), asInt(-3)); // Int (-4)
232
- * Int.div(asInt(-10), asInt(-3)); // Int (3)
233
- * ```
234
236
  */
235
237
  div,
236
238
  };
@@ -1 +1 @@
1
- {"version":3,"file":"int.mjs","sources":["../../../src/number/branded-types/int.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,YAAY;AAEtC,MAAM,EACJ,GAAG,EACH,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,QAAQ,GACT,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,SAAS;AAC/B,IAAA,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS;IAC5B,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;;;;;;;;;;;;;;AAmBG;AACI,MAAM,KAAK,GAAG;AAErB;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,KAAK,GAAG;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCG;AACI,MAAM,GAAG,GAAG;AACjB;;;;;;;AAOG;IACH,EAAE;AAEF;;;;;;;;;;;;;;;;AAgBG;IACH,GAAG;AAEH;;;;;;;;;;;AAWG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;;;;;;AAWG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;;;;;;;;;;;;;;;;AAqBG;IACH,MAAM;AAEN;;;;;;;;;AASG;IACH,GAAG;AAEH;;;;;;;;;AASG;IACH,GAAG;AAEH;;;;;;;;;AASG;IACH,GAAG;AAEH;;;;;;;;;AASG;IACH,GAAG;AAEH;;;;;;;;;;;;;;;;;;;;;AAqBG;IACH,GAAG;;;;;"}
1
+ {"version":3,"file":"int.mjs","sources":["../../../src/number/branded-types/int.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,YAAY;AAEtC,MAAM,EACJ,GAAG,EACH,GAAG,EACH,QAAQ,EACR,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,MAAM,CAAC,SAAS;IAC5B,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;;;;;;;;;;;;AAiBG;AACI,MAAM,KAAK,GAAG;AAErB;;;;;;;;;;;;;;;;;;;AAmBG;AACI,MAAM,KAAK,GAAG;AAErB;;;;;;;;;;AAUG;AACI,MAAM,GAAG,GAAG;AACjB;;;;;;;;;;;;;;AAcG;IACH,EAAE;AAEF;;;;;;;;;;;;;;;;;;;AAmBG;IACH,GAAG;AAEH;;;;;;;;;;;;;AAaG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;;;;;;;;AAaG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;;;;;;;;;;;;;;;AAoBG;IACH,MAAM;AAEN;;;;;;;;;;;;;;;;AAgBG;IACH,GAAG;AAEH;;;;;;;;;;;;;;AAcG;IACH,GAAG;AAEH;;;;;;;;;;;;;;AAcG;IACH,GAAG;AAEH;;;;;;;;;;;;;;AAcG;IACH,GAAG;AAEH;;;;;;;;;;;;;;;;;;;AAmBG;IACH,GAAG;;;;;"}
@@ -1,22 +1,18 @@
1
1
  import { TsDataForgeInternals } from '../refined-number-utils.mjs';
2
2
  /**
3
- * Checks if a number is an Int16 (16-bit signed integer in the range [-2^15, 2^15)).
3
+ * Checks if a number is an Int16 (16-bit signed integer in the range [-2^15,
4
+ * 2^15)).
5
+ *
4
6
  * @param value The value to check.
5
7
  * @returns `true` if the value is an Int16, `false` otherwise.
6
8
  */
7
9
  export declare const isInt16: (a: number) => a is Int16;
8
10
  /**
9
11
  * Casts a number to an Int16 type.
12
+ *
10
13
  * @param value The value to cast.
11
14
  * @returns The value as an Int16 type.
12
15
  * @throws {TypeError} If the value is not an integer in [-2^15, 2^15).
13
- * @example
14
- * ```typescript
15
- * const x = asInt16(1000); // Int16
16
- * const y = asInt16(-5000); // Int16
17
- * // asInt16(50000); // throws TypeError
18
- * // asInt16(1.5); // throws TypeError
19
- * ```
20
16
  */
21
17
  export declare const asInt16: <N extends number>(x: N) => number & {
22
18
  readonly NaNValue: false;
@@ -35,55 +31,43 @@ export declare const asInt16: <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 signed integers.
39
- *
40
- * All operations automatically clamp results to the valid Int16 range [-32768, 32767].
41
- * This ensures that all arithmetic maintains the 16-bit signed integer constraint.
42
- *
43
- * @example
44
- * ```typescript
45
- * const a = asInt16(30000);
46
- * const b = asInt16(5000);
47
- *
48
- * // Arithmetic operations with automatic clamping
49
- * const sum = Int16.add(a, b); // Int16 (32767 - clamped to MAX_VALUE)
50
- * const diff = Int16.sub(a, b); // Int16 (25000)
51
- * const product = Int16.mul(a, b); // Int16 (32767 - clamped due to overflow)
52
- *
53
- * // Range operations
54
- * const clamped = Int16.clamp(100000); // Int16 (32767)
55
- * const minimum = Int16.min(a, b); // Int16 (5000)
56
- * const maximum = Int16.max(a, b); // Int16 (30000)
34
+ * Namespace providing type-safe arithmetic operations for 16-bit signed
35
+ * integers.
57
36
  *
58
- * // Range constants
59
- * const range = Int16.MAX_VALUE - Int16.MIN_VALUE + 1; // 65536
60
- * ```
37
+ * All operations automatically clamp results to the valid Int16 range [-32768,
38
+ * 32767]. This ensures that all arithmetic maintains the 16-bit signed integer
39
+ * constraint.
61
40
  */
62
41
  export declare const Int16: {
63
42
  /**
64
43
  * Type guard to check if a value is an Int16.
44
+ *
65
45
  * @param value The value to check.
66
46
  * @returns `true` if the value is a 16-bit signed integer, `false` otherwise.
67
47
  */
68
48
  readonly is: (a: number) => a is Int16;
69
49
  /**
70
50
  * The minimum value for a 16-bit signed integer.
51
+ *
71
52
  * @readonly
72
53
  */
73
54
  readonly MIN_VALUE: number;
74
55
  /**
75
56
  * The maximum value for a 16-bit signed integer.
57
+ *
76
58
  * @readonly
77
59
  */
78
60
  readonly MAX_VALUE: number;
79
61
  /**
80
62
  * Returns the absolute value of a 16-bit signed integer.
63
+ *
81
64
  * @param a The Int16 value.
82
65
  * @returns The absolute value as an Int16, clamped to valid range.
83
66
  */
84
67
  readonly abs: (x: WithSmallInt<Int16, 40>) => TsDataForgeInternals.RefinedNumberUtils.ToNonNegative<Int16>;
85
68
  /**
86
69
  * Returns the smaller of two Int16 values.
70
+ *
87
71
  * @param a The first Int16.
88
72
  * @param b The second Int16.
89
73
  * @returns The minimum value as an Int16.
@@ -91,6 +75,7 @@ export declare const Int16: {
91
75
  readonly min: (...values: readonly WithSmallInt<Int16, 40>[]) => Int16;
92
76
  /**
93
77
  * Returns the larger of two Int16 values.
78
+ *
94
79
  * @param a The first Int16.
95
80
  * @param b The second Int16.
96
81
  * @returns The maximum value as an Int16.
@@ -98,17 +83,20 @@ export declare const Int16: {
98
83
  readonly max: (...values: readonly WithSmallInt<Int16, 40>[]) => Int16;
99
84
  /**
100
85
  * Clamps a number to the Int16 range.
86
+ *
101
87
  * @param value The number to clamp.
102
88
  * @returns The value clamped to [-32768, 32767] as an Int16.
103
89
  */
104
90
  readonly clamp: (x: number) => Int16;
105
91
  /**
106
92
  * Generates a random Int16 value within the valid range.
93
+ *
107
94
  * @returns A random Int16 between MIN_VALUE and MAX_VALUE.
108
95
  */
109
96
  readonly random: (min?: WithSmallInt<Int16, 40> | undefined, max?: WithSmallInt<Int16, 40> | undefined) => Int16;
110
97
  /**
111
98
  * Raises an Int16 to the power of another Int16.
99
+ *
112
100
  * @param a The base Int16.
113
101
  * @param b The exponent Int16.
114
102
  * @returns `a ** b` clamped to [-32768, 32767] as an Int16.
@@ -116,6 +104,7 @@ export declare const Int16: {
116
104
  readonly pow: (x: WithSmallInt<Int16, 40>, y: WithSmallInt<Int16, 40>) => Int16;
117
105
  /**
118
106
  * Adds two Int16 values.
107
+ *
119
108
  * @param a The first Int16.
120
109
  * @param b The second Int16.
121
110
  * @returns `a + b` clamped to [-32768, 32767] as an Int16.
@@ -123,6 +112,7 @@ export declare const Int16: {
123
112
  readonly add: (x: WithSmallInt<Int16, 40>, y: WithSmallInt<Int16, 40>) => Int16;
124
113
  /**
125
114
  * Subtracts one Int16 from another.
115
+ *
126
116
  * @param a The minuend Int16.
127
117
  * @param b The subtrahend Int16.
128
118
  * @returns `a - b` clamped to [-32768, 32767] as an Int16.
@@ -130,6 +120,7 @@ export declare const Int16: {
130
120
  readonly sub: (x: WithSmallInt<Int16, 40>, y: WithSmallInt<Int16, 40>) => Int16;
131
121
  /**
132
122
  * Multiplies two Int16 values.
123
+ *
133
124
  * @param a The first Int16.
134
125
  * @param b The second Int16.
135
126
  * @returns `a * b` clamped to [-32768, 32767] as an Int16.
@@ -137,6 +128,7 @@ export declare const Int16: {
137
128
  readonly mul: (x: WithSmallInt<Int16, 40>, y: WithSmallInt<Int16, 40>) => Int16;
138
129
  /**
139
130
  * Divides one Int16 by another using floor division.
131
+ *
140
132
  * @param a The dividend Int16.
141
133
  * @param b The divisor Int16.
142
134
  * @returns `⌊a / b⌋` clamped to [-32768, 32767] as an Int16.
@@ -1 +1 @@
1
- {"version":3,"file":"int16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/int16.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAgCnE;;;;GAIG;AACH,eAAO,MAAM,OAAO,2BAAK,CAAC;AAE1B;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;MAAW,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,KAAK;IAChB;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;;;;;;;;;;;;;;;;;CAEK,CAAC"}
1
+ {"version":3,"file":"int16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/int16.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAgCnE;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,2BAAK,CAAC;AAE1B;;;;;;GAMG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;MAAW,CAAC;AAEhC;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK;IAChB;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;;;;;;;;;;;;;;;;;CAEK,CAAC"}
@@ -1,82 +1,66 @@
1
1
  import { TsDataForgeInternals } from '../refined-number-utils.mjs';
2
2
 
3
3
  const typeNameInMessage = 'an integer in [-2^15, 2^15)';
4
- const { MIN_VALUE, MAX_VALUE, min: min_, max: max_, abs, pow, add, sub, mul, div, random, is, castType, clamp, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
4
+ const { MAX_VALUE, MIN_VALUE, abs, add, castType, clamp, div, is, max: max_, min: min_, mul, pow, random, sub, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
5
5
  integerOrSafeInteger: 'SafeInteger',
6
6
  MIN_VALUE: -32768,
7
7
  MAX_VALUE: 2 ** 15 - 1,
8
8
  typeNameInMessage,
9
9
  });
10
10
  /**
11
- * Checks if a number is an Int16 (16-bit signed integer in the range [-2^15, 2^15)).
11
+ * Checks if a number is an Int16 (16-bit signed integer in the range [-2^15,
12
+ * 2^15)).
13
+ *
12
14
  * @param value The value to check.
13
15
  * @returns `true` if the value is an Int16, `false` otherwise.
14
16
  */
15
17
  const isInt16 = is;
16
18
  /**
17
19
  * Casts a number to an Int16 type.
20
+ *
18
21
  * @param value The value to cast.
19
22
  * @returns The value as an Int16 type.
20
23
  * @throws {TypeError} If the value is not an integer in [-2^15, 2^15).
21
- * @example
22
- * ```typescript
23
- * const x = asInt16(1000); // Int16
24
- * const y = asInt16(-5000); // Int16
25
- * // asInt16(50000); // throws TypeError
26
- * // asInt16(1.5); // throws TypeError
27
- * ```
28
24
  */
29
25
  const asInt16 = castType;
30
26
  /**
31
- * Namespace providing type-safe arithmetic operations for 16-bit signed integers.
32
- *
33
- * All operations automatically clamp results to the valid Int16 range [-32768, 32767].
34
- * This ensures that all arithmetic maintains the 16-bit signed integer constraint.
35
- *
36
- * @example
37
- * ```typescript
38
- * const a = asInt16(30000);
39
- * const b = asInt16(5000);
40
- *
41
- * // Arithmetic operations with automatic clamping
42
- * const sum = Int16.add(a, b); // Int16 (32767 - clamped to MAX_VALUE)
43
- * const diff = Int16.sub(a, b); // Int16 (25000)
44
- * const product = Int16.mul(a, b); // Int16 (32767 - clamped due to overflow)
45
- *
46
- * // Range operations
47
- * const clamped = Int16.clamp(100000); // Int16 (32767)
48
- * const minimum = Int16.min(a, b); // Int16 (5000)
49
- * const maximum = Int16.max(a, b); // Int16 (30000)
27
+ * Namespace providing type-safe arithmetic operations for 16-bit signed
28
+ * integers.
50
29
  *
51
- * // Range constants
52
- * const range = Int16.MAX_VALUE - Int16.MIN_VALUE + 1; // 65536
53
- * ```
30
+ * All operations automatically clamp results to the valid Int16 range [-32768,
31
+ * 32767]. This ensures that all arithmetic maintains the 16-bit signed integer
32
+ * constraint.
54
33
  */
55
34
  const Int16 = {
56
35
  /**
57
36
  * Type guard to check if a value is an Int16.
37
+ *
58
38
  * @param value The value to check.
59
39
  * @returns `true` if the value is a 16-bit signed integer, `false` otherwise.
60
40
  */
61
41
  is,
62
42
  /**
63
43
  * The minimum value for a 16-bit signed integer.
44
+ *
64
45
  * @readonly
65
46
  */
66
47
  MIN_VALUE,
67
48
  /**
68
49
  * The maximum value for a 16-bit signed integer.
50
+ *
69
51
  * @readonly
70
52
  */
71
53
  MAX_VALUE,
72
54
  /**
73
55
  * Returns the absolute value of a 16-bit signed integer.
56
+ *
74
57
  * @param a The Int16 value.
75
58
  * @returns The absolute value as an Int16, clamped to valid range.
76
59
  */
77
60
  abs,
78
61
  /**
79
62
  * Returns the smaller of two Int16 values.
63
+ *
80
64
  * @param a The first Int16.
81
65
  * @param b The second Int16.
82
66
  * @returns The minimum value as an Int16.
@@ -84,6 +68,7 @@ const Int16 = {
84
68
  min: min_,
85
69
  /**
86
70
  * Returns the larger of two Int16 values.
71
+ *
87
72
  * @param a The first Int16.
88
73
  * @param b The second Int16.
89
74
  * @returns The maximum value as an Int16.
@@ -91,17 +76,20 @@ const Int16 = {
91
76
  max: max_,
92
77
  /**
93
78
  * Clamps a number to the Int16 range.
79
+ *
94
80
  * @param value The number to clamp.
95
81
  * @returns The value clamped to [-32768, 32767] as an Int16.
96
82
  */
97
83
  clamp,
98
84
  /**
99
85
  * Generates a random Int16 value within the valid range.
86
+ *
100
87
  * @returns A random Int16 between MIN_VALUE and MAX_VALUE.
101
88
  */
102
89
  random,
103
90
  /**
104
91
  * Raises an Int16 to the power of another Int16.
92
+ *
105
93
  * @param a The base Int16.
106
94
  * @param b The exponent Int16.
107
95
  * @returns `a ** b` clamped to [-32768, 32767] as an Int16.
@@ -109,6 +97,7 @@ const Int16 = {
109
97
  pow,
110
98
  /**
111
99
  * Adds two Int16 values.
100
+ *
112
101
  * @param a The first Int16.
113
102
  * @param b The second Int16.
114
103
  * @returns `a + b` clamped to [-32768, 32767] as an Int16.
@@ -116,6 +105,7 @@ const Int16 = {
116
105
  add,
117
106
  /**
118
107
  * Subtracts one Int16 from another.
108
+ *
119
109
  * @param a The minuend Int16.
120
110
  * @param b The subtrahend Int16.
121
111
  * @returns `a - b` clamped to [-32768, 32767] as an Int16.
@@ -123,6 +113,7 @@ const Int16 = {
123
113
  sub,
124
114
  /**
125
115
  * Multiplies two Int16 values.
116
+ *
126
117
  * @param a The first Int16.
127
118
  * @param b The second Int16.
128
119
  * @returns `a * b` clamped to [-32768, 32767] as an Int16.
@@ -130,6 +121,7 @@ const Int16 = {
130
121
  mul,
131
122
  /**
132
123
  * Divides one Int16 by another using floor division.
124
+ *
133
125
  * @param a The dividend Int16.
134
126
  * @param b The divisor Int16.
135
127
  * @returns `⌊a / b⌋` clamped to [-32768, 32767] as an Int16.
@@ -1 +1 @@
1
- {"version":3,"file":"int16.mjs","sources":["../../../src/number/branded-types/int16.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,6BAA6B;AAEvD,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,QAAQ,EACR,KAAK,GACN,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,aAAa;AACnC,IAAA,SAAS,EAAE,MAAU;AACrB,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;AAIG;AACI,MAAM,OAAO,GAAG;AAEvB;;;;;;;;;;;;AAYG;AACI,MAAM,OAAO,GAAG;AAEvB;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACI,MAAM,KAAK,GAAG;AACnB;;;;AAIG;IACH,EAAE;AAEF;;;AAGG;IACH,SAAS;AAET;;;AAGG;IACH,SAAS;AAET;;;;AAIG;IACH,GAAG;AAEH;;;;;AAKG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;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":"int16.mjs","sources":["../../../src/number/branded-types/int16.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,6BAA6B;AAEvD,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EACH,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,aAAa;AACnC,IAAA,SAAS,EAAE,MAAU;AACrB,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;AAMG;AACI,MAAM,OAAO,GAAG;AAEvB;;;;;;AAMG;AACI,MAAM,OAAO,GAAG;AAEvB;;;;;;;AAOG;AACI,MAAM,KAAK,GAAG;AACnB;;;;;AAKG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;AAIG;IACH,SAAS;AAET;;;;;AAKG;IACH,GAAG;AAEH;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;IACH,KAAK;AAEL;;;;AAIG;IACH,MAAM;AAEN;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;;;;;"}