ts-data-forge 14.10.2 → 14.11.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 (416) 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/number/branded-types/finite-number.d.mts +4 -9
  27. package/dist/number/branded-types/finite-number.d.mts.map +1 -1
  28. package/dist/number/branded-types/finite-number.mjs +9 -9
  29. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  30. package/dist/number/branded-types/int.d.mts +3 -9
  31. package/dist/number/branded-types/int.d.mts.map +1 -1
  32. package/dist/number/branded-types/int.mjs +9 -10
  33. package/dist/number/branded-types/int.mjs.map +1 -1
  34. package/dist/number/branded-types/int16.d.mts +3 -18
  35. package/dist/number/branded-types/int16.d.mts.map +1 -1
  36. package/dist/number/branded-types/int16.mjs +9 -10
  37. package/dist/number/branded-types/int16.mjs.map +1 -1
  38. package/dist/number/branded-types/int32.d.mts +3 -14
  39. package/dist/number/branded-types/int32.d.mts.map +1 -1
  40. package/dist/number/branded-types/int32.mjs +9 -10
  41. package/dist/number/branded-types/int32.mjs.map +1 -1
  42. package/dist/number/branded-types/negative-finite-number.d.mts +4 -16
  43. package/dist/number/branded-types/negative-finite-number.d.mts.map +1 -1
  44. package/dist/number/branded-types/negative-finite-number.mjs +9 -10
  45. package/dist/number/branded-types/negative-finite-number.mjs.map +1 -1
  46. package/dist/number/branded-types/negative-int.d.mts +3 -16
  47. package/dist/number/branded-types/negative-int.d.mts.map +1 -1
  48. package/dist/number/branded-types/negative-int.mjs +9 -11
  49. package/dist/number/branded-types/negative-int.mjs.map +1 -1
  50. package/dist/number/branded-types/negative-safe-int.d.mts +3 -17
  51. package/dist/number/branded-types/negative-safe-int.d.mts.map +1 -1
  52. package/dist/number/branded-types/negative-safe-int.mjs +9 -11
  53. package/dist/number/branded-types/negative-safe-int.mjs.map +1 -1
  54. package/dist/number/branded-types/non-negative-finite-number.d.mts +4 -14
  55. package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
  56. package/dist/number/branded-types/non-negative-finite-number.mjs +9 -9
  57. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  58. package/dist/number/branded-types/non-negative-int16.d.mts +3 -19
  59. package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
  60. package/dist/number/branded-types/non-negative-int16.mjs +9 -10
  61. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  62. package/dist/number/branded-types/non-negative-int32.d.mts +3 -17
  63. package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
  64. package/dist/number/branded-types/non-negative-int32.mjs +9 -10
  65. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  66. package/dist/number/branded-types/non-positive-finite-number.d.mts +4 -14
  67. package/dist/number/branded-types/non-positive-finite-number.d.mts.map +1 -1
  68. package/dist/number/branded-types/non-positive-finite-number.mjs +9 -9
  69. package/dist/number/branded-types/non-positive-finite-number.mjs.map +1 -1
  70. package/dist/number/branded-types/non-positive-int.d.mts +3 -14
  71. package/dist/number/branded-types/non-positive-int.d.mts.map +1 -1
  72. package/dist/number/branded-types/non-positive-int.mjs +9 -10
  73. package/dist/number/branded-types/non-positive-int.mjs.map +1 -1
  74. package/dist/number/branded-types/non-positive-safe-int.d.mts +3 -15
  75. package/dist/number/branded-types/non-positive-safe-int.d.mts.map +1 -1
  76. package/dist/number/branded-types/non-positive-safe-int.mjs +9 -10
  77. package/dist/number/branded-types/non-positive-safe-int.mjs.map +1 -1
  78. package/dist/number/branded-types/non-zero-finite-number.d.mts +4 -10
  79. package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -1
  80. package/dist/number/branded-types/non-zero-finite-number.mjs +9 -10
  81. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  82. package/dist/number/branded-types/non-zero-int.d.mts +3 -10
  83. package/dist/number/branded-types/non-zero-int.d.mts.map +1 -1
  84. package/dist/number/branded-types/non-zero-int.mjs +9 -11
  85. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  86. package/dist/number/branded-types/non-zero-int16.d.mts +3 -19
  87. package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
  88. package/dist/number/branded-types/non-zero-int16.mjs +12 -11
  89. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  90. package/dist/number/branded-types/non-zero-int32.d.mts +3 -15
  91. package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
  92. package/dist/number/branded-types/non-zero-int32.mjs +12 -11
  93. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  94. package/dist/number/branded-types/non-zero-safe-int.d.mts +6 -14
  95. package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
  96. package/dist/number/branded-types/non-zero-safe-int.mjs +9 -13
  97. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  98. package/dist/number/branded-types/non-zero-uint16.d.mts +3 -20
  99. package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
  100. package/dist/number/branded-types/non-zero-uint16.mjs +9 -11
  101. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  102. package/dist/number/branded-types/non-zero-uint32.d.mts +3 -18
  103. package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
  104. package/dist/number/branded-types/non-zero-uint32.mjs +9 -11
  105. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  106. package/dist/number/branded-types/positive-finite-number.d.mts +4 -16
  107. package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
  108. package/dist/number/branded-types/positive-finite-number.mjs +9 -9
  109. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  110. package/dist/number/branded-types/positive-int.d.mts +3 -16
  111. package/dist/number/branded-types/positive-int.d.mts.map +1 -1
  112. package/dist/number/branded-types/positive-int.mjs +9 -10
  113. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  114. package/dist/number/branded-types/positive-int16.d.mts +3 -21
  115. package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
  116. package/dist/number/branded-types/positive-int16.mjs +9 -10
  117. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  118. package/dist/number/branded-types/positive-int32.d.mts +3 -19
  119. package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
  120. package/dist/number/branded-types/positive-int32.mjs +9 -10
  121. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  122. package/dist/number/branded-types/positive-safe-int.d.mts +5 -19
  123. package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
  124. package/dist/number/branded-types/positive-safe-int.mjs +9 -11
  125. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  126. package/dist/number/branded-types/positive-uint16.d.mts +3 -20
  127. package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
  128. package/dist/number/branded-types/positive-uint16.mjs +9 -10
  129. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  130. package/dist/number/branded-types/positive-uint32.d.mts +3 -18
  131. package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
  132. package/dist/number/branded-types/positive-uint32.mjs +9 -10
  133. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  134. package/dist/number/branded-types/safe-int.d.mts +5 -12
  135. package/dist/number/branded-types/safe-int.d.mts.map +1 -1
  136. package/dist/number/branded-types/safe-int.mjs +9 -12
  137. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  138. package/dist/number/branded-types/safe-uint.d.mts +3 -15
  139. package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
  140. package/dist/number/branded-types/safe-uint.mjs +9 -11
  141. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  142. package/dist/number/branded-types/uint.d.mts +3 -14
  143. package/dist/number/branded-types/uint.d.mts.map +1 -1
  144. package/dist/number/branded-types/uint.mjs +9 -10
  145. package/dist/number/branded-types/uint.mjs.map +1 -1
  146. package/dist/number/branded-types/uint16.d.mts +3 -18
  147. package/dist/number/branded-types/uint16.d.mts.map +1 -1
  148. package/dist/number/branded-types/uint16.mjs +9 -10
  149. package/dist/number/branded-types/uint16.mjs.map +1 -1
  150. package/dist/number/branded-types/uint32.d.mts +3 -16
  151. package/dist/number/branded-types/uint32.d.mts.map +1 -1
  152. package/dist/number/branded-types/uint32.mjs +9 -10
  153. package/dist/number/branded-types/uint32.mjs.map +1 -1
  154. package/dist/number/enum/int8.d.mts +13 -15
  155. package/dist/number/enum/int8.d.mts.map +1 -1
  156. package/dist/number/enum/int8.mjs +20 -25
  157. package/dist/number/enum/int8.mjs.map +1 -1
  158. package/dist/number/enum/uint8.d.mts +12 -14
  159. package/dist/number/enum/uint8.d.mts.map +1 -1
  160. package/dist/number/enum/uint8.mjs +18 -23
  161. package/dist/number/enum/uint8.mjs.map +1 -1
  162. package/dist/number/index.d.mts +1 -1
  163. package/dist/number/index.d.mts.map +1 -1
  164. package/dist/number/index.mjs +1 -1
  165. package/dist/number/index.mjs.map +1 -1
  166. package/dist/number/num/impl/index.d.mts +2 -0
  167. package/dist/number/num/impl/index.d.mts.map +1 -0
  168. package/dist/number/num/impl/index.mjs +2 -0
  169. package/dist/number/num/impl/index.mjs.map +1 -0
  170. package/dist/number/num/impl/num.d.mts +531 -0
  171. package/dist/number/num/impl/num.d.mts.map +1 -0
  172. package/dist/number/num/impl/num.mjs +542 -0
  173. package/dist/number/num/impl/num.mjs.map +1 -0
  174. package/dist/number/num/index.d.mts +17 -0
  175. package/dist/number/num/index.d.mts.map +1 -0
  176. package/dist/number/num/index.mjs +17 -0
  177. package/dist/number/num/index.mjs.map +1 -0
  178. package/dist/number/operators/finite-number.d.mts +16 -0
  179. package/dist/number/operators/finite-number.d.mts.map +1 -0
  180. package/dist/number/operators/finite-number.mjs +7 -0
  181. package/dist/number/operators/finite-number.mjs.map +1 -0
  182. package/dist/number/operators/int.d.mts +16 -0
  183. package/dist/number/operators/int.d.mts.map +1 -0
  184. package/dist/number/operators/int.mjs +8 -0
  185. package/dist/number/operators/int.mjs.map +1 -0
  186. package/dist/number/operators/int16.d.mts +25 -0
  187. package/dist/number/operators/int16.d.mts.map +1 -0
  188. package/dist/number/operators/int16.mjs +8 -0
  189. package/dist/number/operators/int16.mjs.map +1 -0
  190. package/dist/number/operators/int32.d.mts +21 -0
  191. package/dist/number/operators/int32.d.mts.map +1 -0
  192. package/dist/number/operators/int32.mjs +8 -0
  193. package/dist/number/operators/int32.mjs.map +1 -0
  194. package/dist/number/operators/int8.d.mts +24 -0
  195. package/dist/number/operators/int8.d.mts.map +1 -0
  196. package/dist/number/operators/int8.mjs +8 -0
  197. package/dist/number/operators/int8.mjs.map +1 -0
  198. package/dist/number/operators/negative-finite-number.d.mts +11 -0
  199. package/dist/number/operators/negative-finite-number.d.mts.map +1 -0
  200. package/dist/number/operators/negative-finite-number.mjs +8 -0
  201. package/dist/number/operators/negative-finite-number.mjs.map +1 -0
  202. package/dist/number/operators/negative-int.d.mts +10 -0
  203. package/dist/number/operators/negative-int.d.mts.map +1 -0
  204. package/dist/number/operators/negative-int.mjs +9 -0
  205. package/dist/number/operators/negative-int.mjs.map +1 -0
  206. package/dist/number/operators/negative-safe-int.d.mts +10 -0
  207. package/dist/number/operators/negative-safe-int.d.mts.map +1 -0
  208. package/dist/number/operators/negative-safe-int.mjs +9 -0
  209. package/dist/number/operators/negative-safe-int.mjs.map +1 -0
  210. package/dist/number/operators/non-negative-finite-number.d.mts +22 -0
  211. package/dist/number/operators/non-negative-finite-number.d.mts.map +1 -0
  212. package/dist/number/operators/non-negative-finite-number.mjs +7 -0
  213. package/dist/number/operators/non-negative-finite-number.mjs.map +1 -0
  214. package/dist/number/operators/non-negative-int16.d.mts +27 -0
  215. package/dist/number/operators/non-negative-int16.d.mts.map +1 -0
  216. package/dist/number/operators/non-negative-int16.mjs +8 -0
  217. package/dist/number/operators/non-negative-int16.mjs.map +1 -0
  218. package/dist/number/operators/non-negative-int32.d.mts +25 -0
  219. package/dist/number/operators/non-negative-int32.d.mts.map +1 -0
  220. package/dist/number/operators/non-negative-int32.mjs +8 -0
  221. package/dist/number/operators/non-negative-int32.mjs.map +1 -0
  222. package/dist/number/operators/non-positive-finite-number.d.mts +11 -0
  223. package/dist/number/operators/non-positive-finite-number.d.mts.map +1 -0
  224. package/dist/number/operators/non-positive-finite-number.mjs +7 -0
  225. package/dist/number/operators/non-positive-finite-number.mjs.map +1 -0
  226. package/dist/number/operators/non-positive-int.d.mts +10 -0
  227. package/dist/number/operators/non-positive-int.d.mts.map +1 -0
  228. package/dist/number/operators/non-positive-int.mjs +8 -0
  229. package/dist/number/operators/non-positive-int.mjs.map +1 -0
  230. package/dist/number/operators/non-positive-safe-int.d.mts +10 -0
  231. package/dist/number/operators/non-positive-safe-int.d.mts.map +1 -0
  232. package/dist/number/operators/non-positive-safe-int.mjs +8 -0
  233. package/dist/number/operators/non-positive-safe-int.mjs.map +1 -0
  234. package/dist/number/operators/non-zero-finite-number.d.mts +16 -0
  235. package/dist/number/operators/non-zero-finite-number.d.mts.map +1 -0
  236. package/dist/number/operators/non-zero-finite-number.mjs +8 -0
  237. package/dist/number/operators/non-zero-finite-number.mjs.map +1 -0
  238. package/dist/number/operators/non-zero-int.d.mts +10 -0
  239. package/dist/number/operators/non-zero-int.d.mts.map +1 -0
  240. package/dist/number/operators/non-zero-int.mjs +9 -0
  241. package/dist/number/operators/non-zero-int.mjs.map +1 -0
  242. package/dist/number/operators/non-zero-int16.d.mts +10 -0
  243. package/dist/number/operators/non-zero-int16.d.mts.map +1 -0
  244. package/dist/number/operators/non-zero-int16.mjs +9 -0
  245. package/dist/number/operators/non-zero-int16.mjs.map +1 -0
  246. package/dist/number/operators/non-zero-int32.d.mts +10 -0
  247. package/dist/number/operators/non-zero-int32.d.mts.map +1 -0
  248. package/dist/number/operators/non-zero-int32.mjs +9 -0
  249. package/dist/number/operators/non-zero-int32.mjs.map +1 -0
  250. package/dist/number/operators/non-zero-safe-int.d.mts +10 -0
  251. package/dist/number/operators/non-zero-safe-int.d.mts.map +1 -0
  252. package/dist/number/operators/non-zero-safe-int.mjs +11 -0
  253. package/dist/number/operators/non-zero-safe-int.mjs.map +1 -0
  254. package/dist/number/operators/non-zero-uint16.d.mts +2 -0
  255. package/dist/number/operators/non-zero-uint16.d.mts.map +1 -0
  256. package/dist/number/operators/non-zero-uint16.mjs +9 -0
  257. package/dist/number/operators/non-zero-uint16.mjs.map +1 -0
  258. package/dist/number/operators/non-zero-uint32.d.mts +2 -0
  259. package/dist/number/operators/non-zero-uint32.d.mts.map +1 -0
  260. package/dist/number/operators/non-zero-uint32.mjs +9 -0
  261. package/dist/number/operators/non-zero-uint32.mjs.map +1 -0
  262. package/dist/number/operators/positive-finite-number.d.mts +23 -0
  263. package/dist/number/operators/positive-finite-number.d.mts.map +1 -0
  264. package/dist/number/operators/positive-finite-number.mjs +7 -0
  265. package/dist/number/operators/positive-finite-number.mjs.map +1 -0
  266. package/dist/number/operators/positive-int.d.mts +23 -0
  267. package/dist/number/operators/positive-int.d.mts.map +1 -0
  268. package/dist/number/operators/positive-int.mjs +8 -0
  269. package/dist/number/operators/positive-int.mjs.map +1 -0
  270. package/dist/number/operators/positive-int16.d.mts +28 -0
  271. package/dist/number/operators/positive-int16.d.mts.map +1 -0
  272. package/dist/number/operators/positive-int16.mjs +8 -0
  273. package/dist/number/operators/positive-int16.mjs.map +1 -0
  274. package/dist/number/operators/positive-int32.d.mts +26 -0
  275. package/dist/number/operators/positive-int32.d.mts.map +1 -0
  276. package/dist/number/operators/positive-int32.mjs +8 -0
  277. package/dist/number/operators/positive-int32.mjs.map +1 -0
  278. package/dist/number/operators/positive-safe-int.d.mts +24 -0
  279. package/dist/number/operators/positive-safe-int.d.mts.map +1 -0
  280. package/dist/number/operators/positive-safe-int.mjs +9 -0
  281. package/dist/number/operators/positive-safe-int.mjs.map +1 -0
  282. package/dist/number/operators/positive-uint16.d.mts +27 -0
  283. package/dist/number/operators/positive-uint16.d.mts.map +1 -0
  284. package/dist/number/operators/positive-uint16.mjs +8 -0
  285. package/dist/number/operators/positive-uint16.mjs.map +1 -0
  286. package/dist/number/operators/positive-uint32.d.mts +25 -0
  287. package/dist/number/operators/positive-uint32.d.mts.map +1 -0
  288. package/dist/number/operators/positive-uint32.mjs +8 -0
  289. package/dist/number/operators/positive-uint32.mjs.map +1 -0
  290. package/dist/number/operators/safe-int.d.mts +17 -0
  291. package/dist/number/operators/safe-int.d.mts.map +1 -0
  292. package/dist/number/operators/safe-int.mjs +10 -0
  293. package/dist/number/operators/safe-int.mjs.map +1 -0
  294. package/dist/number/operators/safe-uint.d.mts +22 -0
  295. package/dist/number/operators/safe-uint.d.mts.map +1 -0
  296. package/dist/number/operators/safe-uint.mjs +9 -0
  297. package/dist/number/operators/safe-uint.mjs.map +1 -0
  298. package/dist/number/operators/uint.d.mts +14 -0
  299. package/dist/number/operators/uint.d.mts.map +1 -0
  300. package/dist/number/operators/uint.mjs +8 -0
  301. package/dist/number/operators/uint.mjs.map +1 -0
  302. package/dist/number/operators/uint16.d.mts +25 -0
  303. package/dist/number/operators/uint16.d.mts.map +1 -0
  304. package/dist/number/operators/uint16.mjs +8 -0
  305. package/dist/number/operators/uint16.mjs.map +1 -0
  306. package/dist/number/operators/uint32.d.mts +23 -0
  307. package/dist/number/operators/uint32.d.mts.map +1 -0
  308. package/dist/number/operators/uint32.mjs +8 -0
  309. package/dist/number/operators/uint32.mjs.map +1 -0
  310. package/dist/number/operators/uint8.d.mts +24 -0
  311. package/dist/number/operators/uint8.d.mts.map +1 -0
  312. package/dist/number/operators/uint8.mjs +8 -0
  313. package/dist/number/operators/uint8.mjs.map +1 -0
  314. package/dist/number/refined-number-utils.d.mts +2 -2
  315. package/dist/number/refined-number-utils.d.mts.map +1 -1
  316. package/dist/number/refined-number-utils.mjs +1 -1
  317. package/dist/number/refined-number-utils.mjs.map +1 -1
  318. package/dist/object/object.mjs +1 -1
  319. package/dist/object/object.mjs.map +1 -1
  320. package/dist/others/fast-deep-equal.mjs +1 -1
  321. package/dist/others/fast-deep-equal.mjs.map +1 -1
  322. package/package.json +22 -9
  323. package/src/array/impl/array-utils-reducing-value.mts +4 -3
  324. package/src/array/impl/array-utils-shape-invariants.test.mts +1 -1
  325. package/src/array/impl/array-utils-slice-clamped.mts +1 -1
  326. package/src/array/impl/array-utils-slicing.mts +12 -3
  327. package/src/array/impl/array-utils-transformation.mts +6 -2
  328. package/src/array/impl/array-utils-validation.mts +2 -1
  329. package/src/built-in-tag.mts +59 -0
  330. package/src/built-in-tag.test.mts +215 -0
  331. package/src/collections/stack.mts +3 -3
  332. package/src/iterator/range.mts +10 -2
  333. package/src/iterator/range.test.mts +7 -0
  334. package/src/number/branded-types/finite-number.mts +23 -25
  335. package/src/number/branded-types/int.mts +20 -26
  336. package/src/number/branded-types/int16.mts +21 -26
  337. package/src/number/branded-types/int32.mts +21 -26
  338. package/src/number/branded-types/negative-finite-number.mts +25 -26
  339. package/src/number/branded-types/negative-int.mts +20 -27
  340. package/src/number/branded-types/negative-safe-int.mts +23 -28
  341. package/src/number/branded-types/non-negative-finite-number.mts +24 -25
  342. package/src/number/branded-types/non-negative-int16.mts +23 -26
  343. package/src/number/branded-types/non-negative-int32.mts +23 -26
  344. package/src/number/branded-types/non-positive-finite-number.mts +24 -25
  345. package/src/number/branded-types/non-positive-int.mts +20 -26
  346. package/src/number/branded-types/non-positive-safe-int.mts +21 -26
  347. package/src/number/branded-types/non-zero-finite-number.mts +23 -25
  348. package/src/number/branded-types/non-zero-int.mts +19 -25
  349. package/src/number/branded-types/non-zero-int16.mts +27 -28
  350. package/src/number/branded-types/non-zero-int32.mts +27 -28
  351. package/src/number/branded-types/non-zero-safe-int.mts +25 -35
  352. package/src/number/branded-types/non-zero-uint16.mts +24 -28
  353. package/src/number/branded-types/non-zero-uint32.mts +24 -28
  354. package/src/number/branded-types/positive-finite-number.mts +25 -25
  355. package/src/number/branded-types/positive-int.mts +21 -26
  356. package/src/number/branded-types/positive-int16.mts +23 -26
  357. package/src/number/branded-types/positive-int32.mts +23 -26
  358. package/src/number/branded-types/positive-safe-int.mts +24 -31
  359. package/src/number/branded-types/positive-uint16.mts +23 -26
  360. package/src/number/branded-types/positive-uint32.mts +23 -26
  361. package/src/number/branded-types/safe-int.mts +22 -29
  362. package/src/number/branded-types/safe-uint.mts +21 -27
  363. package/src/number/branded-types/uint.mts +21 -26
  364. package/src/number/branded-types/uint16.mts +21 -26
  365. package/src/number/branded-types/uint32.mts +21 -26
  366. package/src/number/enum/int8.mts +40 -52
  367. package/src/number/enum/uint8.mts +40 -48
  368. package/src/number/index.mts +1 -1
  369. package/src/number/num/impl/index.mts +1 -0
  370. package/src/number/num/impl/num.mts +715 -0
  371. package/src/number/{num.test.mts → num/impl/num.test.mts} +4 -4
  372. package/src/number/num/index.mts +16 -0
  373. package/src/number/num-arithmetic.test.mts +1 -1
  374. package/src/number/operators/finite-number.mts +20 -0
  375. package/src/number/operators/int.mts +20 -0
  376. package/src/number/operators/int16.mts +33 -0
  377. package/src/number/operators/int32.mts +33 -0
  378. package/src/number/operators/int8.mts +18 -0
  379. package/src/number/operators/negative-finite-number.mts +22 -0
  380. package/src/number/operators/negative-int.mts +22 -0
  381. package/src/number/operators/negative-safe-int.mts +32 -0
  382. package/src/number/operators/non-negative-finite-number.mts +32 -0
  383. package/src/number/operators/non-negative-int16.mts +33 -0
  384. package/src/number/operators/non-negative-int32.mts +33 -0
  385. package/src/number/operators/non-positive-finite-number.mts +21 -0
  386. package/src/number/operators/non-positive-int.mts +21 -0
  387. package/src/number/operators/non-positive-safe-int.mts +31 -0
  388. package/src/number/operators/non-zero-finite-number.mts +21 -0
  389. package/src/number/operators/non-zero-int.mts +22 -0
  390. package/src/number/operators/non-zero-int16.mts +32 -0
  391. package/src/number/operators/non-zero-int32.mts +32 -0
  392. package/src/number/operators/non-zero-safe-int.mts +34 -0
  393. package/src/number/operators/non-zero-uint16.mts +32 -0
  394. package/src/number/operators/non-zero-uint32.mts +32 -0
  395. package/src/number/operators/positive-finite-number.mts +32 -0
  396. package/src/number/operators/positive-int.mts +32 -0
  397. package/src/number/operators/positive-int16.mts +33 -0
  398. package/src/number/operators/positive-int32.mts +33 -0
  399. package/src/number/operators/positive-safe-int.mts +34 -0
  400. package/src/number/operators/positive-uint16.mts +33 -0
  401. package/src/number/operators/positive-uint32.mts +33 -0
  402. package/src/number/operators/safe-int.mts +35 -0
  403. package/src/number/operators/safe-uint.mts +33 -0
  404. package/src/number/operators/uint.mts +31 -0
  405. package/src/number/operators/uint16.mts +32 -0
  406. package/src/number/operators/uint32.mts +32 -0
  407. package/src/number/operators/uint8.mts +16 -0
  408. package/src/number/refined-number-utils.mts +4 -4
  409. package/src/object/object.mts +1 -1
  410. package/src/others/fast-deep-equal.mts +1 -1
  411. package/dist/number/num.d.mts +0 -550
  412. package/dist/number/num.d.mts.map +0 -1
  413. package/dist/number/num.mjs +0 -563
  414. package/dist/number/num.mjs.map +0 -1
  415. package/src/guard/is-error.test.mts +0 -145
  416. package/src/number/num.mts +0 -735
