ts-data-forge 10.0.0 → 11.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 (249) hide show
  1. package/dist/array/impl/array-utils-creation.d.mts +3 -3
  2. package/dist/array/impl/array-utils-creation.d.mts.map +1 -1
  3. package/dist/array/impl/array-utils-creation.mjs.map +1 -1
  4. package/dist/array/impl/array-utils-element-access.d.mts +4 -4
  5. package/dist/array/impl/array-utils-element-access.mjs.map +1 -1
  6. package/dist/{guard/as-length-bounded-array.d.mts → array/impl/array-utils-length-bounded-array-cast.d.mts} +9 -9
  7. package/dist/array/impl/array-utils-length-bounded-array-cast.d.mts.map +1 -0
  8. package/dist/{guard/as-length-bounded-array.mjs → array/impl/array-utils-length-bounded-array-cast.mjs} +2 -2
  9. package/dist/array/impl/array-utils-length-bounded-array-cast.mjs.map +1 -0
  10. package/dist/{guard/is-length-bounded-array.d.mts → array/impl/array-utils-length-bounded-array-guard.d.mts} +13 -13
  11. package/dist/array/impl/array-utils-length-bounded-array-guard.d.mts.map +1 -0
  12. package/dist/{guard/is-length-bounded-array.mjs → array/impl/array-utils-length-bounded-array-guard.mjs} +1 -1
  13. package/dist/array/impl/array-utils-length-bounded-array-guard.mjs.map +1 -0
  14. package/dist/array/impl/array-utils-modification.d.mts +9 -9
  15. package/dist/array/impl/array-utils-modification.d.mts.map +1 -1
  16. package/dist/array/impl/array-utils-modification.mjs.map +1 -1
  17. package/dist/array/impl/array-utils-reducing-value.d.mts +9 -9
  18. package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -1
  19. package/dist/array/impl/array-utils-size.d.mts +3 -3
  20. package/dist/array/impl/array-utils-size.mjs.map +1 -1
  21. package/dist/array/impl/array-utils-slicing.d.mts +9 -9
  22. package/dist/array/impl/array-utils-slicing.d.mts.map +1 -1
  23. package/dist/array/impl/array-utils-slicing.mjs.map +1 -1
  24. package/dist/array/impl/array-utils-transformation.d.mts +16 -10
  25. package/dist/array/impl/array-utils-transformation.d.mts.map +1 -1
  26. package/dist/array/impl/array-utils-transformation.mjs.map +1 -1
  27. package/dist/array/impl/index.d.mts +2 -0
  28. package/dist/array/impl/index.d.mts.map +1 -1
  29. package/dist/array/impl/index.mjs +2 -0
  30. package/dist/array/impl/index.mjs.map +1 -1
  31. package/dist/entry-point.mjs +1 -3
  32. package/dist/entry-point.mjs.map +1 -1
  33. package/dist/guard/index.d.mts +0 -3
  34. package/dist/guard/index.d.mts.map +1 -1
  35. package/dist/guard/index.mjs +0 -3
  36. package/dist/guard/index.mjs.map +1 -1
  37. package/dist/index.d.mts +1 -0
  38. package/dist/index.d.mts.map +1 -1
  39. package/dist/index.mjs +1 -3
  40. package/dist/index.mjs.map +1 -1
  41. package/dist/number/branded-types/finite-number.d.mts +47 -61
  42. package/dist/number/branded-types/finite-number.d.mts.map +1 -1
  43. package/dist/number/branded-types/finite-number.mjs +37 -41
  44. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  45. package/dist/number/branded-types/int.d.mts +40 -46
  46. package/dist/number/branded-types/int.d.mts.map +1 -1
  47. package/dist/number/branded-types/int.mjs +29 -31
  48. package/dist/number/branded-types/int.mjs.map +1 -1
  49. package/dist/number/branded-types/int16.d.mts +65 -58
  50. package/dist/number/branded-types/int16.d.mts.map +1 -1
  51. package/dist/number/branded-types/int16.mjs +49 -45
  52. package/dist/number/branded-types/int16.mjs.map +1 -1
  53. package/dist/number/branded-types/int32.d.mts +65 -58
  54. package/dist/number/branded-types/int32.d.mts.map +1 -1
  55. package/dist/number/branded-types/int32.mjs +49 -45
  56. package/dist/number/branded-types/int32.mjs.map +1 -1
  57. package/dist/number/branded-types/negative-finite-number.d.mts +68 -59
  58. package/dist/number/branded-types/negative-finite-number.d.mts.map +1 -1
  59. package/dist/number/branded-types/negative-finite-number.mjs +52 -46
  60. package/dist/number/branded-types/negative-finite-number.mjs.map +1 -1
  61. package/dist/number/branded-types/negative-int.d.mts +60 -48
  62. package/dist/number/branded-types/negative-int.d.mts.map +1 -1
  63. package/dist/number/branded-types/negative-int.mjs +40 -36
  64. package/dist/number/branded-types/negative-int.mjs.map +1 -1
  65. package/dist/number/branded-types/negative-safe-int.d.mts +57 -56
  66. package/dist/number/branded-types/negative-safe-int.d.mts.map +1 -1
  67. package/dist/number/branded-types/negative-safe-int.mjs +40 -41
  68. package/dist/number/branded-types/negative-safe-int.mjs.map +1 -1
  69. package/dist/number/branded-types/non-negative-finite-number.d.mts +74 -64
  70. package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
  71. package/dist/number/branded-types/non-negative-finite-number.mjs +58 -51
  72. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  73. package/dist/number/branded-types/non-negative-int16.d.mts +64 -57
  74. package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
  75. package/dist/number/branded-types/non-negative-int16.mjs +47 -43
  76. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  77. package/dist/number/branded-types/non-negative-int32.d.mts +64 -58
  78. package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
  79. package/dist/number/branded-types/non-negative-int32.mjs +47 -44
  80. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  81. package/dist/number/branded-types/non-positive-finite-number.d.mts +64 -54
  82. package/dist/number/branded-types/non-positive-finite-number.d.mts.map +1 -1
  83. package/dist/number/branded-types/non-positive-finite-number.mjs +48 -41
  84. package/dist/number/branded-types/non-positive-finite-number.mjs.map +1 -1
  85. package/dist/number/branded-types/non-positive-int.d.mts +41 -146
  86. package/dist/number/branded-types/non-positive-int.d.mts.map +1 -1
  87. package/dist/number/branded-types/non-positive-int.mjs +27 -107
  88. package/dist/number/branded-types/non-positive-int.mjs.map +1 -1
  89. package/dist/number/branded-types/non-positive-safe-int.d.mts +54 -53
  90. package/dist/number/branded-types/non-positive-safe-int.d.mts.map +1 -1
  91. package/dist/number/branded-types/non-positive-safe-int.mjs +37 -39
  92. package/dist/number/branded-types/non-positive-safe-int.mjs.map +1 -1
  93. package/dist/number/branded-types/non-zero-finite-number.d.mts +62 -49
  94. package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -1
  95. package/dist/number/branded-types/non-zero-finite-number.mjs +46 -37
  96. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  97. package/dist/number/branded-types/non-zero-int.d.mts +51 -38
  98. package/dist/number/branded-types/non-zero-int.d.mts.map +1 -1
  99. package/dist/number/branded-types/non-zero-int.mjs +31 -27
  100. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  101. package/dist/number/branded-types/non-zero-int16.d.mts +52 -53
  102. package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
  103. package/dist/number/branded-types/non-zero-int16.mjs +36 -39
  104. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  105. package/dist/number/branded-types/non-zero-int32.d.mts +52 -54
  106. package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
  107. package/dist/number/branded-types/non-zero-int32.mjs +36 -40
  108. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  109. package/dist/number/branded-types/non-zero-safe-int.d.mts +53 -54
  110. package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
  111. package/dist/number/branded-types/non-zero-safe-int.mjs +36 -40
  112. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  113. package/dist/number/branded-types/non-zero-uint16.d.mts +52 -53
  114. package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
  115. package/dist/number/branded-types/non-zero-uint16.mjs +35 -39
  116. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  117. package/dist/number/branded-types/non-zero-uint32.d.mts +52 -53
  118. package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
  119. package/dist/number/branded-types/non-zero-uint32.mjs +35 -39
  120. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  121. package/dist/number/branded-types/positive-finite-number.d.mts +74 -63
  122. package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
  123. package/dist/number/branded-types/positive-finite-number.mjs +58 -50
  124. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  125. package/dist/number/branded-types/positive-int.d.mts +46 -68
  126. package/dist/number/branded-types/positive-int.d.mts.map +1 -1
  127. package/dist/number/branded-types/positive-int.mjs +34 -49
  128. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  129. package/dist/number/branded-types/positive-int16.d.mts +61 -57
  130. package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
  131. package/dist/number/branded-types/positive-int16.mjs +44 -43
  132. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  133. package/dist/number/branded-types/positive-int32.d.mts +61 -57
  134. package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
  135. package/dist/number/branded-types/positive-int32.mjs +44 -43
  136. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  137. package/dist/number/branded-types/positive-safe-int.d.mts +62 -57
  138. package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
  139. package/dist/number/branded-types/positive-safe-int.mjs +45 -43
  140. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  141. package/dist/number/branded-types/positive-uint16.d.mts +61 -57
  142. package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
  143. package/dist/number/branded-types/positive-uint16.mjs +44 -43
  144. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  145. package/dist/number/branded-types/positive-uint32.d.mts +61 -58
  146. package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
  147. package/dist/number/branded-types/positive-uint32.mjs +44 -44
  148. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  149. package/dist/number/branded-types/safe-int.d.mts +43 -62
  150. package/dist/number/branded-types/safe-int.d.mts.map +1 -1
  151. package/dist/number/branded-types/safe-int.mjs +35 -42
  152. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  153. package/dist/number/branded-types/safe-uint.d.mts +62 -57
  154. package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
  155. package/dist/number/branded-types/safe-uint.mjs +46 -44
  156. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  157. package/dist/number/branded-types/uint.d.mts +63 -50
  158. package/dist/number/branded-types/uint.d.mts.map +1 -1
  159. package/dist/number/branded-types/uint.mjs +42 -39
  160. package/dist/number/branded-types/uint.mjs.map +1 -1
  161. package/dist/number/branded-types/uint16.d.mts +60 -58
  162. package/dist/number/branded-types/uint16.d.mts.map +1 -1
  163. package/dist/number/branded-types/uint16.mjs +44 -43
  164. package/dist/number/branded-types/uint16.mjs.map +1 -1
  165. package/dist/number/branded-types/uint32.d.mts +59 -55
  166. package/dist/number/branded-types/uint32.d.mts.map +1 -1
  167. package/dist/number/branded-types/uint32.mjs +42 -42
  168. package/dist/number/branded-types/uint32.mjs.map +1 -1
  169. package/dist/number/enum/int8.d.mts +56 -65
  170. package/dist/number/enum/int8.d.mts.map +1 -1
  171. package/dist/number/enum/int8.mjs +44 -43
  172. package/dist/number/enum/int8.mjs.map +1 -1
  173. package/dist/number/enum/uint8.d.mts +60 -58
  174. package/dist/number/enum/uint8.d.mts.map +1 -1
  175. package/dist/number/enum/uint8.mjs +44 -43
  176. package/dist/number/enum/uint8.mjs.map +1 -1
  177. package/dist/string/index.d.mts +2 -0
  178. package/dist/string/index.d.mts.map +1 -0
  179. package/dist/string/index.mjs +2 -0
  180. package/dist/string/index.mjs.map +1 -0
  181. package/dist/string/str.d.mts +273 -0
  182. package/dist/string/str.d.mts.map +1 -0
  183. package/dist/string/str.mjs +42 -0
  184. package/dist/string/str.mjs.map +1 -0
  185. package/package.json +31 -92
  186. package/src/array/impl/array-utils-creation.mts +2 -1
  187. package/src/array/impl/array-utils-element-access.mts +3 -3
  188. package/src/array/impl/array-utils-element-access.test.mts +3 -3
  189. package/src/{guard/as-length-bounded-array.mts → array/impl/array-utils-length-bounded-array-cast.mts} +9 -9
  190. package/src/{guard/as-length-bounded-array.test.mts → array/impl/array-utils-length-bounded-array-cast.test.mts} +2 -2
  191. package/src/{guard/is-length-bounded-array.mts → array/impl/array-utils-length-bounded-array-guard.mts} +12 -12
  192. package/src/{guard/is-length-bounded-array.test.mts → array/impl/array-utils-length-bounded-array-guard.test.mts} +2 -2
  193. package/src/array/impl/array-utils-modification.mts +9 -8
  194. package/src/array/impl/array-utils-modification.test.mts +6 -1
  195. package/src/array/impl/array-utils-reducing-value.mts +9 -9
  196. package/src/array/impl/array-utils-size.mts +2 -2
  197. package/src/array/impl/array-utils-slicing.mts +24 -13
  198. package/src/array/impl/array-utils-transformation.mts +18 -12
  199. package/src/array/impl/array-utils-transformation.test.mts +12 -12
  200. package/src/array/impl/index.mts +2 -0
  201. package/src/guard/index.mts +0 -3
  202. package/src/index.mts +1 -0
  203. package/src/number/branded-types/finite-number.mts +47 -61
  204. package/src/number/branded-types/int.mts +40 -46
  205. package/src/number/branded-types/int16.mts +65 -58
  206. package/src/number/branded-types/int32.mts +65 -58
  207. package/src/number/branded-types/negative-finite-number.mts +68 -68
  208. package/src/number/branded-types/negative-int.mts +60 -57
  209. package/src/number/branded-types/negative-safe-int.mts +57 -65
  210. package/src/number/branded-types/non-negative-finite-number.mts +74 -64
  211. package/src/number/branded-types/non-negative-int16.mts +64 -57
  212. package/src/number/branded-types/non-negative-int32.mts +64 -58
  213. package/src/number/branded-types/non-positive-finite-number.mts +64 -54
  214. package/src/number/branded-types/non-positive-int.mts +41 -146
  215. package/src/number/branded-types/non-positive-safe-int.mts +54 -53
  216. package/src/number/branded-types/non-zero-finite-number.mts +62 -51
  217. package/src/number/branded-types/non-zero-int.mts +51 -38
  218. package/src/number/branded-types/non-zero-int16.mts +52 -53
  219. package/src/number/branded-types/non-zero-int32.mts +52 -54
  220. package/src/number/branded-types/non-zero-safe-int.mts +53 -54
  221. package/src/number/branded-types/non-zero-uint16.mts +52 -53
  222. package/src/number/branded-types/non-zero-uint32.mts +52 -53
  223. package/src/number/branded-types/positive-finite-number.mts +74 -63
  224. package/src/number/branded-types/positive-int.mts +46 -68
  225. package/src/number/branded-types/positive-int16.mts +61 -57
  226. package/src/number/branded-types/positive-int32.mts +61 -57
  227. package/src/number/branded-types/positive-safe-int.mts +62 -57
  228. package/src/number/branded-types/positive-uint16.mts +61 -57
  229. package/src/number/branded-types/positive-uint32.mts +61 -58
  230. package/src/number/branded-types/safe-int.mts +43 -62
  231. package/src/number/branded-types/safe-uint.mts +62 -57
  232. package/src/number/branded-types/uint.mts +63 -50
  233. package/src/number/branded-types/uint16.mts +60 -58
  234. package/src/number/branded-types/uint32.mts +59 -55
  235. package/src/number/enum/int8.mts +56 -65
  236. package/src/number/enum/uint8.mts +60 -58
  237. package/src/string/index.mts +1 -0
  238. package/src/string/str.mts +371 -0
  239. package/src/string/str.test.mts +215 -0
  240. package/dist/guard/as-length-bounded-array.d.mts.map +0 -1
  241. package/dist/guard/as-length-bounded-array.mjs.map +0 -1
  242. package/dist/guard/is-length-bounded-array.d.mts.map +0 -1
  243. package/dist/guard/is-length-bounded-array.mjs.map +0 -1
  244. package/dist/guard/is-length-bounded-string.d.mts +0 -163
  245. package/dist/guard/is-length-bounded-string.d.mts.map +0 -1
  246. package/dist/guard/is-length-bounded-string.mjs +0 -7
  247. package/dist/guard/is-length-bounded-string.mjs.map +0 -1
  248. package/src/guard/is-length-bounded-string.mts +0 -199
  249. package/src/guard/is-length-bounded-string.test.mts +0 -170
