ts-data-forge 8.0.0 → 9.0.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 (429) hide show
  1. package/dist/array/impl/array-utils-creation.d.mts.map +1 -1
  2. package/dist/array/impl/array-utils-creation.mjs +17 -112
  3. package/dist/array/impl/array-utils-creation.mjs.map +1 -1
  4. package/dist/array/impl/array-utils-element-access.d.mts.map +1 -1
  5. package/dist/array/impl/array-utils-element-access.mjs +22 -61
  6. package/dist/array/impl/array-utils-element-access.mjs.map +1 -1
  7. package/dist/array/impl/array-utils-iterators.d.mts.map +1 -1
  8. package/dist/array/impl/array-utils-iterators.mjs +9 -63
  9. package/dist/array/impl/array-utils-iterators.mjs.map +1 -1
  10. package/dist/array/impl/array-utils-modification.mjs +78 -78
  11. package/dist/array/impl/array-utils-modification.mjs.map +1 -1
  12. package/dist/array/impl/array-utils-reducing-value.mjs +95 -89
  13. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -1
  14. package/dist/array/impl/array-utils-search.mjs +100 -92
  15. package/dist/array/impl/array-utils-search.mjs.map +1 -1
  16. package/dist/array/impl/array-utils-set-op.d.mts.map +1 -1
  17. package/dist/array/impl/array-utils-set-op.mjs +31 -141
  18. package/dist/array/impl/array-utils-set-op.mjs.map +1 -1
  19. package/dist/array/impl/array-utils-size.d.mts.map +1 -1
  20. package/dist/array/impl/array-utils-size.mjs +4 -8
  21. package/dist/array/impl/array-utils-size.mjs.map +1 -1
  22. package/dist/array/impl/array-utils-slice-clamped.mjs +11 -12
  23. package/dist/array/impl/array-utils-slice-clamped.mjs.map +1 -1
  24. package/dist/array/impl/array-utils-slicing.d.mts.map +1 -1
  25. package/dist/array/impl/array-utils-slicing.mjs +44 -96
  26. package/dist/array/impl/array-utils-slicing.mjs.map +1 -1
  27. package/dist/array/impl/array-utils-transformation.d.mts +1 -1
  28. package/dist/array/impl/array-utils-transformation.d.mts.map +1 -1
  29. package/dist/array/impl/array-utils-transformation.mjs +150 -292
  30. package/dist/array/impl/array-utils-transformation.mjs.map +1 -1
  31. package/dist/array/impl/array-utils-validation.d.mts.map +1 -1
  32. package/dist/array/impl/array-utils-validation.mjs +18 -169
  33. package/dist/array/impl/array-utils-validation.mjs.map +1 -1
  34. package/dist/collections/imap-mapped.d.mts.map +1 -1
  35. package/dist/collections/imap-mapped.mjs +243 -330
  36. package/dist/collections/imap-mapped.mjs.map +1 -1
  37. package/dist/collections/imap.d.mts.map +1 -1
  38. package/dist/collections/imap.mjs +190 -275
  39. package/dist/collections/imap.mjs.map +1 -1
  40. package/dist/collections/iset-mapped.d.mts +1 -1
  41. package/dist/collections/iset-mapped.d.mts.map +1 -1
  42. package/dist/collections/iset-mapped.mjs +222 -444
  43. package/dist/collections/iset-mapped.mjs.map +1 -1
  44. package/dist/collections/iset.d.mts +1 -1
  45. package/dist/collections/iset.d.mts.map +1 -1
  46. package/dist/collections/iset.mjs +158 -324
  47. package/dist/collections/iset.mjs.map +1 -1
  48. package/dist/collections/queue.d.mts.map +1 -1
  49. package/dist/collections/queue.mjs +106 -178
  50. package/dist/collections/queue.mjs.map +1 -1
  51. package/dist/collections/stack.d.mts.map +1 -1
  52. package/dist/collections/stack.mjs +95 -165
  53. package/dist/collections/stack.mjs.map +1 -1
  54. package/dist/entry-point.mjs +1 -0
  55. package/dist/entry-point.mjs.map +1 -1
  56. package/dist/expect-type.d.mts +1 -1
  57. package/dist/expect-type.d.mts.map +1 -1
  58. package/dist/expect-type.mjs +1 -69
  59. package/dist/expect-type.mjs.map +1 -1
  60. package/dist/functional/match.mjs +9 -9
  61. package/dist/functional/match.mjs.map +1 -1
  62. package/dist/functional/optional/impl/optional-expect-to-be.mjs +13 -14
  63. package/dist/functional/optional/impl/optional-expect-to-be.mjs.map +1 -1
  64. package/dist/functional/optional/impl/optional-filter.mjs +14 -15
  65. package/dist/functional/optional/impl/optional-filter.mjs.map +1 -1
  66. package/dist/functional/optional/impl/optional-flat-map.mjs +10 -11
  67. package/dist/functional/optional/impl/optional-flat-map.mjs.map +1 -1
  68. package/dist/functional/optional/impl/optional-from-nullable.d.mts.map +1 -1
  69. package/dist/functional/optional/impl/optional-from-nullable.mjs +1 -25
  70. package/dist/functional/optional/impl/optional-from-nullable.mjs.map +1 -1
  71. package/dist/functional/optional/impl/optional-is-none.d.mts.map +1 -1
  72. package/dist/functional/optional/impl/optional-is-none.mjs +0 -19
  73. package/dist/functional/optional/impl/optional-is-none.mjs.map +1 -1
  74. package/dist/functional/optional/impl/optional-is-optional.d.mts.map +1 -1
  75. package/dist/functional/optional/impl/optional-is-optional.mjs +1 -23
  76. package/dist/functional/optional/impl/optional-is-optional.mjs.map +1 -1
  77. package/dist/functional/optional/impl/optional-is-some.d.mts.map +1 -1
  78. package/dist/functional/optional/impl/optional-is-some.mjs +0 -20
  79. package/dist/functional/optional/impl/optional-is-some.mjs.map +1 -1
  80. package/dist/functional/optional/impl/optional-map.mjs +13 -14
  81. package/dist/functional/optional/impl/optional-map.mjs.map +1 -1
  82. package/dist/functional/optional/impl/optional-none.mjs +0 -16
  83. package/dist/functional/optional/impl/optional-none.mjs.map +1 -1
  84. package/dist/functional/optional/impl/optional-or-else.mjs +10 -11
  85. package/dist/functional/optional/impl/optional-or-else.mjs.map +1 -1
  86. package/dist/functional/optional/impl/optional-some.d.mts.map +1 -1
  87. package/dist/functional/optional/impl/optional-some.mjs +2 -21
  88. package/dist/functional/optional/impl/optional-some.mjs.map +1 -1
  89. package/dist/functional/optional/impl/optional-to-nullable.d.mts.map +1 -1
  90. package/dist/functional/optional/impl/optional-to-nullable.mjs +1 -27
  91. package/dist/functional/optional/impl/optional-to-nullable.mjs.map +1 -1
  92. package/dist/functional/optional/impl/optional-unwrap-or.mjs +9 -10
  93. package/dist/functional/optional/impl/optional-unwrap-or.mjs.map +1 -1
  94. package/dist/functional/optional/impl/optional-unwrap-throw.d.mts.map +1 -1
  95. package/dist/functional/optional/impl/optional-unwrap-throw.mjs +4 -32
  96. package/dist/functional/optional/impl/optional-unwrap-throw.mjs.map +1 -1
  97. package/dist/functional/optional/impl/optional-unwrap.mjs +4 -4
  98. package/dist/functional/optional/impl/optional-unwrap.mjs.map +1 -1
  99. package/dist/functional/optional/impl/optional-zip.d.mts.map +1 -1
  100. package/dist/functional/optional/impl/optional-zip.mjs +1 -35
  101. package/dist/functional/optional/impl/optional-zip.mjs.map +1 -1
  102. package/dist/functional/optional/impl/tag.mjs +2 -3
  103. package/dist/functional/optional/impl/tag.mjs.map +1 -1
  104. package/dist/functional/pipe.d.mts.map +1 -1
  105. package/dist/functional/pipe.mjs +9 -34
  106. package/dist/functional/pipe.mjs.map +1 -1
  107. package/dist/functional/result/impl/result-err.d.mts.map +1 -1
  108. package/dist/functional/result/impl/result-err.mjs +2 -27
  109. package/dist/functional/result/impl/result-err.mjs.map +1 -1
  110. package/dist/functional/result/impl/result-expect-to-be.mjs +13 -15
  111. package/dist/functional/result/impl/result-expect-to-be.mjs.map +1 -1
  112. package/dist/functional/result/impl/result-flat-map.mjs +16 -16
  113. package/dist/functional/result/impl/result-flat-map.mjs.map +1 -1
  114. package/dist/functional/result/impl/result-fold.mjs +16 -16
  115. package/dist/functional/result/impl/result-fold.mjs.map +1 -1
  116. package/dist/functional/result/impl/result-from-promise.d.mts.map +1 -1
  117. package/dist/functional/result/impl/result-from-promise.mjs +4 -31
  118. package/dist/functional/result/impl/result-from-promise.mjs.map +1 -1
  119. package/dist/functional/result/impl/result-from-throwable.d.mts.map +1 -1
  120. package/dist/functional/result/impl/result-from-throwable.mjs +8 -38
  121. package/dist/functional/result/impl/result-from-throwable.mjs.map +1 -1
  122. package/dist/functional/result/impl/result-is-err.d.mts.map +1 -1
  123. package/dist/functional/result/impl/result-is-err.mjs +0 -19
  124. package/dist/functional/result/impl/result-is-err.mjs.map +1 -1
  125. package/dist/functional/result/impl/result-is-ok.d.mts.map +1 -1
  126. package/dist/functional/result/impl/result-is-ok.mjs +0 -19
  127. package/dist/functional/result/impl/result-is-ok.mjs.map +1 -1
  128. package/dist/functional/result/impl/result-is-result.d.mts.map +1 -1
  129. package/dist/functional/result/impl/result-is-result.mjs +1 -23
  130. package/dist/functional/result/impl/result-is-result.mjs.map +1 -1
  131. package/dist/functional/result/impl/result-map-err.mjs +16 -16
  132. package/dist/functional/result/impl/result-map-err.mjs.map +1 -1
  133. package/dist/functional/result/impl/result-map.mjs +16 -16
  134. package/dist/functional/result/impl/result-map.mjs.map +1 -1
  135. package/dist/functional/result/impl/result-ok.d.mts.map +1 -1
  136. package/dist/functional/result/impl/result-ok.mjs +2 -27
  137. package/dist/functional/result/impl/result-ok.mjs.map +1 -1
  138. package/dist/functional/result/impl/result-or-else.mjs +10 -12
  139. package/dist/functional/result/impl/result-or-else.mjs.map +1 -1
  140. package/dist/functional/result/impl/result-swap.d.mts.map +1 -1
  141. package/dist/functional/result/impl/result-swap.mjs +4 -22
  142. package/dist/functional/result/impl/result-swap.mjs.map +1 -1
  143. package/dist/functional/result/impl/result-to-optional.d.mts.map +1 -1
  144. package/dist/functional/result/impl/result-to-optional.mjs +0 -27
  145. package/dist/functional/result/impl/result-to-optional.mjs.map +1 -1
  146. package/dist/functional/result/impl/result-unwrap-err-or.mjs +9 -11
  147. package/dist/functional/result/impl/result-unwrap-err-or.mjs.map +1 -1
  148. package/dist/functional/result/impl/result-unwrap-err-throw.d.mts.map +1 -1
  149. package/dist/functional/result/impl/result-unwrap-err-throw.mjs +13 -40
  150. package/dist/functional/result/impl/result-unwrap-err-throw.mjs.map +1 -1
  151. package/dist/functional/result/impl/result-unwrap-err.d.mts.map +1 -1
  152. package/dist/functional/result/impl/result-unwrap-err.mjs +4 -32
  153. package/dist/functional/result/impl/result-unwrap-err.mjs.map +1 -1
  154. package/dist/functional/result/impl/result-unwrap-ok-or.mjs +9 -11
  155. package/dist/functional/result/impl/result-unwrap-ok-or.mjs.map +1 -1
  156. package/dist/functional/result/impl/result-unwrap-ok.mjs +4 -4
  157. package/dist/functional/result/impl/result-unwrap-ok.mjs.map +1 -1
  158. package/dist/functional/result/impl/result-unwrap-throw.d.mts.map +1 -1
  159. package/dist/functional/result/impl/result-unwrap-throw.mjs +4 -35
  160. package/dist/functional/result/impl/result-unwrap-throw.mjs.map +1 -1
  161. package/dist/functional/result/impl/result-zip.d.mts.map +1 -1
  162. package/dist/functional/result/impl/result-zip.mjs +1 -34
  163. package/dist/functional/result/impl/result-zip.mjs.map +1 -1
  164. package/dist/functional/result/impl/tag.mjs +2 -3
  165. package/dist/functional/result/impl/tag.mjs.map +1 -1
  166. package/dist/functional/ternary-result/impl/tag.mjs +3 -5
  167. package/dist/functional/ternary-result/impl/tag.mjs.map +1 -1
  168. package/dist/functional/ternary-result/impl/ternary-result-err.d.mts.map +1 -1
  169. package/dist/functional/ternary-result/impl/ternary-result-err.mjs +2 -15
  170. package/dist/functional/ternary-result/impl/ternary-result-err.mjs.map +1 -1
  171. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs +13 -13
  172. package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs.map +1 -1
  173. package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs +27 -26
  174. package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs.map +1 -1
  175. package/dist/functional/ternary-result/impl/ternary-result-fold.mjs +21 -22
  176. package/dist/functional/ternary-result/impl/ternary-result-fold.mjs.map +1 -1
  177. package/dist/functional/ternary-result/impl/ternary-result-from-promise.d.mts.map +1 -1
  178. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs +4 -20
  179. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs.map +1 -1
  180. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.d.mts.map +1 -1
  181. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs +7 -25
  182. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs.map +1 -1
  183. package/dist/functional/ternary-result/impl/ternary-result-is-err.d.mts.map +1 -1
  184. package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs +0 -17
  185. package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs.map +1 -1
  186. package/dist/functional/ternary-result/impl/ternary-result-is-ok.d.mts.map +1 -1
  187. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs +0 -19
  188. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs.map +1 -1
  189. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.d.mts.map +1 -1
  190. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs +1 -25
  191. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs.map +1 -1
  192. package/dist/functional/ternary-result/impl/ternary-result-is-warn.d.mts.map +1 -1
  193. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs +0 -18
  194. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs.map +1 -1
  195. package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs +13 -15
  196. package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs.map +1 -1
  197. package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs +18 -18
  198. package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs.map +1 -1
  199. package/dist/functional/ternary-result/impl/ternary-result-map.mjs +21 -22
  200. package/dist/functional/ternary-result/impl/ternary-result-map.mjs.map +1 -1
  201. package/dist/functional/ternary-result/impl/ternary-result-ok.d.mts.map +1 -1
  202. package/dist/functional/ternary-result/impl/ternary-result-ok.mjs +2 -16
  203. package/dist/functional/ternary-result/impl/ternary-result-ok.mjs.map +1 -1
  204. package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs +9 -9
  205. package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs.map +1 -1
  206. package/dist/functional/ternary-result/impl/ternary-result-to-optional.d.mts.map +1 -1
  207. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs +4 -22
  208. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs.map +1 -1
  209. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs +9 -9
  210. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs.map +1 -1
  211. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.d.mts.map +1 -1
  212. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs +12 -27
  213. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs.map +1 -1
  214. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.d.mts.map +1 -1
  215. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs +4 -19
  216. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs.map +1 -1
  217. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs +9 -9
  218. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs.map +1 -1
  219. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs +4 -5
  220. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs.map +1 -1
  221. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.d.mts.map +1 -1
  222. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs +15 -27
  223. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs.map +1 -1
  224. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs +9 -9
  225. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs.map +1 -1
  226. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.d.mts.map +1 -1
  227. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs +10 -24
  228. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs.map +1 -1
  229. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.d.mts.map +1 -1
  230. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs +4 -19
  231. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs.map +1 -1
  232. package/dist/functional/ternary-result/impl/ternary-result-warn.d.mts.map +1 -1
  233. package/dist/functional/ternary-result/impl/ternary-result-warn.mjs +3 -19
  234. package/dist/functional/ternary-result/impl/ternary-result-warn.mjs.map +1 -1
  235. package/dist/functional/ternary-result/impl/ternary-result-zip.d.mts.map +1 -1
  236. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs +14 -45
  237. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs.map +1 -1
  238. package/dist/functional/ternary-result/impl/variant-name.d.mts +1 -1
  239. package/dist/functional/ternary-result/impl/variant-name.d.mts.map +1 -1
  240. package/dist/functional/ternary-result/impl/variant-name.mjs +8 -9
  241. package/dist/functional/ternary-result/impl/variant-name.mjs.map +1 -1
  242. package/dist/functional/ternary-result/ternary-result.d.mts.map +1 -1
  243. package/dist/guard/has-key.d.mts.map +1 -1
  244. package/dist/guard/has-key.mjs +0 -41
  245. package/dist/guard/has-key.mjs.map +1 -1
  246. package/dist/guard/index.d.mts +1 -0
  247. package/dist/guard/index.d.mts.map +1 -1
  248. package/dist/guard/index.mjs +1 -0
  249. package/dist/guard/index.mjs.map +1 -1
  250. package/dist/guard/is-length-bounded-string.d.mts +164 -0
  251. package/dist/guard/is-length-bounded-string.d.mts.map +1 -0
  252. package/dist/guard/is-length-bounded-string.mjs +7 -0
  253. package/dist/guard/is-length-bounded-string.mjs.map +1 -0
  254. package/dist/guard/is-non-empty-string.d.mts +1 -1
  255. package/dist/guard/is-non-empty-string.d.mts.map +1 -1
  256. package/dist/guard/is-non-empty-string.mjs +1 -38
  257. package/dist/guard/is-non-empty-string.mjs.map +1 -1
  258. package/dist/guard/is-non-null-object.d.mts.map +1 -1
  259. package/dist/guard/is-non-null-object.mjs +1 -35
  260. package/dist/guard/is-non-null-object.mjs.map +1 -1
  261. package/dist/guard/is-primitive.d.mts.map +1 -1
  262. package/dist/guard/is-primitive.mjs +12 -43
  263. package/dist/guard/is-primitive.mjs.map +1 -1
  264. package/dist/guard/is-record.d.mts.map +1 -1
  265. package/dist/guard/is-record.mjs +0 -86
  266. package/dist/guard/is-record.mjs.map +1 -1
  267. package/dist/guard/is-type.d.mts.map +1 -1
  268. package/dist/guard/is-type.mjs +12 -399
  269. package/dist/guard/is-type.mjs.map +1 -1
  270. package/dist/guard/key-is-in.d.mts.map +1 -1
  271. package/dist/guard/key-is-in.mjs +0 -40
  272. package/dist/guard/key-is-in.mjs.map +1 -1
  273. package/dist/index.mjs +1 -0
  274. package/dist/index.mjs.map +1 -1
  275. package/dist/iterator/range.mjs +16 -16
  276. package/dist/iterator/range.mjs.map +1 -1
  277. package/dist/json/json.d.mts.map +1 -1
  278. package/dist/json/json.mjs +52 -340
  279. package/dist/json/json.mjs.map +1 -1
  280. package/dist/number/branded-types/finite-number.d.mts +3 -3
  281. package/dist/number/branded-types/finite-number.mjs +135 -154
  282. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  283. package/dist/number/branded-types/int.d.mts +4 -4
  284. package/dist/number/branded-types/int.mjs +205 -245
  285. package/dist/number/branded-types/int.mjs.map +1 -1
  286. package/dist/number/branded-types/int16.d.mts +15 -15
  287. package/dist/number/branded-types/int16.mjs +116 -123
  288. package/dist/number/branded-types/int16.mjs.map +1 -1
  289. package/dist/number/branded-types/int32.d.mts +11 -11
  290. package/dist/number/branded-types/int32.mjs +116 -123
  291. package/dist/number/branded-types/int32.mjs.map +1 -1
  292. package/dist/number/branded-types/negative-finite-number.d.mts +4 -4
  293. package/dist/number/branded-types/negative-finite-number.mjs +129 -144
  294. package/dist/number/branded-types/negative-finite-number.mjs.map +1 -1
  295. package/dist/number/branded-types/negative-int.d.mts +5 -5
  296. package/dist/number/branded-types/negative-int.mjs +94 -113
  297. package/dist/number/branded-types/negative-int.mjs.map +1 -1
  298. package/dist/number/branded-types/negative-safe-int.d.mts +5 -5
  299. package/dist/number/branded-types/negative-safe-int.mjs +103 -124
  300. package/dist/number/branded-types/negative-safe-int.mjs.map +1 -1
  301. package/dist/number/branded-types/non-negative-finite-number.d.mts +5 -5
  302. package/dist/number/branded-types/non-negative-finite-number.mjs +136 -142
  303. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  304. package/dist/number/branded-types/non-negative-int16.d.mts +16 -16
  305. package/dist/number/branded-types/non-negative-int16.mjs +109 -118
  306. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  307. package/dist/number/branded-types/non-negative-int32.d.mts +12 -12
  308. package/dist/number/branded-types/non-negative-int32.mjs +110 -119
  309. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  310. package/dist/number/branded-types/non-positive-finite-number.d.mts +3 -3
  311. package/dist/number/branded-types/non-positive-finite-number.mjs +120 -124
  312. package/dist/number/branded-types/non-positive-finite-number.mjs.map +1 -1
  313. package/dist/number/branded-types/non-positive-int.d.mts +4 -4
  314. package/dist/number/branded-types/non-positive-int.mjs +167 -212
  315. package/dist/number/branded-types/non-positive-int.mjs.map +1 -1
  316. package/dist/number/branded-types/non-positive-safe-int.d.mts +4 -4
  317. package/dist/number/branded-types/non-positive-safe-int.mjs +95 -106
  318. package/dist/number/branded-types/non-positive-safe-int.mjs.map +1 -1
  319. package/dist/number/branded-types/non-zero-finite-number.d.mts +4 -4
  320. package/dist/number/branded-types/non-zero-finite-number.mjs +114 -123
  321. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  322. package/dist/number/branded-types/non-zero-int.d.mts +2 -2
  323. package/dist/number/branded-types/non-zero-int.mjs +72 -83
  324. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  325. package/dist/number/branded-types/non-zero-int16.d.mts +7 -7
  326. package/dist/number/branded-types/non-zero-int16.mjs +96 -107
  327. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  328. package/dist/number/branded-types/non-zero-int32.d.mts +5 -5
  329. package/dist/number/branded-types/non-zero-int32.mjs +97 -108
  330. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  331. package/dist/number/branded-types/non-zero-safe-int.d.mts +2 -2
  332. package/dist/number/branded-types/non-zero-safe-int.mjs +100 -111
  333. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  334. package/dist/number/branded-types/non-zero-uint16.d.mts +8 -8
  335. package/dist/number/branded-types/non-zero-uint16.mjs +96 -107
  336. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  337. package/dist/number/branded-types/non-zero-uint32.d.mts +6 -6
  338. package/dist/number/branded-types/non-zero-uint32.mjs +96 -107
  339. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  340. package/dist/number/branded-types/positive-finite-number.d.mts +8 -8
  341. package/dist/number/branded-types/positive-finite-number.mjs +139 -141
  342. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  343. package/dist/number/branded-types/positive-int.d.mts +11 -11
  344. package/dist/number/branded-types/positive-int.mjs +228 -271
  345. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  346. package/dist/number/branded-types/positive-int16.d.mts +19 -19
  347. package/dist/number/branded-types/positive-int16.mjs +109 -118
  348. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  349. package/dist/number/branded-types/positive-int32.d.mts +15 -15
  350. package/dist/number/branded-types/positive-int32.mjs +109 -118
  351. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  352. package/dist/number/branded-types/positive-safe-int.d.mts +11 -11
  353. package/dist/number/branded-types/positive-safe-int.mjs +244 -275
  354. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  355. package/dist/number/branded-types/positive-uint16.d.mts +17 -17
  356. package/dist/number/branded-types/positive-uint16.mjs +109 -118
  357. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  358. package/dist/number/branded-types/positive-uint32.d.mts +13 -13
  359. package/dist/number/branded-types/positive-uint32.mjs +110 -119
  360. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  361. package/dist/number/branded-types/safe-int.d.mts +4 -4
  362. package/dist/number/branded-types/safe-int.mjs +251 -292
  363. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  364. package/dist/number/branded-types/safe-uint.d.mts +8 -8
  365. package/dist/number/branded-types/safe-uint.mjs +111 -119
  366. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  367. package/dist/number/branded-types/uint.d.mts +8 -8
  368. package/dist/number/branded-types/uint.mjs +198 -225
  369. package/dist/number/branded-types/uint.mjs.map +1 -1
  370. package/dist/number/branded-types/uint16.d.mts +14 -14
  371. package/dist/number/branded-types/uint16.mjs +109 -119
  372. package/dist/number/branded-types/uint16.mjs.map +1 -1
  373. package/dist/number/branded-types/uint32.d.mts +10 -10
  374. package/dist/number/branded-types/uint32.mjs +110 -117
  375. package/dist/number/branded-types/uint32.mjs.map +1 -1
  376. package/dist/number/enum/int8.mjs +119 -145
  377. package/dist/number/enum/int8.mjs.map +1 -1
  378. package/dist/number/enum/uint8.mjs +107 -121
  379. package/dist/number/enum/uint8.mjs.map +1 -1
  380. package/dist/number/num.d.mts +2 -2
  381. package/dist/number/num.d.mts.map +1 -1
  382. package/dist/number/num.mjs +76 -537
  383. package/dist/number/num.mjs.map +1 -1
  384. package/dist/number/refined-number-utils.d.mts +1 -1
  385. package/dist/number/refined-number-utils.d.mts.map +1 -1
  386. package/dist/number/refined-number-utils.mjs +127 -263
  387. package/dist/number/refined-number-utils.mjs.map +1 -1
  388. package/dist/object/object.d.mts.map +1 -1
  389. package/dist/object/object.mjs +107 -222
  390. package/dist/object/object.mjs.map +1 -1
  391. package/dist/others/cast-mutable.d.mts.map +1 -1
  392. package/dist/others/cast-mutable.mjs +8 -37
  393. package/dist/others/cast-mutable.mjs.map +1 -1
  394. package/dist/others/cast-readonly.d.mts.map +1 -1
  395. package/dist/others/cast-readonly.mjs +8 -36
  396. package/dist/others/cast-readonly.mjs.map +1 -1
  397. package/dist/others/debounce-function.d.mts.map +1 -1
  398. package/dist/others/debounce-function.mjs +7 -16
  399. package/dist/others/debounce-function.mjs.map +1 -1
  400. package/dist/others/fast-deep-equal.d.mts.map +1 -1
  401. package/dist/others/fast-deep-equal.mjs +43 -59
  402. package/dist/others/fast-deep-equal.mjs.map +1 -1
  403. package/dist/others/if-then.d.mts.map +1 -1
  404. package/dist/others/if-then.mjs +0 -29
  405. package/dist/others/if-then.mjs.map +1 -1
  406. package/dist/others/map-nullable.mjs +9 -9
  407. package/dist/others/map-nullable.mjs.map +1 -1
  408. package/dist/others/memoize-function.mjs +12 -12
  409. package/dist/others/memoize-function.mjs.map +1 -1
  410. package/dist/others/tuple.d.mts.map +1 -1
  411. package/dist/others/tuple.mjs +0 -50
  412. package/dist/others/tuple.mjs.map +1 -1
  413. package/dist/others/unknown-to-string.d.mts.map +1 -1
  414. package/dist/others/unknown-to-string.mjs +41 -88
  415. package/dist/others/unknown-to-string.mjs.map +1 -1
  416. package/dist/promise/promise.d.mts.map +1 -1
  417. package/dist/promise/promise.mjs +4 -49
  418. package/dist/promise/promise.mjs.map +1 -1
  419. package/package.json +17 -16
  420. package/src/array/impl/array-utils-transformation.mts +1 -2
  421. package/src/array/impl/array-utils-transformation.test.mts +3 -36
  422. package/src/array/impl/array-utils-validation.test.mts +1 -3
  423. package/src/expect-type.mts +4 -5
  424. package/src/functional/ternary-result/ternary-result.mts +2 -6
  425. package/src/guard/index.mts +1 -0
  426. package/src/guard/is-length-bounded-string.mts +199 -0
  427. package/src/guard/is-length-bounded-string.test.mts +170 -0
  428. package/src/number/refined-number-utils.mts +1 -9
  429. package/src/object/object.mts +25 -23