@@ -19,7 +19,7 @@ export type Int = TtfImported_Int;
19
19
  * @param value - The value to check
20
20
  * @returns `true` if the value is an integer, `false` otherwise
21
21
  */
22
- export declare const isInt: (a: number) => a is TtfImported_Int;
22
+ export declare const isInt: (value: number) => value is Int;
23
23
  /**
24
24
  * Casts a `number` to the `Int` branded type.
25
25
  *
@@ -40,13 +40,7 @@ export declare const isInt: (a: number) => a is TtfImported_Int;
40
40
  * @returns The value as an `Int`
41
41
  * @throws {TypeError} If the value is not an integer
42
42
  */
43
- export declare const asInt: <N extends number>(x: N) => number & {
44
- readonly Finite: true;
45
- readonly Int: true;
46
- readonly NaNValue: false;
47
- } & Readonly<{
48
- 'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
49
- }> & N;
43
+ export declare const asInt: <N extends number>(value: N) => Int & N;
50
44
  /**
51
45
  * Namespace providing type-safe operations for the `Int` branded type.
52
46
  *
@@ -74,7 +68,7 @@ export declare const Int: {
74
68
  * @returns `true` if the value is an integer, `false` otherwise
75
69
  * @see {@link isInt} for usage examples
76
70
  */
