ts-data-forge 9.0.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/README.md +1 -1
  2. package/dist/array/impl/array-utils-creation.d.mts +4 -4
  3. package/dist/array/impl/array-utils-creation.d.mts.map +1 -1
  4. package/dist/array/impl/array-utils-creation.mjs +17 -112
  5. package/dist/array/impl/array-utils-creation.mjs.map +1 -1
  6. package/dist/array/impl/array-utils-element-access.d.mts.map +1 -1
  7. package/dist/array/impl/array-utils-element-access.mjs +22 -61
  8. package/dist/array/impl/array-utils-element-access.mjs.map +1 -1
  9. package/dist/array/impl/array-utils-iterators.d.mts.map +1 -1
  10. package/dist/array/impl/array-utils-iterators.mjs +9 -63
  11. package/dist/array/impl/array-utils-iterators.mjs.map +1 -1
  12. package/dist/array/impl/array-utils-modification.d.mts +7 -7
  13. package/dist/array/impl/array-utils-modification.d.mts.map +1 -1
  14. package/dist/array/impl/array-utils-modification.mjs +78 -78
  15. package/dist/array/impl/array-utils-modification.mjs.map +1 -1
  16. package/dist/array/impl/array-utils-reducing-value.mjs +95 -89
  17. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -1
  18. package/dist/array/impl/array-utils-search.mjs +100 -92
  19. package/dist/array/impl/array-utils-search.mjs.map +1 -1
  20. package/dist/array/impl/array-utils-set-op.d.mts.map +1 -1
  21. package/dist/array/impl/array-utils-set-op.mjs +31 -141
  22. package/dist/array/impl/array-utils-set-op.mjs.map +1 -1
  23. package/dist/array/impl/array-utils-size.d.mts.map +1 -1
  24. package/dist/array/impl/array-utils-size.mjs +4 -8
  25. package/dist/array/impl/array-utils-size.mjs.map +1 -1
  26. package/dist/array/impl/array-utils-slice-clamped.mjs +11 -12
  27. package/dist/array/impl/array-utils-slice-clamped.mjs.map +1 -1
  28. package/dist/array/impl/array-utils-slicing.d.mts.map +1 -1
  29. package/dist/array/impl/array-utils-slicing.mjs +44 -96
  30. package/dist/array/impl/array-utils-slicing.mjs.map +1 -1
  31. package/dist/array/impl/array-utils-transformation.d.mts +4 -4
  32. package/dist/array/impl/array-utils-transformation.d.mts.map +1 -1
  33. package/dist/array/impl/array-utils-transformation.mjs +150 -292
  34. package/dist/array/impl/array-utils-transformation.mjs.map +1 -1
  35. package/dist/array/impl/array-utils-validation.d.mts +17 -17
  36. package/dist/array/impl/array-utils-validation.d.mts.map +1 -1
  37. package/dist/array/impl/array-utils-validation.mjs +23 -174
  38. package/dist/array/impl/array-utils-validation.mjs.map +1 -1
  39. package/dist/array/impl/index.mjs +1 -1
  40. package/dist/collections/imap-mapped.d.mts.map +1 -1
  41. package/dist/collections/imap-mapped.mjs +243 -330
  42. package/dist/collections/imap-mapped.mjs.map +1 -1
  43. package/dist/collections/imap.d.mts.map +1 -1
  44. package/dist/collections/imap.mjs +190 -275
  45. package/dist/collections/imap.mjs.map +1 -1
  46. package/dist/collections/iset-mapped.d.mts +1 -1
  47. package/dist/collections/iset-mapped.d.mts.map +1 -1
  48. package/dist/collections/iset-mapped.mjs +222 -444
  49. package/dist/collections/iset-mapped.mjs.map +1 -1
  50. package/dist/collections/iset.d.mts +1 -1
  51. package/dist/collections/iset.d.mts.map +1 -1
  52. package/dist/collections/iset.mjs +158 -324
  53. package/dist/collections/iset.mjs.map +1 -1
  54. package/dist/collections/queue.d.mts.map +1 -1
  55. package/dist/collections/queue.mjs +106 -178
  56. package/dist/collections/queue.mjs.map +1 -1
  57. package/dist/collections/stack.d.mts.map +1 -1
  58. package/dist/collections/stack.mjs +95 -165
  59. package/dist/collections/stack.mjs.map +1 -1
  60. package/dist/entry-point.mjs +2 -0
  61. package/dist/entry-point.mjs.map +1 -1
  62. package/dist/expect-type.d.mts +1 -1
  63. package/dist/expect-type.d.mts.map +1 -1
  64. package/dist/expect-type.mjs +1 -69
  65. package/dist/expect-type.mjs.map +1 -1
  66. package/dist/functional/match.mjs +9 -9
  67. package/dist/functional/match.mjs.map +1 -1
  68. package/dist/functional/optional/impl/optional-expect-to-be.mjs +13 -14
  69. package/dist/functional/optional/impl/optional-expect-to-be.mjs.map +1 -1
  70. package/dist/functional/optional/impl/optional-filter.mjs +14 -15
  71. package/dist/functional/optional/impl/optional-filter.mjs.map +1 -1
  72. package/dist/functional/optional/impl/optional-flat-map.mjs +10 -11
  73. package/dist/functional/optional/impl/optional-flat-map.mjs.map +1 -1
  74. package/dist/functional/optional/impl/optional-from-nullable.d.mts.map +1 -1
  75. package/dist/functional/optional/impl/optional-from-nullable.mjs +1 -25
  76. package/dist/functional/optional/impl/optional-from-nullable.mjs.map +1 -1
  77. package/dist/functional/optional/impl/optional-is-none.d.mts.map +1 -1
  78. package/dist/functional/optional/impl/optional-is-none.mjs +0 -19
  79. package/dist/functional/optional/impl/optional-is-none.mjs.map +1 -1
  80. package/dist/functional/optional/impl/optional-is-optional.d.mts.map +1 -1
  81. package/dist/functional/optional/impl/optional-is-optional.mjs +1 -23
  82. package/dist/functional/optional/impl/optional-is-optional.mjs.map +1 -1
  83. package/dist/functional/optional/impl/optional-is-some.d.mts.map +1 -1
  84. package/dist/functional/optional/impl/optional-is-some.mjs +0 -20
  85. package/dist/functional/optional/impl/optional-is-some.mjs.map +1 -1
  86. package/dist/functional/optional/impl/optional-map.mjs +13 -14
  87. package/dist/functional/optional/impl/optional-map.mjs.map +1 -1
  88. package/dist/functional/optional/impl/optional-none.mjs +0 -16
  89. package/dist/functional/optional/impl/optional-none.mjs.map +1 -1
  90. package/dist/functional/optional/impl/optional-or-else.mjs +10 -11
  91. package/dist/functional/optional/impl/optional-or-else.mjs.map +1 -1
  92. package/dist/functional/optional/impl/optional-some.d.mts.map +1 -1
  93. package/dist/functional/optional/impl/optional-some.mjs +2 -21
  94. package/dist/functional/optional/impl/optional-some.mjs.map +1 -1
  95. package/dist/functional/optional/impl/optional-to-nullable.d.mts.map +1 -1
  96. package/dist/functional/optional/impl/optional-to-nullable.mjs +1 -27
  97. package/dist/functional/optional/impl/optional-to-nullable.mjs.map +1 -1
  98. package/dist/functional/optional/impl/optional-unwrap-or.mjs +9 -10
  99. package/dist/functional/optional/impl/optional-unwrap-or.mjs.map +1 -1
  100. package/dist/functional/optional/impl/optional-unwrap-throw.d.mts.map +1 -1
  101. package/dist/functional/optional/impl/optional-unwrap-throw.mjs +4 -32
  102. package/dist/functional/optional/impl/optional-unwrap-throw.mjs.map +1 -1
  103. package/dist/functional/optional/impl/optional-unwrap.mjs +4 -4
  104. package/dist/functional/optional/impl/optional-unwrap.mjs.map +1 -1
  105. package/dist/functional/optional/impl/optional-zip.d.mts.map +1 -1
  106. package/dist/functional/optional/impl/optional-zip.mjs +1 -35
  107. package/dist/functional/optional/impl/optional-zip.mjs.map +1 -1
  108. package/dist/functional/optional/impl/tag.mjs +2 -3
  109. package/dist/functional/optional/impl/tag.mjs.map +1 -1
  110. package/dist/functional/pipe.d.mts.map +1 -1
  111. package/dist/functional/pipe.mjs +9 -34
  112. package/dist/functional/pipe.mjs.map +1 -1
  113. package/dist/functional/result/impl/result-err.d.mts.map +1 -1
  114. package/dist/functional/result/impl/result-err.mjs +2 -27
  115. package/dist/functional/result/impl/result-err.mjs.map +1 -1
  116. package/dist/functional/result/impl/result-expect-to-be.mjs +13 -15
  117. package/dist/functional/result/impl/result-expect-to-be.mjs.map +1 -1
  118. package/dist/functional/result/impl/result-flat-map.mjs +16 -16
  119. package/dist/functional/result/impl/result-flat-map.mjs.map +1 -1
  120. package/dist/functional/result/impl/result-fold.mjs +16 -16
  121. package/dist/functional/result/impl/result-fold.mjs.map +1 -1
  122. package/dist/functional/result/impl/result-from-promise.d.mts.map +1 -1
  123. package/dist/functional/result/impl/result-from-promise.mjs +4 -31
  124. package/dist/functional/result/impl/result-from-promise.mjs.map +1 -1
  125. package/dist/functional/result/impl/result-from-throwable.d.mts.map +1 -1
  126. package/dist/functional/result/impl/result-from-throwable.mjs +8 -38
  127. package/dist/functional/result/impl/result-from-throwable.mjs.map +1 -1
  128. package/dist/functional/result/impl/result-is-err.d.mts.map +1 -1
  129. package/dist/functional/result/impl/result-is-err.mjs +0 -19
  130. package/dist/functional/result/impl/result-is-err.mjs.map +1 -1
  131. package/dist/functional/result/impl/result-is-ok.d.mts.map +1 -1
  132. package/dist/functional/result/impl/result-is-ok.mjs +0 -19
  133. package/dist/functional/result/impl/result-is-ok.mjs.map +1 -1
  134. package/dist/functional/result/impl/result-is-result.d.mts.map +1 -1
  135. package/dist/functional/result/impl/result-is-result.mjs +1 -23
  136. package/dist/functional/result/impl/result-is-result.mjs.map +1 -1
  137. package/dist/functional/result/impl/result-map-err.mjs +16 -16
  138. package/dist/functional/result/impl/result-map-err.mjs.map +1 -1
  139. package/dist/functional/result/impl/result-map.mjs +16 -16
  140. package/dist/functional/result/impl/result-map.mjs.map +1 -1
  141. package/dist/functional/result/impl/result-ok.d.mts.map +1 -1
  142. package/dist/functional/result/impl/result-ok.mjs +2 -27
  143. package/dist/functional/result/impl/result-ok.mjs.map +1 -1
  144. package/dist/functional/result/impl/result-or-else.mjs +10 -12
  145. package/dist/functional/result/impl/result-or-else.mjs.map +1 -1
  146. package/dist/functional/result/impl/result-swap.d.mts.map +1 -1
  147. package/dist/functional/result/impl/result-swap.mjs +4 -22
  148. package/dist/functional/result/impl/result-swap.mjs.map +1 -1
  149. package/dist/functional/result/impl/result-to-optional.d.mts.map +1 -1
  150. package/dist/functional/result/impl/result-to-optional.mjs +0 -27
  151. package/dist/functional/result/impl/result-to-optional.mjs.map +1 -1
  152. package/dist/functional/result/impl/result-unwrap-err-or.mjs +9 -11
  153. package/dist/functional/result/impl/result-unwrap-err-or.mjs.map +1 -1
  154. package/dist/functional/result/impl/result-unwrap-err-throw.d.mts.map +1 -1
  155. package/dist/functional/result/impl/result-unwrap-err-throw.mjs +13 -40
  156. package/dist/functional/result/impl/result-unwrap-err-throw.mjs.map +1 -1
  157. package/dist/functional/result/impl/result-unwrap-err.d.mts.map +1 -1
  158. package/dist/functional/result/impl/result-unwrap-err.mjs +4 -32
  159. package/dist/functional/result/impl/result-unwrap-err.mjs.map +1 -1
  160. package/dist/functional/result/impl/result-unwrap-ok-or.mjs +9 -11
  161. package/dist/functional/result/impl/result-unwrap-ok-or.mjs.map +1 -1
  162. package/dist/functional/result/impl/result-unwrap-ok.mjs +4 -4
  163. package/dist/functional/result/impl/result-unwrap-ok.mjs.map +1 -1
  164. package/dist/functional/result/impl/result-unwrap-throw.d.mts.map +1 -1
  165. package/dist/functional/result/impl/result-unwrap-throw.mjs +4 -35
  166. package/dist/functional/result/impl/result-unwrap-throw.mjs.map +1 -1
  167. package/dist/functional/result/impl/result-zip.d.mts.map +1 -1
  168. package/dist/functional/result/impl/result-zip.mjs +1 -34
  169. package/dist/functional/result/impl/result-zip.mjs.map +1 -1
  170. package/dist/functional/result/impl/tag.mjs +2 -3
  171. package/dist/functional/result/impl/tag.mjs.map +1 -1
  172. package/dist/functional/ternary-result/impl/tag.mjs +3 -5
  173. package/dist/functional/ternary-result/impl/tag.mjs.map +1 -1
  174. package/dist/functional/ternary-result/impl/ternary-result-err.d.mts.map +1 -1
  175. package/dist/functional/ternary-result/impl/ternary-result-err.mjs +2 -15
  176. package/dist/functional/ternary-result/impl/ternary-result-err.mjs.map +1 -1
  177. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs +13 -13
  178. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs.map +1 -1
  179. package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs +27 -26
  180. package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs.map +1 -1
  181. package/dist/functional/ternary-result/impl/ternary-result-fold.mjs +21 -22
  182. package/dist/functional/ternary-result/impl/ternary-result-fold.mjs.map +1 -1
  183. package/dist/functional/ternary-result/impl/ternary-result-from-promise.d.mts.map +1 -1
  184. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs +4 -20
  185. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs.map +1 -1
  186. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.d.mts.map +1 -1
  187. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs +7 -25
  188. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs.map +1 -1
  189. package/dist/functional/ternary-result/impl/ternary-result-is-err.d.mts.map +1 -1
  190. package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs +0 -17
  191. package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs.map +1 -1
  192. package/dist/functional/ternary-result/impl/ternary-result-is-ok.d.mts.map +1 -1
  193. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs +0 -19
  194. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs.map +1 -1
  195. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.d.mts.map +1 -1
  196. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs +1 -25
  197. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs.map +1 -1
  198. package/dist/functional/ternary-result/impl/ternary-result-is-warn.d.mts.map +1 -1
  199. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs +0 -18
  200. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs.map +1 -1
  201. package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs +13 -15
  202. package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs.map +1 -1
  203. package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs +18 -18
  204. package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs.map +1 -1
  205. package/dist/functional/ternary-result/impl/ternary-result-map.mjs +21 -22
  206. package/dist/functional/ternary-result/impl/ternary-result-map.mjs.map +1 -1
  207. package/dist/functional/ternary-result/impl/ternary-result-ok.d.mts.map +1 -1
  208. package/dist/functional/ternary-result/impl/ternary-result-ok.mjs +2 -16
  209. package/dist/functional/ternary-result/impl/ternary-result-ok.mjs.map +1 -1
  210. package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs +9 -9
  211. package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs.map +1 -1
  212. package/dist/functional/ternary-result/impl/ternary-result-to-optional.d.mts.map +1 -1
  213. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs +4 -22
  214. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs.map +1 -1
  215. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs +9 -9
  216. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs.map +1 -1
  217. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.d.mts.map +1 -1
  218. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs +12 -27
  219. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs.map +1 -1
  220. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.d.mts.map +1 -1
  221. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs +4 -19
  222. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs.map +1 -1
  223. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs +9 -9
  224. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs.map +1 -1
  225. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs +4 -5
  226. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs.map +1 -1
  227. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.d.mts.map +1 -1
  228. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs +15 -27
  229. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs.map +1 -1
  230. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs +9 -9
  231. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs.map +1 -1
  232. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.d.mts.map +1 -1
  233. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs +10 -24
  234. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs.map +1 -1
  235. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.d.mts.map +1 -1
  236. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs +4 -19
  237. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs.map +1 -1
  238. package/dist/functional/ternary-result/impl/ternary-result-warn.d.mts.map +1 -1
  239. package/dist/functional/ternary-result/impl/ternary-result-warn.mjs +3 -19
  240. package/dist/functional/ternary-result/impl/ternary-result-warn.mjs.map +1 -1
  241. package/dist/functional/ternary-result/impl/ternary-result-zip.d.mts.map +1 -1
  242. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs +14 -45
  243. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs.map +1 -1
  244. package/dist/functional/ternary-result/impl/variant-name.d.mts +1 -1
  245. package/dist/functional/ternary-result/impl/variant-name.d.mts.map +1 -1
  246. package/dist/functional/ternary-result/impl/variant-name.mjs +8 -9
  247. package/dist/functional/ternary-result/impl/variant-name.mjs.map +1 -1
  248. package/dist/guard/as-length-bounded-array.d.mts +117 -0
  249. package/dist/guard/as-length-bounded-array.d.mts.map +1 -0
  250. package/dist/guard/as-length-bounded-array.mjs +37 -0
  251. package/dist/guard/as-length-bounded-array.mjs.map +1 -0
  252. package/dist/guard/has-key.d.mts.map +1 -1
  253. package/dist/guard/has-key.mjs +0 -41
  254. package/dist/guard/has-key.mjs.map +1 -1
  255. package/dist/guard/index.d.mts +2 -0
  256. package/dist/guard/index.d.mts.map +1 -1
  257. package/dist/guard/index.mjs +2 -0
  258. package/dist/guard/index.mjs.map +1 -1
  259. package/dist/guard/is-length-bounded-array.d.mts +159 -0
  260. package/dist/guard/is-length-bounded-array.d.mts.map +1 -0
  261. package/dist/guard/is-length-bounded-array.mjs +7 -0
  262. package/dist/guard/is-length-bounded-array.mjs.map +1 -0
  263. package/dist/guard/is-length-bounded-string.d.mts +5 -6
  264. package/dist/guard/is-length-bounded-string.d.mts.map +1 -1
  265. package/dist/guard/is-length-bounded-string.mjs +0 -157
  266. package/dist/guard/is-length-bounded-string.mjs.map +1 -1
  267. package/dist/guard/is-non-empty-string.d.mts +1 -1
  268. package/dist/guard/is-non-empty-string.d.mts.map +1 -1
  269. package/dist/guard/is-non-empty-string.mjs +1 -38
  270. package/dist/guard/is-non-empty-string.mjs.map +1 -1
  271. package/dist/guard/is-non-null-object.d.mts.map +1 -1
  272. package/dist/guard/is-non-null-object.mjs +1 -35
  273. package/dist/guard/is-non-null-object.mjs.map +1 -1
  274. package/dist/guard/is-primitive.d.mts.map +1 -1
  275. package/dist/guard/is-primitive.mjs +12 -43
  276. package/dist/guard/is-primitive.mjs.map +1 -1
  277. package/dist/guard/is-record.d.mts.map +1 -1
  278. package/dist/guard/is-record.mjs +0 -86
  279. package/dist/guard/is-record.mjs.map +1 -1
  280. package/dist/guard/is-type.d.mts.map +1 -1
  281. package/dist/guard/is-type.mjs +12 -399
  282. package/dist/guard/is-type.mjs.map +1 -1
  283. package/dist/guard/key-is-in.d.mts.map +1 -1
  284. package/dist/guard/key-is-in.mjs +0 -40
  285. package/dist/guard/key-is-in.mjs.map +1 -1
  286. package/dist/index.mjs +2 -0
  287. package/dist/index.mjs.map +1 -1
  288. package/dist/iterator/range.mjs +16 -16
  289. package/dist/iterator/range.mjs.map +1 -1
  290. package/dist/json/json.d.mts.map +1 -1
  291. package/dist/json/json.mjs +52 -340
  292. package/dist/json/json.mjs.map +1 -1
  293. package/dist/number/branded-types/finite-number.d.mts +3 -3
  294. package/dist/number/branded-types/finite-number.mjs +135 -154
  295. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  296. package/dist/number/branded-types/int.d.mts +4 -4
  297. package/dist/number/branded-types/int.mjs +205 -245
  298. package/dist/number/branded-types/int.mjs.map +1 -1
  299. package/dist/number/branded-types/int16.d.mts +15 -15
  300. package/dist/number/branded-types/int16.mjs +116 -123
  301. package/dist/number/branded-types/int16.mjs.map +1 -1
  302. package/dist/number/branded-types/int32.d.mts +11 -11
  303. package/dist/number/branded-types/int32.mjs +116 -123
  304. package/dist/number/branded-types/int32.mjs.map +1 -1
  305. package/dist/number/branded-types/negative-finite-number.d.mts +4 -4
  306. package/dist/number/branded-types/negative-finite-number.mjs +129 -144
  307. package/dist/number/branded-types/negative-finite-number.mjs.map +1 -1
  308. package/dist/number/branded-types/negative-int.d.mts +5 -5
  309. package/dist/number/branded-types/negative-int.mjs +94 -113
  310. package/dist/number/branded-types/negative-int.mjs.map +1 -1
  311. package/dist/number/branded-types/negative-safe-int.d.mts +5 -5
  312. package/dist/number/branded-types/negative-safe-int.mjs +103 -124
  313. package/dist/number/branded-types/negative-safe-int.mjs.map +1 -1
  314. package/dist/number/branded-types/non-negative-finite-number.d.mts +5 -5
  315. package/dist/number/branded-types/non-negative-finite-number.mjs +136 -142
  316. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  317. package/dist/number/branded-types/non-negative-int16.d.mts +16 -16
  318. package/dist/number/branded-types/non-negative-int16.mjs +109 -118
  319. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  320. package/dist/number/branded-types/non-negative-int32.d.mts +12 -12
  321. package/dist/number/branded-types/non-negative-int32.mjs +110 -119
  322. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  323. package/dist/number/branded-types/non-positive-finite-number.d.mts +3 -3
  324. package/dist/number/branded-types/non-positive-finite-number.mjs +120 -124
  325. package/dist/number/branded-types/non-positive-finite-number.mjs.map +1 -1
  326. package/dist/number/branded-types/non-positive-int.d.mts +4 -4
  327. package/dist/number/branded-types/non-positive-int.mjs +167 -212
  328. package/dist/number/branded-types/non-positive-int.mjs.map +1 -1
  329. package/dist/number/branded-types/non-positive-safe-int.d.mts +4 -4
  330. package/dist/number/branded-types/non-positive-safe-int.mjs +95 -106
  331. package/dist/number/branded-types/non-positive-safe-int.mjs.map +1 -1
  332. package/dist/number/branded-types/non-zero-finite-number.d.mts +4 -4
  333. package/dist/number/branded-types/non-zero-finite-number.mjs +114 -123
  334. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  335. package/dist/number/branded-types/non-zero-int.d.mts +2 -2
  336. package/dist/number/branded-types/non-zero-int.mjs +72 -83
  337. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  338. package/dist/number/branded-types/non-zero-int16.d.mts +7 -7
  339. package/dist/number/branded-types/non-zero-int16.mjs +96 -107
  340. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  341. package/dist/number/branded-types/non-zero-int32.d.mts +5 -5
  342. package/dist/number/branded-types/non-zero-int32.mjs +97 -108
  343. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  344. package/dist/number/branded-types/non-zero-safe-int.d.mts +2 -2
  345. package/dist/number/branded-types/non-zero-safe-int.mjs +100 -111
  346. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  347. package/dist/number/branded-types/non-zero-uint16.d.mts +8 -8
  348. package/dist/number/branded-types/non-zero-uint16.mjs +96 -107
  349. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  350. package/dist/number/branded-types/non-zero-uint32.d.mts +6 -6
  351. package/dist/number/branded-types/non-zero-uint32.mjs +96 -107
  352. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  353. package/dist/number/branded-types/positive-finite-number.d.mts +8 -8
  354. package/dist/number/branded-types/positive-finite-number.mjs +139 -141
  355. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  356. package/dist/number/branded-types/positive-int.d.mts +11 -11
  357. package/dist/number/branded-types/positive-int.mjs +228 -271
  358. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  359. package/dist/number/branded-types/positive-int16.d.mts +19 -19
  360. package/dist/number/branded-types/positive-int16.mjs +109 -118
  361. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  362. package/dist/number/branded-types/positive-int32.d.mts +15 -15
  363. package/dist/number/branded-types/positive-int32.mjs +109 -118
  364. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  365. package/dist/number/branded-types/positive-safe-int.d.mts +11 -11
  366. package/dist/number/branded-types/positive-safe-int.mjs +244 -275
  367. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  368. package/dist/number/branded-types/positive-uint16.d.mts +17 -17
  369. package/dist/number/branded-types/positive-uint16.mjs +109 -118
  370. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  371. package/dist/number/branded-types/positive-uint32.d.mts +13 -13
  372. package/dist/number/branded-types/positive-uint32.mjs +110 -119
  373. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  374. package/dist/number/branded-types/safe-int.d.mts +4 -4
  375. package/dist/number/branded-types/safe-int.mjs +251 -292
  376. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  377. package/dist/number/branded-types/safe-uint.d.mts +8 -8
  378. package/dist/number/branded-types/safe-uint.mjs +111 -119
  379. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  380. package/dist/number/branded-types/uint.d.mts +8 -8
  381. package/dist/number/branded-types/uint.mjs +198 -225
  382. package/dist/number/branded-types/uint.mjs.map +1 -1
  383. package/dist/number/branded-types/uint16.d.mts +14 -14
  384. package/dist/number/branded-types/uint16.mjs +109 -119
  385. package/dist/number/branded-types/uint16.mjs.map +1 -1
  386. package/dist/number/branded-types/uint32.d.mts +10 -10
  387. package/dist/number/branded-types/uint32.mjs +110 -117
  388. package/dist/number/branded-types/uint32.mjs.map +1 -1
  389. package/dist/number/enum/int8.mjs +119 -145
  390. package/dist/number/enum/int8.mjs.map +1 -1
  391. package/dist/number/enum/uint8.mjs +107 -121
  392. package/dist/number/enum/uint8.mjs.map +1 -1
  393. package/dist/number/num.d.mts +2 -2
  394. package/dist/number/num.d.mts.map +1 -1
  395. package/dist/number/num.mjs +76 -537
  396. package/dist/number/num.mjs.map +1 -1
  397. package/dist/number/refined-number-utils.d.mts +1 -1
  398. package/dist/number/refined-number-utils.d.mts.map +1 -1
  399. package/dist/number/refined-number-utils.mjs +127 -263
  400. package/dist/number/refined-number-utils.mjs.map +1 -1
  401. package/dist/object/object.d.mts.map +1 -1
  402. package/dist/object/object.mjs +107 -222
  403. package/dist/object/object.mjs.map +1 -1
  404. package/dist/others/cast-mutable.d.mts.map +1 -1
  405. package/dist/others/cast-mutable.mjs +8 -37
  406. package/dist/others/cast-mutable.mjs.map +1 -1
  407. package/dist/others/cast-readonly.d.mts.map +1 -1
  408. package/dist/others/cast-readonly.mjs +8 -36
  409. package/dist/others/cast-readonly.mjs.map +1 -1
  410. package/dist/others/debounce-function.d.mts.map +1 -1
  411. package/dist/others/debounce-function.mjs +7 -16
  412. package/dist/others/debounce-function.mjs.map +1 -1
  413. package/dist/others/fast-deep-equal.d.mts.map +1 -1
  414. package/dist/others/fast-deep-equal.mjs +43 -59
  415. package/dist/others/fast-deep-equal.mjs.map +1 -1
  416. package/dist/others/if-then.d.mts.map +1 -1
  417. package/dist/others/if-then.mjs +0 -29
  418. package/dist/others/if-then.mjs.map +1 -1
  419. package/dist/others/map-nullable.mjs +9 -9
  420. package/dist/others/map-nullable.mjs.map +1 -1
  421. package/dist/others/memoize-function.mjs +12 -12
  422. package/dist/others/memoize-function.mjs.map +1 -1
  423. package/dist/others/tuple.d.mts.map +1 -1
  424. package/dist/others/tuple.mjs +0 -50
  425. package/dist/others/tuple.mjs.map +1 -1
  426. package/dist/others/unknown-to-string.d.mts.map +1 -1
  427. package/dist/others/unknown-to-string.mjs +41 -88
  428. package/dist/others/unknown-to-string.mjs.map +1 -1
  429. package/dist/promise/promise.d.mts.map +1 -1
  430. package/dist/promise/promise.mjs +4 -49
  431. package/dist/promise/promise.mjs.map +1 -1
  432. package/package.json +14 -13
  433. package/src/array/impl/array-utils-creation.mts +3 -3
  434. package/src/array/impl/array-utils-modification.mts +7 -7
  435. package/src/array/impl/array-utils-modification.test.mts +4 -4
  436. package/src/array/impl/array-utils-transformation.mts +4 -4
  437. package/src/array/impl/array-utils-transformation.test.mts +7 -7
  438. package/src/array/impl/array-utils-validation.mts +24 -24
  439. package/src/array/impl/array-utils-validation.test.mts +94 -92
  440. package/src/collections/queue.test.mts +1 -1
  441. package/src/guard/as-length-bounded-array.mts +190 -0
  442. package/src/guard/as-length-bounded-array.test.mts +118 -0
  443. package/src/guard/index.mts +2 -0
  444. package/src/guard/is-length-bounded-array.mts +195 -0
  445. package/src/guard/is-length-bounded-array.test.mts +169 -0
  446. package/src/guard/is-length-bounded-string.mts +6 -6
  447. package/src/object/object.test.mts +3 -3