@@ -1,120 +1,109 @@
1
1
  import { TsDataForgeInternals } from '../refined-number-utils.mjs';
2
2
 
3
- const typeNameInMessage = 'a non-zero safe integer';
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
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion, math/prefer-number-min-safe-integer
8
- MIN_VALUE: Number.MIN_SAFE_INTEGER,
9
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion, math/prefer-number-max-safe-integer
10
- MAX_VALUE: Number.MAX_SAFE_INTEGER,
11
- typeNameInMessage,
3
+ const typeNameInMessage = "a non-zero safe integer";
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
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion, math/prefer-number-min-safe-integer
20
+ MIN_VALUE: Number.MIN_SAFE_INTEGER,
21
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion, math/prefer-number-max-safe-integer
22
+ MAX_VALUE: Number.MAX_SAFE_INTEGER,
23
+ typeNameInMessage
12
24
  });
13
- /**
14
- * Checks if a number is a NonZeroSafeInt (a non-zero safe integer in the range
15
- * [MIN_SAFE_INTEGER, MAX_SAFE_INTEGER] excluding 0).
16
- *
17
- * @param value The value to check.
18
- * @returns `true` if the value is a NonZeroSafeInt, `false` otherwise.
19
- */
20
25
  const isNonZeroSafeInt = is;