77
- readonly is: (a: number) => a is TtfImported_Int;
71
+ readonly is: typeof isInt;
78
72
  /**
79
73
  * Returns the absolute value of an integer.
80
74
  *
@@ -1 +1 @@
1
- {"version":3,"file":"int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/int.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,IAAI,eAAe,EAAE,MAAM,eAAe,CAAC;AAI5D,MAAM,MAAM,GAAG,GAAG,eAAe,CAAC;AA6BlC;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,KAAK,qCAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,KAAK;;;;;;MAAW,CAAC;AAE9B;;;;;;;;GAQG;AACH,eAAO,MAAM,GAAG;IACd;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;;;;;;;;;;;;;OAqBG;;IAGH;;;;;;;;;;;;;OAaG;;IAGH;;;;;;;;;;;;;OAaG;;IAGH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;IAGH;;;;;;;;;;;;;;;;;;;OAmBG;;IAGH;;;;;;;;;;;;;;OAcG;;IAGH;;;;;;;;;;;;;;OAcG;;IAGH;;;;;;;;;;;;;;OAcG;;IAGH;;;;;;;;;;;;;;;;;;;OAmBG;;;;;;;;;CAEK,CAAC"}
1
+ {"version":3,"file":"int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/int.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,IAAI,eAAe,EAAE,MAAM,eAAe,CAAC;AAe5D,MAAM,MAAM,GAAG,GAAG,eAAe,CAAC;AAMlC;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,KAAK,UAAW,MAAM,KAAG,KAAK,IAAI,GAA8B,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,MAAM,SAAS,CAAC,KAAG,GAAG,GAAG,CAMxD,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,GAAG;IACd;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;;;;;;;;;;;;;OAqBG;;IAGH;;;;;;;;;;;;;OAaG;;IAGH;;;;;;;;;;;;;OAaG;;IAGH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;IAGH;;;;;;;;;;;;;;;;;;;OAmBG;;IAGH;;;;;;;;;;;;;;OAcG;;IAGH;;;;;;;;;;;;;;OAcG;;IAGH;;;;;;;;;;;;;;OAcG;;IAGH;;;;;;;;;;;;;;;;;;;OAmBG;;;;;;;;;CAEK,CAAC"}
@@ -1,12 +1,6 @@
1
1
 
2
- import { TsDataForgeInternals } from '../refined-number-utils.mjs';
2
+ import { abs, add, div, max as max_, min as min_, mul, pow, random, sub, } from '../operators/int.mjs';
3
3
  const typeNameInMessage = 'an integer';
4
- const { abs, add, castType, div, is, max: max_, min: min_, mul, pow, random, sub, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
5
- integerOrSafeInteger: 'Integer',
6
- MIN_VALUE: -Number.MAX_VALUE,
7
- MAX_VALUE: Number.MAX_VALUE,
8
- typeNameInMessage,
9
- });
10
4
 
11
5
 
12
6
 
@@ -26,7 +20,7 @@ const { abs, add, castType, div, is, max: max_, min: min_, mul, pow, random, sub
26
20
 
27
21
 
28
22
 
29
- export const isInt = is;
23
+ export const isInt = (value) => Number.isInteger(value);
30
24
 
31
25
 
32
26
 
@@ -47,7 +41,12 @@ export const isInt = is;
47
41
 
48
42
 
49
43
 
50
- export const asInt = castType;
44
+ export const asInt = (value) => {
45
+ if (!isInt(value)) {
46
+ throw new TypeError(`Expected ${typeNameInMessage}, got: ${value}`);
47
+ }
48
+ return value;
49
+ };
51
50
 
52
51
 
53
52
 
@@ -75,7 +74,7 @@ export const Int = {
75
74
 
76
75
 
77
76
 
78
- is,
77
+ is: isInt,
79
78
 
80
79
 
81
80
 
@@ -1 +1 @@
1
- {"version":3,"file":"int.mjs","sourceRoot":"","sources":["../../../src/number/branded-types/int.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAMnE,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAEvC,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;IACA,oBAAoB,EAAE,SAAS;IAC/B,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS;IAC5B,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,iBAAiB;CACT,CAAC,CAAC;AAEZ;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;AAExB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC;AAE9B;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB;;;;;;;;;;;;;;;;OAgBG;IACH,EAAE;IAEF;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,GAAG;IAEH;;;;;;;;;;;;;OAaG;IACH,GAAG,EAAE,IAAI;IAET;;;;;;;;;;;;;OAaG;IACH,GAAG,EAAE,IAAI;IAET;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM;IAEN;;;;;;;;;;;;;;;;;;;OAmBG;IACH,GAAG;IAEH;;;;;;;;;;;;;;OAcG;IACH,GAAG;IAEH;;;;;;;;;;;;;;OAcG;IACH,GAAG;IAEH;;;;;;;;;;;;;;OAcG;IACH,GAAG;IAEH;;;;;;;;;;;;;;;;;;;OAmBG;IACH,GAAG;CACK,CAAC;AAEX,UAAU,CAGR,GAAG,CAAC,CAAC;AAEP,UAAU,CAGR,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"int.mjs","sourceRoot":"","sources":["../../../src/number/branded-types/int.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,IAAI,IAAI,EACX,GAAG,IAAI,IAAI,EACX,GAAG,EACH,GAAG,EACH,MAAM,EACN,GAAG,GACJ,MAAM,sBAAsB,CAAC;AAO9B,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAEvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAgB,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAmB,KAAQ,EAAW,EAAE;IAC3D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,SAAS,CAAC,YAAY,iBAAiB,UAAU,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB;;;;;;;;;;;;;;;;OAgBG;IACH,EAAE,EAAE,KAAK;IAET;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,GAAG;IAEH;;;;;;;;;;;;;OAaG;IACH,GAAG,EAAE,IAAI;IAET;;;;;;;;;;;;;OAaG;IACH,GAAG,EAAE,IAAI;IAET;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM;IAEN;;;;;;;;;;;;;;;;;;;OAmBG;IACH,GAAG;IAEH;;;;;;;;;;;;;;OAcG;IACH,GAAG;IAEH;;;;;;;;;;;;;;OAcG;IACH,GAAG;IAEH;;;;;;;;;;;;;;OAcG;IACH,GAAG;IAEH;;;;;;;;;;;;;;;;;;;OAmBG;IACH,GAAG;CACK,CAAC;AAEX,UAAU,CAGR,GAAG,CAAC,CAAC;AAEP,UAAU,CAGR,IAAI,CAAC,CAAC"}
@@ -9,7 +9,7 @@ export type Int16 = TtfImported_Int16;
9
9
  * @param value - The value to check
10
10
  * @returns `true` if the value is an integer in [-2^15, 2^15), `false` otherwise
11
11
  */