@@ -25,92 +25,93 @@ const isPositiveInt32 = is;
25
25
  const asPositiveInt32 = castType;
26
26
  const PositiveInt32 = {
27
27
  /**
28
- * Type guard to check if a value is a PositiveInt32.
28
+ * Type guard that checks if a value is a positive integer in [1, 2^31).
29
29
  *
30
- * @param value The value to check.
31
- * @returns `true` if the value is a 32-bit positive integer, `false`
32
- * otherwise.
30
+ * @param value - The value to check
31
+ * @returns `true` if the value is a positive integer in [1, 2^31), `false` otherwise
32
+ * @see {@link isPositiveInt32} for usage examples
33
33
  */
34
34
  is,
35
35
  /**
36
- * The minimum value for a 32-bit positive integer.
37
- *
38
- * @readonly
36
+ * The smallest value representable as `PositiveInt32`.
39
37
  */
40
38
  MIN_VALUE,
41
39
  /**
42
- * The maximum value for a 32-bit positive integer.
43
- *
44
- * @readonly
40
+ * The largest value representable as `PositiveInt32`.
45
41
  */
46
42
  MAX_VALUE,
47
43
  /**
48
- * Returns the smaller of two PositiveInt32 values.
44
+ * Returns the smallest of the given positive integers.
49
45
  *
50
- * @param a The first PositiveInt32.
51
- * @param b The second PositiveInt32.
52
- * @returns The minimum value as a PositiveInt32.
46
+ * @param values - The positive integers to compare (at least one required)
47
+ * @returns The smallest value as a `PositiveInt32`
53
48
  */
54
49
  min: min_,
55
50
  /**
56
- * Returns the larger of two PositiveInt32 values.
51
+ * Returns the largest of the given positive integers.
57
52
  *
58
- * @param a The first PositiveInt32.
59
- * @param b The second PositiveInt32.
60
- * @returns The maximum value as a PositiveInt32.
53
+ * @param values - The positive integers to compare (at least one required)
54
+ * @returns The largest value as a `PositiveInt32`
61
55
  */
62
56
  max: max_,
63
57
  /**
64
- * Clamps a number to the PositiveInt32 range.
58
+ * Clamps a `number` into the `PositiveInt32` range, rounding to the nearest
59
+ * integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
65
60
  *
66
- * @param value The number to clamp.
67
- * @returns The value clamped to [1, 2147483647] as a PositiveInt32.
61
+ * @param value - The value to clamp
62
+ * @returns The clamped value as a `PositiveInt32`
68
63
  */
69
64
  clamp,
70
65
  /**
71
- * Generates a random PositiveInt32 value within the valid range.
66
+ * Generates a random `PositiveInt32` within the given range.
67
+ *
68
+ * The range is inclusive on both ends.
72
69
  *
73
- * @returns A random PositiveInt32 between 1 and 2147483647.
70
+ * @param min - The minimum value (inclusive)
71
+ * @param max - The maximum value (inclusive)
72
+ * @returns A random `PositiveInt32` in `[min, max]`
74
73
  */
75
74
  random,
76
75
  /**
77
- * Raises a PositiveInt32 to the power of another PositiveInt32.
76
+ * Raises `a` to the power `b`, returning `a ** b` as a `PositiveInt32`
77
+ * (floored to an integer).
78
78
  *
79
- * @param a The base PositiveInt32.
80
- * @param b The exponent PositiveInt32.
81
- * @returns `a ** b` clamped to [1, 2147483647] as a PositiveInt32.
79
+ * @param a - The base positive integer
80
+ * @param b - The exponent positive integer
81
+ * @returns `a ** b` as a `PositiveInt32`
82
82
  */
83
83
  pow,
84
84
  /**
85
- * Adds two PositiveInt32 values.
85
+ * Adds two positive integers, returning `a + b` as a `PositiveInt32`.
86
86
  *
87
- * @param a The first PositiveInt32.
88
- * @param b The second PositiveInt32.
89
- * @returns `a + b` clamped to [1, 2147483647] as a PositiveInt32.
87
+ * @param a - The first positive integer
88
+ * @param b - The second positive integer
89
+ * @returns The sum of `a` and `b` as a `PositiveInt32`
90
90
  */
91
91
  add,
92
92
  /**
93
- * Subtracts one PositiveInt32 from another.
93
+ * Subtracts two positive integers, returning `a - b` as a `PositiveInt32`.
94
94
  *
95
- * @param a The minuend PositiveInt32.
96
- * @param b The subtrahend PositiveInt32.
97
- * @returns `a - b` clamped to [1, 2147483647] as a PositiveInt32 (minimum 1).
95
+ * @param a - The first positive integer
96
+ * @param b - The second positive integer
97
+ * @returns The difference of `a` and `b` as a `PositiveInt32`
98
98
  */
99
99
  sub,
100
100
  /**
101
- * Multiplies two PositiveInt32 values.
101
+ * Multiplies two positive integers, returning `a * b` as a `PositiveInt32`.
102
102
  *
103
- * @param a The first PositiveInt32.
104
- * @param b The second PositiveInt32.
105
- * @returns `a * b` clamped to [1, 2147483647] as a PositiveInt32.
103
+ * @param a - The first positive integer
104
+ * @param b - The second positive integer
105
+ * @returns The product of `a` and `b` as a `PositiveInt32`
106
106
  */
107
107
  mul,
108
108
  /**
109
- * Divides one PositiveInt32 by another using floor division.
109
+ * Divides two positive integers using floor division (`⌊a / b⌋`): the result
110
+ * is `a / b` rounded toward negative infinity, as a `PositiveInt32`.
110
111
  *
111
- * @param a The dividend PositiveInt32.
112
- * @param b The divisor PositiveInt32.
113
- * @returns `⌊a / b⌋` clamped to [1, 2147483647] as a PositiveInt32.
112
+ * @param a - The dividend
113
+ * @param b - The divisor (must be non-zero)
114
+ * @returns The floored quotient as a `PositiveInt32`
114
115
  */
115
116
  div
116
117
  };
