ts-data-forge 14.10.2 → 14.11.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 (424) hide show
  1. package/README.md +34 -1
  2. package/dist/array/impl/array-utils-reducing-value.d.mts.map +1 -1
  3. package/dist/array/impl/array-utils-reducing-value.mjs +4 -3
  4. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -1
  5. package/dist/array/impl/array-utils-slice-clamped.mjs +1 -1
  6. package/dist/array/impl/array-utils-slice-clamped.mjs.map +1 -1
  7. package/dist/array/impl/array-utils-slicing.d.mts.map +1 -1
  8. package/dist/array/impl/array-utils-slicing.mjs +10 -3
  9. package/dist/array/impl/array-utils-slicing.mjs.map +1 -1
  10. package/dist/array/impl/array-utils-transformation.d.mts.map +1 -1
  11. package/dist/array/impl/array-utils-transformation.mjs +2 -2
  12. package/dist/array/impl/array-utils-transformation.mjs.map +1 -1
  13. package/dist/array/impl/array-utils-validation.d.mts.map +1 -1
  14. package/dist/array/impl/array-utils-validation.mjs +2 -1
  15. package/dist/array/impl/array-utils-validation.mjs.map +1 -1
  16. package/dist/built-in-tag.d.mts +22 -0
  17. package/dist/built-in-tag.d.mts.map +1 -0
  18. package/dist/built-in-tag.mjs +34 -0
  19. package/dist/built-in-tag.mjs.map +1 -0
  20. package/dist/collections/stack.mjs +3 -3
  21. package/dist/collections/stack.mjs.map +1 -1
  22. package/dist/iterator/range.d.mts +1 -1
  23. package/dist/iterator/range.d.mts.map +1 -1
  24. package/dist/iterator/range.mjs +5 -2
  25. package/dist/iterator/range.mjs.map +1 -1
  26. package/dist/json/json.d.mts +20 -2
  27. package/dist/json/json.d.mts.map +1 -1
  28. package/dist/json/json.mjs +18 -0
  29. package/dist/json/json.mjs.map +1 -1
  30. package/dist/number/branded-types/finite-number.d.mts +4 -9
  31. package/dist/number/branded-types/finite-number.d.mts.map +1 -1
  32. package/dist/number/branded-types/finite-number.mjs +9 -9
  33. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  34. package/dist/number/branded-types/int.d.mts +3 -9
  35. package/dist/number/branded-types/int.d.mts.map +1 -1
  36. package/dist/number/branded-types/int.mjs +9 -10
  37. package/dist/number/branded-types/int.mjs.map +1 -1
  38. package/dist/number/branded-types/int16.d.mts +3 -18
  39. package/dist/number/branded-types/int16.d.mts.map +1 -1
  40. package/dist/number/branded-types/int16.mjs +9 -10
  41. package/dist/number/branded-types/int16.mjs.map +1 -1
  42. package/dist/number/branded-types/int32.d.mts +3 -14
  43. package/dist/number/branded-types/int32.d.mts.map +1 -1
  44. package/dist/number/branded-types/int32.mjs +9 -10
  45. package/dist/number/branded-types/int32.mjs.map +1 -1
  46. package/dist/number/branded-types/negative-finite-number.d.mts +4 -16
  47. package/dist/number/branded-types/negative-finite-number.d.mts.map +1 -1
  48. package/dist/number/branded-types/negative-finite-number.mjs +9 -10
  49. package/dist/number/branded-types/negative-finite-number.mjs.map +1 -1
  50. package/dist/number/branded-types/negative-int.d.mts +3 -16
  51. package/dist/number/branded-types/negative-int.d.mts.map +1 -1
  52. package/dist/number/branded-types/negative-int.mjs +9 -11
  53. package/dist/number/branded-types/negative-int.mjs.map +1 -1
  54. package/dist/number/branded-types/negative-safe-int.d.mts +3 -17
  55. package/dist/number/branded-types/negative-safe-int.d.mts.map +1 -1
  56. package/dist/number/branded-types/negative-safe-int.mjs +9 -11
  57. package/dist/number/branded-types/negative-safe-int.mjs.map +1 -1
  58. package/dist/number/branded-types/non-negative-finite-number.d.mts +4 -14
  59. package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
  60. package/dist/number/branded-types/non-negative-finite-number.mjs +9 -9
  61. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  62. package/dist/number/branded-types/non-negative-int16.d.mts +3 -19
  63. package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
  64. package/dist/number/branded-types/non-negative-int16.mjs +9 -10
  65. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  66. package/dist/number/branded-types/non-negative-int32.d.mts +3 -17
  67. package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
  68. package/dist/number/branded-types/non-negative-int32.mjs +9 -10
  69. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  70. package/dist/number/branded-types/non-positive-finite-number.d.mts +4 -14
  71. package/dist/number/branded-types/non-positive-finite-number.d.mts.map +1 -1
  72. package/dist/number/branded-types/non-positive-finite-number.mjs +9 -9
  73. package/dist/number/branded-types/non-positive-finite-number.mjs.map +1 -1
  74. package/dist/number/branded-types/non-positive-int.d.mts +3 -14
  75. package/dist/number/branded-types/non-positive-int.d.mts.map +1 -1
  76. package/dist/number/branded-types/non-positive-int.mjs +9 -10
  77. package/dist/number/branded-types/non-positive-int.mjs.map +1 -1
  78. package/dist/number/branded-types/non-positive-safe-int.d.mts +3 -15
  79. package/dist/number/branded-types/non-positive-safe-int.d.mts.map +1 -1
  80. package/dist/number/branded-types/non-positive-safe-int.mjs +9 -10
  81. package/dist/number/branded-types/non-positive-safe-int.mjs.map +1 -1
  82. package/dist/number/branded-types/non-zero-finite-number.d.mts +4 -10
  83. package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -1
  84. package/dist/number/branded-types/non-zero-finite-number.mjs +9 -10
  85. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  86. package/dist/number/branded-types/non-zero-int.d.mts +3 -10
  87. package/dist/number/branded-types/non-zero-int.d.mts.map +1 -1
  88. package/dist/number/branded-types/non-zero-int.mjs +9 -11
  89. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  90. package/dist/number/branded-types/non-zero-int16.d.mts +3 -19
  91. package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
  92. package/dist/number/branded-types/non-zero-int16.mjs +12 -11
  93. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  94. package/dist/number/branded-types/non-zero-int32.d.mts +3 -15
  95. package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
  96. package/dist/number/branded-types/non-zero-int32.mjs +12 -11
  97. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  98. package/dist/number/branded-types/non-zero-safe-int.d.mts +6 -14
  99. package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
  100. package/dist/number/branded-types/non-zero-safe-int.mjs +9 -13
  101. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  102. package/dist/number/branded-types/non-zero-uint16.d.mts +3 -20
  103. package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
  104. package/dist/number/branded-types/non-zero-uint16.mjs +9 -11
  105. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  106. package/dist/number/branded-types/non-zero-uint32.d.mts +3 -18
  107. package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
  108. package/dist/number/branded-types/non-zero-uint32.mjs +9 -11
  109. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  110. package/dist/number/branded-types/positive-finite-number.d.mts +4 -16
  111. package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
  112. package/dist/number/branded-types/positive-finite-number.mjs +9 -9
  113. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  114. package/dist/number/branded-types/positive-int.d.mts +3 -16
  115. package/dist/number/branded-types/positive-int.d.mts.map +1 -1
  116. package/dist/number/branded-types/positive-int.mjs +9 -10
  117. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  118. package/dist/number/branded-types/positive-int16.d.mts +3 -21
  119. package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
  120. package/dist/number/branded-types/positive-int16.mjs +9 -10
  121. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  122. package/dist/number/branded-types/positive-int32.d.mts +3 -19
  123. package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
  124. package/dist/number/branded-types/positive-int32.mjs +9 -10
  125. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  126. package/dist/number/branded-types/positive-safe-int.d.mts +5 -19
  127. package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
  128. package/dist/number/branded-types/positive-safe-int.mjs +9 -11
  129. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  130. package/dist/number/branded-types/positive-uint16.d.mts +3 -20
  131. package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
  132. package/dist/number/branded-types/positive-uint16.mjs +9 -10
  133. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  134. package/dist/number/branded-types/positive-uint32.d.mts +3 -18
  135. package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
  136. package/dist/number/branded-types/positive-uint32.mjs +9 -10
  137. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  138. package/dist/number/branded-types/safe-int.d.mts +5 -12
  139. package/dist/number/branded-types/safe-int.d.mts.map +1 -1
  140. package/dist/number/branded-types/safe-int.mjs +9 -12
  141. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  142. package/dist/number/branded-types/safe-uint.d.mts +3 -15
  143. package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
  144. package/dist/number/branded-types/safe-uint.mjs +9 -11
  145. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  146. package/dist/number/branded-types/uint.d.mts +3 -14
  147. package/dist/number/branded-types/uint.d.mts.map +1 -1
  148. package/dist/number/branded-types/uint.mjs +9 -10
  149. package/dist/number/branded-types/uint.mjs.map +1 -1
  150. package/dist/number/branded-types/uint16.d.mts +3 -18
  151. package/dist/number/branded-types/uint16.d.mts.map +1 -1
  152. package/dist/number/branded-types/uint16.mjs +9 -10
  153. package/dist/number/branded-types/uint16.mjs.map +1 -1
  154. package/dist/number/branded-types/uint32.d.mts +3 -16
  155. package/dist/number/branded-types/uint32.d.mts.map +1 -1
  156. package/dist/number/branded-types/uint32.mjs +9 -10
  157. package/dist/number/branded-types/uint32.mjs.map +1 -1
  158. package/dist/number/enum/int8.d.mts +13 -15
  159. package/dist/number/enum/int8.d.mts.map +1 -1
  160. package/dist/number/enum/int8.mjs +20 -25
  161. package/dist/number/enum/int8.mjs.map +1 -1
  162. package/dist/number/enum/uint8.d.mts +12 -14
  163. package/dist/number/enum/uint8.d.mts.map +1 -1
  164. package/dist/number/enum/uint8.mjs +18 -23
  165. package/dist/number/enum/uint8.mjs.map +1 -1
  166. package/dist/number/index.d.mts +1 -1
  167. package/dist/number/index.d.mts.map +1 -1
  168. package/dist/number/index.mjs +1 -1
  169. package/dist/number/index.mjs.map +1 -1
  170. package/dist/number/num/impl/index.d.mts +2 -0
  171. package/dist/number/num/impl/index.d.mts.map +1 -0
  172. package/dist/number/num/impl/index.mjs +2 -0
  173. package/dist/number/num/impl/index.mjs.map +1 -0
  174. package/dist/number/num/impl/num.d.mts +531 -0
  175. package/dist/number/num/impl/num.d.mts.map +1 -0
  176. package/dist/number/num/impl/num.mjs +542 -0
  177. package/dist/number/num/impl/num.mjs.map +1 -0
  178. package/dist/number/num/index.d.mts +17 -0
  179. package/dist/number/num/index.d.mts.map +1 -0
  180. package/dist/number/num/index.mjs +17 -0
  181. package/dist/number/num/index.mjs.map +1 -0
  182. package/dist/number/operators/finite-number.d.mts +16 -0
  183. package/dist/number/operators/finite-number.d.mts.map +1 -0
  184. package/dist/number/operators/finite-number.mjs +7 -0
  185. package/dist/number/operators/finite-number.mjs.map +1 -0
  186. package/dist/number/operators/int.d.mts +16 -0
  187. package/dist/number/operators/int.d.mts.map +1 -0
  188. package/dist/number/operators/int.mjs +8 -0
  189. package/dist/number/operators/int.mjs.map +1 -0
  190. package/dist/number/operators/int16.d.mts +25 -0
  191. package/dist/number/operators/int16.d.mts.map +1 -0
  192. package/dist/number/operators/int16.mjs +8 -0
  193. package/dist/number/operators/int16.mjs.map +1 -0
  194. package/dist/number/operators/int32.d.mts +21 -0
  195. package/dist/number/operators/int32.d.mts.map +1 -0
  196. package/dist/number/operators/int32.mjs +8 -0
  197. package/dist/number/operators/int32.mjs.map +1 -0
  198. package/dist/number/operators/int8.d.mts +24 -0
  199. package/dist/number/operators/int8.d.mts.map +1 -0
  200. package/dist/number/operators/int8.mjs +8 -0
  201. package/dist/number/operators/int8.mjs.map +1 -0
  202. package/dist/number/operators/negative-finite-number.d.mts +11 -0
  203. package/dist/number/operators/negative-finite-number.d.mts.map +1 -0
  204. package/dist/number/operators/negative-finite-number.mjs +8 -0
  205. package/dist/number/operators/negative-finite-number.mjs.map +1 -0
  206. package/dist/number/operators/negative-int.d.mts +10 -0
  207. package/dist/number/operators/negative-int.d.mts.map +1 -0
  208. package/dist/number/operators/negative-int.mjs +9 -0
  209. package/dist/number/operators/negative-int.mjs.map +1 -0
  210. package/dist/number/operators/negative-safe-int.d.mts +10 -0
  211. package/dist/number/operators/negative-safe-int.d.mts.map +1 -0
  212. package/dist/number/operators/negative-safe-int.mjs +9 -0
  213. package/dist/number/operators/negative-safe-int.mjs.map +1 -0
  214. package/dist/number/operators/non-negative-finite-number.d.mts +22 -0
  215. package/dist/number/operators/non-negative-finite-number.d.mts.map +1 -0
  216. package/dist/number/operators/non-negative-finite-number.mjs +7 -0
  217. package/dist/number/operators/non-negative-finite-number.mjs.map +1 -0
  218. package/dist/number/operators/non-negative-int16.d.mts +27 -0
  219. package/dist/number/operators/non-negative-int16.d.mts.map +1 -0
  220. package/dist/number/operators/non-negative-int16.mjs +8 -0
  221. package/dist/number/operators/non-negative-int16.mjs.map +1 -0
  222. package/dist/number/operators/non-negative-int32.d.mts +25 -0
  223. package/dist/number/operators/non-negative-int32.d.mts.map +1 -0
  224. package/dist/number/operators/non-negative-int32.mjs +8 -0
  225. package/dist/number/operators/non-negative-int32.mjs.map +1 -0
  226. package/dist/number/operators/non-positive-finite-number.d.mts +11 -0
  227. package/dist/number/operators/non-positive-finite-number.d.mts.map +1 -0
  228. package/dist/number/operators/non-positive-finite-number.mjs +7 -0
  229. package/dist/number/operators/non-positive-finite-number.mjs.map +1 -0
  230. package/dist/number/operators/non-positive-int.d.mts +10 -0
  231. package/dist/number/operators/non-positive-int.d.mts.map +1 -0
  232. package/dist/number/operators/non-positive-int.mjs +8 -0
  233. package/dist/number/operators/non-positive-int.mjs.map +1 -0
  234. package/dist/number/operators/non-positive-safe-int.d.mts +10 -0
  235. package/dist/number/operators/non-positive-safe-int.d.mts.map +1 -0
  236. package/dist/number/operators/non-positive-safe-int.mjs +8 -0
  237. package/dist/number/operators/non-positive-safe-int.mjs.map +1 -0
  238. package/dist/number/operators/non-zero-finite-number.d.mts +16 -0
  239. package/dist/number/operators/non-zero-finite-number.d.mts.map +1 -0
  240. package/dist/number/operators/non-zero-finite-number.mjs +8 -0
  241. package/dist/number/operators/non-zero-finite-number.mjs.map +1 -0
  242. package/dist/number/operators/non-zero-int.d.mts +10 -0
  243. package/dist/number/operators/non-zero-int.d.mts.map +1 -0
  244. package/dist/number/operators/non-zero-int.mjs +9 -0
  245. package/dist/number/operators/non-zero-int.mjs.map +1 -0
  246. package/dist/number/operators/non-zero-int16.d.mts +10 -0
  247. package/dist/number/operators/non-zero-int16.d.mts.map +1 -0
  248. package/dist/number/operators/non-zero-int16.mjs +9 -0
  249. package/dist/number/operators/non-zero-int16.mjs.map +1 -0
  250. package/dist/number/operators/non-zero-int32.d.mts +10 -0
  251. package/dist/number/operators/non-zero-int32.d.mts.map +1 -0
  252. package/dist/number/operators/non-zero-int32.mjs +9 -0
  253. package/dist/number/operators/non-zero-int32.mjs.map +1 -0
  254. package/dist/number/operators/non-zero-safe-int.d.mts +10 -0
  255. package/dist/number/operators/non-zero-safe-int.d.mts.map +1 -0
  256. package/dist/number/operators/non-zero-safe-int.mjs +11 -0
  257. package/dist/number/operators/non-zero-safe-int.mjs.map +1 -0
  258. package/dist/number/operators/non-zero-uint16.d.mts +2 -0
  259. package/dist/number/operators/non-zero-uint16.d.mts.map +1 -0
  260. package/dist/number/operators/non-zero-uint16.mjs +9 -0
  261. package/dist/number/operators/non-zero-uint16.mjs.map +1 -0
  262. package/dist/number/operators/non-zero-uint32.d.mts +2 -0
  263. package/dist/number/operators/non-zero-uint32.d.mts.map +1 -0
  264. package/dist/number/operators/non-zero-uint32.mjs +9 -0
  265. package/dist/number/operators/non-zero-uint32.mjs.map +1 -0
  266. package/dist/number/operators/positive-finite-number.d.mts +23 -0
  267. package/dist/number/operators/positive-finite-number.d.mts.map +1 -0
  268. package/dist/number/operators/positive-finite-number.mjs +7 -0
  269. package/dist/number/operators/positive-finite-number.mjs.map +1 -0
  270. package/dist/number/operators/positive-int.d.mts +23 -0
  271. package/dist/number/operators/positive-int.d.mts.map +1 -0
  272. package/dist/number/operators/positive-int.mjs +8 -0
  273. package/dist/number/operators/positive-int.mjs.map +1 -0
  274. package/dist/number/operators/positive-int16.d.mts +28 -0
  275. package/dist/number/operators/positive-int16.d.mts.map +1 -0
  276. package/dist/number/operators/positive-int16.mjs +8 -0
  277. package/dist/number/operators/positive-int16.mjs.map +1 -0
  278. package/dist/number/operators/positive-int32.d.mts +26 -0
  279. package/dist/number/operators/positive-int32.d.mts.map +1 -0
  280. package/dist/number/operators/positive-int32.mjs +8 -0
  281. package/dist/number/operators/positive-int32.mjs.map +1 -0
  282. package/dist/number/operators/positive-safe-int.d.mts +24 -0
  283. package/dist/number/operators/positive-safe-int.d.mts.map +1 -0
  284. package/dist/number/operators/positive-safe-int.mjs +9 -0
  285. package/dist/number/operators/positive-safe-int.mjs.map +1 -0
  286. package/dist/number/operators/positive-uint16.d.mts +27 -0
  287. package/dist/number/operators/positive-uint16.d.mts.map +1 -0
  288. package/dist/number/operators/positive-uint16.mjs +8 -0
  289. package/dist/number/operators/positive-uint16.mjs.map +1 -0
  290. package/dist/number/operators/positive-uint32.d.mts +25 -0
  291. package/dist/number/operators/positive-uint32.d.mts.map +1 -0
  292. package/dist/number/operators/positive-uint32.mjs +8 -0
  293. package/dist/number/operators/positive-uint32.mjs.map +1 -0
  294. package/dist/number/operators/safe-int.d.mts +17 -0
  295. package/dist/number/operators/safe-int.d.mts.map +1 -0
  296. package/dist/number/operators/safe-int.mjs +10 -0
  297. package/dist/number/operators/safe-int.mjs.map +1 -0
  298. package/dist/number/operators/safe-uint.d.mts +22 -0
  299. package/dist/number/operators/safe-uint.d.mts.map +1 -0
  300. package/dist/number/operators/safe-uint.mjs +9 -0
  301. package/dist/number/operators/safe-uint.mjs.map +1 -0
  302. package/dist/number/operators/uint.d.mts +14 -0
  303. package/dist/number/operators/uint.d.mts.map +1 -0
  304. package/dist/number/operators/uint.mjs +8 -0
  305. package/dist/number/operators/uint.mjs.map +1 -0
  306. package/dist/number/operators/uint16.d.mts +25 -0
  307. package/dist/number/operators/uint16.d.mts.map +1 -0
  308. package/dist/number/operators/uint16.mjs +8 -0
  309. package/dist/number/operators/uint16.mjs.map +1 -0
  310. package/dist/number/operators/uint32.d.mts +23 -0
  311. package/dist/number/operators/uint32.d.mts.map +1 -0
  312. package/dist/number/operators/uint32.mjs +8 -0
  313. package/dist/number/operators/uint32.mjs.map +1 -0
  314. package/dist/number/operators/uint8.d.mts +24 -0
  315. package/dist/number/operators/uint8.d.mts.map +1 -0
  316. package/dist/number/operators/uint8.mjs +8 -0
  317. package/dist/number/operators/uint8.mjs.map +1 -0
  318. package/dist/number/refined-number-utils.d.mts +2 -2
  319. package/dist/number/refined-number-utils.d.mts.map +1 -1
  320. package/dist/number/refined-number-utils.mjs +1 -1
  321. package/dist/number/refined-number-utils.mjs.map +1 -1
  322. package/dist/object/object.mjs +1 -1
  323. package/dist/object/object.mjs.map +1 -1
  324. package/dist/others/fast-deep-equal.mjs +1 -1
  325. package/dist/others/fast-deep-equal.mjs.map +1 -1
  326. package/package.json +23 -10
  327. package/src/array/impl/array-utils-reducing-value.mts +4 -3
  328. package/src/array/impl/array-utils-shape-invariants.test.mts +1 -1
  329. package/src/array/impl/array-utils-slice-clamped.mts +1 -1
  330. package/src/array/impl/array-utils-slicing.mts +12 -3
  331. package/src/array/impl/array-utils-transformation.mts +6 -2
  332. package/src/array/impl/array-utils-transformation.test.mts +44 -1
  333. package/src/array/impl/array-utils-validation.mts +2 -1
  334. package/src/built-in-tag.mts +59 -0
  335. package/src/built-in-tag.test.mts +215 -0
  336. package/src/collections/stack.mts +3 -3
  337. package/src/iterator/range.mts +10 -2
  338. package/src/iterator/range.test.mts +7 -0
  339. package/src/json/json.mts +20 -2
  340. package/src/json/json.test.mts +63 -0
  341. package/src/number/branded-types/finite-number.mts +23 -25
  342. package/src/number/branded-types/int.mts +20 -26
  343. package/src/number/branded-types/int16.mts +21 -26
  344. package/src/number/branded-types/int32.mts +21 -26
  345. package/src/number/branded-types/negative-finite-number.mts +25 -26
  346. package/src/number/branded-types/negative-int.mts +20 -27
  347. package/src/number/branded-types/negative-safe-int.mts +23 -28
  348. package/src/number/branded-types/non-negative-finite-number.mts +24 -25
  349. package/src/number/branded-types/non-negative-int16.mts +23 -26
  350. package/src/number/branded-types/non-negative-int32.mts +23 -26
  351. package/src/number/branded-types/non-positive-finite-number.mts +24 -25
  352. package/src/number/branded-types/non-positive-int.mts +20 -26
  353. package/src/number/branded-types/non-positive-safe-int.mts +21 -26
  354. package/src/number/branded-types/non-zero-finite-number.mts +23 -25
  355. package/src/number/branded-types/non-zero-int.mts +19 -25
  356. package/src/number/branded-types/non-zero-int16.mts +27 -28
  357. package/src/number/branded-types/non-zero-int32.mts +27 -28
  358. package/src/number/branded-types/non-zero-safe-int.mts +25 -35
  359. package/src/number/branded-types/non-zero-uint16.mts +24 -28
  360. package/src/number/branded-types/non-zero-uint32.mts +24 -28
  361. package/src/number/branded-types/positive-finite-number.mts +25 -25
  362. package/src/number/branded-types/positive-int.mts +21 -26
  363. package/src/number/branded-types/positive-int16.mts +23 -26
  364. package/src/number/branded-types/positive-int32.mts +23 -26
  365. package/src/number/branded-types/positive-safe-int.mts +24 -31
  366. package/src/number/branded-types/positive-uint16.mts +23 -26
  367. package/src/number/branded-types/positive-uint32.mts +23 -26
  368. package/src/number/branded-types/safe-int.mts +22 -29
  369. package/src/number/branded-types/safe-uint.mts +21 -27
  370. package/src/number/branded-types/uint.mts +21 -26
  371. package/src/number/branded-types/uint16.mts +21 -26
  372. package/src/number/branded-types/uint32.mts +21 -26
  373. package/src/number/enum/int8.mts +40 -52
  374. package/src/number/enum/uint8.mts +40 -48
  375. package/src/number/index.mts +1 -1
  376. package/src/number/num/impl/index.mts +1 -0
  377. package/src/number/num/impl/num.mts +715 -0
  378. package/src/number/{num.test.mts → num/impl/num.test.mts} +4 -4
  379. package/src/number/num/index.mts +16 -0
  380. package/src/number/num-arithmetic.test.mts +1 -1
  381. package/src/number/operators/finite-number.mts +20 -0
  382. package/src/number/operators/int.mts +20 -0
  383. package/src/number/operators/int16.mts +33 -0
  384. package/src/number/operators/int32.mts +33 -0
  385. package/src/number/operators/int8.mts +18 -0
  386. package/src/number/operators/negative-finite-number.mts +22 -0
  387. package/src/number/operators/negative-int.mts +22 -0
  388. package/src/number/operators/negative-safe-int.mts +32 -0
  389. package/src/number/operators/non-negative-finite-number.mts +32 -0
  390. package/src/number/operators/non-negative-int16.mts +33 -0
  391. package/src/number/operators/non-negative-int32.mts +33 -0
  392. package/src/number/operators/non-positive-finite-number.mts +21 -0
  393. package/src/number/operators/non-positive-int.mts +21 -0
  394. package/src/number/operators/non-positive-safe-int.mts +31 -0
  395. package/src/number/operators/non-zero-finite-number.mts +21 -0
  396. package/src/number/operators/non-zero-int.mts +22 -0
  397. package/src/number/operators/non-zero-int16.mts +32 -0
  398. package/src/number/operators/non-zero-int32.mts +32 -0
  399. package/src/number/operators/non-zero-safe-int.mts +34 -0
  400. package/src/number/operators/non-zero-uint16.mts +32 -0
  401. package/src/number/operators/non-zero-uint32.mts +32 -0
  402. package/src/number/operators/positive-finite-number.mts +32 -0
  403. package/src/number/operators/positive-int.mts +32 -0
  404. package/src/number/operators/positive-int16.mts +33 -0
  405. package/src/number/operators/positive-int32.mts +33 -0
  406. package/src/number/operators/positive-safe-int.mts +34 -0
  407. package/src/number/operators/positive-uint16.mts +33 -0
  408. package/src/number/operators/positive-uint32.mts +33 -0
  409. package/src/number/operators/safe-int.mts +35 -0
  410. package/src/number/operators/safe-uint.mts +33 -0
  411. package/src/number/operators/uint.mts +31 -0
  412. package/src/number/operators/uint16.mts +32 -0
  413. package/src/number/operators/uint32.mts +32 -0
  414. package/src/number/operators/uint8.mts +16 -0
  415. package/src/number/refined-number-utils.mts +4 -4
  416. package/src/object/object.mts +1 -1
  417. package/src/others/fast-deep-equal.mts +1 -1
  418. package/src/others/replace-equal-deep.test.mts +0 -2
  419. package/dist/number/num.d.mts +0 -550
  420. package/dist/number/num.d.mts.map +0 -1
  421. package/dist/number/num.mjs +0 -563
  422. package/dist/number/num.mjs.map +0 -1
  423. package/src/guard/is-error.test.mts +0 -145
  424. package/src/number/num.mts +0 -735