12
- export declare const isInt16: (a: number) => a is TtfImported_Int16;
12
+ export declare const isInt16: (value: number) => value is Int16;
13
13
  /**
14
14
  * Casts a `number` to the `Int16` branded type.
15
15
  *
@@ -20,22 +20,7 @@ export declare const isInt16: (a: number) => a is TtfImported_Int16;
20
20
  * @returns The value as an `Int16`
21
21
  * @throws {TypeError} If the value is not an integer in [-2^15, 2^15)
22
22
  */
23
- export declare const asInt16: <N extends number>(x: N) => number & {
24
- readonly "< 2^15": true;
25
- readonly "< 2^16": true;
26
- readonly "< 2^31": true;
27
- readonly "< 2^32": true;
28
- readonly "> -2^16": true;
29
- readonly "> -2^32": true;
30
- readonly ">= -2^15": true;
31
- readonly ">= -2^31": true;
32
- readonly Finite: true;
33
- readonly Int: true;
34
- readonly NaNValue: false;
35
- readonly SafeInt: true;
36
- } & Readonly<{
37
- 'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
38
- }> & N;
23
+ export declare const asInt16: <N extends number>(value: N) => Int16 & N;
39
24
  /**
40
25
  * Namespace providing type-safe operations for the `Int16` branded type.
41
26
  *
@@ -50,7 +35,7 @@ export declare const Int16: {
50
35
  * @returns `true` if the value is an integer in [-2^15, 2^15), `false` otherwise
51
36
  * @see {@link isInt16} for usage examples
52
37
  */