@@ -1,116 +1,105 @@
1
1
  import { TsDataForgeInternals } from '../refined-number-utils.mjs';
2
2
 
3
- const typeNameInMessage = 'a non-zero integer in [-2^15, 2^15)';
4
- const { MAX_VALUE, MIN_VALUE, abs, castType, clamp, is, max: max_, min: min_, mul, pow, randomNonZero: random, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
5
- integerOrSafeInteger: 'SafeInteger',
6
- nonZero: true,
7
- MIN_VALUE: -32768,
8
- MAX_VALUE: 2 ** 15 - 1,
9
- typeNameInMessage,
3
+ const typeNameInMessage = "a non-zero integer in [-2^15, 2^15)";
4
+ const {
5
+ MAX_VALUE,
6
+ MIN_VALUE,
7
+ abs,
8
+ castType,
9
+ clamp,
10
+ is,
11
+ max: max_,
12
+ min: min_,
13
+ mul,
14
+ pow,
15
+ randomNonZero: random
16
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
17
+ integerOrSafeInteger: "SafeInteger",
18
+ nonZero: true,
19
+ MIN_VALUE: -32768,
20
+ MAX_VALUE: 2 ** 15 - 1,
21
+ typeNameInMessage
10
22
  });
11
- /**
12
- * Checks if a number is a NonZeroInt16 (16-bit non-zero signed integer in the
13
- * range [-2^15, 2^15) excluding 0).
14
- *
15
- * @param value The value to check.
16
- * @returns `true` if the value is a NonZeroInt16, `false` otherwise.
17
- */
18
23
  const isNonZeroInt16 = is;