21
- /**
22
- * Casts a number to a NonZeroSafeInt type.
23
- *
24
- * @param value The value to cast.
25
- * @returns The value as a NonZeroSafeInt type.
26
- * @throws {TypeError} If the value is not a non-zero safe integer.
27
- */
28
26
  const asNonZeroSafeInt = castType;
29
- /**
30
- * Namespace providing type-safe arithmetic operations for non-zero safe
31
- * integers.
32
- *
33
- * All operations automatically clamp results to the non-zero safe integer
34
- * range, excluding zero. This ensures that all arithmetic maintains both the
35
- * non-zero constraint and IEEE 754 precision guarantees, preventing precision
36
- * loss while ensuring results are never zero.
37
- */
38
27
  const NonZeroSafeInt = {
39
- /**
40
- * Type guard to check if a value is a NonZeroSafeInt.
41
- *
42
- * @param value The value to check.
43
- * @returns `true` if the value is a non-zero safe integer, `false` otherwise.
44
- */
45
- is,
46
- /**
47
- * The minimum safe integer value (-(2^53 - 1)).
48
- *
49
- * @readonly
50
- */
51
- MIN_VALUE,
52
- /**
53
- * The maximum safe integer value (2^53 - 1).
54
- *
55
- * @readonly
56
- */
57
- MAX_VALUE,
58
- /**
59
- * Returns the absolute value of a non-zero safe integer.
60
- *
61
- * @param a The NonZeroSafeInt value.
62
- * @returns The absolute value as a NonZeroSafeInt, clamped to safe range.
63
- */
64
- abs,
65
- /**
66
- * Returns the smaller of two NonZeroSafeInt values.
67
- *
68
- * @param a The first NonZeroSafeInt.
69
- * @param b The second NonZeroSafeInt.
70
- * @returns The minimum value as a NonZeroSafeInt.
71
- */
72
- min: min_,
73
- /**
74
- * Returns the larger of two NonZeroSafeInt values.
75
- *
76
- * @param a The first NonZeroSafeInt.
77
- * @param b The second NonZeroSafeInt.
78
- * @returns The maximum value as a NonZeroSafeInt.
79
- */
80
- max: max_,
81
- /**
82
- * Clamps a number to the non-zero safe integer range.
83
- *
84
- * @param value The number to clamp.
85
- * @returns The value clamped to [MIN_SAFE_INTEGER, MAX_SAFE_INTEGER] \ {0} as
86
- * a NonZeroSafeInt.
87
- */
88
- clamp,
89
- /**
90
- * Generates a random NonZeroSafeInt value within the valid range.
91
- *
92
- * @returns A random non-zero safe integer between MIN_SAFE_INTEGER and
93
- * MAX_SAFE_INTEGER.
94
- */
95
- random,
96
- /**
97
- * Raises a NonZeroSafeInt to the power of another NonZeroSafeInt.
98
- *
99
- * @param a The base NonZeroSafeInt.
100
- * @param b The exponent NonZeroSafeInt.
101
- * @returns `a ** b` clamped to non-zero safe integer range as a
102
- * NonZeroSafeInt.
103
- */
104
- pow,
105
- /**
106
- * Multiplies two NonZeroSafeInt values.
107
- *
108
- * The product of two non-zero safe integers is always non-zero, so this stays
109
- * closed; for the non-closed operations (`add`/`sub`/`div`, whose result may
110
- * be `0`) use {@link Num.add}/{@link Num.sub}/{@link Num.divInt}.
111
- *
112
- * @param a The first NonZeroSafeInt.
113
- * @param b The second NonZeroSafeInt.
114
- * @returns `a * b` clamped to non-zero safe integer range as a
115
- * NonZeroSafeInt.
116
- */
117
- mul,
28
+ /**
29
+ * Type guard to check if a value is a NonZeroSafeInt.
30
+ *
31
+ * @param value The value to check.
32
+ * @returns `true` if the value is a non-zero safe integer, `false` otherwise.
33
+ */
34
+ is,
35
+ /**
36
+ * The minimum safe integer value (-(2^53 - 1)).
37
+ *
38
+ * @readonly
39
+ */
40
+ MIN_VALUE,
41
+ /**
42
+ * The maximum safe integer value (2^53 - 1).
43
+ *
44
+ * @readonly
45
+ */
46
+ MAX_VALUE,
47
+ /**
48
+ * Returns the absolute value of a non-zero safe integer.
49
+ *
50
+ * @param a The NonZeroSafeInt value.
51
+ * @returns The absolute value as a NonZeroSafeInt, clamped to safe range.
52
+ */
53
+ abs,
54
+ /**
55
+ * Returns the smaller of two NonZeroSafeInt values.
56
+ *
57
+ * @param a The first NonZeroSafeInt.
58
+ * @param b The second NonZeroSafeInt.
59
+ * @returns The minimum value as a NonZeroSafeInt.
60
+ */
61
+ min: min_,
62
+ /**
63
+ * Returns the larger of two NonZeroSafeInt values.
64
+ *
65
+ * @param a The first NonZeroSafeInt.
66
+ * @param b The second NonZeroSafeInt.
67
+ * @returns The maximum value as a NonZeroSafeInt.
68
+ */
69
+ max: max_,
70
+ /**
71
+ * Clamps a number to the non-zero safe integer range.
72
+ *
73
+ * @param value The number to clamp.
74
+ * @returns The value clamped to [MIN_SAFE_INTEGER, MAX_SAFE_INTEGER] \ {0} as
75
+ * a NonZeroSafeInt.
76
+ */
77
+ clamp,
78
+ /**
79
+ * Generates a random NonZeroSafeInt value within the valid range.
80
+ *
81
+ * @returns A random non-zero safe integer between MIN_SAFE_INTEGER and
82
+ * MAX_SAFE_INTEGER.
83
+ */
84
+ random,
85
+ /**
86
+ * Raises a NonZeroSafeInt to the power of another NonZeroSafeInt.
87
+ *
88
+ * @param a The base NonZeroSafeInt.
89
+ * @param b The exponent NonZeroSafeInt.
90
+ * @returns `a ** b` clamped to non-zero safe integer range as a
91
+ * NonZeroSafeInt.
92
+ */
93
+ pow,
94
+ /**
95
+ * Multiplies two NonZeroSafeInt values.
96
+ *
97
+ * The product of two non-zero safe integers is always non-zero, so this stays
98
+ * closed; for the non-closed operations (`add`/`sub`/`div`, whose result may
99
+ * be `0`) use {@link Num.add}/{@link Num.sub}/{@link Num.divInt}.
100
+ *
101
+ * @param a The first NonZeroSafeInt.
102
+ * @param b The second NonZeroSafeInt.
103
+ * @returns `a * b` clamped to non-zero safe integer range as a
104
+ * NonZeroSafeInt.
105
+ */
106
+ mul
118
107
  };