53
- readonly is: (a: number) => a is TtfImported_Int16;
38
+ readonly is: typeof isInt16;
54
39
  /**
55
40
  * The smallest value representable as `Int16` (the lower saturation target of
56
41
  * `fromNumber`).
@@ -1 +1 @@
1
- {"version":3,"file":"int16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/int16.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIhE,MAAM,MAAM,KAAK,GAAG,iBAAiB,CAAC;AAgCtC;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,uCAAK,CAAC;AAE1B;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;MAAW,CAAC;AAEhC;;;;;GAKG;AACH,eAAO,MAAM,KAAK;IAChB;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;;;;OAOG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;;;;;;;;;;;;;;;;;CAEK,CAAC"}
1
+ {"version":3,"file":"int16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/int16.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAkBhE,MAAM,MAAM,KAAK,GAAG,iBAAiB,CAAC;AAMtC;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,UAAW,MAAM,KAAG,KAAK,IAAI,KAC2B,CAAC;AAE7E;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,SAAS,CAAC,KAAG,KAAK,GAAG,CAM5D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,KAAK;IAChB;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;;;;OAOG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;;;;;;;;;;;;;;;;;CAEK,CAAC"}
@@ -1,12 +1,6 @@
1
1
 
2
- import { TsDataForgeInternals } from '../refined-number-utils.mjs';
2
+ import { MAX_VALUE, MIN_VALUE, abs, add, div, fromNumber, max as max_, min as min_, mul, pow, random, sub, } from '../operators/int16.mjs';
3
3
  const typeNameInMessage = 'an integer in [-2^15, 2^15)';
4
- const { MAX_VALUE, MIN_VALUE, abs, add, castType, div, fromNumber, is, max: max_, min: min_, mul, pow, random, sub, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
5
- integerOrSafeInteger: 'SafeInteger',
6
- MIN_VALUE: -(2 ** 15),
7
- MAX_VALUE: 2 ** 15 - 1,
8
- typeNameInMessage,
9
- });
10
4
 
11
5
 
12
6
 
@@ -16,7 +10,7 @@ const { MAX_VALUE, MIN_VALUE, abs, add, castType, div, fromNumber, is, max: max_
16
10
 
17
11
 
18
12
 
19
- export const isInt16 = is;
13
+ export const isInt16 = (value) => Number.isSafeInteger(value) && -(2 ** 15) <= value && value <= 2 ** 15 - 1;
20
14
 
21
15
 
22
16
 
@@ -27,7 +21,12 @@ export const isInt16 = is;
27
21
 
28
22
 
29
23
 
30
- export const asInt16 = castType;
24
+ export const asInt16 = (value) => {
25
+ if (!isInt16(value)) {
26
+ throw new TypeError(`Expected ${typeNameInMessage}, got: ${value}`);
27
+ }
28
+ return value;
29
+ };
31
30
 
32
31
 
33
32
 
@@ -42,7 +41,7 @@ export const Int16 = {
42
41
 
43
42
 
44
43
 
45
- is,
44
+ is: isInt16,
46
45
 
47
46
 
48
47
 
@@ -1 +1 @@
1
- {"version":3,"file":"int16.mjs","sourceRoot":"","sources":["../../../src/number/branded-types/int16.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAMnE,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAExD,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,EACH,QAAQ,EACR,GAAG,EACH,UAAU,EACV,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;IACA,oBAAoB,EAAE,aAAa;IACnC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrB,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;CACT,CAAC,CAAC;AAEZ;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB;;;;;;OAMG;IACH,EAAE;IAEF;;;OAGG;IACH,SAAS;IAET;;;OAGG;IACH,SAAS;IAET;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;;;;;OASG;IACH,UAAU;IAEV;;;;;;;;OAQG;IACH,MAAM;IAEN;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;;OAOG;IACH,GAAG;CACK,CAAC;AAEX,UAAU,CAMR,GAAG,CAAC,CAAC;AAEP,UAAU,CAMR,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"int16.mjs","sourceRoot":"","sources":["../../../src/number/branded-types/int16.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,SAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,UAAU,EACV,GAAG,IAAI,IAAI,EACX,GAAG,IAAI,IAAI,EACX,GAAG,EACH,GAAG,EACH,MAAM,EACN,GAAG,GACJ,MAAM,wBAAwB,CAAC;AAOhC,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAkB,EAAE,CACvD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAmB,KAAQ,EAAa,EAAE;IAC/D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,YAAY,iBAAiB,UAAU,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB;;;;;;OAMG;IACH,EAAE,EAAE,OAAO;IAEX;;;OAGG;IACH,SAAS;IAET;;;OAGG;IACH,SAAS;IAET;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;;;;;OASG;IACH,UAAU;IAEV;;;;;;;;OAQG;IACH,MAAM;IAEN;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;;OAOG;IACH,GAAG;CACK,CAAC;AAEX,UAAU,CAMR,GAAG,CAAC,CAAC;AAEP,UAAU,CAMR,IAAI,CAAC,CAAC"}
@@ -9,7 +9,7 @@ export type Int32 = TtfImported_Int32;
9
9
  * @param value - The value to check
10
10
  * @returns `true` if the value is an integer in [-2^31, 2^31), `false` otherwise
11
11
  */
12
- export declare const isInt32: (a: number) => a is TtfImported_Int32;
12
+ export declare const isInt32: (value: number) => value is Int32;
13
13
  /**
14
14
  * Casts a `number` to the `Int32` branded type.
15
15
  *
@@ -20,18 +20,7 @@ export declare const isInt32: (a: number) => a is TtfImported_Int32;
20
20
  * @returns The value as an `Int32`
21
21
  * @throws {TypeError} If the value is not an integer in [-2^31, 2^31)
22
22
  */
23
- export declare const asInt32: <N extends number>(x: N) => number & {
24
- readonly "< 2^31": true;
25
- readonly "< 2^32": true;
26
- readonly "> -2^32": true;
27
- readonly ">= -2^31": true;
28
- readonly Finite: true;
29
- readonly Int: true;
30
- readonly NaNValue: false;
31
- readonly SafeInt: true;
32
- } & Readonly<{
33
- 'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
34
- }> & N;
23
+ export declare const asInt32: <N extends number>(value: N) => Int32 & N;
35
24
  /**
36
25
  * Namespace providing type-safe operations for the `Int32` branded type.
37
26
  *
@@ -46,7 +35,7 @@ export declare const Int32: {
46
35
  * @returns `true` if the value is an integer in [-2^31, 2^31), `false` otherwise
47
36
  * @see {@link isInt32} for usage examples
48
37
  */
49
- readonly is: (a: number) => a is TtfImported_Int32;
38
+ readonly is: typeof isInt32;
50
39
  /**
51
40
  * The smallest value representable as `Int32` (the lower saturation target of
52
41
  * `fromNumber`).
@@ -1 +1 @@
1
- {"version":3,"file":"int32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/int32.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIhE,MAAM,MAAM,KAAK,GAAG,iBAAiB,CAAC;AAgCtC;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,uCAAK,CAAC;AAE1B;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;MAAW,CAAC;AAEhC;;;;;GAKG;AACH,eAAO,MAAM,KAAK;IAChB;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;;;;OAOG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;;;;;;;;;;;;;CAEK,CAAC"}
1
+ {"version":3,"file":"int32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/int32.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAkBhE,MAAM,MAAM,KAAK,GAAG,iBAAiB,CAAC;AAMtC;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,UAAW,MAAM,KAAG,KAAK,IAAI,KAC2B,CAAC;AAE7E;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,SAAS,CAAC,KAAG,KAAK,GAAG,CAM5D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,KAAK;IAChB;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;;;;OAOG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;;;;;;;;;;;;;CAEK,CAAC"}
@@ -1,12 +1,6 @@
1
1
 
2
- import { TsDataForgeInternals } from '../refined-number-utils.mjs';
2
+ import { MAX_VALUE, MIN_VALUE, abs, add, div, fromNumber, max as max_, min as min_, mul, pow, random, sub, } from '../operators/int32.mjs';
3
3
  const typeNameInMessage = 'an integer in [-2^31, 2^31)';
4
- const { MAX_VALUE, MIN_VALUE, abs, add, castType, div, fromNumber, is, max: max_, min: min_, mul, pow, random, sub, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
5
- integerOrSafeInteger: 'SafeInteger',
6
- MIN_VALUE: -(2 ** 31),
7
- MAX_VALUE: 2 ** 31 - 1,
8
- typeNameInMessage,
9
- });
10
4
 
11
5
 
12
6
 
@@ -16,7 +10,7 @@ const { MAX_VALUE, MIN_VALUE, abs, add, castType, div, fromNumber, is, max: max_
16
10
 
17
11
 
18
12
 
19
- export const isInt32 = is;
13
+ export const isInt32 = (value) => Number.isSafeInteger(value) && -(2 ** 31) <= value && value <= 2 ** 31 - 1;
20
14
 
21
15
 
22
16
 
@@ -27,7 +21,12 @@ export const isInt32 = is;
27
21
 
28
22
 
29
23
 
30
- export const asInt32 = castType;
24
+ export const asInt32 = (value) => {
25
+ if (!isInt32(value)) {
26
+ throw new TypeError(`Expected ${typeNameInMessage}, got: ${value}`);
27
+ }
28
+ return value;
29
+ };
31
30
 
32
31
 
33
32
 
@@ -42,7 +41,7 @@ export const Int32 = {
42
41
 
43
42
 
44
43
 
45
- is,
44
+ is: isInt32,
46
45
 
47
46
 
48
47
 
@@ -1 +1 @@
1
- {"version":3,"file":"int32.mjs","sourceRoot":"","sources":["../../../src/number/branded-types/int32.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAMnE,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAExD,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,EACH,QAAQ,EACR,GAAG,EACH,UAAU,EACV,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;IACA,oBAAoB,EAAE,aAAa;IACnC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrB,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;CACT,CAAC,CAAC;AAEZ;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB;;;;;;OAMG;IACH,EAAE;IAEF;;;OAGG;IACH,SAAS;IAET;;;OAGG;IACH,SAAS;IAET;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;;;;;OASG;IACH,UAAU;IAEV;;;;;;;;OAQG;IACH,MAAM;IAEN;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;;OAOG;IACH,GAAG;CACK,CAAC;AAEX,UAAU,CAMR,GAAG,CAAC,CAAC;AAEP,UAAU,CAMR,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"int32.mjs","sourceRoot":"","sources":["../../../src/number/branded-types/int32.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,SAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,UAAU,EACV,GAAG,IAAI,IAAI,EACX,GAAG,IAAI,IAAI,EACX,GAAG,EACH,GAAG,EACH,MAAM,EACN,GAAG,GACJ,MAAM,wBAAwB,CAAC;AAOhC,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAkB,EAAE,CACvD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAmB,KAAQ,EAAa,EAAE;IAC/D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,YAAY,iBAAiB,UAAU,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB;;;;;;OAMG;IACH,EAAE,EAAE,OAAO;IAEX;;;OAGG;IACH,SAAS;IAET;;;OAGG;IACH,SAAS;IAET;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;;;;;OASG;IACH,UAAU;IAEV;;;;;;;;OAQG;IACH,MAAM;IAEN;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;;OAOG;IACH,GAAG;CACK,CAAC;AAEX,UAAU,CAMR,GAAG,CAAC,CAAC;AAEP,UAAU,CAMR,IAAI,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { NegativeFiniteNumber as TtfImported_NegativeFiniteNumber } from 'ts-type-forge';
2
- import { TsDataForgeInternals } from '../refined-number-utils.mjs';
2
+ import type { TsDataForgeInternals } from '../refined-number-utils.mjs';
3
3
  import { PositiveFiniteNumber } from './positive-finite-number.mjs';
4
4
  export type NegativeFiniteNumber = TtfImported_NegativeFiniteNumber;
5
5
  type ElementType = NegativeFiniteNumber;
@@ -16,7 +16,7 @@ declare const round: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils
16
16
  * @param value - The value to check
17
17
  * @returns `true` if the value is a negative finite number, `false` otherwise
18
18
  */