19
- /**
20
- * Casts a number to a NonZeroInt16 type.
21
- *
22
- * @param value The value to cast.
23
- * @returns The value as a NonZeroInt16 type.
24
- * @throws {TypeError} If the value is not a non-zero integer in [-2^15, 2^15).
25
- */
26
24
  const asNonZeroInt16 = castType;
27
- /**
28
- * Namespace providing type-safe arithmetic operations for 16-bit non-zero
29
- * signed integers.
30
- *
31
- * All operations automatically clamp results to the valid NonZeroInt16 range
32
- * [-32768, 32767] excluding 0. This ensures that all arithmetic maintains the
33
- * 16-bit non-zero signed integer constraint, preventing zero results and
34
- * overflow.
35
- */
36
25
  const NonZeroInt16 = {
37
- /**
38
- * Type guard to check if a value is a NonZeroInt16.
39
- *
40
- * @param value The value to check.
41
- * @returns `true` if the value is a 16-bit non-zero signed integer, `false`
42
- * otherwise.
43
- */
44
- is,
45
- /**
46
- * The minimum value for a 16-bit non-zero signed integer.
47
- *
48
- * @readonly
49
- */
50
- MIN_VALUE,
51
- /**
52
- * The maximum value for a 16-bit non-zero signed integer.
53
- *
54
- * @readonly
55
- */
56
- MAX_VALUE,
57
- /**
58
- * Returns the absolute value of a 16-bit non-zero signed integer.
59
- *
60
- * @param a The NonZeroInt16 value.
61
- * @returns The absolute value as a NonZeroInt16, clamped to valid range.
62
- */
63
- abs,
64
- /**
65
- * Returns the smaller of two NonZeroInt16 values.
66
- *
67
- * @param a The first NonZeroInt16.
68
- * @param b The second NonZeroInt16.
69
- * @returns The minimum value as a NonZeroInt16.
70
- */
71
- min: min_,
72
- /**
73
- * Returns the larger of two NonZeroInt16 values.
74
- *
75
- * @param a The first NonZeroInt16.
76
- * @param b The second NonZeroInt16.
77
- * @returns The maximum value as a NonZeroInt16.
78
- */
79
- max: max_,
80
- /**
81
- * Clamps a number to the NonZeroInt16 range (avoiding zero).
82
- *
83
- * @param value The number to clamp.
84
- * @returns The value clamped to [-32768, 32767] \ {0} as a NonZeroInt16.
85
- */
86
- clamp,
87
- /**
88
- * Generates a random NonZeroInt16 value within the valid range.
89
- *
90
- * @returns A random NonZeroInt16 between MIN_VALUE and MAX_VALUE (excluding
91
- * 0).
92
- */
93
- random,
94
- /**
95
- * Raises a NonZeroInt16 to the power of another NonZeroInt16.
96
- *
97
- * @param a The base NonZeroInt16.
98
- * @param b The exponent NonZeroInt16.
99
- * @returns `a ** b` clamped to [-32768, 32767] as a NonZeroInt16.
100
- */
101
- pow,
102
- /**
103
- * Multiplies two NonZeroInt16 values.
104
- *
105
- * The product of two non-zero integers is always non-zero, so this stays
106
- * closed; for the non-closed operations (`add`/`sub`/`div`, whose result may
107
- * be `0`) use {@link Num.add}/{@link Num.sub}/{@link Num.divInt}.
108
- *
109
- * @param a The first NonZeroInt16.
110
- * @param b The second NonZeroInt16.
111
- * @returns `a * b` clamped to [-32768, 32767] as a NonZeroInt16.
112
- */
113
- mul,
26
+ /**
27
+ * Type guard to check if a value is a NonZeroInt16.
28
+ *
29
+ * @param value The value to check.
30
+ * @returns `true` if the value is a 16-bit non-zero signed integer, `false`
31
+ * otherwise.
32
+ */
33
+ is,
34
+ /**
35
+ * The minimum value for a 16-bit non-zero signed integer.
36
+ *
37
+ * @readonly
38
+ */
39
+ MIN_VALUE,
40
+ /**
41
+ * The maximum value for a 16-bit non-zero signed integer.
42
+ *
43
+ * @readonly
44
+ */
45
+ MAX_VALUE,
46
+ /**
47
+ * Returns the absolute value of a 16-bit non-zero signed integer.
48
+ *
49
+ * @param a The NonZeroInt16 value.
50
+ * @returns The absolute value as a NonZeroInt16, clamped to valid range.
51
+ */
52
+ abs,
53
+ /**
54
+ * Returns the smaller of two NonZeroInt16 values.
55
+ *
56
+ * @param a The first NonZeroInt16.
57
+ * @param b The second NonZeroInt16.
58
+ * @returns The minimum value as a NonZeroInt16.
59
+ */
60
+ min: min_,
61
+ /**
62
+ * Returns the larger of two NonZeroInt16 values.
63
+ *
64
+ * @param a The first NonZeroInt16.
65
+ * @param b The second NonZeroInt16.
66
+ * @returns The maximum value as a NonZeroInt16.
67
+ */
68
+ max: max_,
69
+ /**
70
+ * Clamps a number to the NonZeroInt16 range (avoiding zero).
71
+ *
72
+ * @param value The number to clamp.
73
+ * @returns The value clamped to [-32768, 32767] \ {0} as a NonZeroInt16.
74
+ */
75
+ clamp,
76
+ /**
77
+ * Generates a random NonZeroInt16 value within the valid range.
78
+ *
79
+ * @returns A random NonZeroInt16 between MIN_VALUE and MAX_VALUE (excluding
80
+ * 0).
81
+ */
82
+ random,
83
+ /**
84
+ * Raises a NonZeroInt16 to the power of another NonZeroInt16.
85
+ *
86
+ * @param a The base NonZeroInt16.
87
+ * @param b The exponent NonZeroInt16.
88
+ * @returns `a ** b` clamped to [-32768, 32767] as a NonZeroInt16.
89
+ */
90
+ pow,
91
+ /**
92
+ * Multiplies two NonZeroInt16 values.
93
+ *
94
+ * The product of two non-zero integers is always non-zero, so this stays
95
+ * closed; for the non-closed operations (`add`/`sub`/`div`, whose result may
96
+ * be `0`) use {@link Num.add}/{@link Num.sub}/{@link Num.divInt}.
97
+ *
98
+ * @param a The first NonZeroInt16.
99
+ * @param b The second NonZeroInt16.
100
+ * @returns `a * b` clamped to [-32768, 32767] as a NonZeroInt16.
101
+ */
102
+ mul
114
103
  };
