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
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The operators of `PositiveInt` other than `isPositiveInt` and
3
+ * `asPositiveInt`, which `../branded-types/positive-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 { PositiveInt } from 'ts-type-forge';
9
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
10
+
11
+ export const {
12
+ MIN_VALUE,
13
+ add,
14
+ div,
15
+ fromNumber,
16
+ is,
17
+ max,
18
+ min,
19
+ mul,
20
+ pow,
21
+ random,
22
+ sub,
23
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
24
+ PositiveInt,
25
+ 1,
26
+ number
27
+ >({
28
+ integerOrSafeInteger: 'Integer',
29
+ MIN_VALUE: 1,
30
+ MAX_VALUE: Number.MAX_VALUE,
31
+ typeNameInMessage: 'a positive integer',
32
+ } as const);
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The operators of `PositiveInt16` other than `isPositiveInt16` and
3
+ * `asPositiveInt16`, which `../branded-types/positive-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 { PositiveInt16 } 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
+ PositiveInt16,
26
+ 1,
27
+ number
28
+ >({
29
+ integerOrSafeInteger: 'SafeInteger',
30
+ MIN_VALUE: 1,
31
+ MAX_VALUE: 2 ** 15 - 1,
32
+ typeNameInMessage: 'a positive integer in [1, 2^15)',
33
+ } as const);
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The operators of `PositiveInt32` other than `isPositiveInt32` and
3
+ * `asPositiveInt32`, which `../branded-types/positive-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 { PositiveInt32 } 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
+ PositiveInt32,
26
+ 1,
27
+ number
28
+ >({
29
+ integerOrSafeInteger: 'SafeInteger',
30
+ MIN_VALUE: 1,
31
+ MAX_VALUE: 2 ** 31 - 1,
32
+ typeNameInMessage: 'a positive integer in [1, 2^31)',
33
+ } as const);
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The operators of `PositiveSafeInt` other than `isPositiveSafeInt` and
3
+ * `asPositiveSafeInt`, which `../branded-types/positive-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 { PositiveSafeInt, SafeUint } 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
+ PositiveSafeInt,
26
+ 1,
27
+ SafeUint
28
+ >({
29
+ integerOrSafeInteger: 'SafeInteger',
30
+ MIN_VALUE: 1,
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 positive safe integer',
34
+ } as const);
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The operators of `PositiveUint16` other than `isPositiveUint16` and
3
+ * `asPositiveUint16`, which `../branded-types/positive-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 { PositiveUint16 } 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
+ PositiveUint16,
26
+ 1,
27
+ number
28
+ >({
29
+ integerOrSafeInteger: 'SafeInteger',
30
+ MIN_VALUE: 1,
31
+ MAX_VALUE: 2 ** 16 - 1,
32
+ typeNameInMessage: 'a positive integer in [1, 2^16)',
33
+ } as const);
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The operators of `PositiveUint32` other than `isPositiveUint32` and
3
+ * `asPositiveUint32`, which `../branded-types/positive-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 { PositiveUint32 } 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
+ PositiveUint32,
26
+ 1,
27
+ number
28
+ >({
29
+ integerOrSafeInteger: 'SafeInteger',
30
+ MIN_VALUE: 1,
31
+ MAX_VALUE: 2 ** 32 - 1,
32
+ typeNameInMessage: 'a positive integer in [1, 2^32)',
33
+ } as const);
@@ -0,0 +1,35 @@
1
+ /**
2
+ * The operators of `SafeInt` other than `isSafeInt` and `asSafeInt`, which
3
+ * `../branded-types/safe-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 { SafeInt, SafeUint } 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
+ SafeInt,
26
+ SafeInt,
27
+ SafeUint
28
+ >({
29
+ integerOrSafeInteger: 'SafeInteger',
30
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion, math/prefer-number-min-safe-integer
31
+ MIN_VALUE: Number.MIN_SAFE_INTEGER as SafeInt,
32
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion, math/prefer-number-max-safe-integer
33
+ MAX_VALUE: Number.MAX_SAFE_INTEGER as SafeUint,
34
+ typeNameInMessage: 'a safe integer',
35
+ } as const);
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The operators of `SafeUint` other than `isSafeUint` and `asSafeUint`, which
3
+ * `../branded-types/safe-uint.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 { SafeUint } from 'ts-type-forge';
8
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
9
+
10
+ export const {
11
+ MAX_VALUE,
12
+ MIN_VALUE,
13
+ add,
14
+ div,
15
+ fromNumber,
16
+ is,
17
+ max,
18
+ min,
19
+ mul,
20
+ pow,
21
+ random,
22
+ sub,
23
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
24
+ SafeUint,
25
+ 0,
26
+ SafeUint
27
+ >({
28
+ integerOrSafeInteger: 'SafeInteger',
29
+ MIN_VALUE: 0,
30
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion, math/prefer-number-max-safe-integer
31
+ MAX_VALUE: Number.MAX_SAFE_INTEGER as SafeUint,
32
+ typeNameInMessage: 'a non-negative safe integer',
33
+ } as const);
@@ -0,0 +1,31 @@
1
+ /**
2
+ * The operators of `Uint` other than `isUint` and `asUint`, which
3
+ * `../branded-types/uint.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 { Uint } from 'ts-type-forge';
8
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
9
+
10
+ export const {
11
+ MIN_VALUE,
12
+ add,
13
+ div,
14
+ fromNumber,
15
+ is,
16
+ max,
17
+ min,
18
+ mul,
19
+ pow,
20
+ random,
21
+ sub,
22
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
23
+ Uint,
24
+ 0,
25
+ number
26
+ >({
27
+ integerOrSafeInteger: 'Integer',
28
+ MIN_VALUE: 0,
29
+ MAX_VALUE: Number.MAX_VALUE,
30
+ typeNameInMessage: 'a non-negative integer',
31
+ } as const);
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The operators of `Uint16` other than `isUint16` and `asUint16`, which
3
+ * `../branded-types/uint16.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 { Uint16 } from 'ts-type-forge';
8
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
9
+
10
+ export const {
11
+ MAX_VALUE,
12
+ MIN_VALUE,
13
+ add,
14
+ div,
15
+ fromNumber,
16
+ is,
17
+ max,
18
+ min,
19
+ mul,
20
+ pow,
21
+ random,
22
+ sub,
23
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
24
+ Uint16,
25
+ 0,
26
+ number
27
+ >({
28
+ integerOrSafeInteger: 'SafeInteger',
29
+ MIN_VALUE: 0,
30
+ MAX_VALUE: 2 ** 16 - 1,
31
+ typeNameInMessage: 'a non-negative integer less than 2^16',
32
+ } as const);
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The operators of `Uint32` other than `isUint32` and `asUint32`, which
3
+ * `../branded-types/uint32.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 { Uint32 } from 'ts-type-forge';
8
+ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
9
+
10
+ export const {
11
+ MAX_VALUE,
12
+ MIN_VALUE,
13
+ add,
14
+ div,
15
+ fromNumber,
16
+ is,
17
+ max,
18
+ min,
19
+ mul,
20
+ pow,
21
+ random,
22
+ sub,
23
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<
24
+ Uint32,
25
+ 0,
26
+ number
27
+ >({
28
+ integerOrSafeInteger: 'SafeInteger',
29
+ MIN_VALUE: 0,
30
+ MAX_VALUE: 2 ** 32 - 1,
31
+ typeNameInMessage: 'a non-negative integer less than 2^32',
32
+ } as const);
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The operators of `Uint8` other than `isUint8` and `asUint8`, which
3
+ * `../enum/uint8.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 { Uint16 } 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<Uint16, 0, 255>({
12
+ integerOrSafeInteger: 'SafeInteger',
13
+ MIN_VALUE: 0,
14
+ MAX_VALUE: 255,
15
+ typeNameInMessage: 'an non-negative integer less than 256',
16
+ } as const);
@@ -17,7 +17,7 @@ import type {
17
17
  } from 'ts-type-forge';
18
18
  import { expectType } from '../expect-type.mjs';
19
19
  import { pipe } from '../functional/index.mjs';
20
- import { Num } from './num.mjs';
20
+ import * as Num from './num/impl/index.mjs';
21
21
 
22
22
  /** @internal */