19
- export declare const isNegativeFiniteNumber: (a: number) => a is TtfImported_NegativeFiniteNumber;
19
+ export declare const isNegativeFiniteNumber: (value: number) => value is NegativeFiniteNumber;
20
20
  /**
21
21
  * Casts a `number` to the `NegativeFiniteNumber` branded type.
22
22
  *
@@ -27,19 +27,7 @@ export declare const isNegativeFiniteNumber: (a: number) => a is TtfImported_Neg
27
27
  * @returns The value as a `NegativeFiniteNumber`
28
28
  * @throws {TypeError} If the value is not a negative finite number
29
29
  */
30
- export declare const asNegativeFiniteNumber: <N extends number>(x: N) => number & {
31
- readonly "!=0": true;
32
- readonly "< 2^15": true;
33
- readonly "< 2^16": true;
34
- readonly "< 2^31": true;
35
- readonly "< 2^32": true;
36
- readonly "<=0": true;
37
- readonly ">=0": false;
38
- readonly Finite: true;
39
- readonly NaNValue: false;
40
- } & Readonly<{
41
- 'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
42
- }> & N;
30
+ export declare const asNegativeFiniteNumber: <N extends number>(value: N) => NegativeFiniteNumber & N;
43
31
  /**
44
32
  * Namespace providing type-safe operations for the `NegativeFiniteNumber`
45
33
  * branded type.
@@ -54,7 +42,7 @@ export declare const NegativeFiniteNumber: {
54
42
  * @returns `true` if the value is a negative finite number, `false` otherwise
55
43
  * @see {@link isNegativeFiniteNumber} for usage examples
56
44
  */
57
- readonly is: (a: number) => a is TtfImported_NegativeFiniteNumber;
45
+ readonly is: typeof isNegativeFiniteNumber;
58
46
  /**
59
47
  * The largest value representable as `NegativeFiniteNumber` (the upper
60
48
  * saturation target of `fromNumber`). The domain is open at `0` (excluded),
@@ -1 +1 @@
1
- {"version":3,"file":"negative-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/negative-finite-number.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,IAAI,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AAEpE,KAAK,WAAW,GAAG,oBAAoB,CAAC;AA0BxC,QAAA,MAAM,GAAG,MAAO,WAAW,KAAG,oBACgB,CAAC;AAE/C,QAAA,MAAM,KAAK,MACN,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAEiB,CAAC;AAE9E,QAAA,MAAM,IAAI,MACL,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,qBAAqB,CAC9D,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAKzD,CAAC;AAEJ,QAAA,MAAM,KAAK,MACN,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,qBAAqB,CAC9D,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAOzD,CAAC;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,sDAAK,CAAC;AAEzC;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;MAAW,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;IAC/B;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;;;;OAOG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;;OAUG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;CAEK,CAAC"}
1
+ {"version":3,"file":"negative-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/negative-finite-number.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,IAAI,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAW9F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AAEpE,KAAK,WAAW,GAAG,oBAAoB,CAAC;AAIxC,QAAA,MAAM,GAAG,MAAO,WAAW,KAAG,oBACgB,CAAC;AAE/C,QAAA,MAAM,KAAK,MACN,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAEiB,CAAC;AAE9E,QAAA,MAAM,IAAI,MACL,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,qBAAqB,CAC9D,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAKzD,CAAC;AAEJ,QAAA,MAAM,KAAK,MACN,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,qBAAqB,CAC9D,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAOzD,CAAC;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,UAC1B,MAAM,KACZ,KAAK,IAAI,oBAC0C,CAAC;AAEvD;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,MAAM,SAC9C,CAAC,KACP,oBAAoB,GAAG,CAMzB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;IAC/B;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;;;;OAOG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;;OAUG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;CAEK,CAAC"}
@@ -1,12 +1,6 @@
1
- import { TsDataForgeInternals } from '../refined-number-utils.mjs';
1
+ import { MAX_VALUE, add, fromNumber, max as max_, min as min_, pow, random, sub, } from '../operators/negative-finite-number.mjs';
2
2
  import { PositiveFiniteNumber } from './positive-finite-number.mjs';
3
3
  const typeNameInMessage = 'a negative finite number';
4
- const { MAX_VALUE, add, castType, fromNumber, is, max: max_, min: min_, pow, random, sub, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForFloat({
5
- nonZero: true,
6
- MIN_VALUE: -Number.MAX_VALUE,
7
- MAX_VALUE: -Number.MIN_VALUE,
8
- typeNameInMessage,
9
- });
10
4
  const abs = (x) => PositiveFiniteNumber.fromNumber(Math.abs(x));
11
5
  const floor = (x) =>
12
6
 
@@ -26,7 +20,7 @@ Math.round(x);
26
20
 
27
21
 
28
22
 
29
- export const isNegativeFiniteNumber = is;
23
+ export const isNegativeFiniteNumber = (value) => Number.isFinite(value) && value <= -Number.MIN_VALUE;
30
24
 
31
25
 
32
26
 
@@ -37,7 +31,12 @@ export const isNegativeFiniteNumber = is;
37
31
 
38
32
 
39
33
 
40
- export const asNegativeFiniteNumber = castType;
34
+ export const asNegativeFiniteNumber = (value) => {
35
+ if (!isNegativeFiniteNumber(value)) {
36
+ throw new TypeError(`Expected ${typeNameInMessage}, got: ${value}`);
37
+ }
38
+ return value;
39
+ };
41
40
 
42
41
 
43
42
 
@@ -52,7 +51,7 @@ export const NegativeFiniteNumber = {
52
51
 
53
52
 
54
53
 
55
- is,
54
+ is: isNegativeFiniteNumber,
56
55
 
57
56
 
58
57
 
@@ -1 +1 @@
1
- {"version":3,"file":"negative-finite-number.mjs","sourceRoot":"","sources":["../../../src/number/branded-types/negative-finite-number.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAMpE,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAErD,MAAM,EACJ,SAAS,EACT,GAAG,EACH,QAAQ,EACR,UAAU,EACV,EAAE,EACF,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,MAAM,EACN,GAAG,GACJ,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,iBAAiB,CAI3D;IACA,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS;IAC5B,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS;IAC5B,iBAAiB;CACT,CAAC,CAAC;AAEZ,MAAM,GAAG,GAAG,CAAC,CAAc,EAAwB,EAAE,CACnD,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,KAAK,GAAG,CACZ,CAAc,EAC8C,EAAE;AAC9D,oEAAoE;AACpE,IAAI,CAAC,KAAK,CAAC,CAAC,CAA+D,CAAC;AAE9E,MAAM,IAAI,GAAG,CACX,CAAc,EAGd,EAAE;AACF,oEAAoE;AACpE,IAAI,CAAC,IAAI,CAAC,CAAC,CAEV,CAAC;AAEJ,MAAM,KAAK,GAAG,CACZ,CAAc,EAGd,EAAE;AACF,oEAAoE;AACpE,IAAI,CAAC,KAAK,CACR,CAAC,CAGF,CAAC;AAEJ;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC;;;;;;OAMG;IACH,EAAE;IAEF;;;;;OAKG;IACH,SAAS;IAET;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;;;;;;OAUG;IACH,UAAU;IAEV;;;;;;OAMG;IACH,KAAK;IAEL;;;;;;OAMG;IACH,IAAI;IAEJ;;;;;;OAMG;IACH,KAAK;IAEL;;;;;;;;OAQG;IACH,MAAM;IAEN;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;;;OAOG;IACH,GAAG;CACK,CAAC"}
1
+ {"version":3,"file":"negative-finite-number.mjs","sourceRoot":"","sources":["../../../src/number/branded-types/negative-finite-number.mts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,GAAG,EACH,UAAU,EACV,GAAG,IAAI,IAAI,EACX,GAAG,IAAI,IAAI,EACX,GAAG,EACH,MAAM,EACN,GAAG,GACJ,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAMpE,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAErD,MAAM,GAAG,GAAG,CAAC,CAAc,EAAwB,EAAE,CACnD,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,KAAK,GAAG,CACZ,CAAc,EAC8C,EAAE;AAC9D,oEAAoE;AACpE,IAAI,CAAC,KAAK,CAAC,CAAC,CAA+D,CAAC;AAE9E,MAAM,IAAI,GAAG,CACX,CAAc,EAGd,EAAE;AACF,oEAAoE;AACpE,IAAI,CAAC,IAAI,CAAC,CAAC,CAEV,CAAC;AAEJ,MAAM,KAAK,GAAG,CACZ,CAAc,EAGd,EAAE;AACF,oEAAoE;AACpE,IAAI,CAAC,KAAK,CACR,CAAC,CAGF,CAAC;AAEJ;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,KAAa,EACkB,EAAE,CACjC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,KAAQ,EACkB,EAAE;IAC5B,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CAAC,YAAY,iBAAiB,UAAU,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC;;;;;;OAMG;IACH,EAAE,EAAE,sBAAsB;IAE1B;;;;;OAKG;IACH,SAAS;IAET;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;;;;;;OAUG;IACH,UAAU;IAEV;;;;;;OAMG;IACH,KAAK;IAEL;;;;;;OAMG;IACH,IAAI;IAEJ;;;;;;OAMG;IACH,KAAK;IAEL;;;;;;;;OAQG;IACH,MAAM;IAEN;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;;;OAOG;IACH,GAAG;CACK,CAAC"}
@@ -12,7 +12,7 @@ declare const abs: (x: WithSmallInt<ElementType>) => PositiveInt;
12
12
  * @param value - The value to check
13
13
  * @returns `true` if the value is a negative integer, `false` otherwise
14
14
  */