115
104
 
116
105
  export { NonZeroInt16, asNonZeroInt16, isNonZeroInt16 };
@@ -1 +1 @@
1
- {"version":3,"file":"non-zero-int16.mjs","sources":["../../../src/number/branded-types/non-zero-int16.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA,MAAM,iBAAiB,GAAG,qCAAqC;AAE/D,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EACH,QAAQ,EACR,KAAK,EACL,EAAE,EACF,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,aAAa,EAAE,MAAM,GACtB,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,aAAa;AACnC,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,SAAS,EAAE,MAAU;AACrB,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;AAMG;AACI,MAAM,cAAc,GAAG;AAE9B;;;;;;AAMG;AACI,MAAM,cAAc,GAAG;AAE9B;;;;;;;;AAQG;AACI,MAAM,YAAY,GAAG;AAC1B;;;;;;AAMG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;AAIG;IACH,SAAS;AAET;;;;;AAKG;IACH,GAAG;AAEH;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;IACH,KAAK;AAEL;;;;;AAKG;IACH,MAAM;AAEN;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;;;;;AAUG;IACH,GAAG;;;;;"}
1
+ {"version":3,"file":"non-zero-int16.mjs","sources":["../../../src/number/branded-types/non-zero-int16.mts"],"sourcesContent":["import { type NonZeroInt16 as TtfImported_NonZeroInt16 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonZeroInt16 = TtfImported_NonZeroInt16;\n\ntype ElementType = NonZeroInt16;\n\nconst typeNameInMessage = 'a non-zero integer in [-2^15, 2^15)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n abs,\n castType,\n clamp,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n randomNonZero: random,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n number,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n nonZero: true,\n MIN_VALUE: -(2 ** 15),\n MAX_VALUE: 2 ** 15 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n * Checks if a number is a NonZeroInt16 (16-bit non-zero signed integer in the\n * range [-2^15, 2^15) excluding 0).\n *\n * @param value The value to check.\n * @returns `true` if the value is a NonZeroInt16, `false` otherwise.\n */\nexport const isNonZeroInt16 = is;\n\n/**\n * Casts a number to a NonZeroInt16 type.\n *\n * @param value The value to cast.\n * @returns The value as a NonZeroInt16 type.\n * @throws {TypeError} If the value is not a non-zero integer in [-2^15, 2^15).\n */\nexport const asNonZeroInt16 = castType;\n\n/**\n * Namespace providing type-safe arithmetic operations for 16-bit non-zero\n * signed integers.\n *\n * All operations automatically clamp results to the valid NonZeroInt16 range\n * [-32768, 32767] excluding 0. This ensures that all arithmetic maintains the\n * 16-bit non-zero signed integer constraint, preventing zero results and\n * overflow.\n */\nexport const NonZeroInt16 = {\n /**\n * Type guard to check if a value is a NonZeroInt16.\n *\n * @param value The value to check.\n * @returns `true` if the value is a 16-bit non-zero signed integer, `false`\n * otherwise.\n */\n is,\n\n /**\n * The minimum value for a 16-bit non-zero signed integer.\n *\n * @readonly\n */\n MIN_VALUE,\n\n /**\n * The maximum value for a 16-bit non-zero signed integer.\n *\n * @readonly\n */\n MAX_VALUE,\n\n /**\n * Returns the absolute value of a 16-bit non-zero signed integer.\n *\n * @param a The NonZeroInt16 value.\n * @returns The absolute value as a NonZeroInt16, clamped to valid range.\n */\n abs,\n\n /**\n * Returns the smaller of two NonZeroInt16 values.\n *\n * @param a The first NonZeroInt16.\n * @param b The second NonZeroInt16.\n * @returns The minimum value as a NonZeroInt16.\n */\n min: min_,\n\n /**\n * Returns the larger of two NonZeroInt16 values.\n *\n * @param a The first NonZeroInt16.\n * @param b The second NonZeroInt16.\n * @returns The maximum value as a NonZeroInt16.\n */\n max: max_,\n\n /**\n * Clamps a number to the NonZeroInt16 range (avoiding zero).\n *\n * @param value The number to clamp.\n * @returns The value clamped to [-32768, 32767] \\ {0} as a NonZeroInt16.\n */\n clamp,\n\n /**\n * Generates a random NonZeroInt16 value within the valid range.\n *\n * @returns A random NonZeroInt16 between MIN_VALUE and MAX_VALUE (excluding\n * 0).\n */\n random,\n\n /**\n * Raises a NonZeroInt16 to the power of another NonZeroInt16.\n *\n * @param a The base NonZeroInt16.\n * @param b The exponent NonZeroInt16.\n * @returns `a ** b` clamped to [-32768, 32767] as a NonZeroInt16.\n */\n pow,\n\n /**\n * Multiplies two NonZeroInt16 values.\n *\n * The product of two non-zero integers is always non-zero, so this stays\n * closed; for the non-closed operations (`add`/`sub`/`div`, whose result may\n * be `0`) use {@link Num.add}/{@link Num.sub}/{@link Num.divInt}.\n *\n * @param a The first NonZeroInt16.\n * @param b The second NonZeroInt16.\n * @returns `a * b` clamped to [-32768, 32767] as a NonZeroInt16.\n */\n mul,\n} as const;\n\nexpectType<\n keyof typeof NonZeroInt16,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'range',\n 'mul'\n >\n>('=');\n\nexpectType<\n typeof NonZeroInt16,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'range',\n 'mul'\n >\n>('<=');\n"],"names":[],"mappings":";;AAQA,MAAM,iBAAA,GAAoB,qCAAA;AAE1B,MAAM;AAAA,EACJ,SAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAA,EAAK,IAAA;AAAA,EACL,GAAA,EAAK,IAAA;AAAA,EACL,GAAA;AAAA,EACA,GAAA;AAAA,EACA,aAAA,EAAe;AACjB,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,mBAAA,CAI1C;AAAA,EACA,oBAAA,EAAsB,aAAA;AAAA,EACtB,OAAA,EAAS,IAAA;AAAA,EACT,SAAA,EAAW,MAAO;AAAA,EAClB,SAAA,EAAW,KAAK,EAAA,GAAK,CAAA;AAAA,EACrB;AACF,CAAU,CAAA;AASH,MAAM,cAAA,GAAiB;AASvB,MAAM,cAAA,GAAiB;AAWvB,MAAM,YAAA,GAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ1B,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQL,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA;AACF;;;;"}
@@ -16,14 +16,14 @@ export declare const isNonZeroInt32: (a: number) => a is TtfImported_NonZeroInt3
16
16
  * @throws {TypeError} If the value is not a non-zero integer in [-2^31, 2^31).
17
17
  */
18
18
  export declare const asNonZeroInt32: <N extends number>(x: N) => number & {
19
- readonly NaNValue: false;
20
- readonly Finite: true;
21
- readonly Int: true;
22
- readonly "> -2^32": true;
23
- readonly ">= -2^31": true;
24
19
  readonly "!=0": true;
25
20
  readonly "< 2^31": true;
26
21
  readonly "< 2^32": true;
22
+ readonly "> -2^32": true;
23
+ readonly ">= -2^31": true;
24
+ readonly Finite: true;
25
+ readonly Int: true;
26
+ readonly NaNValue: false;
27
27
  readonly SafeInt: true;
28
28
  } & Readonly<{
29
29
  'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
@@ -1,117 +1,106 @@
1
1
  import { TsDataForgeInternals } from '../refined-number-utils.mjs';
2
2
 
3
- const typeNameInMessage = 'a non-zero integer in [-2^31, 2^31)';
4
- const { MAX_VALUE, MIN_VALUE, abs, castType, clamp, is, max: max_, min: min_, mul, pow, randomNonZero: random, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
5
- integerOrSafeInteger: 'SafeInteger',
6
- nonZero: true,
7
- MIN_VALUE: -2147483648,
8
- MAX_VALUE: 2 ** 31 - 1,
9
- typeNameInMessage,
3
+ const typeNameInMessage = "a non-zero integer in [-2^31, 2^31)";
4
+ const {
5
+ MAX_VALUE,
6
+ MIN_VALUE,
7
+ abs,
8
+ castType,
9
+ clamp,
10
+ is,
11
+ max: max_,
12
+ min: min_,
13
+ mul,
14
+ pow,
15
+ randomNonZero: random
16
+ } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
17
+ integerOrSafeInteger: "SafeInteger",
18
+ nonZero: true,
19
+ MIN_VALUE: -2147483648,
20
+ MAX_VALUE: 2 ** 31 - 1,
21
+ typeNameInMessage
10
22
  });
11
- /**
12
- * Checks if a number is a NonZeroInt32 (32-bit non-zero signed integer in the
13
- * range [-2^31, 2^31) excluding 0).
14
- *
15
- * @param value The value to check.
16
- * @returns `true` if the value is a NonZeroInt32, `false` otherwise.
17
- */
18
23
  const isNonZeroInt32 = is;
19
- /**
20
- * Casts a number to a NonZeroInt32 type.
21
- *
22
- * @param value The value to cast.
23
- * @returns The value as a NonZeroInt32 type.
24
- * @throws {TypeError} If the value is not a non-zero integer in [-2^31, 2^31).
25
- */
26
24
  const asNonZeroInt32 = castType;
27
- /**
28
- * Namespace providing type-safe arithmetic operations for 32-bit non-zero
29
- * signed integers.
30
- *
31
- * All operations automatically clamp results to the valid NonZeroInt32 range
32
- * [-2147483648, 2147483647] excluding 0. This ensures that all arithmetic
33
- * maintains the 32-bit non-zero signed integer constraint, preventing zero
34
- * results and overflow.
35
- */
36
25
  const NonZeroInt32 = {
37
- /**
38
- * Type guard to check if a value is a NonZeroInt32.
39
- *
40
- * @param value The value to check.
41
- * @returns `true` if the value is a 32-bit non-zero signed integer, `false`
42
- * otherwise.
43
- */
44
- is,
45
- /**
46
- * The minimum value for a 32-bit non-zero signed integer.
47
- *
48
- * @readonly
49
- */
50
- MIN_VALUE,
51
- /**
52
- * The maximum value for a 32-bit non-zero signed integer.
53
- *
54
- * @readonly
55
- */
56
- MAX_VALUE,
57
- /**
58
- * Returns the absolute value of a 32-bit non-zero signed integer.
59
- *
60
- * @param a The NonZeroInt32 value.
61
- * @returns The absolute value as a NonZeroInt32, clamped to valid range.
62
- */
63
- abs,
64
- /**
65
- * Returns the smaller of two NonZeroInt32 values.
66
- *
67
- * @param a The first NonZeroInt32.
68
- * @param b The second NonZeroInt32.
69
- * @returns The minimum value as a NonZeroInt32.
70
- */
71
- min: min_,
72
- /**
73
- * Returns the larger of two NonZeroInt32 values.
74
- *
75
- * @param a The first NonZeroInt32.
76
- * @param b The second NonZeroInt32.
77
- * @returns The maximum value as a NonZeroInt32.
78
- */
79
- max: max_,
80
- /**
81
- * Clamps a number to the NonZeroInt32 range (avoiding zero).
82
- *
83
- * @param value The number to clamp.
84
- * @returns The value clamped to [-2147483648, 2147483647] \ {0} as a
85
- * NonZeroInt32.
86
- */
87
- clamp,
88
- /**
89
- * Generates a random NonZeroInt32 value within the valid range.
90
- *
91
- * @returns A random NonZeroInt32 between MIN_VALUE and MAX_VALUE (excluding
92
- * 0).
93
- */
94
- random,
95
- /**
96
- * Raises a NonZeroInt32 to the power of another NonZeroInt32.
97
- *
98
- * @param a The base NonZeroInt32.
99
- * @param b The exponent NonZeroInt32.
100
- * @returns `a ** b` clamped to [-2147483648, 2147483647] as a NonZeroInt32.
101
- */
102
- pow,
103
- /**
104
- * Multiplies two NonZeroInt32 values.
105
- *
106
- * The product of two non-zero integers is always non-zero, so this stays
107
- * closed; for the non-closed operations (`add`/`sub`/`div`, whose result may
108
- * be `0`) use {@link Num.add}/{@link Num.sub}/{@link Num.divInt}.
109
- *
110
- * @param a The first NonZeroInt32.
111
- * @param b The second NonZeroInt32.
112
- * @returns `a * b` clamped to [-2147483648, 2147483647] as a NonZeroInt32.
113
- */
114
- mul,
26
+ /**
27
+ * Type guard to check if a value is a NonZeroInt32.
28
+ *
29
+ * @param value The value to check.
30
+ * @returns `true` if the value is a 32-bit non-zero signed integer, `false`
31
+ * otherwise.
32
+ */
33
+ is,
34
+ /**
35
+ * The minimum value for a 32-bit non-zero signed integer.
36
+ *
37
+ * @readonly
38
+ */
39
+ MIN_VALUE,
40
+ /**
41
+ * The maximum value for a 32-bit non-zero signed integer.
42
+ *
43
+ * @readonly
44
+ */
45
+ MAX_VALUE,
46
+ /**
47
+ * Returns the absolute value of a 32-bit non-zero signed integer.
48
+ *
49
+ * @param a The NonZeroInt32 value.
50
+ * @returns The absolute value as a NonZeroInt32, clamped to valid range.
51
+ */
52
+ abs,
53
+ /**
54
+ * Returns the smaller of two NonZeroInt32 values.
55
+ *
56
+ * @param a The first NonZeroInt32.
57
+ * @param b The second NonZeroInt32.
58
+ * @returns The minimum value as a NonZeroInt32.
59
+ */
60
+ min: min_,
61
+ /**
62
+ * Returns the larger of two NonZeroInt32 values.
63
+ *
64
+ * @param a The first NonZeroInt32.
65
+ * @param b The second NonZeroInt32.
66
+ * @returns The maximum value as a NonZeroInt32.
67
+ */
68
+ max: max_,
69
+ /**
70
+ * Clamps a number to the NonZeroInt32 range (avoiding zero).
71
+ *
72
+ * @param value The number to clamp.
73
+ * @returns The value clamped to [-2147483648, 2147483647] \ {0} as a
74
+ * NonZeroInt32.
75
+ */
76
+ clamp,
77
+ /**
78
+ * Generates a random NonZeroInt32 value within the valid range.
79
+ *
80
+ * @returns A random NonZeroInt32 between MIN_VALUE and MAX_VALUE (excluding
81
+ * 0).
82
+ */
83
+ random,
84
+ /**
85
+ * Raises a NonZeroInt32 to the power of another NonZeroInt32.
86
+ *
87
+ * @param a The base NonZeroInt32.
88
+ * @param b The exponent NonZeroInt32.
89
+ * @returns `a ** b` clamped to [-2147483648, 2147483647] as a NonZeroInt32.
90
+ */
91
+ pow,
92
+ /**
93
+ * Multiplies two NonZeroInt32 values.
94
+ *
95
+ * The product of two non-zero integers is always non-zero, so this stays
96
+ * closed; for the non-closed operations (`add`/`sub`/`div`, whose result may
97
+ * be `0`) use {@link Num.add}/{@link Num.sub}/{@link Num.divInt}.
98
+ *
99
+ * @param a The first NonZeroInt32.
100
+ * @param b The second NonZeroInt32.
101
+ * @returns `a * b` clamped to [-2147483648, 2147483647] as a NonZeroInt32.
102
+ */
103
+ mul
115
104
  };
116
105
 
117
106
  export { NonZeroInt32, asNonZeroInt32, isNonZeroInt32 };
@@ -1 +1 @@
1
- {"version":3,"file":"non-zero-int32.mjs","sources":["../../../src/number/branded-types/non-zero-int32.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA,MAAM,iBAAiB,GAAG,qCAAqC;AAE/D,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EACH,QAAQ,EACR,KAAK,EACL,EAAE,EACF,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,aAAa,EAAE,MAAM,GACtB,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,aAAa;AACnC,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,SAAS,EAAE,WAAU;AACrB,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;AAMG;AACI,MAAM,cAAc,GAAG;AAE9B;;;;;;AAMG;AACI,MAAM,cAAc,GAAG;AAE9B;;;;;;;;AAQG;AACI,MAAM,YAAY,GAAG;AAC1B;;;;;;AAMG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;AAIG;IACH,SAAS;AAET;;;;;AAKG;IACH,GAAG;AAEH;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;IACH,KAAK;AAEL;;;;;AAKG;IACH,MAAM;AAEN;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;;;;;AAUG;IACH,GAAG;;;;;"}
1
+ {"version":3,"file":"non-zero-int32.mjs","sources":["../../../src/number/branded-types/non-zero-int32.mts"],"sourcesContent":["import { type NonZeroInt32 as TtfImported_NonZeroInt32 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonZeroInt32 = TtfImported_NonZeroInt32;\n\ntype ElementType = NonZeroInt32;\n\nconst typeNameInMessage = 'a non-zero integer in [-2^31, 2^31)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n abs,\n castType,\n clamp,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n randomNonZero: random,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n number,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n nonZero: true,\n MIN_VALUE: -(2 ** 31),\n MAX_VALUE: 2 ** 31 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n * Checks if a number is a NonZeroInt32 (32-bit non-zero signed integer in the\n * range [-2^31, 2^31) excluding 0).\n *\n * @param value The value to check.\n * @returns `true` if the value is a NonZeroInt32, `false` otherwise.\n */\nexport const isNonZeroInt32 = is;\n\n/**\n * Casts a number to a NonZeroInt32 type.\n *\n * @param value The value to cast.\n * @returns The value as a NonZeroInt32 type.\n * @throws {TypeError} If the value is not a non-zero integer in [-2^31, 2^31).\n */\nexport const asNonZeroInt32 = castType;\n\n/**\n * Namespace providing type-safe arithmetic operations for 32-bit non-zero\n * signed integers.\n *\n * All operations automatically clamp results to the valid NonZeroInt32 range\n * [-2147483648, 2147483647] excluding 0. This ensures that all arithmetic\n * maintains the 32-bit non-zero signed integer constraint, preventing zero\n * results and overflow.\n */\nexport const NonZeroInt32 = {\n /**\n * Type guard to check if a value is a NonZeroInt32.\n *\n * @param value The value to check.\n * @returns `true` if the value is a 32-bit non-zero signed integer, `false`\n * otherwise.\n */\n is,\n\n /**\n * The minimum value for a 32-bit non-zero signed integer.\n *\n * @readonly\n */\n MIN_VALUE,\n\n /**\n * The maximum value for a 32-bit non-zero signed integer.\n *\n * @readonly\n */\n MAX_VALUE,\n\n /**\n * Returns the absolute value of a 32-bit non-zero signed integer.\n *\n * @param a The NonZeroInt32 value.\n * @returns The absolute value as a NonZeroInt32, clamped to valid range.\n */\n abs,\n\n /**\n * Returns the smaller of two NonZeroInt32 values.\n *\n * @param a The first NonZeroInt32.\n * @param b The second NonZeroInt32.\n * @returns The minimum value as a NonZeroInt32.\n */\n min: min_,\n\n /**\n * Returns the larger of two NonZeroInt32 values.\n *\n * @param a The first NonZeroInt32.\n * @param b The second NonZeroInt32.\n * @returns The maximum value as a NonZeroInt32.\n */\n max: max_,\n\n /**\n * Clamps a number to the NonZeroInt32 range (avoiding zero).\n *\n * @param value The number to clamp.\n * @returns The value clamped to [-2147483648, 2147483647] \\ {0} as a\n * NonZeroInt32.\n */\n clamp,\n\n /**\n * Generates a random NonZeroInt32 value within the valid range.\n *\n * @returns A random NonZeroInt32 between MIN_VALUE and MAX_VALUE (excluding\n * 0).\n */\n random,\n\n /**\n * Raises a NonZeroInt32 to the power of another NonZeroInt32.\n *\n * @param a The base NonZeroInt32.\n * @param b The exponent NonZeroInt32.\n * @returns `a ** b` clamped to [-2147483648, 2147483647] as a NonZeroInt32.\n */\n pow,\n\n /**\n * Multiplies two NonZeroInt32 values.\n *\n * The product of two non-zero integers is always non-zero, so this stays\n * closed; for the non-closed operations (`add`/`sub`/`div`, whose result may\n * be `0`) use {@link Num.add}/{@link Num.sub}/{@link Num.divInt}.\n *\n * @param a The first NonZeroInt32.\n * @param b The second NonZeroInt32.\n * @returns `a * b` clamped to [-2147483648, 2147483647] as a NonZeroInt32.\n */\n mul,\n} as const;\n\nexpectType<\n keyof typeof NonZeroInt32,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'range',\n 'mul'\n >\n>('=');\n\nexpectType<\n typeof NonZeroInt32,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'range',\n 'mul'\n >\n>('<=');\n"],"names":[],"mappings":";;AAQA,MAAM,iBAAA,GAAoB,qCAAA;AAE1B,MAAM;AAAA,EACJ,SAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAA,EAAK,IAAA;AAAA,EACL,GAAA,EAAK,IAAA;AAAA,EACL,GAAA;AAAA,EACA,GAAA;AAAA,EACA,aAAA,EAAe;AACjB,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,mBAAA,CAI1C;AAAA,EACA,oBAAA,EAAsB,aAAA;AAAA,EACtB,OAAA,EAAS,IAAA;AAAA,EACT,SAAA,EAAW,WAAO;AAAA,EAClB,SAAA,EAAW,KAAK,EAAA,GAAK,CAAA;AAAA,EACrB;AACF,CAAU,CAAA;AASH,MAAM,cAAA,GAAiB;AASvB,MAAM,cAAA,GAAiB;AAWvB,MAAM,YAAA,GAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ1B,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASL,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA;AACF;;;;"}
@@ -16,10 +16,10 @@ export declare const isNonZeroSafeInt: (a: number) => a is TtfImported_NonZeroSa
16
16
  * @throws {TypeError} If the value is not a non-zero safe integer.
17
17
  */
18
18
  export declare const asNonZeroSafeInt: <N extends number>(x: N) => number & {
19
- readonly NaNValue: false;
19
+ readonly "!=0": true;
20
20
  readonly Finite: true;
21
21
  readonly Int: true;
22
- readonly "!=0": true;
22
+ readonly NaNValue: false;
23
23
  readonly SafeInt: true;
24
24
  } & Readonly<{
25
25
  'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;