@@ -1 +1 @@
1
- {"version":3,"file":"positive-int32.mjs","sources":["../../../src/number/branded-types/positive-int32.mts"],"sourcesContent":["import { type PositiveInt32 as TtfImported_PositiveInt32 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type PositiveInt32 = TtfImported_PositiveInt32;\n\ntype ElementType = PositiveInt32;\n\nconst typeNameInMessage = 'a positive integer in [1, 2^31)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\n castType,\n clamp,\n div,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n 1,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n MIN_VALUE: 1,\n MAX_VALUE: 2 ** 31 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n * Checks if a number is a PositiveInt32 (32-bit positive signed integer in the\n * range [1, 2^31)).\n *\n * @param value The value to check.\n * @returns `true` if the value is a PositiveInt32, `false` otherwise.\n */\nexport const isPositiveInt32 = is;\n\n/**\n * Casts a number to a PositiveInt32 type.\n *\n * @param value The value to cast.\n * @returns The value as a PositiveInt32 type.\n * @throws {TypeError} If the value is not a positive integer in [1, 2^31).\n */\nexport const asPositiveInt32 = castType;\n\n/**\n * Namespace providing type-safe arithmetic operations for 32-bit positive\n * integers.\n *\n * All operations automatically clamp results to the valid PositiveInt32 range\n * [1, 2147483647]. This ensures that all arithmetic maintains the 32-bit\n * positive integer constraint, with results below 1 clamped to MIN_VALUE and\n * overflow results clamped to MAX_VALUE.\n */\nexport const PositiveInt32 = {\n /**\n * Type guard to check if a value is a PositiveInt32.\n *\n * @param value The value to check.\n * @returns `true` if the value is a 32-bit positive integer, `false`\n * otherwise.\n */\n is,\n\n /**\n * The minimum value for a 32-bit positive integer.\n *\n * @readonly\n */\n MIN_VALUE,\n\n /**\n * The maximum value for a 32-bit positive integer.\n *\n * @readonly\n */\n MAX_VALUE,\n\n /**\n * Returns the smaller of two PositiveInt32 values.\n *\n * @param a The first PositiveInt32.\n * @param b The second PositiveInt32.\n * @returns The minimum value as a PositiveInt32.\n */\n min: min_,\n\n /**\n * Returns the larger of two PositiveInt32 values.\n *\n * @param a The first PositiveInt32.\n * @param b The second PositiveInt32.\n * @returns The maximum value as a PositiveInt32.\n */\n max: max_,\n\n /**\n * Clamps a number to the PositiveInt32 range.\n *\n * @param value The number to clamp.\n * @returns The value clamped to [1, 2147483647] as a PositiveInt32.\n */\n clamp,\n\n /**\n * Generates a random PositiveInt32 value within the valid range.\n *\n * @returns A random PositiveInt32 between 1 and 2147483647.\n */\n random,\n\n /**\n * Raises a PositiveInt32 to the power of another PositiveInt32.\n *\n * @param a The base PositiveInt32.\n * @param b The exponent PositiveInt32.\n * @returns `a ** b` clamped to [1, 2147483647] as a PositiveInt32.\n */\n pow,\n\n /**\n * Adds two PositiveInt32 values.\n *\n * @param a The first PositiveInt32.\n * @param b The second PositiveInt32.\n * @returns `a + b` clamped to [1, 2147483647] as a PositiveInt32.\n */\n add,\n\n /**\n * Subtracts one PositiveInt32 from another.\n *\n * @param a The minuend PositiveInt32.\n * @param b The subtrahend PositiveInt32.\n * @returns `a - b` clamped to [1, 2147483647] as a PositiveInt32 (minimum 1).\n */\n sub,\n\n /**\n * Multiplies two PositiveInt32 values.\n *\n * @param a The first PositiveInt32.\n * @param b The second PositiveInt32.\n * @returns `a * b` clamped to [1, 2147483647] as a PositiveInt32.\n */\n mul,\n\n /**\n * Divides one PositiveInt32 by another using floor division.\n *\n * @param a The dividend PositiveInt32.\n * @param b The divisor PositiveInt32.\n * @returns `⌊a / b⌋` clamped to [1, 2147483647] as a PositiveInt32.\n */\n div,\n} as const;\n\nexpectType<\n keyof typeof PositiveInt32,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range'\n >\n>('=');\n\nexpectType<\n typeof PositiveInt32,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range'\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,GAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAA,EAAK,IAAA;AAAA,EACL,GAAA,EAAK,IAAA;AAAA,EACL,GAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,mBAAA,CAI1C;AAAA,EACA,oBAAA,EAAsB,aAAA;AAAA,EACtB,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,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA;AACF;;;;"}
1
+ {"version":3,"file":"positive-int32.mjs","sources":["../../../src/number/branded-types/positive-int32.mts"],"sourcesContent":["import { type PositiveInt32 as TtfImported_PositiveInt32 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type PositiveInt32 = TtfImported_PositiveInt32;\n\ntype ElementType = PositiveInt32;\n\nconst typeNameInMessage = 'a positive integer in [1, 2^31)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\n castType,\n clamp,\n div,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n 1,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n MIN_VALUE: 1,\n MAX_VALUE: 2 ** 31 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n * Type guard that checks if a value is a positive integer in [1, 2^31).\n *\n * Returns `true` for a positive integer in [1, 2^31) — a value with no\n * fractional component.\n *\n * @param value - The value to check\n * @returns `true` if the value is a positive integer in [1, 2^31), `false` otherwise\n */\nexport const isPositiveInt32 = is;\n\n/**\n * Casts a `number` to the `PositiveInt32` branded type.\n *\n * Validates that the value is a positive integer in [1, 2^31) and returns it\n * with the `PositiveInt32` brand. Throws a `TypeError` otherwise.\n *\n * @param value - The value to cast\n * @returns The value as a `PositiveInt32`\n * @throws {TypeError} If the value is not a positive integer in [1, 2^31)\n */\nexport const asPositiveInt32 = castType;\n\n/**\n * Namespace providing type-safe operations for the `PositiveInt32` branded\n * type.\n *\n * The `PositiveInt32` type represents a positive integer in [1, 2^31). Division\n * (`div`) uses floor division.\n */\nexport const PositiveInt32 = {\n /**\n * Type guard that checks if a value is a positive integer in [1, 2^31).\n *\n * @param value - The value to check\n * @returns `true` if the value is a positive integer in [1, 2^31), `false` otherwise\n * @see {@link isPositiveInt32} for usage examples\n */\n is,\n\n /**\n * The smallest value representable as `PositiveInt32`.\n */\n MIN_VALUE,\n\n /**\n * The largest value representable as `PositiveInt32`.\n */\n MAX_VALUE,\n\n /**\n * Returns the smallest of the given positive integers.\n *\n * @param values - The positive integers to compare (at least one required)\n * @returns The smallest value as a `PositiveInt32`\n */\n min: min_,\n\n /**\n * Returns the largest of the given positive integers.\n *\n * @param values - The positive integers to compare (at least one required)\n * @returns The largest value as a `PositiveInt32`\n */\n max: max_,\n\n /**\n * Clamps a `number` into the `PositiveInt32` range, rounding to the nearest\n * integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.\n *\n * @param value - The value to clamp\n * @returns The clamped value as a `PositiveInt32`\n */\n clamp,\n\n /**\n * Generates a random `PositiveInt32` within the given range.\n *\n * The range is inclusive on both ends.\n *\n * @param min - The minimum value (inclusive)\n * @param max - The maximum value (inclusive)\n * @returns A random `PositiveInt32` in `[min, max]`\n */\n random,\n\n /**\n * Raises `a` to the power `b`, returning `a ** b` as a `PositiveInt32`\n * (floored to an integer).\n *\n * @param a - The base positive integer\n * @param b - The exponent positive integer\n * @returns `a ** b` as a `PositiveInt32`\n */\n pow,\n\n /**\n * Adds two positive integers, returning `a + b` as a `PositiveInt32`.\n *\n * @param a - The first positive integer\n * @param b - The second positive integer\n * @returns The sum of `a` and `b` as a `PositiveInt32`\n */\n add,\n\n /**\n * Subtracts two positive integers, returning `a - b` as a `PositiveInt32`.\n *\n * @param a - The first positive integer\n * @param b - The second positive integer\n * @returns The difference of `a` and `b` as a `PositiveInt32`\n */\n sub,\n\n /**\n * Multiplies two positive integers, returning `a * b` as a `PositiveInt32`.\n *\n * @param a - The first positive integer\n * @param b - The second positive integer\n * @returns The product of `a` and `b` as a `PositiveInt32`\n */\n mul,\n\n /**\n * Divides two positive integers using floor division (`⌊a / b⌋`): the result\n * is `a / b` rounded toward negative infinity, as a `PositiveInt32`.\n *\n * @param a - The dividend\n * @param b - The divisor (must be non-zero)\n * @returns The floored quotient as a `PositiveInt32`\n */\n div,\n} as const;\n\nexpectType<\n keyof typeof PositiveInt32,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range'\n >\n>('=');\n\nexpectType<\n typeof PositiveInt32,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'positive' | 'range'\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,GAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAA,EAAK,IAAA;AAAA,EACL,GAAA,EAAK,IAAA;AAAA,EACL,GAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,mBAAA,CAI1C;AAAA,EACA,oBAAA,EAAsB,aAAA;AAAA,EACtB,SAAA,EAAW,CAAA;AAAA,EACX,SAAA,EAAW,KAAK,EAAA,GAAK,CAAA;AAAA,EACrB;AACF,CAAU,CAAA;AAWH,MAAM,eAAA,GAAkB;AAYxB,MAAM,eAAA,GAAkB;AASxB,MAAM,aAAA,GAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ3B,EAAA;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASL,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;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,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA;AACF;;;;"}
@@ -1,8 +1,10 @@
1
1
  import { type SafeUint, type PositiveSafeInt as TtfImported_PositiveSafeInt } from 'ts-type-forge';
2
2
  export type PositiveSafeInt = TtfImported_PositiveSafeInt;
3
3
  /**
4
- * Checks if a number is a PositiveSafeInt (a positive safe integer in the range
5
- * [1, MAX_SAFE_INTEGER]).
4
+ * Type guard that checks if a value is a positive safe integer.
5
+ *
6
+ * Returns `true` for a positive safe integer — a value with no fractional
7
+ * component.
6
8
  *
7
9
  * @example
8
10
  *
@@ -16,12 +18,15 @@ export type PositiveSafeInt = TtfImported_PositiveSafeInt;
16
18
  * assert.isTrue(PositiveSafeInt.is(42));
17
19
  * ```
18
20
  *
19
- * @param value The value to check.
20
- * @returns `true` if the value is a PositiveSafeInt, `false` otherwise.
21
+ * @param value - The value to check
22
+ * @returns `true` if the value is a positive safe integer, `false` otherwise
21
23
  */
22
24
  export declare const isPositiveSafeInt: (a: number) => a is TtfImported_PositiveSafeInt;
23
25
  /**
24
- * Casts a number to a PositiveSafeInt type.
26
+ * Casts a `number` to the `PositiveSafeInt` branded type.
27
+ *
28
+ * Validates that the value is a positive safe integer and returns it with the
29
+ * `PositiveSafeInt` brand. Throws a `TypeError` otherwise.
25
30
  *
26
31
  * @example
27
32
  *
@@ -33,9 +38,9 @@ export declare const isPositiveSafeInt: (a: number) => a is TtfImported_Positive
33
38
  * assert.isTrue(PositiveSafeInt.is(branded));
34
39
  * ```
35
40
  *
36
- * @param value The value to cast.
37
- * @returns The value as a PositiveSafeInt type.
38
- * @throws {TypeError} If the value is not a positive safe integer.
41
+ * @param value - The value to cast
42
+ * @returns The value as a `PositiveSafeInt`
43
+ * @throws {TypeError} If the value is not a positive safe integer
39
44
  */
40
45
  export declare const asPositiveSafeInt: <N extends number>(x: N) => number & {
41
46
  readonly "!=0": true;
@@ -53,17 +58,15 @@ export declare const asPositiveSafeInt: <N extends number>(x: N) => number & {
53
58
  'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
54
59
  }> & N;
55
60
  /**
56
- * Namespace providing type-safe arithmetic operations for positive safe
57
- * integers.
61
+ * Namespace providing type-safe operations for the `PositiveSafeInt` branded
62
+ * type.
58
63
  *
59
- * All operations automatically clamp results to the positive safe integer range
60
- * [1, MAX_SAFE_INTEGER]. This ensures that all arithmetic maintains both the
61
- * positive constraint and IEEE 754 precision guarantees, preventing precision
62
- * loss and ensuring results are always positive.
64
+ * The `PositiveSafeInt` type represents a positive safe integer. Division
65
+ * (`div`) uses floor division.
63
66
  */
64
67
  export declare const PositiveSafeInt: {
65
68
  /**
66
- * Type guard to check if a value is a PositiveSafeInt.
69
+ * Type guard that checks if a value is a positive safe integer.
67
70
  *
68
71
  * @example
69
72
  *
@@ -77,25 +80,21 @@ export declare const PositiveSafeInt: {
77
80
  * assert.isTrue(PositiveSafeInt.is(42));
78
81
  * ```
79
82
  *
80
- * @param value The value to check.
81
- * @returns `true` if the value is a positive safe integer, `false` otherwise.
83
+ * @param value - The value to check
84
+ * @returns `true` if the value is a positive safe integer, `false` otherwise
82
85
  * @see {@link isPositiveSafeInt} for usage examples
83
86
  */
84
87
  readonly is: (a: number) => a is TtfImported_PositiveSafeInt;
85
88
  /**
86
- * The minimum value for a positive safe integer.
87
- *
88
- * @readonly
89
+ * The smallest value representable as `PositiveSafeInt`.
89
90
  */
90
91
  readonly MIN_VALUE: 1;
91
92
  /**
92
- * The maximum safe integer value (2^53 - 1).
93
- *
94
- * @readonly
93
+ * The largest value representable as `PositiveSafeInt`.
95
94
  */
96
95
  readonly MAX_VALUE: SafeUint;
97
96
  /**
98
- * Returns the smaller of two PositiveSafeInt values.
97
+ * Returns the smallest of the given positive safe integers.
99
98
  *
100
99
  * @example
101
100
  *
@@ -108,13 +107,12 @@ export declare const PositiveSafeInt: {
108
107
  * assert.isTrue(smallest === 5);
109
108
  * ```
110
109
  *
111
- * @param a The first PositiveSafeInt.
112
- * @param b The second PositiveSafeInt.
113
- * @returns The minimum value as a PositiveSafeInt.
110
+ * @param values - The positive safe integers to compare (at least one required)
111
+ * @returns The smallest value as a `PositiveSafeInt`
114
112
  */
115
113
  readonly min: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_PositiveSafeInt>[]) => TtfImported_PositiveSafeInt;
116
114
  /**
117
- * Returns the larger of two PositiveSafeInt values.
115
+ * Returns the largest of the given positive safe integers.
118
116
  *
119
117
  * @example
120
118
  *
@@ -127,13 +125,13 @@ export declare const PositiveSafeInt: {
127
125
  * assert.isTrue(largest === 10);
128
126
  * ```
129
127
  *
130
- * @param a The first PositiveSafeInt.
131
- * @param b The second PositiveSafeInt.
132
- * @returns The maximum value as a PositiveSafeInt.
128
+ * @param values - The positive safe integers to compare (at least one required)
129
+ * @returns The largest value as a `PositiveSafeInt`
133
130
  */
134
131
  readonly max: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_PositiveSafeInt>[]) => TtfImported_PositiveSafeInt;
135
132
  /**
136
- * Clamps a number to the positive safe integer range.
133
+ * Clamps a `number` into the `PositiveSafeInt` range, rounding to the nearest
134
+ * integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
137
135
  *
138
136
  * @example
139
137
  *
@@ -151,12 +149,14 @@ export declare const PositiveSafeInt: {
151
149
  * assert.isTrue(aboveRange === Number.MAX_SAFE_INTEGER);
152
150
  * ```
153
151
  *
154
- * @param value The number to clamp.
155
- * @returns The value clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.
152
+ * @param value - The value to clamp
153
+ * @returns The clamped value as a `PositiveSafeInt`
156
154
  */
157
155
  readonly clamp: (x: number) => TtfImported_PositiveSafeInt;
158
156
  /**
159
- * Generates a random PositiveSafeInt value within the valid range.
157
+ * Generates a random `PositiveSafeInt` within the given range.
158
+ *
159
+ * The range is inclusive on both ends.
160
160
  *
161
161
  * @example
162
162
  *
@@ -172,11 +172,14 @@ export declare const PositiveSafeInt: {
172
172
  * assert.isTrue(randomValue >= 1 && randomValue <= 6);
173
173
  * ```
174
174
  *
175
- * @returns A random PositiveSafeInt between 1 and MAX_SAFE_INTEGER.
175
+ * @param min - The minimum value (inclusive)
176
+ * @param max - The maximum value (inclusive)
177
+ * @returns A random `PositiveSafeInt` in `[min, max]`
176
178
  */
177
179
  readonly random: (min?: import("ts-type-forge").WithSmallInt<TtfImported_PositiveSafeInt> | undefined, max?: import("ts-type-forge").WithSmallInt<TtfImported_PositiveSafeInt> | undefined) => TtfImported_PositiveSafeInt;
178
180
  /**
179
- * Raises a PositiveSafeInt to the power of another PositiveSafeInt.
181
+ * Raises `a` to the power `b`, returning `a ** b` as a `PositiveSafeInt`
182
+ * (floored to an integer).
180
183
  *
181
184
  * @example
182
185
  *
@@ -190,13 +193,13 @@ export declare const PositiveSafeInt: {
190
193
  * assert.isTrue(power === 27);
191
194
  * ```
192
195
  *
193
- * @param a The base PositiveSafeInt.
194
- * @param b The exponent PositiveSafeInt.
195
- * @returns `a ** b` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.
196
+ * @param a - The base positive safe integer
197
+ * @param b - The exponent positive safe integer
198
+ * @returns `a ** b` as a `PositiveSafeInt`
196
199
  */
197
200
  readonly pow: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveSafeInt>, y: import("ts-type-forge").WithSmallInt<TtfImported_PositiveSafeInt>) => TtfImported_PositiveSafeInt;
198
201
  /**
199
- * Adds two PositiveSafeInt values.
202
+ * Adds two positive safe integers, returning `a + b` as a `PositiveSafeInt`.
200
203
  *
201
204
  * @example
202
205
  *
@@ -211,13 +214,14 @@ export declare const PositiveSafeInt: {
211
214
  * assert.isTrue(PositiveSafeInt.is(sum));
212
215
  * ```
213
216
  *
214
- * @param a The first PositiveSafeInt.
215
- * @param b The second PositiveSafeInt.
216
- * @returns `a + b` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.
217
+ * @param a - The first positive safe integer
218
+ * @param b - The second positive safe integer
219
+ * @returns The sum of `a` and `b` as a `PositiveSafeInt`
217
220
  */
218
221
  readonly add: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveSafeInt>, y: import("ts-type-forge").WithSmallInt<TtfImported_PositiveSafeInt>) => TtfImported_PositiveSafeInt;