15
- export declare const isNegativeInt: (a: number) => a is TtfImported_NegativeInt;
15
+ export declare const isNegativeInt: (value: number) => value is NegativeInt;
16
16
  /**
17
17
  * Casts a `number` to the `NegativeInt` branded type.
18
18
  *
@@ -23,20 +23,7 @@ export declare const isNegativeInt: (a: number) => a is TtfImported_NegativeInt;
23
23
  * @returns The value as a `NegativeInt`
24
24
  * @throws {TypeError} If the value is not a negative integer
25
25
  */
26
- export declare const asNegativeInt: <N extends number>(x: N) => number & {
27
- readonly "!=0": true;
28
- readonly "< 2^15": true;
29
- readonly "< 2^16": true;
30
- readonly "< 2^31": true;
31
- readonly "< 2^32": true;
32
- readonly "<=0": true;
33
- readonly ">=0": false;
34
- readonly Finite: true;
35
- readonly Int: true;
36
- readonly NaNValue: false;
37
- } & Readonly<{
38
- 'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
39
- }> & N;
26
+ export declare const asNegativeInt: <N extends number>(value: N) => NegativeInt & N;
40
27
  /**
41
28
  * Namespace providing type-safe operations for the `NegativeInt` branded type.
42
29
  *
@@ -55,7 +42,7 @@ export declare const NegativeInt: {
55
42
  * @returns `true` if the value is a negative integer, `false` otherwise
56
43
  * @see {@link isNegativeInt} for usage examples
57
44
  */
58
- readonly is: (a: number) => a is TtfImported_NegativeInt;
45
+ readonly is: typeof isNegativeInt;
59
46
  /**
60
47
  * The largest value representable as `NegativeInt` (the upper saturation
61
48
  * target of `fromNumber`).
@@ -1 +1 @@
1
- {"version":3,"file":"negative-int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/negative-int.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,IAAI,uBAAuB,EACtC,YAAY,EACb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAElD,KAAK,WAAW,GAAG,WAAW,CAAC;AA2B/B,QAAA,MAAM,GAAG,MAAO,YAAY,CAAC,WAAW,CAAC,KAAG,WACP,CAAC;AAEtC;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,6CAAK,CAAC;AAEhC;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;MAAW,CAAC;AAEtC;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW;IACtB;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;;OAUG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;CAEK,CAAC"}
1
+ {"version":3,"file":"negative-int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/negative-int.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,IAAI,uBAAuB,EACtC,YAAY,EACb,MAAM,eAAe,CAAC;AAWvB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAElD,KAAK,WAAW,GAAG,WAAW,CAAC;AAI/B,QAAA,MAAM,GAAG,MAAO,YAAY,CAAC,WAAW,CAAC,KAAG,WACP,CAAC;AAEtC;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,KAAK,IAAI,WACf,CAAC;AAEzC;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,SAAS,CAAC,KAAG,WAAW,GAAG,CAMxE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW;IACtB;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;;OAUG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;CAEK,CAAC"}
@@ -1,13 +1,6 @@
1
- import { TsDataForgeInternals } from '../refined-number-utils.mjs';
1
+ import { MAX_VALUE, add, fromNumber, max as max_, min as min_, pow, random, sub, } from '../operators/negative-int.mjs';
2
2
  import { PositiveInt } from './positive-int.mjs';
3
3
  const typeNameInMessage = 'a negative integer';
4
- const { MAX_VALUE, add, castType, fromNumber, is, max: max_, min: min_, pow, random, sub, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
5
- integerOrSafeInteger: 'Integer',
6
- nonZero: true,
7
- MIN_VALUE: -Number.MAX_VALUE,
8
- MAX_VALUE: -1,
9
- typeNameInMessage,
10
- });
11
4
  const abs = (x) => PositiveInt.fromNumber(Math.abs(x));
12
5
 
13
6
 
@@ -18,7 +11,7 @@ const abs = (x) => PositiveInt.fromNumber(Math.abs(x));
18
11
 
19
12
 
20
13
 
21
- export const isNegativeInt = is;
14
+ export const isNegativeInt = (value) => Number.isInteger(value) && value <= -1;
22
15
 
23
16
 
24
17
 
@@ -29,7 +22,12 @@ export const isNegativeInt = is;
29
22
 
30
23
 
31
24
 
32
- export const asNegativeInt = castType;
25
+ export const asNegativeInt = (value) => {
26
+ if (!isNegativeInt(value)) {
27
+ throw new TypeError(`Expected ${typeNameInMessage}, got: ${value}`);
28
+ }
29
+ return value;
30
+ };
33
31
 
34
32
 
35
33
 
@@ -48,7 +46,7 @@ export const NegativeInt = {
48
46
 
49
47
 
50
48
 
51
- is,
49
+ is: isNegativeInt,
52
50
 
53
51
 
54
52
 
@@ -1 +1 @@
1
- {"version":3,"file":"negative-int.mjs","sourceRoot":"","sources":["../../../src/number/branded-types/negative-int.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C,MAAM,EACJ,SAAS,EACT,GAAG,EACH,QAAQ,EACR,UAAU,EACV,EAAE,EACF,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,MAAM,EACN,GAAG,GACJ,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;IACA,oBAAoB,EAAE,SAAS;IAC/B,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS;IAC5B,SAAS,EAAE,CAAC,CAAC;IACb,iBAAiB;CACT,CAAC,CAAC;AAEZ,MAAM,GAAG,GAAG,CAAC,CAA4B,EAAe,EAAE,CACxD,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAEhC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB;;;;;;OAMG;IACH,EAAE;IAEF;;;OAGG;IACH,SAAS;IAET;;;;;;;;;OASG;IACH,GAAG;IAEH;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;;;;;;OAUG;IACH,UAAU;IAEV;;;;;;;;OAQG;IACH,MAAM;IAEN;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;CACK,CAAC"}
1
+ {"version":3,"file":"negative-int.mjs","sourceRoot":"","sources":["../../../src/number/branded-types/negative-int.mts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,EACT,GAAG,EACH,UAAU,EACV,GAAG,IAAI,IAAI,EACX,GAAG,IAAI,IAAI,EACX,GAAG,EACH,MAAM,EACN,GAAG,GACJ,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C,MAAM,GAAG,GAAG,CAAC,CAA4B,EAAe,EAAE,CACxD,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAwB,EAAE,CACnE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;AAEzC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAmB,KAAQ,EAAmB,EAAE;IAC3E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,YAAY,iBAAiB,UAAU,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB;;;;;;OAMG;IACH,EAAE,EAAE,aAAa;IAEjB;;;OAGG;IACH,SAAS;IAET;;;;;;;;;OASG;IACH,GAAG;IAEH;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;;;;;;OAUG;IACH,UAAU;IAEV;;;;;;;;OAQG;IACH,MAAM;IAEN;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;CACK,CAAC"}
@@ -12,7 +12,7 @@ declare const abs: (x: WithSmallInt<ElementType>) => PositiveSafeInt;
12
12
  * @param value - The value to check
13
13
  * @returns `true` if the value is a negative safe integer, `false` otherwise
14
14
  */