@@ -1,8 +1,8 @@
1
1
  import type { FixedLengthTuple, NonZeroNumber } from 'ts-type-forge';
2
- import { expectType } from '../expect-type.mjs';
3
- import { pipe, Result } from '../functional/index.mjs';
4
- import { asNonZeroFiniteNumber } from './branded-types/index.mjs';
5
- import { Num } from './num.mjs';
2
+ import { expectType } from '../../../expect-type.mjs';
3
+ import { pipe, Result } from '../../../functional/index.mjs';
4
+ import { asNonZeroFiniteNumber } from '../../branded-types/index.mjs';
5
+ import * as Num from './num.mjs';
6
6
 
7
7
  const testClamp = (
8
8
  [a, b]: FixedLengthTuple<2, number>,
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Namespace providing utility functions for number manipulation and validation.
3
+ *
4
+ * This namespace offers a comprehensive set of type-safe number utilities
5
+ * including:
6
+ *
7
+ * - Type conversion and validation
8
+ * - Type guards for numeric constraints (non-zero, non-negative, positive)
9
+ * - Range checking and clamping operations
10
+ * - Mathematical operations with type safety
11
+ * - Rounding utilities
12
+ *
13
+ * Many functions in this namespace leverage TypeScript's type system to provide
14
+ * compile-time guarantees about numeric constraints.
15
+ */
16
+ export * as Num from './impl/index.mjs';
@@ -12,7 +12,7 @@ import {
12
12
  asPositiveInt,
13
13
  asUint,
14
14
  } from './branded-types/index.mjs';
15
- import { Num } from './num.mjs';
15
+ import { Num } from './num/index.mjs';
16
16
 
17
17
  describe('Num arithmetic (general / sign-aware)', () => {
18
18
  describe('Num.add', () => {
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The operators of `FiniteNumber` other than `isFiniteNumber` and
3
+ * `asFiniteNumber`, which `../branded-types/finite-number.mts` reads. Generated
4
+ * by `gen:branded-number`; `renderModule` in
5
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
6
+ * their own.
7
+ */
8
+ import type { FiniteNumber } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const { abs, add, div, is, max, min, mul, pow, random, sub } =
12
+ TsDataForgeInternals.RefinedNumberUtils.operatorsForFloat<
13
+ FiniteNumber,
14
+ number,
15
+ number
16
+ >({
17
+ MIN_VALUE: -Number.MAX_VALUE,
18
+ MAX_VALUE: Number.MAX_VALUE,
19
+ typeNameInMessage: 'a finite number',
20
+ } as const);
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The operators of `Int` other than `isInt` and `asInt`, which
3
+ * `../branded-types/int.mts` reads. Generated by `gen:branded-number`;
4
+ * `renderModule` in `scripts/gen-branded-number/render.mts` says why they are
5
+ * in a module of their own.
6
+ */
7
+ import type { Int } from 'ts-type-forge';
8
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
9
+
10
+ export const { abs, add, div, is, max, min, mul, pow, random, sub } =
11
+ TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
12
+ Int,
13
+ number,
14
+ number
15
+ >({
16
+ integerOrSafeInteger: 'Integer',
17
+ MIN_VALUE: -Number.MAX_VALUE,
18
+ MAX_VALUE: Number.MAX_VALUE,
19
+ typeNameInMessage: 'an integer',
20
+ } as const);
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The operators of `Int16` other than `isInt16` and `asInt16`, which
3
+ * `../branded-types/int16.mts` reads. Generated by `gen:branded-number`;
4
+ * `renderModule` in `scripts/gen-branded-number/render.mts` says why they are
5
+ * in a module of their own.
6
+ */
7
+ import type { Int16 } from 'ts-type-forge';
8
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
9
+
10
+ export const {
11
+ MAX_VALUE,
12
+ MIN_VALUE,
13
+ abs,
14
+ add,
15
+ div,
16
+ fromNumber,
17
+ is,
18
+ max,
19
+ min,
20
+ mul,
21
+ pow,
22
+ random,
23
+ sub,
24
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
25
+ Int16,
26
+ number,
27
+ number
28
+ >({
29
+ integerOrSafeInteger: 'SafeInteger',
30
+ MIN_VALUE: -(2 ** 15),
31
+ MAX_VALUE: 2 ** 15 - 1,
32
+ typeNameInMessage: 'an integer in [-2^15, 2^15)',
33
+ } as const);
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The operators of `Int32` other than `isInt32` and `asInt32`, which
3
+ * `../branded-types/int32.mts` reads. Generated by `gen:branded-number`;
4
+ * `renderModule` in `scripts/gen-branded-number/render.mts` says why they are
5
+ * in a module of their own.
6
+ */
7
+ import type { Int32 } from 'ts-type-forge';
8
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
9
+
10
+ export const {
11
+ MAX_VALUE,
12
+ MIN_VALUE,
13
+ abs,
14
+ add,
15
+ div,
16
+ fromNumber,
17
+ is,
18
+ max,
19
+ min,
20
+ mul,
21
+ pow,
22
+ random,
23
+ sub,
24
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
25
+ Int32,
26
+ number,
27
+ number
28
+ >({
29
+ integerOrSafeInteger: 'SafeInteger',
30
+ MIN_VALUE: -(2 ** 31),
31
+ MAX_VALUE: 2 ** 31 - 1,
32
+ typeNameInMessage: 'an integer in [-2^31, 2^31)',
33
+ } as const);
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The operators of `Int8` other than `isInt8` and `asInt8`, which
3
+ * `../enum/int8.mts` reads. Generated by `gen:branded-number`; `renderModule`
4
+ * in `scripts/gen-branded-number/render.mts` says why they are in a module of
5
+ * their own.
6
+ */
7
+ import type { Int16 } from 'ts-type-forge';
8
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
9
+
10
+ export const { MAX_VALUE, MIN_VALUE, castType, fromNumber, is, random } =
11
+ TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<Int16, -128, 127>(
12
+ {
13
+ integerOrSafeInteger: 'SafeInteger',
14
+ MIN_VALUE: -128,
15
+ MAX_VALUE: 127,
16
+ typeNameInMessage: 'an integer in [-128, 127]',
17
+ } as const,
18
+ );
@@ -0,0 +1,22 @@
1
+ /**
2
+ * The operators of `NegativeFiniteNumber` other than `isNegativeFiniteNumber`
3
+ * and `asNegativeFiniteNumber`, which
4
+ * `../branded-types/negative-finite-number.mts` reads. Generated by
5
+ * `gen:branded-number`; `renderModule` in
6
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
7
+ * their own.
8
+ */
9
+ import type { NegativeFiniteNumber } from 'ts-type-forge';
10
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
11
+
12
+ export const { MAX_VALUE, add, fromNumber, is, max, min, pow, random, sub } =
13
+ TsDataForgeInternals.RefinedNumberUtils.operatorsForFloat<
14
+ NegativeFiniteNumber,
15
+ number,
16
+ number
17
+ >({
18
+ nonZero: true,
19
+ MIN_VALUE: -Number.MAX_VALUE,
20
+ MAX_VALUE: -Number.MIN_VALUE,
21
+ typeNameInMessage: 'a negative finite number',
22
+ } as const);
@@ -0,0 +1,22 @@
1
+ /**
2
+ * The operators of `NegativeInt` other than `isNegativeInt` and
3
+ * `asNegativeInt`, which `../branded-types/negative-int.mts` reads. Generated
4
+ * by `gen:branded-number`; `renderModule` in
5
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
6
+ * their own.
7
+ */
8
+ import type { NegativeInt } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const { MAX_VALUE, add, fromNumber, is, max, min, pow, random, sub } =
12
+ TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
13
+ NegativeInt,
14
+ number,
15
+ -1
16
+ >({
17
+ integerOrSafeInteger: 'Integer',
18
+ nonZero: true,
19
+ MIN_VALUE: -Number.MAX_VALUE,
20
+ MAX_VALUE: -1,
21
+ typeNameInMessage: 'a negative integer',
22
+ } as const);
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The operators of `NegativeSafeInt` other than `isNegativeSafeInt` and
3
+ * `asNegativeSafeInt`, which `../branded-types/negative-safe-int.mts` reads.
4
+ * Generated by `gen:branded-number`; `renderModule` in
5
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
6
+ * their own.
7
+ */
8
+ import type { NegativeSafeInt } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const {
12
+ MAX_VALUE,
13
+ MIN_VALUE,
14
+ add,
15
+ fromNumber,
16
+ is,
17
+ max,
18
+ min,
19
+ pow,
20
+ random,
21
+ sub,
22
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
23
+ NegativeSafeInt,
24
+ number,
25
+ -1
26
+ >({
27
+ integerOrSafeInteger: 'SafeInteger',
28
+ nonZero: true,
29
+ MIN_VALUE: Number.MIN_SAFE_INTEGER,
30
+ MAX_VALUE: -1,
31
+ typeNameInMessage: 'a negative safe integer',
32
+ } as const);
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The operators of `NonNegativeFiniteNumber` other than
3
+ * `isNonNegativeFiniteNumber` and `asNonNegativeFiniteNumber`, which
4
+ * `../branded-types/non-negative-finite-number.mts` reads. Generated by
5
+ * `gen:branded-number`; `renderModule` in
6
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
7
+ * their own.
8
+ */
9
+ import type { NonNegativeFiniteNumber } from 'ts-type-forge';
10
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
11
+
12
+ export const {
13
+ MIN_VALUE,
14
+ add,
15
+ div,
16
+ fromNumber,
17
+ is,
18
+ max,
19
+ min,
20
+ mul,
21
+ pow,
22
+ random,
23
+ sub,
24
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForFloat<
25
+ NonNegativeFiniteNumber,
26
+ 0,
27
+ number
28
+ >({
29
+ MIN_VALUE: 0,
30
+ MAX_VALUE: Number.MAX_VALUE,
31
+ typeNameInMessage: 'a non-negative finite number',
32
+ } as const);
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The operators of `NonNegativeInt16` other than `isNonNegativeInt16` and
3
+ * `asNonNegativeInt16`, which `../branded-types/non-negative-int16.mts` reads.
4
+ * Generated by `gen:branded-number`; `renderModule` in
5
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
6
+ * their own.
7
+ */
8
+ import type { NonNegativeInt16 } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const {
12
+ MAX_VALUE,
13
+ MIN_VALUE,
14
+ add,
15
+ div,
16
+ fromNumber,
17
+ is,
18
+ max,
19
+ min,
20
+ mul,
21
+ pow,
22
+ random,
23
+ sub,
24
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
25
+ NonNegativeInt16,
26
+ 0,
27
+ number
28
+ >({
29
+ integerOrSafeInteger: 'SafeInteger',
30
+ MIN_VALUE: 0,
31
+ MAX_VALUE: 2 ** 15 - 1,
32
+ typeNameInMessage: 'a non-negative integer in [0, 2^15)',
33
+ } as const);
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The operators of `NonNegativeInt32` other than `isNonNegativeInt32` and
3
+ * `asNonNegativeInt32`, which `../branded-types/non-negative-int32.mts` reads.
4
+ * Generated by `gen:branded-number`; `renderModule` in
5
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
6
+ * their own.
7
+ */
8
+ import type { NonNegativeInt32 } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const {
12
+ MAX_VALUE,
13
+ MIN_VALUE,
14
+ add,
15
+ div,
16
+ fromNumber,
17
+ is,
18
+ max,
19
+ min,
20
+ mul,
21
+ pow,
22
+ random,
23
+ sub,
24
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
25
+ NonNegativeInt32,
26
+ 0,
27
+ number
28
+ >({
29
+ integerOrSafeInteger: 'SafeInteger',
30
+ MIN_VALUE: 0,
31
+ MAX_VALUE: 2 ** 31 - 1,
32
+ typeNameInMessage: 'a non-negative integer in [0, 2^31)',
33
+ } as const);
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The operators of `NonPositiveFiniteNumber` other than
3
+ * `isNonPositiveFiniteNumber` and `asNonPositiveFiniteNumber`, which
4
+ * `../branded-types/non-positive-finite-number.mts` reads. Generated by
5
+ * `gen:branded-number`; `renderModule` in
6
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
7
+ * their own.
8
+ */
9
+ import type { NonPositiveFiniteNumber } from 'ts-type-forge';
10
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
11
+
12
+ export const { MAX_VALUE, add, fromNumber, is, max, min, pow, random, sub } =
13
+ TsDataForgeInternals.RefinedNumberUtils.operatorsForFloat<
14
+ NonPositiveFiniteNumber,
15
+ number,
16
+ 0
17
+ >({
18
+ MIN_VALUE: -Number.MAX_VALUE,
19
+ MAX_VALUE: 0,
20
+ typeNameInMessage: 'a non-positive finite number',
21
+ } as const);
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The operators of `NonPositiveInt` other than `isNonPositiveInt` and
3
+ * `asNonPositiveInt`, which `../branded-types/non-positive-int.mts` reads.
4
+ * Generated by `gen:branded-number`; `renderModule` in
5
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
6
+ * their own.
7
+ */
8
+ import type { NonPositiveInt } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const { MAX_VALUE, add, fromNumber, is, max, min, pow, random, sub } =
12
+ TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
13
+ NonPositiveInt,
14
+ number,
15
+ 0
16
+ >({
17
+ integerOrSafeInteger: 'Integer',
18
+ MIN_VALUE: -Number.MAX_VALUE,
19
+ MAX_VALUE: 0,
20
+ typeNameInMessage: 'a non-positive integer',
21
+ } as const);
@@ -0,0 +1,31 @@
1
+ /**
2
+ * The operators of `NonPositiveSafeInt` other than `isNonPositiveSafeInt` and
3
+ * `asNonPositiveSafeInt`, which `../branded-types/non-positive-safe-int.mts`
4
+ * reads. Generated by `gen:branded-number`; `renderModule` in
5
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
6
+ * their own.
7
+ */
8
+ import type { NonPositiveSafeInt } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const {
12
+ MAX_VALUE,
13
+ MIN_VALUE,
14
+ add,
15
+ fromNumber,
16
+ is,
17
+ max,
18
+ min,
19
+ pow,
20
+ random,
21
+ sub,
22
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
23
+ NonPositiveSafeInt,
24
+ number,
25
+ 0
26
+ >({
27
+ integerOrSafeInteger: 'SafeInteger',
28
+ MIN_VALUE: Number.MIN_SAFE_INTEGER,
29
+ MAX_VALUE: 0,
30
+ typeNameInMessage: 'a non-positive safe integer',
31
+ } as const);
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The operators of `NonZeroFiniteNumber` other than `isNonZeroFiniteNumber` and
3
+ * `asNonZeroFiniteNumber`, which `../branded-types/non-zero-finite-number.mts`
4
+ * reads. Generated by `gen:branded-number`; `renderModule` in
5
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
6
+ * their own.
7
+ */
8
+ import type { NonZeroFiniteNumber } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const { abs, div, is, max, min, mul, pow, randomNonZero } =
12
+ TsDataForgeInternals.RefinedNumberUtils.operatorsForFloat<
13
+ NonZeroFiniteNumber,
14
+ number,
15
+ number
16
+ >({
17
+ nonZero: true,
18
+ MIN_VALUE: -Number.MAX_VALUE,
19
+ MAX_VALUE: Number.MAX_VALUE,
20
+ typeNameInMessage: 'a non-zero finite number',
21
+ } as const);
@@ -0,0 +1,22 @@
1
+ /**
2
+ * The operators of `NonZeroInt` other than `isNonZeroInt` and `asNonZeroInt`,
3
+ * which `../branded-types/non-zero-int.mts` reads. Generated by
4
+ * `gen:branded-number`; `renderModule` in
5
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
6
+ * their own.
7
+ */
8
+ import type { NonZeroInt } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const { abs, is, max, min, mul, pow, randomNonZero } =
12
+ TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
13
+ NonZeroInt,
14
+ number,
15
+ number
16
+ >({
17
+ integerOrSafeInteger: 'Integer',
18
+ nonZero: true,
19
+ MIN_VALUE: -Number.MAX_VALUE,
20
+ MAX_VALUE: Number.MAX_VALUE,
21
+ typeNameInMessage: 'a non-zero integer',
22
+ } as const);
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The operators of `NonZeroInt16` other than `isNonZeroInt16` and
3
+ * `asNonZeroInt16`, which `../branded-types/non-zero-int16.mts` reads.
4
+ * Generated by `gen:branded-number`; `renderModule` in
5
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
6
+ * their own.
7
+ */
8
+ import type { NonZeroInt16 } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const {
12
+ MAX_VALUE,
13
+ MIN_VALUE,
14
+ abs,
15
+ fromNumber,
16
+ is,
17
+ max,
18
+ min,
19
+ mul,
20
+ pow,
21
+ randomNonZero,
22
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
23
+ NonZeroInt16,
24
+ number,
25
+ number
26
+ >({
27
+ integerOrSafeInteger: 'SafeInteger',
28
+ nonZero: true,
29
+ MIN_VALUE: -(2 ** 15),
30
+ MAX_VALUE: 2 ** 15 - 1,
31
+ typeNameInMessage: 'a non-zero integer in [-2^15, 2^15)',
32
+ } as const);
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The operators of `NonZeroInt32` other than `isNonZeroInt32` and
3
+ * `asNonZeroInt32`, which `../branded-types/non-zero-int32.mts` reads.
4
+ * Generated by `gen:branded-number`; `renderModule` in
5
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
6
+ * their own.
7
+ */
8
+ import type { NonZeroInt32 } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const {
12
+ MAX_VALUE,
13
+ MIN_VALUE,
14
+ abs,
15
+ fromNumber,
16
+ is,
17
+ max,
18
+ min,
19
+ mul,
20
+ pow,
21
+ randomNonZero,
22
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
23
+ NonZeroInt32,
24
+ number,
25
+ number
26
+ >({
27
+ integerOrSafeInteger: 'SafeInteger',
28
+ nonZero: true,
29
+ MIN_VALUE: -(2 ** 31),
30
+ MAX_VALUE: 2 ** 31 - 1,
31
+ typeNameInMessage: 'a non-zero integer in [-2^31, 2^31)',
32
+ } as const);
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The operators of `NonZeroSafeInt` other than `isNonZeroSafeInt` and
3
+ * `asNonZeroSafeInt`, which `../branded-types/non-zero-safe-int.mts` reads.
4
+ * Generated by `gen:branded-number`; `renderModule` in
5
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
6
+ * their own.
7
+ */
8
+ import type { NonZeroSafeInt, SafeInt, SafeUint } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const {
12
+ MAX_VALUE,
13
+ MIN_VALUE,
14
+ abs,
15
+ fromNumber,
16
+ is,
17
+ max,
18
+ min,
19
+ mul,
20
+ pow,
21
+ randomNonZero,
22
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
23
+ NonZeroSafeInt,
24
+ SafeInt,
25
+ SafeUint
26
+ >({
27
+ integerOrSafeInteger: 'SafeInteger',
28
+ nonZero: true,
29
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion, math/prefer-number-min-safe-integer
30
+ MIN_VALUE: Number.MIN_SAFE_INTEGER as SafeInt,
31
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion, math/prefer-number-max-safe-integer
32
+ MAX_VALUE: Number.MAX_SAFE_INTEGER as SafeUint,
33
+ typeNameInMessage: 'a non-zero safe integer',
34
+ } as const);
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The operators of `NonZeroUint16` other than `isNonZeroUint16` and
3
+ * `asNonZeroUint16`, which `../branded-types/non-zero-uint16.mts` reads.
4
+ * Generated by `gen:branded-number`; `renderModule` in
5
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
6
+ * their own.
7
+ */
8
+ import type { NonZeroUint16 } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const {
12
+ MAX_VALUE,
13
+ MIN_VALUE,
14
+ add,
15
+ fromNumber,
16
+ is,
17
+ max,
18
+ min,
19
+ mul,
20
+ pow,
21
+ randomNonZero,
22
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
23
+ NonZeroUint16,
24
+ 1,
25
+ number
26
+ >({
27
+ integerOrSafeInteger: 'SafeInteger',
28
+ nonZero: true,
29
+ MIN_VALUE: 1,
30
+ MAX_VALUE: 2 ** 16 - 1,
31
+ typeNameInMessage: 'a non-zero integer in [1, 2^16)',
32
+ } as const);
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The operators of `NonZeroUint32` other than `isNonZeroUint32` and
3
+ * `asNonZeroUint32`, which `../branded-types/non-zero-uint32.mts` reads.
4
+ * Generated by `gen:branded-number`; `renderModule` in
5
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
6
+ * their own.
7
+ */
8
+ import type { NonZeroUint32 } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const {
12
+ MAX_VALUE,
13
+ MIN_VALUE,
14
+ add,
15
+ fromNumber,
16
+ is,
17
+ max,
18
+ min,
19
+ mul,
20
+ pow,
21
+ randomNonZero,
22
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
23
+ NonZeroUint32,
24
+ 1,
25
+ number
26
+ >({
27
+ integerOrSafeInteger: 'SafeInteger',
28
+ nonZero: true,
29
+ MIN_VALUE: 1,
30
+ MAX_VALUE: 2 ** 32 - 1,
31
+ typeNameInMessage: 'a non-zero integer in [1, 2^32)',
32
+ } as const);
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The operators of `PositiveFiniteNumber` other than `isPositiveFiniteNumber`
3
+ * and `asPositiveFiniteNumber`, which
4
+ * `../branded-types/positive-finite-number.mts` reads. Generated by
5
+ * `gen:branded-number`; `renderModule` in
6
+ * `scripts/gen-branded-number/render.mts` says why they are in a module of
7
+ * their own.
8
+ */
9
+ import type { PositiveFiniteNumber } from 'ts-type-forge';
10
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
11
+
12
+ export const {
13
+ MIN_VALUE,
14
+ add,
15
+ div,
16
+ fromNumber,
17
+ is,
18
+ max,
19
+ min,
20
+ mul,
21
+ pow,
22
+ random,
23
+ sub,
24
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForFloat<
25
+ PositiveFiniteNumber,
26
+ number,
27
+ number
28
+ >({
29
+ MIN_VALUE: Number.MIN_VALUE,
30
+ MAX_VALUE: Number.MAX_VALUE,
31
+ typeNameInMessage: 'a positive finite number',
32
+ } as const);