119
108
 
120
109
  export { NonZeroSafeInt, asNonZeroSafeInt, isNonZeroSafeInt };
@@ -1 +1 @@
1
- {"version":3,"file":"non-zero-safe-int.mjs","sources":["../../../src/number/branded-types/non-zero-safe-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAYA,MAAM,iBAAiB,GAAG,yBAAyB;AAEnD,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;;IAEb,SAAS,EAAE,MAAM,CAAC,gBAA2B;;IAE7C,SAAS,EAAE,MAAM,CAAC,gBAA4B;IAC9C,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;AAMG;AACI,MAAM,gBAAgB,GAAG;AAEhC;;;;;;AAMG;AACI,MAAM,gBAAgB,GAAG;AAEhC;;;;;;;;AAQG;AACI,MAAM,cAAc,GAAG;AAC5B;;;;;AAKG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;AAIG;IACH,SAAS;AAET;;;;;AAKG;IACH,GAAG;AAEH;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;IACH,KAAK;AAEL;;;;;AAKG;IACH,MAAM;AAEN;;;;;;;AAOG;IACH,GAAG;AAEH;;;;;;;;;;;AAWG;IACH,GAAG;;;;;"}
1
+ {"version":3,"file":"non-zero-safe-int.mjs","sources":["../../../src/number/branded-types/non-zero-safe-int.mts"],"sourcesContent":["import {\n type SafeInt,\n type SafeUint,\n type NonZeroSafeInt as TtfImported_NonZeroSafeInt,\n} from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonZeroSafeInt = TtfImported_NonZeroSafeInt;\n\ntype ElementType = NonZeroSafeInt;\n\nconst typeNameInMessage = 'a non-zero safe integer';\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 SafeInt,\n SafeUint\n>({\n integerOrSafeInteger: 'SafeInteger',\n nonZero: true,\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion, math/prefer-number-min-safe-integer\n MIN_VALUE: Number.MIN_SAFE_INTEGER as SafeInt,\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion, math/prefer-number-max-safe-integer\n MAX_VALUE: Number.MAX_SAFE_INTEGER as SafeUint,\n typeNameInMessage,\n} as const);\n\n/**\n * Checks if a number is a NonZeroSafeInt (a non-zero safe integer in the range\n * [MIN_SAFE_INTEGER, MAX_SAFE_INTEGER] excluding 0).\n *\n * @param value The value to check.\n * @returns `true` if the value is a NonZeroSafeInt, `false` otherwise.\n */\nexport const isNonZeroSafeInt = is;\n\n/**\n * Casts a number to a NonZeroSafeInt type.\n *\n * @param value The value to cast.\n * @returns The value as a NonZeroSafeInt type.\n * @throws {TypeError} If the value is not a non-zero safe integer.\n */\nexport const asNonZeroSafeInt = castType;\n\n/**\n * Namespace providing type-safe arithmetic operations for non-zero safe\n * integers.\n *\n * All operations automatically clamp results to the non-zero safe integer\n * range, excluding zero. This ensures that all arithmetic maintains both the\n * non-zero constraint and IEEE 754 precision guarantees, preventing precision\n * loss while ensuring results are never zero.\n */\nexport const NonZeroSafeInt = {\n /**\n * Type guard to check if a value is a NonZeroSafeInt.\n *\n * @param value The value to check.\n * @returns `true` if the value is a non-zero safe integer, `false` otherwise.\n */\n is,\n\n /**\n * The minimum safe integer value (-(2^53 - 1)).\n *\n * @readonly\n */\n MIN_VALUE,\n\n /**\n * The maximum safe integer value (2^53 - 1).\n *\n * @readonly\n */\n MAX_VALUE,\n\n /**\n * Returns the absolute value of a non-zero safe integer.\n *\n * @param a The NonZeroSafeInt value.\n * @returns The absolute value as a NonZeroSafeInt, clamped to safe range.\n */\n abs,\n\n /**\n * Returns the smaller of two NonZeroSafeInt values.\n *\n * @param a The first NonZeroSafeInt.\n * @param b The second NonZeroSafeInt.\n * @returns The minimum value as a NonZeroSafeInt.\n */\n min: min_,\n\n /**\n * Returns the larger of two NonZeroSafeInt values.\n *\n * @param a The first NonZeroSafeInt.\n * @param b The second NonZeroSafeInt.\n * @returns The maximum value as a NonZeroSafeInt.\n */\n max: max_,\n\n /**\n * Clamps a number to the non-zero safe integer range.\n *\n * @param value The number to clamp.\n * @returns The value clamped to [MIN_SAFE_INTEGER, MAX_SAFE_INTEGER] \\ {0} as\n * a NonZeroSafeInt.\n */\n clamp,\n\n /**\n * Generates a random NonZeroSafeInt value within the valid range.\n *\n * @returns A random non-zero safe integer between MIN_SAFE_INTEGER and\n * MAX_SAFE_INTEGER.\n */\n random,\n\n /**\n * Raises a NonZeroSafeInt to the power of another NonZeroSafeInt.\n *\n * @param a The base NonZeroSafeInt.\n * @param b The exponent NonZeroSafeInt.\n * @returns `a ** b` clamped to non-zero safe integer range as a\n * NonZeroSafeInt.\n */\n pow,\n\n /**\n * Multiplies two NonZeroSafeInt values.\n *\n * The product of two non-zero safe 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 NonZeroSafeInt.\n * @param b The second NonZeroSafeInt.\n * @returns `a * b` clamped to non-zero safe integer range as a\n * NonZeroSafeInt.\n */\n mul,\n} as const;\n\nexpectType<\n keyof typeof NonZeroSafeInt,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'range',\n 'mul'\n >\n>('=');\n\nexpectType<\n typeof NonZeroSafeInt,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'range',\n 'mul'\n >\n>('<=');\n"],"names":[],"mappings":";;AAYA,MAAM,iBAAA,GAAoB,yBAAA;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;AAAA,EAET,WAAW,MAAA,CAAO,gBAAA;AAAA;AAAA,EAElB,WAAW,MAAA,CAAO,gBAAA;AAAA,EAClB;AACF,CAAU,CAAA;AASH,MAAM,gBAAA,GAAmB;AASzB,MAAM,gBAAA,GAAmB;AAWzB,MAAM,cAAA,GAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5B,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;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA;AACF;;;;"}
@@ -16,19 +16,19 @@ export declare const isNonZeroUint16: (a: number) => a is import("ts-type-forge"
16
16
  * @throws {TypeError} If the value is not a non-zero integer in [1, 2^16).
17
17
  */
18
18
  export declare const asNonZeroUint16: <N extends number>(x: N) => number & {
19
- readonly NaNValue: false;
20
- readonly Finite: true;
21
- readonly Int: true;
19
+ readonly "!=0": true;
20
+ readonly "< 2^16": true;
21
+ readonly "< 2^31": true;
22
+ readonly "< 2^32": true;
23
+ readonly "<=0": false;
22
24
  readonly "> -2^16": true;
23
25
  readonly "> -2^32": true;
24
26
  readonly ">= -2^15": true;
25
27
  readonly ">= -2^31": true;
26
28
  readonly ">=0": true;
27
- readonly "!=0": true;
28
- readonly "<=0": false;
29
- readonly "< 2^16": true;
30
- readonly "< 2^31": true;
31
- readonly "< 2^32": true;
29
+ readonly Finite: true;
30
+ readonly Int: true;
31
+ readonly NaNValue: false;
32
32
  readonly SafeInt: true;
33
33
  } & Readonly<{
34
34
  'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
@@ -1,116 +1,105 @@
1
1
  import { TsDataForgeInternals } from '../refined-number-utils.mjs';
2
2
 
3
- const typeNameInMessage = 'a non-zero integer in [1, 2^16)';
4
- const { MAX_VALUE, MIN_VALUE, add, castType, clamp, is, max: max_, min: min_, mul, pow, randomNonZero: random, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
5
- integerOrSafeInteger: 'SafeInteger',
6
- nonZero: true,
7
- MIN_VALUE: 1,
8
- MAX_VALUE: 2 ** 16 - 1,
9
- typeNameInMessage,
3
+ const typeNameInMessage = "a non-zero integer in [1, 2^16)";
4
+ const {
5
+ MAX_VALUE,
6
+ MIN_VALUE,
7
+ add,
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: 1,
20
+ MAX_VALUE: 2 ** 16 - 1,
21
+ typeNameInMessage
10
22
  });
11
- /**
12
- * Checks if a number is a NonZeroUint16 (16-bit non-zero unsigned integer in
13
- * the range [1, 2^16)).
14
- *
15
- * @param value The value to check.
16
- * @returns `true` if the value is a NonZeroUint16, `false` otherwise.
17
- */
18
23
  const isNonZeroUint16 = is;
19
- /**
20
- * Casts a number to a NonZeroUint16 type.
21
- *
22
- * @param value The value to cast.
23
- * @returns The value as a NonZeroUint16 type.
24
- * @throws {TypeError} If the value is not a non-zero integer in [1, 2^16).
25
- */
26
24
  const asNonZeroUint16 = castType;
27
- /**
28
- * Namespace providing type-safe arithmetic operations for 16-bit non-zero
29
- * unsigned integers.
30
- *
31
- * All operations automatically clamp results to the valid NonZeroUint16 range
32
- * [1, 65535]. This ensures that all arithmetic maintains the 16-bit non-zero
33
- * unsigned integer constraint, with results below 1 clamped to MIN_VALUE and
34
- * overflow results clamped to MAX_VALUE.
35
- */
36
25
  const NonZeroUint16 = {
37
- /**
38
- * Type guard to check if a value is a NonZeroUint16.
39
- *
40
- * @param value The value to check.
41
- * @returns `true` if the value is a 16-bit non-zero unsigned integer, `false`
42
- * otherwise.
43
- */
44
- is,
45
- /**
46
- * The minimum value for a 16-bit non-zero unsigned integer.
47
- *
48
- * @readonly
49
- */
50
- MIN_VALUE,
51
- /**
52
- * The maximum value for a 16-bit non-zero unsigned integer.
53
- *
54
- * @readonly
55
- */
56
- MAX_VALUE,
57
- /**
58
- * Returns the smaller of two NonZeroUint16 values.
59
- *
60
- * @param a The first NonZeroUint16.
61
- * @param b The second NonZeroUint16.
62
- * @returns The minimum value as a NonZeroUint16.
63
- */
64
- min: min_,
65
- /**
66
- * Returns the larger of two NonZeroUint16 values.
67
- *
68
- * @param a The first NonZeroUint16.
69
- * @param b The second NonZeroUint16.
70
- * @returns The maximum value as a NonZeroUint16.
71
- */
72
- max: max_,
73
- /**
74
- * Clamps a number to the NonZeroUint16 range.
75
- *
76
- * @param value The number to clamp.
77
- * @returns The value clamped to [1, 65535] as a NonZeroUint16.
78
- */
79
- clamp,
80
- /**
81
- * Generates a random NonZeroUint16 value within the valid range.
82
- *
83
- * @returns A random NonZeroUint16 between 1 and 65535.
84
- */
85
- random,
86
- /**
87
- * Raises a NonZeroUint16 to the power of another NonZeroUint16.
88
- *
89
- * @param a The base NonZeroUint16.
90
- * @param b The exponent NonZeroUint16.
91
- * @returns `a ** b` clamped to [1, 65535] as a NonZeroUint16.
92
- */
93
- pow,
94
- /**
95
- * Adds two NonZeroUint16 values.
96
- *
97
- * @param a The first NonZeroUint16.
98
- * @param b The second NonZeroUint16.
99
- * @returns `a + b` clamped to [1, 65535] as a NonZeroUint16.
100
- */
101
- add,
102
- /**
103
- * Multiplies two NonZeroUint16 values.
104
- *
105
- * Both `add` and `mul` stay within `[1, 65535]`. For the non-closed
106
- * operations (`sub`/`div`, whose result may be `0`) use {@link Num.sub} /
107
- * {@link Num.divInt}.
108
- *
109
- * @param a The first NonZeroUint16.
110
- * @param b The second NonZeroUint16.
111
- * @returns `a * b` clamped to [1, 65535] as a NonZeroUint16.
112
- */
113
- mul,
26
+ /**
27
+ * Type guard to check if a value is a NonZeroUint16.
28
+ *
29
+ * @param value The value to check.
30
+ * @returns `true` if the value is a 16-bit non-zero unsigned integer, `false`
31
+ * otherwise.
32
+ */
33
+ is,
34
+ /**
35
+ * The minimum value for a 16-bit non-zero unsigned integer.
36
+ *
37
+ * @readonly
38
+ */
39
+ MIN_VALUE,
40
+ /**
41
+ * The maximum value for a 16-bit non-zero unsigned integer.
42
+ *
43
+ * @readonly
44
+ */
45
+ MAX_VALUE,
46
+ /**
47
+ * Returns the smaller of two NonZeroUint16 values.
48
+ *
49
+ * @param a The first NonZeroUint16.
50
+ * @param b The second NonZeroUint16.
51
+ * @returns The minimum value as a NonZeroUint16.
52
+ */
53
+ min: min_,
54
+ /**
55
+ * Returns the larger of two NonZeroUint16 values.
56
+ *
57
+ * @param a The first NonZeroUint16.
58
+ * @param b The second NonZeroUint16.
59
+ * @returns The maximum value as a NonZeroUint16.
60
+ */
61
+ max: max_,
62
+ /**
63
+ * Clamps a number to the NonZeroUint16 range.
64
+ *
65
+ * @param value The number to clamp.
66
+ * @returns The value clamped to [1, 65535] as a NonZeroUint16.
67
+ */
68
+ clamp,
69
+ /**
70
+ * Generates a random NonZeroUint16 value within the valid range.
71
+ *
72
+ * @returns A random NonZeroUint16 between 1 and 65535.
73
+ */
74
+ random,
75
+ /**
76
+ * Raises a NonZeroUint16 to the power of another NonZeroUint16.
77
+ *
78
+ * @param a The base NonZeroUint16.
79
+ * @param b The exponent NonZeroUint16.
80
+ * @returns `a ** b` clamped to [1, 65535] as a NonZeroUint16.
81
+ */
82
+ pow,
83
+ /**
84
+ * Adds two NonZeroUint16 values.
85
+ *
86
+ * @param a The first NonZeroUint16.
87
+ * @param b The second NonZeroUint16.
88
+ * @returns `a + b` clamped to [1, 65535] as a NonZeroUint16.
89
+ */
90
+ add,
91
+ /**
92
+ * Multiplies two NonZeroUint16 values.
93
+ *
94
+ * Both `add` and `mul` stay within `[1, 65535]`. For the non-closed
95
+ * operations (`sub`/`div`, whose result may be `0`) use {@link Num.sub} /
96
+ * {@link Num.divInt}.
97
+ *
98
+ * @param a The first NonZeroUint16.
99
+ * @param b The second NonZeroUint16.
100
+ * @returns `a * b` clamped to [1, 65535] as a NonZeroUint16.
101
+ */
102
+ mul
114
103
  };
115
104
 
116
105
  export { NonZeroUint16, asNonZeroUint16, isNonZeroUint16 };
@@ -1 +1 @@
1
- {"version":3,"file":"non-zero-uint16.mjs","sources":["../../../src/number/branded-types/non-zero-uint16.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA,MAAM,iBAAiB,GAAG,iCAAiC;AAE3D,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,CAAC;AACZ,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;AAMG;AACI,MAAM,eAAe,GAAG;AAE/B;;;;;;AAMG;AACI,MAAM,eAAe,GAAG;AAE/B;;;;;;;;AAQG;AACI,MAAM,aAAa,GAAG;AAC3B;;;;;;AAMG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;AAIG;IACH,SAAS;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;IACH,KAAK;AAEL;;;;AAIG;IACH,MAAM;AAEN;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;;;;;AAUG;IACH,GAAG;;;;;"}
1
+ {"version":3,"file":"non-zero-uint16.mjs","sources":["../../../src/number/branded-types/non-zero-uint16.mts"],"sourcesContent":["import { type NonZeroUint16 as TtfImported_NonZeroUint16 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonZeroUint16 = TtfImported_NonZeroUint16;\n\ntype ElementType = NonZeroUint16;\n\nconst typeNameInMessage = 'a non-zero integer in [1, 2^16)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\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 1,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n nonZero: true,\n MIN_VALUE: 1,\n MAX_VALUE: 2 ** 16 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n * Checks if a number is a NonZeroUint16 (16-bit non-zero unsigned integer in\n * the range [1, 2^16)).\n *\n * @param value The value to check.\n * @returns `true` if the value is a NonZeroUint16, `false` otherwise.\n */\nexport const isNonZeroUint16 = is;\n\n/**\n * Casts a number to a NonZeroUint16 type.\n *\n * @param value The value to cast.\n * @returns The value as a NonZeroUint16 type.\n * @throws {TypeError} If the value is not a non-zero integer in [1, 2^16).\n */\nexport const asNonZeroUint16 = castType;\n\n/**\n * Namespace providing type-safe arithmetic operations for 16-bit non-zero\n * unsigned integers.\n *\n * All operations automatically clamp results to the valid NonZeroUint16 range\n * [1, 65535]. This ensures that all arithmetic maintains the 16-bit non-zero\n * unsigned integer constraint, with results below 1 clamped to MIN_VALUE and\n * overflow results clamped to MAX_VALUE.\n */\nexport const NonZeroUint16 = {\n /**\n * Type guard to check if a value is a NonZeroUint16.\n *\n * @param value The value to check.\n * @returns `true` if the value is a 16-bit non-zero unsigned integer, `false`\n * otherwise.\n */\n is,\n\n /**\n * The minimum value for a 16-bit non-zero unsigned integer.\n *\n * @readonly\n */\n MIN_VALUE,\n\n /**\n * The maximum value for a 16-bit non-zero unsigned integer.\n *\n * @readonly\n */\n MAX_VALUE,\n\n /**\n * Returns the smaller of two NonZeroUint16 values.\n *\n * @param a The first NonZeroUint16.\n * @param b The second NonZeroUint16.\n * @returns The minimum value as a NonZeroUint16.\n */\n min: min_,\n\n /**\n * Returns the larger of two NonZeroUint16 values.\n *\n * @param a The first NonZeroUint16.\n * @param b The second NonZeroUint16.\n * @returns The maximum value as a NonZeroUint16.\n */\n max: max_,\n\n /**\n * Clamps a number to the NonZeroUint16 range.\n *\n * @param value The number to clamp.\n * @returns The value clamped to [1, 65535] as a NonZeroUint16.\n */\n clamp,\n\n /**\n * Generates a random NonZeroUint16 value within the valid range.\n *\n * @returns A random NonZeroUint16 between 1 and 65535.\n */\n random,\n\n /**\n * Raises a NonZeroUint16 to the power of another NonZeroUint16.\n *\n * @param a The base NonZeroUint16.\n * @param b The exponent NonZeroUint16.\n * @returns `a ** b` clamped to [1, 65535] as a NonZeroUint16.\n */\n pow,\n\n /**\n * Adds two NonZeroUint16 values.\n *\n * @param a The first NonZeroUint16.\n * @param b The second NonZeroUint16.\n * @returns `a + b` clamped to [1, 65535] as a NonZeroUint16.\n */\n add,\n\n /**\n * Multiplies two NonZeroUint16 values.\n *\n * Both `add` and `mul` stay within `[1, 65535]`. For the non-closed\n * operations (`sub`/`div`, whose result may be `0`) use {@link Num.sub} /\n * {@link Num.divInt}.\n *\n * @param a The first NonZeroUint16.\n * @param b The second NonZeroUint16.\n * @returns `a * b` clamped to [1, 65535] as a NonZeroUint16.\n */\n mul,\n} as const;\n\nexpectType<\n keyof typeof NonZeroUint16,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range',\n 'add' | 'mul'\n >\n>('=');\n\nexpectType<\n typeof NonZeroUint16,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range',\n 'add' | 'mul'\n >\n>('<=');\n"],"names":[],"mappings":";;AAQA,MAAM,iBAAA,GAAoB,iCAAA;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,CAAA;AAAA,EACX,SAAA,EAAW,KAAK,EAAA,GAAK,CAAA;AAAA,EACrB;AACF,CAAU,CAAA;AASH,MAAM,eAAA,GAAkB;AASxB,MAAM,eAAA,GAAkB;AAWxB,MAAM,aAAA,GAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ3B,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAA;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,EAOA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;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,17 +16,17 @@ export declare const isNonZeroUint32: (a: number) => a is import("ts-type-forge"
16
16
  * @throws {TypeError} If the value is not a non-zero integer in [1, 2^32).
17
17
  */
18
18
  export declare const asNonZeroUint32: <N extends number>(x: N) => number & {
19
- readonly NaNValue: false;
20
- readonly Finite: true;
21
- readonly Int: true;
19
+ readonly "!=0": true;
20
+ readonly "< 2^32": true;
21
+ readonly "<=0": false;
22
22
  readonly "> -2^16": true;
23
23
  readonly "> -2^32": true;
24
24
  readonly ">= -2^15": true;
25
25
  readonly ">= -2^31": true;
26
26
  readonly ">=0": true;
27
- readonly "!=0": true;
28
- readonly "<=0": false;
29
- readonly "< 2^32": true;
27
+ readonly Finite: true;
28
+ readonly Int: true;
29
+ readonly NaNValue: false;
30
30
  readonly SafeInt: true;
31
31
  } & Readonly<{
32
32
  'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;