15
- export declare const isNegativeSafeInt: (a: number) => a is TtfImported_NegativeSafeInt;
15
+ export declare const isNegativeSafeInt: (value: number) => value is NegativeSafeInt;
16
16
  /**
17
17
  * Casts a `number` to the `NegativeSafeInt` branded type.
18
18
  *
@@ -23,21 +23,7 @@ export declare const isNegativeSafeInt: (a: number) => a is TtfImported_Negative
23
23
  * @returns The value as a `NegativeSafeInt`
24
24
  * @throws {TypeError} If the value is not a negative safe integer
25
25
  */
26
- export declare const asNegativeSafeInt: <N extends number>(x: N) => number & {
27
- readonly "!=0": true;
28
- readonly "< 2^15": true;
29
- readonly "< 2^16": true;
30
- readonly "< 2^31": true;
31
- readonly "< 2^32": true;
32
- readonly "<=0": true;
33
- readonly ">=0": false;
34
- readonly Finite: true;
35
- readonly Int: true;
36
- readonly NaNValue: false;
37
- readonly SafeInt: true;
38
- } & Readonly<{
39
- 'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
40
- }> & N;
26
+ export declare const asNegativeSafeInt: <N extends number>(value: N) => NegativeSafeInt & N;
41
27
  /**
42
28
  * Namespace providing type-safe operations for the `NegativeSafeInt` branded
43
29
  * type.
@@ -53,7 +39,7 @@ export declare const NegativeSafeInt: {
53
39
  * @returns `true` if the value is a negative safe integer, `false` otherwise
54
40
  * @see {@link isNegativeSafeInt} for usage examples
55
41
  */
56
- readonly is: (a: number) => a is TtfImported_NegativeSafeInt;
42
+ readonly is: typeof isNegativeSafeInt;
57
43
  /**
58
44
  * The smallest value representable as `NegativeSafeInt` (the lower saturation
59
45
  * target of `fromNumber`).
@@ -1 +1 @@
1
- {"version":3,"file":"negative-safe-int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/negative-safe-int.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,IAAI,2BAA2B,EAC9C,YAAY,EACb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAE1D,KAAK,WAAW,GAAG,eAAe,CAAC;AA4BnC,QAAA,MAAM,GAAG,MAAO,YAAY,CAAC,WAAW,CAAC,KAAG,eACH,CAAC;AAE1C;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,iDAAK,CAAC;AAEpC;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;MAAW,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;IAC1B;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;;;;OAOG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;;OAUG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;CAEK,CAAC"}
1
+ {"version":3,"file":"negative-safe-int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/negative-safe-int.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,IAAI,2BAA2B,EAC9C,YAAY,EACb,MAAM,eAAe,CAAC;AAYvB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAE1D,KAAK,WAAW,GAAG,eAAe,CAAC;AAInC,QAAA,MAAM,GAAG,MAAO,YAAY,CAAC,WAAW,CAAC,KAAG,eACH,CAAC;AAE1C;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,UAAW,MAAM,KAAG,KAAK,IAAI,eACf,CAAC;AAE7C;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,MAAM,SACzC,CAAC,KACP,eAAe,GAAG,CAMpB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;IAC1B;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;;;;OAOG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;;OAUG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;CAEK,CAAC"}
@@ -1,13 +1,6 @@
1
- import { TsDataForgeInternals } from '../refined-number-utils.mjs';
1
+ import { MAX_VALUE, MIN_VALUE, add, fromNumber, max as max_, min as min_, pow, random, sub, } from '../operators/negative-safe-int.mjs';
2
2
  import { PositiveSafeInt } from './positive-safe-int.mjs';
3
3
  const typeNameInMessage = 'a negative safe integer';
4
- const { MAX_VALUE, MIN_VALUE, add, castType, fromNumber, is, max: max_, min: min_, pow, random, sub, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
5
- integerOrSafeInteger: 'SafeInteger',
6
- nonZero: true,
7
- MIN_VALUE: Number.MIN_SAFE_INTEGER,
8
- MAX_VALUE: -1,
9
- typeNameInMessage,
10
- });
11
4
  const abs = (x) => PositiveSafeInt.fromNumber(Math.abs(x));
12
5
 
13
6
 
@@ -18,7 +11,7 @@ const abs = (x) => PositiveSafeInt.fromNumber(Math.abs(x));
18
11
 
19
12
 
20
13
 
21
- export const isNegativeSafeInt = is;
14
+ export const isNegativeSafeInt = (value) => Number.isSafeInteger(value) && value <= -1;
22
15
 
23
16
 
24
17
 
@@ -29,7 +22,12 @@ export const isNegativeSafeInt = is;
29
22
 
30
23
 
31
24
 
32
- export const asNegativeSafeInt = castType;
25
+ export const asNegativeSafeInt = (value) => {
26
+ if (!isNegativeSafeInt(value)) {
27
+ throw new TypeError(`Expected ${typeNameInMessage}, got: ${value}`);
28
+ }
29
+ return value;
30
+ };
33
31
 
34
32
 
35
33
 
@@ -45,7 +43,7 @@ export const NegativeSafeInt = {
45
43
 
46
44
 
47
45
 
48
- is,
46
+ is: isNegativeSafeInt,
49
47
 
50
48
 
51
49
 
@@ -1 +1 @@
1
- {"version":3,"file":"negative-safe-int.mjs","sourceRoot":"","sources":["../../../src/number/branded-types/negative-safe-int.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAM1D,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAEpD,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EACH,QAAQ,EACR,UAAU,EACV,EAAE,EACF,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,MAAM,EACN,GAAG,GACJ,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;IACA,oBAAoB,EAAE,aAAa;IACnC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,MAAM,CAAC,gBAAgB;IAClC,SAAS,EAAE,CAAC,CAAC;IACb,iBAAiB;CACT,CAAC,CAAC;AAEZ,MAAM,GAAG,GAAG,CAAC,CAA4B,EAAmB,EAAE,CAC5D,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;;;;;;OAMG;IACH,EAAE;IAEF;;;OAGG;IACH,SAAS;IAET;;;OAGG;IACH,SAAS;IAET;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;;;;;;OAUG;IACH,UAAU;IAEV;;;;;;;;OAQG;IACH,MAAM;IAEN;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;;OAOG;IACH,GAAG;CACK,CAAC"}
1
+ {"version":3,"file":"negative-safe-int.mjs","sourceRoot":"","sources":["../../../src/number/branded-types/negative-safe-int.mts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,EACT,SAAS,EACT,GAAG,EACH,UAAU,EACV,GAAG,IAAI,IAAI,EACX,GAAG,IAAI,IAAI,EACX,GAAG,EACH,MAAM,EACN,GAAG,GACJ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAM1D,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAEpD,MAAM,GAAG,GAAG,CAAC,CAA4B,EAAmB,EAAE,CAC5D,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAA4B,EAAE,CAC3E,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAAQ,EACa,EAAE;IACvB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,SAAS,CAAC,YAAY,iBAAiB,UAAU,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;;;;;;OAMG;IACH,EAAE,EAAE,iBAAiB;IAErB;;;OAGG;IACH,SAAS;IAET;;;OAGG;IACH,SAAS;IAET;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;OAKG;IACH,GAAG,EAAE,IAAI;IAET;;;;;;;;;;OAUG;IACH,UAAU;IAEV;;;;;;;;OAQG;IACH,MAAM;IAEN;;;;;;;OAOG;IACH,GAAG;IAEH;;;;;;OAMG;IACH,GAAG;IAEH;;;;;;;OAOG;IACH,GAAG;CACK,CAAC"}