219
222
  /**
220
- * Subtracts one PositiveSafeInt from another.
223
+ * Subtracts two positive safe integers, returning `a - b` as a
224
+ * `PositiveSafeInt`.
221
225
  *
222
226
  * @example
223
227
  *
@@ -232,14 +236,14 @@ export declare const PositiveSafeInt: {
232
236
  * assert.isTrue(PositiveSafeInt.is(difference));
233
237
  * ```
234
238
  *
235
- * @param a The minuend PositiveSafeInt.
236
- * @param b The subtrahend PositiveSafeInt.
237
- * @returns `a - b` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt
238
- * (minimum 1).
239
+ * @param a - The first positive safe integer
240
+ * @param b - The second positive safe integer
241
+ * @returns The difference of `a` and `b` as a `PositiveSafeInt`
239
242
  */
240
243
  readonly sub: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveSafeInt>, y: import("ts-type-forge").WithSmallInt<TtfImported_PositiveSafeInt>) => TtfImported_PositiveSafeInt;
241
244
  /**
242
- * Multiplies two PositiveSafeInt values.
245
+ * Multiplies two positive safe integers, returning `a * b` as a
246
+ * `PositiveSafeInt`.
243
247
  *
244
248
  * @example
245
249
  *
@@ -254,13 +258,14 @@ export declare const PositiveSafeInt: {
254
258
  * assert.isTrue(PositiveSafeInt.is(product));
255
259
  * ```
256
260
  *
257
- * @param a The first PositiveSafeInt.
258
- * @param b The second PositiveSafeInt.
259
- * @returns `a * b` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.
261
+ * @param a - The first positive safe integer
262
+ * @param b - The second positive safe integer
263
+ * @returns The product of `a` and `b` as a `PositiveSafeInt`
260
264
  */