23
23
  export namespace TsDataForgeInternals {
@@ -106,6 +106,9 @@ export namespace TsDataForgeInternals {
106
106
 
107
107
  type CastToInt<N> = N extends Int ? N : never;
108
108
 
109
+ /** The closed binary arithmetic operations a branded namespace may expose. */
110
+ export type NumberClassBinOp = 'add' | 'div' | 'mul' | 'sub';
111
+
109
112
  /**
110
113
  * Generates a type-safe API for a branded number type based on its
111
114
  * characteristics.
@@ -122,9 +125,6 @@ export namespace TsDataForgeInternals {
122
125
  * 'positive' | 'range'
123
126
  * @internal
124
127
  */
125
- /** The closed binary arithmetic operations a branded namespace may expose. */
126
- export type NumberClassBinOp = 'add' | 'div' | 'mul' | 'sub';
127
-
128
128
  export type NumberClass<
129
129
  N extends UnknownNumberBrand,
130
130
  classes extends 'int' | 'non-negative' | 'positive' | 'range',
@@ -16,7 +16,7 @@ import type {
16
16
  TypeEq,
17
17
  UnknownRecord,
18
18
  } from 'ts-type-forge';
19
- import { Arr } from '../array/index.mjs';
19
+ import * as Arr from '../array/impl/index.mjs';
20
20
  import { Optional } from '../functional/index.mjs';
21
21
  import { hasKey, isRecord } from '../guard/index.mjs';
22
22
 
@@ -1,4 +1,4 @@
1
- import { isMap, isRegExp, isSet, isTypedArray } from '@sindresorhus/is';
1
+ import { isMap, isRegExp, isSet, isTypedArray } from '../built-in-tag.mjs';
2
2
  import { hasKey, isRecord } from '../guard/index.mjs';
3
3
 
4
4
  /**
@@ -1,5 +1,3 @@
1
- // A `Date` is one of the values compared whole, so the cases build some.
2
- /* eslint-disable unicorn/prefer-temporal */
3
1
  import type { DeepReadonly, ReadonlyRecord } from 'ts-type-forge';
4
2
  import { expectType } from '../expect-type.mjs';
5
3
  import { hasKey, isRecord } from '../guard/index.mjs';