261
265
  readonly mul: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveSafeInt>, y: import("ts-type-forge").WithSmallInt<TtfImported_PositiveSafeInt>) => TtfImported_PositiveSafeInt;
262
266
  /**
263
- * Divides one PositiveSafeInt by another using floor division.
267
+ * Divides two positive safe integers using floor division (`⌊a / b⌋`): the
268
+ * result is `a / b` rounded toward negative infinity, as a `PositiveSafeInt`.
264
269
  *
265
270
  * @example
266
271
  *
@@ -280,9 +285,9 @@ export declare const PositiveSafeInt: {
280
285
  * assert.isTrue(clamped === 1);
281
286
  * ```
282
287
  *
283
- * @param a The dividend PositiveSafeInt.
284
- * @param b The divisor PositiveSafeInt.
285
- * @returns `⌊a / b⌋` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.
288
+ * @param a - The dividend
289
+ * @param b - The divisor (must be non-zero)
290
+ * @returns The floored quotient as a `PositiveSafeInt`
286
291
  */
287
292
  readonly div: (x: import("ts-type-forge").WithSmallInt<TtfImported_PositiveSafeInt>, y: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | import("ts-type-forge").NormalizeBrandUnion<number & {
288
293
  readonly "!=0": true;
@@ -1 +1 @@
1
- {"version":3,"file":"positive-safe-int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/positive-safe-int.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,eAAe,IAAI,2BAA2B,EACpD,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAgC1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,iBAAiB,iDAAK,CAAC;AAEpC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;MAAW,CAAC;AAE1C;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe;IAC1B;;;;;;;;;;;;;;;;;;OAkBG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;;;;;;;;;;;;;OAiBG;;IAGH;;;;;;;;;;;;;;;;;OAiBG;;IAGH;;;;;;;;;;;;;;;;;;;;;OAqBG;;IAGH;;;;;;;;;;;;;;;;;;OAkBG;;IAGH;;;;;;;;;;;;;;;;;;OAkBG;;IAGH;;;;;;;;;;;;;;;;;;;OAmBG;;IAGH;;;;;;;;;;;;;;;;;;;;OAoBG;;IAGH;;;;;;;;;;;;;;;;;;;OAmBG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;;;;;;;;;;;;;;;;CAEK,CAAC"}
1
+ {"version":3,"file":"positive-safe-int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/positive-safe-int.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,eAAe,IAAI,2BAA2B,EACpD,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAgC1D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iBAAiB,iDAAK,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;MAAW,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;IAC1B;;;;;;;;;;;;;;;;;;OAkBG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;IAGH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;IAGH;;;;;;;;;;;;;;;;;;;OAmBG;;IAGH;;;;;;;;;;;;;;;;;;;OAmBG;;IAGH;;;;;;;;;;;;;;;;;;;;OAoBG;;IAGH;;;;;;;;;;;;;;;;;;;;OAoBG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;;;;;;;;;;;;;;;;CAEK,CAAC"}
@@ -26,7 +26,7 @@ const isPositiveSafeInt = is;
26
26
  const asPositiveSafeInt = castType;
27
27
  const PositiveSafeInt = {
28
28
  /**
29
- * Type guard to check if a value is a PositiveSafeInt.
29
+ * Type guard that checks if a value is a positive safe integer.
30
30
  *
31
31
  * @example
32
32
  *
@@ -40,25 +40,21 @@ const PositiveSafeInt = {
40
40
  * assert.isTrue(PositiveSafeInt.is(42));
41
41
  * ```
42
42
  *
43
- * @param value The value to check.
44
- * @returns `true` if the value is a positive safe integer, `false` otherwise.
43
+ * @param value - The value to check
44
+ * @returns `true` if the value is a positive safe integer, `false` otherwise
45
45
  * @see {@link isPositiveSafeInt} for usage examples
46
46
  */
47
47
  is,
48
48
  /**
49
- * The minimum value for a positive safe integer.
50
- *
51
- * @readonly
49
+ * The smallest value representable as `PositiveSafeInt`.
52
50
  */
53
51
  MIN_VALUE,
54
52
  /**
55
- * The maximum safe integer value (2^53 - 1).
56
- *
57
- * @readonly
53
+ * The largest value representable as `PositiveSafeInt`.
58
54
  */
59
55
  MAX_VALUE,
60
56
  /**
61
- * Returns the smaller of two PositiveSafeInt values.
57
+ * Returns the smallest of the given positive safe integers.
62
58
  *
63
59
  * @example
64
60
  *
@@ -71,13 +67,12 @@ const PositiveSafeInt = {
71
67
  * assert.isTrue(smallest === 5);
72
68
  * ```
73
69
  *
74
- * @param a The first PositiveSafeInt.
75
- * @param b The second PositiveSafeInt.
76
- * @returns The minimum value as a PositiveSafeInt.
70
+ * @param values - The positive safe integers to compare (at least one required)
71
+ * @returns The smallest value as a `PositiveSafeInt`
77
72
  */
78
73
  min: min_,
79
74
  /**
80
- * Returns the larger of two PositiveSafeInt values.
75
+ * Returns the largest of the given positive safe integers.
81
76
  *
82
77
  * @example
83
78
  *
@@ -90,13 +85,13 @@ const PositiveSafeInt = {
90
85
  * assert.isTrue(largest === 10);
91
86
  * ```
92
87
  *
93
- * @param a The first PositiveSafeInt.
94
- * @param b The second PositiveSafeInt.
95
- * @returns The maximum value as a PositiveSafeInt.
88
+ * @param values - The positive safe integers to compare (at least one required)
89
+ * @returns The largest value as a `PositiveSafeInt`
96
90
  */
97
91
  max: max_,
98
92
  /**
99
- * Clamps a number to the positive safe integer range.
93
+ * Clamps a `number` into the `PositiveSafeInt` range, rounding to the nearest
94
+ * integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
100
95
  *
101
96
  * @example
102
97
  *
@@ -114,12 +109,14 @@ const PositiveSafeInt = {
114
109
  * assert.isTrue(aboveRange === Number.MAX_SAFE_INTEGER);
115
110
  * ```
116
111
  *
117
- * @param value The number to clamp.
118
- * @returns The value clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.
112
+ * @param value - The value to clamp
113
+ * @returns The clamped value as a `PositiveSafeInt`
119
114
  */
120
115
  clamp,
121
116
  /**
122
- * Generates a random PositiveSafeInt value within the valid range.
117
+ * Generates a random `PositiveSafeInt` within the given range.
118
+ *
119
+ * The range is inclusive on both ends.
123
120
  *
124
121
  * @example
125
122
  *
@@ -135,11 +132,14 @@ const PositiveSafeInt = {
135
132
  * assert.isTrue(randomValue >= 1 && randomValue <= 6);
136
133
  * ```
137
134
  *
138
- * @returns A random PositiveSafeInt between 1 and MAX_SAFE_INTEGER.
135
+ * @param min - The minimum value (inclusive)
136
+ * @param max - The maximum value (inclusive)
137
+ * @returns A random `PositiveSafeInt` in `[min, max]`
139
138
  */
140
139
  random,
141
140
  /**
142
- * Raises a PositiveSafeInt to the power of another PositiveSafeInt.
141
+ * Raises `a` to the power `b`, returning `a ** b` as a `PositiveSafeInt`
142
+ * (floored to an integer).
143
143
  *
144
144
  * @example
145
145
  *
@@ -153,13 +153,13 @@ const PositiveSafeInt = {
153
153
  * assert.isTrue(power === 27);
154
154
  * ```
155
155
  *
156
- * @param a The base PositiveSafeInt.
157
- * @param b The exponent PositiveSafeInt.
158
- * @returns `a ** b` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.
156
+ * @param a - The base positive safe integer
157
+ * @param b - The exponent positive safe integer
158
+ * @returns `a ** b` as a `PositiveSafeInt`
159
159
  */
160
160
  pow,
161
161
  /**
162
- * Adds two PositiveSafeInt values.
162
+ * Adds two positive safe integers, returning `a + b` as a `PositiveSafeInt`.
163
163
  *
164
164
  * @example
165
165
  *
@@ -174,13 +174,14 @@ const PositiveSafeInt = {
174
174
  * assert.isTrue(PositiveSafeInt.is(sum));
175
175
  * ```
176
176
  *
177
- * @param a The first PositiveSafeInt.
178
- * @param b The second PositiveSafeInt.
179
- * @returns `a + b` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.
177
+ * @param a - The first positive safe integer
178
+ * @param b - The second positive safe integer
179
+ * @returns The sum of `a` and `b` as a `PositiveSafeInt`
180
180
  */
181
181
  add,
182
182
  /**
183
- * Subtracts one PositiveSafeInt from another.
183
+ * Subtracts two positive safe integers, returning `a - b` as a
184
+ * `PositiveSafeInt`.
184
185
  *
185
186
  * @example
186
187
  *
@@ -195,14 +196,14 @@ const PositiveSafeInt = {
195
196
  * assert.isTrue(PositiveSafeInt.is(difference));
196
197
  * ```
197
198
  *
198
- * @param a The minuend PositiveSafeInt.
199
- * @param b The subtrahend PositiveSafeInt.
200
- * @returns `a - b` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt
201
- * (minimum 1).
199
+ * @param a - The first positive safe integer
200
+ * @param b - The second positive safe integer
201
+ * @returns The difference of `a` and `b` as a `PositiveSafeInt`
202
202
  */
203
203
  sub,
204
204
  /**
205
- * Multiplies two PositiveSafeInt values.
205
+ * Multiplies two positive safe integers, returning `a * b` as a
206
+ * `PositiveSafeInt`.
206
207
  *
207
208
  * @example
208
209
  *
@@ -217,13 +218,14 @@ const PositiveSafeInt = {
217
218
  * assert.isTrue(PositiveSafeInt.is(product));
218
219
  * ```
219
220
  *
220
- * @param a The first PositiveSafeInt.
221
- * @param b The second PositiveSafeInt.
222
- * @returns `a * b` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.
221
+ * @param a - The first positive safe integer
222
+ * @param b - The second positive safe integer
223
+ * @returns The product of `a` and `b` as a `PositiveSafeInt`
223
224
  */
224
225
  mul,
225
226
  /**
226
- * Divides one PositiveSafeInt by another using floor division.
227
+ * Divides two positive safe integers using floor division (`⌊a / b⌋`): the
228
+ * result is `a / b` rounded toward negative infinity, as a `PositiveSafeInt`.
227
229
  *
228
230
  * @example
229
231
  *
@@ -243,9 +245,9 @@ const PositiveSafeInt = {
243
245
  * assert.isTrue(clamped === 1);
244
246
  * ```
245
247
  *
246
- * @param a The dividend PositiveSafeInt.
247
- * @param b The divisor PositiveSafeInt.
248
- * @returns `⌊a / b⌋` clamped to [1, MAX_SAFE_INTEGER] as a PositiveSafeInt.
248
+ * @param a - The dividend
249
+ * @param b - The divisor (must be non-zero)
250
+ * @returns The floored quotient as a `PositiveSafeInt`
249
251
  */
250
252
  div
251
253
  };