ts-data-forge 11.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 (171) hide show
  1. package/dist/number/branded-types/finite-number.d.mts +47 -61
  2. package/dist/number/branded-types/finite-number.d.mts.map +1 -1
  3. package/dist/number/branded-types/finite-number.mjs +37 -41
  4. package/dist/number/branded-types/finite-number.mjs.map +1 -1
  5. package/dist/number/branded-types/int.d.mts +40 -46
  6. package/dist/number/branded-types/int.d.mts.map +1 -1
  7. package/dist/number/branded-types/int.mjs +29 -31
  8. package/dist/number/branded-types/int.mjs.map +1 -1
  9. package/dist/number/branded-types/int16.d.mts +65 -58
  10. package/dist/number/branded-types/int16.d.mts.map +1 -1
  11. package/dist/number/branded-types/int16.mjs +49 -45
  12. package/dist/number/branded-types/int16.mjs.map +1 -1
  13. package/dist/number/branded-types/int32.d.mts +65 -58
  14. package/dist/number/branded-types/int32.d.mts.map +1 -1
  15. package/dist/number/branded-types/int32.mjs +49 -45
  16. package/dist/number/branded-types/int32.mjs.map +1 -1
  17. package/dist/number/branded-types/negative-finite-number.d.mts +68 -59
  18. package/dist/number/branded-types/negative-finite-number.d.mts.map +1 -1
  19. package/dist/number/branded-types/negative-finite-number.mjs +52 -46
  20. package/dist/number/branded-types/negative-finite-number.mjs.map +1 -1
  21. package/dist/number/branded-types/negative-int.d.mts +60 -48
  22. package/dist/number/branded-types/negative-int.d.mts.map +1 -1
  23. package/dist/number/branded-types/negative-int.mjs +40 -36
  24. package/dist/number/branded-types/negative-int.mjs.map +1 -1
  25. package/dist/number/branded-types/negative-safe-int.d.mts +57 -56
  26. package/dist/number/branded-types/negative-safe-int.d.mts.map +1 -1
  27. package/dist/number/branded-types/negative-safe-int.mjs +40 -41
  28. package/dist/number/branded-types/negative-safe-int.mjs.map +1 -1
  29. package/dist/number/branded-types/non-negative-finite-number.d.mts +74 -64
  30. package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
  31. package/dist/number/branded-types/non-negative-finite-number.mjs +58 -51
  32. package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
  33. package/dist/number/branded-types/non-negative-int16.d.mts +64 -57
  34. package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
  35. package/dist/number/branded-types/non-negative-int16.mjs +47 -43
  36. package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
  37. package/dist/number/branded-types/non-negative-int32.d.mts +64 -58
  38. package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
  39. package/dist/number/branded-types/non-negative-int32.mjs +47 -44
  40. package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
  41. package/dist/number/branded-types/non-positive-finite-number.d.mts +64 -54
  42. package/dist/number/branded-types/non-positive-finite-number.d.mts.map +1 -1
  43. package/dist/number/branded-types/non-positive-finite-number.mjs +48 -41
  44. package/dist/number/branded-types/non-positive-finite-number.mjs.map +1 -1
  45. package/dist/number/branded-types/non-positive-int.d.mts +41 -146
  46. package/dist/number/branded-types/non-positive-int.d.mts.map +1 -1
  47. package/dist/number/branded-types/non-positive-int.mjs +27 -107
  48. package/dist/number/branded-types/non-positive-int.mjs.map +1 -1
  49. package/dist/number/branded-types/non-positive-safe-int.d.mts +54 -53
  50. package/dist/number/branded-types/non-positive-safe-int.d.mts.map +1 -1
  51. package/dist/number/branded-types/non-positive-safe-int.mjs +37 -39
  52. package/dist/number/branded-types/non-positive-safe-int.mjs.map +1 -1
  53. package/dist/number/branded-types/non-zero-finite-number.d.mts +62 -49
  54. package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -1
  55. package/dist/number/branded-types/non-zero-finite-number.mjs +46 -37
  56. package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
  57. package/dist/number/branded-types/non-zero-int.d.mts +51 -38
  58. package/dist/number/branded-types/non-zero-int.d.mts.map +1 -1
  59. package/dist/number/branded-types/non-zero-int.mjs +31 -27
  60. package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
  61. package/dist/number/branded-types/non-zero-int16.d.mts +52 -53
  62. package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
  63. package/dist/number/branded-types/non-zero-int16.mjs +36 -39
  64. package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
  65. package/dist/number/branded-types/non-zero-int32.d.mts +52 -54
  66. package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
  67. package/dist/number/branded-types/non-zero-int32.mjs +36 -40
  68. package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
  69. package/dist/number/branded-types/non-zero-safe-int.d.mts +53 -54
  70. package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
  71. package/dist/number/branded-types/non-zero-safe-int.mjs +36 -40
  72. package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
  73. package/dist/number/branded-types/non-zero-uint16.d.mts +52 -53
  74. package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
  75. package/dist/number/branded-types/non-zero-uint16.mjs +35 -39
  76. package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
  77. package/dist/number/branded-types/non-zero-uint32.d.mts +52 -53
  78. package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
  79. package/dist/number/branded-types/non-zero-uint32.mjs +35 -39
  80. package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
  81. package/dist/number/branded-types/positive-finite-number.d.mts +74 -63
  82. package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
  83. package/dist/number/branded-types/positive-finite-number.mjs +58 -50
  84. package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
  85. package/dist/number/branded-types/positive-int.d.mts +46 -68
  86. package/dist/number/branded-types/positive-int.d.mts.map +1 -1
  87. package/dist/number/branded-types/positive-int.mjs +34 -49
  88. package/dist/number/branded-types/positive-int.mjs.map +1 -1
  89. package/dist/number/branded-types/positive-int16.d.mts +61 -57
  90. package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
  91. package/dist/number/branded-types/positive-int16.mjs +44 -43
  92. package/dist/number/branded-types/positive-int16.mjs.map +1 -1
  93. package/dist/number/branded-types/positive-int32.d.mts +61 -57
  94. package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
  95. package/dist/number/branded-types/positive-int32.mjs +44 -43
  96. package/dist/number/branded-types/positive-int32.mjs.map +1 -1
  97. package/dist/number/branded-types/positive-safe-int.d.mts +62 -57
  98. package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
  99. package/dist/number/branded-types/positive-safe-int.mjs +45 -43
  100. package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
  101. package/dist/number/branded-types/positive-uint16.d.mts +61 -57
  102. package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
  103. package/dist/number/branded-types/positive-uint16.mjs +44 -43
  104. package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
  105. package/dist/number/branded-types/positive-uint32.d.mts +61 -58
  106. package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
  107. package/dist/number/branded-types/positive-uint32.mjs +44 -44
  108. package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
  109. package/dist/number/branded-types/safe-int.d.mts +43 -62
  110. package/dist/number/branded-types/safe-int.d.mts.map +1 -1
  111. package/dist/number/branded-types/safe-int.mjs +35 -42
  112. package/dist/number/branded-types/safe-int.mjs.map +1 -1
  113. package/dist/number/branded-types/safe-uint.d.mts +62 -57
  114. package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
  115. package/dist/number/branded-types/safe-uint.mjs +46 -44
  116. package/dist/number/branded-types/safe-uint.mjs.map +1 -1
  117. package/dist/number/branded-types/uint.d.mts +63 -50
  118. package/dist/number/branded-types/uint.d.mts.map +1 -1
  119. package/dist/number/branded-types/uint.mjs +42 -39
  120. package/dist/number/branded-types/uint.mjs.map +1 -1
  121. package/dist/number/branded-types/uint16.d.mts +60 -58
  122. package/dist/number/branded-types/uint16.d.mts.map +1 -1
  123. package/dist/number/branded-types/uint16.mjs +44 -43
  124. package/dist/number/branded-types/uint16.mjs.map +1 -1
  125. package/dist/number/branded-types/uint32.d.mts +59 -55
  126. package/dist/number/branded-types/uint32.d.mts.map +1 -1
  127. package/dist/number/branded-types/uint32.mjs +42 -42
  128. package/dist/number/branded-types/uint32.mjs.map +1 -1
  129. package/dist/number/enum/int8.d.mts +56 -65
  130. package/dist/number/enum/int8.d.mts.map +1 -1
  131. package/dist/number/enum/int8.mjs +44 -43
  132. package/dist/number/enum/int8.mjs.map +1 -1
  133. package/dist/number/enum/uint8.d.mts +60 -58
  134. package/dist/number/enum/uint8.d.mts.map +1 -1
  135. package/dist/number/enum/uint8.mjs +44 -43
  136. package/dist/number/enum/uint8.mjs.map +1 -1
  137. package/package.json +2 -1
  138. package/src/number/branded-types/finite-number.mts +47 -61
  139. package/src/number/branded-types/int.mts +40 -46
  140. package/src/number/branded-types/int16.mts +65 -58
  141. package/src/number/branded-types/int32.mts +65 -58
  142. package/src/number/branded-types/negative-finite-number.mts +68 -68
  143. package/src/number/branded-types/negative-int.mts +60 -57
  144. package/src/number/branded-types/negative-safe-int.mts +57 -65
  145. package/src/number/branded-types/non-negative-finite-number.mts +74 -64
  146. package/src/number/branded-types/non-negative-int16.mts +64 -57
  147. package/src/number/branded-types/non-negative-int32.mts +64 -58
  148. package/src/number/branded-types/non-positive-finite-number.mts +64 -54
  149. package/src/number/branded-types/non-positive-int.mts +41 -146
  150. package/src/number/branded-types/non-positive-safe-int.mts +54 -53
  151. package/src/number/branded-types/non-zero-finite-number.mts +62 -51
  152. package/src/number/branded-types/non-zero-int.mts +51 -38
  153. package/src/number/branded-types/non-zero-int16.mts +52 -53
  154. package/src/number/branded-types/non-zero-int32.mts +52 -54
  155. package/src/number/branded-types/non-zero-safe-int.mts +53 -54
  156. package/src/number/branded-types/non-zero-uint16.mts +52 -53
  157. package/src/number/branded-types/non-zero-uint32.mts +52 -53
  158. package/src/number/branded-types/positive-finite-number.mts +74 -63
  159. package/src/number/branded-types/positive-int.mts +46 -68
  160. package/src/number/branded-types/positive-int16.mts +61 -57
  161. package/src/number/branded-types/positive-int32.mts +61 -57
  162. package/src/number/branded-types/positive-safe-int.mts +62 -57
  163. package/src/number/branded-types/positive-uint16.mts +61 -57
  164. package/src/number/branded-types/positive-uint32.mts +61 -58
  165. package/src/number/branded-types/safe-int.mts +43 -62
  166. package/src/number/branded-types/safe-uint.mts +62 -57
  167. package/src/number/branded-types/uint.mts +63 -50
  168. package/src/number/branded-types/uint16.mts +60 -58
  169. package/src/number/branded-types/uint32.mts +59 -55
  170. package/src/number/enum/int8.mts +56 -65
  171. package/src/number/enum/uint8.mts +60 -58
@@ -3,19 +3,24 @@ import { PositiveSafeInt } from './positive-safe-int.mjs';
3
3
  export type NegativeSafeInt = TtfImported_NegativeSafeInt;
4
4
  type ElementType = NegativeSafeInt;
5
5
  /**
6
- * Checks if a number is a NegativeSafeInt (a negative safe integer in the range
7
- * `[Number.MIN_SAFE_INTEGER, -1]`).
6
+ * Type guard that checks if a value is a negative safe integer.
8
7
  *
9
- * @param value The value to check.
10
- * @returns `true` if the value is a NegativeSafeInt, `false` otherwise.
8
+ * Returns `true` for a negative safe integer — a value with no fractional
9
+ * component.
10
+ *
11
+ * @param value - The value to check
12
+ * @returns `true` if the value is a negative safe integer, `false` otherwise
11
13
  */
12
14
  export declare const isNegativeSafeInt: (a: number) => a is TtfImported_NegativeSafeInt;
13
15
  /**
14
- * Casts a number to a NegativeSafeInt type.
16
+ * Casts a `number` to the `NegativeSafeInt` branded type.
17
+ *
18
+ * Validates that the value is a negative safe integer and returns it with the
19
+ * `NegativeSafeInt` brand. Throws a `TypeError` otherwise.
15
20
  *
16
- * @param value The value to cast.
17
- * @returns The value as a NegativeSafeInt type.
18
- * @throws {TypeError} If the value is not a negative safe integer.
21
+ * @param value - The value to cast
22
+ * @returns The value as a `NegativeSafeInt`
23
+ * @throws {TypeError} If the value is not a negative safe integer
19
24
  */
20
25
  export declare const asNegativeSafeInt: <N extends number>(x: N) => number & {
21
26
  readonly "!=0": true;
@@ -33,98 +38,94 @@ export declare const asNegativeSafeInt: <N extends number>(x: N) => number & {
33
38
  'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
34
39
  }> & N;
35
40
  /**
36
- * Namespace providing type-safe arithmetic operations for negative safe
37
- * integers.
41
+ * Namespace providing type-safe operations for the `NegativeSafeInt` branded
42
+ * type.
38
43
  *
39
- * NegativeSafeInt represents safe integers that are strictly less than zero
40
- * (`[Number.MIN_SAFE_INTEGER, -1]`). Operations that stay within the negative
41
- * safe integers clamp their results to the valid range, while operations whose
42
- * result leaves the set (`mul`, `div`, `abs`) are typed to reflect the actual
43
- * sign of the result.
44
+ * The `NegativeSafeInt` type represents a negative safe integer. Division
45
+ * (`div`) uses floor division.
44
46
  */
45
47
  export declare const NegativeSafeInt: {
46
48
  /**
47
- * Type guard to check if a value is a NegativeSafeInt.
49
+ * Type guard that checks if a value is a negative safe integer.
48
50
  *
49
- * @param value The value to check.
50
- * @returns `true` if the value is a negative safe integer, `false` otherwise.
51
+ * @param value - The value to check
52
+ * @returns `true` if the value is a negative safe integer, `false` otherwise
53
+ * @see {@link isNegativeSafeInt} for usage examples
51
54
  */
52
55
  readonly is: (a: number) => a is TtfImported_NegativeSafeInt;
53
56
  /**
54
- * The minimum value for a negative safe integer.
55
- *
56
- * @readonly
57
+ * The smallest value representable as `NegativeSafeInt`.
57
58
  */
58
59
  readonly MIN_VALUE: number;
59
60
  /**
60
- * The maximum value for a negative safe integer.
61
- *
62
- * @readonly
61
+ * The largest value representable as `NegativeSafeInt`.
63
62
  */
64
63
  readonly MAX_VALUE: -1;
65
64
  /**
66
65
  * Returns the absolute value of a negative safe integer.
67
66
  *
68
- * @param a The negative safe integer.
69
- * @returns The absolute value as a PositiveSafeInt.
67
+ * The result is non-negative and keeps the `NegativeSafeInt` brand.
68
+ *
69
+ * @param a - The negative safe integer value
70
+ * @returns The absolute value as a non-negative `NegativeSafeInt`
70
71
  */
71
72
  readonly abs: (x: WithSmallInt<ElementType>) => PositiveSafeInt;
72
73
  /**
73
- * Returns the smaller of two negative safe integers.
74
+ * Returns the smallest of the given negative safe integers.
74
75
  *
75
- * @param a The first negative safe integer.
76
- * @param b The second negative safe integer.
77
- * @returns The minimum value as a NegativeSafeInt.
76
+ * @param values - The negative safe integers to compare (at least one required)
77
+ * @returns The smallest value as a `NegativeSafeInt`
78
78
  */
79
79
  readonly min: (...values: readonly WithSmallInt<TtfImported_NegativeSafeInt>[]) => TtfImported_NegativeSafeInt;
80
80
  /**
81
- * Returns the larger of two negative safe integers.
81
+ * Returns the largest of the given negative safe integers.
82
82
  *
83
- * @param a The first negative safe integer.
84
- * @param b The second negative safe integer.
85
- * @returns The maximum value as a NegativeSafeInt.
83
+ * @param values - The negative safe integers to compare (at least one required)
84
+ * @returns The largest value as a `NegativeSafeInt`
86
85
  */
87
86
  readonly max: (...values: readonly WithSmallInt<TtfImported_NegativeSafeInt>[]) => TtfImported_NegativeSafeInt;
88
87
  /**
89
- * Clamps a number to the NegativeSafeInt range.
88
+ * Clamps a `number` into the `NegativeSafeInt` range, rounding to the nearest
89
+ * integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
90
90
  *
91
- * @param value The number to clamp.
92
- * @returns The value clamped to `[Number.MIN_SAFE_INTEGER, -1]` as a
93
- * NegativeSafeInt.
91
+ * @param value - The value to clamp
92
+ * @returns The clamped value as a `NegativeSafeInt`
94
93
  */
95
94
  readonly clamp: (x: number) => TtfImported_NegativeSafeInt;
96
95
  /**
97
- * Generates a random NegativeSafeInt value within the valid range.
96
+ * Generates a random `NegativeSafeInt` within the given range.
97
+ *
98
+ * The range is inclusive on both ends.
98
99
  *
99
- * @returns A random NegativeSafeInt between Number.MIN_SAFE_INTEGER and -1.
100
+ * @param min - The minimum value (inclusive)
101
+ * @param max - The maximum value (inclusive)
102
+ * @returns A random `NegativeSafeInt` in `[min, max]`
100
103
  */
101
104
  readonly random: (min?: WithSmallInt<TtfImported_NegativeSafeInt> | undefined, max?: WithSmallInt<TtfImported_NegativeSafeInt> | undefined) => TtfImported_NegativeSafeInt;
102
105
  /**
103
- * Raises a negative safe integer to the power of another negative safe
104
- * integer.
106
+ * Raises `a` to the power `b`, returning `a ** b` as a `NegativeSafeInt`
107
+ * (floored to an integer).
105
108
  *
106
- * @param a The base negative safe integer.
107
- * @param b The exponent negative safe integer.
108
- * @returns `a ** b` clamped to the NegativeSafeInt range.
109
+ * @param a - The base negative safe integer
110
+ * @param b - The exponent negative safe integer
111
+ * @returns `a ** b` as a `NegativeSafeInt`
109
112
  */
110
113
  readonly pow: (x: WithSmallInt<TtfImported_NegativeSafeInt>, y: WithSmallInt<TtfImported_NegativeSafeInt>) => TtfImported_NegativeSafeInt;
111
114
  /**
112
- * Adds two negative safe integers.
115
+ * Adds two negative safe integers, returning `a + b` as a `NegativeSafeInt`.
113
116
  *
114
- * @param a The first negative safe integer.
115
- * @param b The second negative safe integer.
116
- * @returns `a + b` clamped to the NegativeSafeInt range.
117
+ * @param a - The first negative safe integer
118
+ * @param b - The second negative safe integer
119
+ * @returns The sum of `a` and `b` as a `NegativeSafeInt`
117
120
  */
118
121
  readonly add: (x: WithSmallInt<TtfImported_NegativeSafeInt>, y: WithSmallInt<TtfImported_NegativeSafeInt>) => TtfImported_NegativeSafeInt;
119
122
  /**
120
- * Subtracts one negative safe integer from another.
121
- *
122
- * The mathematical result can be positive, so it is clamped to the
123
- * NegativeSafeInt range (maximum `-1`).
123
+ * Subtracts two negative safe integers, returning `a - b` as a
124
+ * `NegativeSafeInt`.
124
125
  *
125
- * @param a The minuend negative safe integer.
126
- * @param b The subtrahend negative safe integer.
127
- * @returns `a - b` clamped to the NegativeSafeInt range.
126
+ * @param a - The first negative safe integer
127
+ * @param b - The second negative safe integer
128
+ * @returns The difference of `a` and `b` as a `NegativeSafeInt`
128
129
  */
129
130
  readonly sub: (x: WithSmallInt<TtfImported_NegativeSafeInt>, y: WithSmallInt<TtfImported_NegativeSafeInt>) => TtfImported_NegativeSafeInt;
130
131
  };
@@ -1 +1 @@
1
- {"version":3,"file":"negative-safe-int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/negative-safe-int.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,IAAI,2BAA2B,EACnD,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAE1D,KAAK,WAAW,GAAG,eAAe,CAAC;AAwCnC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,iDAAK,CAAC;AAEpC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;MAAW,CAAC;AAE1C;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe;IAC1B;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;OAKG;sBA3DW,YAAY,CAAC,WAAW,CAAC,KAAG,eAAe;IA8DzD;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;;;OASG;;CAEK,CAAC"}
1
+ {"version":3,"file":"negative-safe-int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/negative-safe-int.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,IAAI,2BAA2B,EACnD,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAE1D,KAAK,WAAW,GAAG,eAAe,CAAC;AA+BnC;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,iDAAK,CAAC;AAEpC;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;MAAW,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;IAC1B;;;;;;OAMG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;;;OAOG;sBA5DW,YAAY,CAAC,WAAW,CAAC,KAAG,eAAe;IA+DzD;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;CAEK,CAAC"}
@@ -26,87 +26,86 @@ const isNegativeSafeInt = is;
26
26
  const asNegativeSafeInt = castType;
27
27
  const NegativeSafeInt = {
28
28
  /**
29
- * Type guard to check if a value is a NegativeSafeInt.
29
+ * Type guard that checks if a value is a negative safe integer.
30
30
  *
31
- * @param value The value to check.
32
- * @returns `true` if the value is a negative safe integer, `false` otherwise.
31
+ * @param value - The value to check
32
+ * @returns `true` if the value is a negative safe integer, `false` otherwise
33
+ * @see {@link isNegativeSafeInt} for usage examples
33
34
  */
34
35
  is,
35
36
  /**
36
- * The minimum value for a negative safe integer.
37
- *
38
- * @readonly
37
+ * The smallest value representable as `NegativeSafeInt`.
39
38
  */
40
39
  MIN_VALUE,
41
40
  /**
42
- * The maximum value for a negative safe integer.
43
- *
44
- * @readonly
41
+ * The largest value representable as `NegativeSafeInt`.
45
42
  */
46
43
  MAX_VALUE,
47
44
  /**
48
45
  * Returns the absolute value of a negative safe integer.
49
46
  *
50
- * @param a The negative safe integer.
51
- * @returns The absolute value as a PositiveSafeInt.
47
+ * The result is non-negative and keeps the `NegativeSafeInt` brand.
48
+ *
49
+ * @param a - The negative safe integer value
50
+ * @returns The absolute value as a non-negative `NegativeSafeInt`
52
51
  */
53
52
  abs,
54
53
  /**
55
- * Returns the smaller of two negative safe integers.
54
+ * Returns the smallest of the given negative safe integers.
56
55
  *
57
- * @param a The first negative safe integer.
58
- * @param b The second negative safe integer.
59
- * @returns The minimum value as a NegativeSafeInt.
56
+ * @param values - The negative safe integers to compare (at least one required)
57
+ * @returns The smallest value as a `NegativeSafeInt`
60
58
  */
61
59
  min: min_,
62
60
  /**
63
- * Returns the larger of two negative safe integers.
61
+ * Returns the largest of the given negative safe integers.
64
62
  *
65
- * @param a The first negative safe integer.
66
- * @param b The second negative safe integer.
67
- * @returns The maximum value as a NegativeSafeInt.
63
+ * @param values - The negative safe integers to compare (at least one required)
64
+ * @returns The largest value as a `NegativeSafeInt`
68
65
  */
69
66
  max: max_,
70
67
  /**
71
- * Clamps a number to the NegativeSafeInt range.
68
+ * Clamps a `number` into the `NegativeSafeInt` range, rounding to the nearest
69
+ * integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
72
70
  *
73
- * @param value The number to clamp.
74
- * @returns The value clamped to `[Number.MIN_SAFE_INTEGER, -1]` as a
75
- * NegativeSafeInt.
71
+ * @param value - The value to clamp
72
+ * @returns The clamped value as a `NegativeSafeInt`
76
73
  */
77
74
  clamp,
78
75
  /**
79
- * Generates a random NegativeSafeInt value within the valid range.
76
+ * Generates a random `NegativeSafeInt` within the given range.
80
77
  *
81
- * @returns A random NegativeSafeInt between Number.MIN_SAFE_INTEGER and -1.
78
+ * The range is inclusive on both ends.
79
+ *
80
+ * @param min - The minimum value (inclusive)
81
+ * @param max - The maximum value (inclusive)
82
+ * @returns A random `NegativeSafeInt` in `[min, max]`
82
83
  */
83
84
  random,
84
85
  /**
85
- * Raises a negative safe integer to the power of another negative safe
86
- * integer.
86
+ * Raises `a` to the power `b`, returning `a ** b` as a `NegativeSafeInt`
87
+ * (floored to an integer).
87
88
  *
88
- * @param a The base negative safe integer.
89
- * @param b The exponent negative safe integer.
90
- * @returns `a ** b` clamped to the NegativeSafeInt range.
89
+ * @param a - The base negative safe integer
90
+ * @param b - The exponent negative safe integer
91
+ * @returns `a ** b` as a `NegativeSafeInt`
91
92
  */
92
93
  pow,
93
94
  /**
94
- * Adds two negative safe integers.
95
+ * Adds two negative safe integers, returning `a + b` as a `NegativeSafeInt`.
95
96
  *
96
- * @param a The first negative safe integer.
97
- * @param b The second negative safe integer.
98
- * @returns `a + b` clamped to the NegativeSafeInt range.
97
+ * @param a - The first negative safe integer
98
+ * @param b - The second negative safe integer
99
+ * @returns The sum of `a` and `b` as a `NegativeSafeInt`
99
100
  */
100
101
  add,
101
102
  /**
102
- * Subtracts one negative safe integer from another.
103
- *
104
- * The mathematical result can be positive, so it is clamped to the
105
- * NegativeSafeInt range (maximum `-1`).
103
+ * Subtracts two negative safe integers, returning `a - b` as a
104
+ * `NegativeSafeInt`.
106
105
  *
107
- * @param a The minuend negative safe integer.
108
- * @param b The subtrahend negative safe integer.
109
- * @returns `a - b` clamped to the NegativeSafeInt range.
106
+ * @param a - The first negative safe integer
107
+ * @param b - The second negative safe integer
108
+ * @returns The difference of `a` and `b` as a `NegativeSafeInt`
110
109
  */
111
110
  sub
112
111
  };
@@ -1 +1 @@
1
- {"version":3,"file":"negative-safe-int.mjs","sources":["../../../src/number/branded-types/negative-safe-int.mts"],"sourcesContent":["import {\n type NegativeSafeInt as TtfImported_NegativeSafeInt,\n type WithSmallInt,\n} from 'ts-type-forge';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\nimport { PositiveSafeInt } from './positive-safe-int.mjs';\n\nexport type NegativeSafeInt = TtfImported_NegativeSafeInt;\n\ntype ElementType = NegativeSafeInt;\n\nconst typeNameInMessage = 'a negative safe integer';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\n castType,\n clamp,\n is,\n max: max_,\n min: min_,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n number,\n -1\n>({\n integerOrSafeInteger: 'SafeInteger',\n nonZero: true,\n MIN_VALUE: Number.MIN_SAFE_INTEGER,\n MAX_VALUE: -1,\n typeNameInMessage,\n} as const);\n\n/**\n * Returns the absolute value of a negative safe integer.\n *\n * The absolute value of a negative safe integer is always a positive safe\n * integer (`>= 1`), so the result is typed as a {@link PositiveSafeInt}.\n *\n * @param x - The negative safe integer.\n * @returns `|x|` as a PositiveSafeInt.\n */\nconst abs = (x: WithSmallInt<ElementType>): PositiveSafeInt =>\n PositiveSafeInt.clamp(Math.abs(x));\n\n/**\n * Checks if a number is a NegativeSafeInt (a negative safe integer in the range\n * `[Number.MIN_SAFE_INTEGER, -1]`).\n *\n * @param value The value to check.\n * @returns `true` if the value is a NegativeSafeInt, `false` otherwise.\n */\nexport const isNegativeSafeInt = is;\n\n/**\n * Casts a number to a NegativeSafeInt type.\n *\n * @param value The value to cast.\n * @returns The value as a NegativeSafeInt type.\n * @throws {TypeError} If the value is not a negative safe integer.\n */\nexport const asNegativeSafeInt = castType;\n\n/**\n * Namespace providing type-safe arithmetic operations for negative safe\n * integers.\n *\n * NegativeSafeInt represents safe integers that are strictly less than zero\n * (`[Number.MIN_SAFE_INTEGER, -1]`). Operations that stay within the negative\n * safe integers clamp their results to the valid range, while operations whose\n * result leaves the set (`mul`, `div`, `abs`) are typed to reflect the actual\n * sign of the result.\n */\nexport const NegativeSafeInt = {\n /**\n * Type guard to check if a value is a NegativeSafeInt.\n *\n * @param value The value to check.\n * @returns `true` if the value is a negative safe integer, `false` otherwise.\n */\n is,\n\n /**\n * The minimum value for a negative safe integer.\n *\n * @readonly\n */\n MIN_VALUE,\n\n /**\n * The maximum value for a negative safe integer.\n *\n * @readonly\n */\n MAX_VALUE,\n\n /**\n * Returns the absolute value of a negative safe integer.\n *\n * @param a The negative safe integer.\n * @returns The absolute value as a PositiveSafeInt.\n */\n abs,\n\n /**\n * Returns the smaller of two negative safe integers.\n *\n * @param a The first negative safe integer.\n * @param b The second negative safe integer.\n * @returns The minimum value as a NegativeSafeInt.\n */\n min: min_,\n\n /**\n * Returns the larger of two negative safe integers.\n *\n * @param a The first negative safe integer.\n * @param b The second negative safe integer.\n * @returns The maximum value as a NegativeSafeInt.\n */\n max: max_,\n\n /**\n * Clamps a number to the NegativeSafeInt range.\n *\n * @param value The number to clamp.\n * @returns The value clamped to `[Number.MIN_SAFE_INTEGER, -1]` as a\n * NegativeSafeInt.\n */\n clamp,\n\n /**\n * Generates a random NegativeSafeInt value within the valid range.\n *\n * @returns A random NegativeSafeInt between Number.MIN_SAFE_INTEGER and -1.\n */\n random,\n\n /**\n * Raises a negative safe integer to the power of another negative safe\n * integer.\n *\n * @param a The base negative safe integer.\n * @param b The exponent negative safe integer.\n * @returns `a ** b` clamped to the NegativeSafeInt range.\n */\n pow,\n\n /**\n * Adds two negative safe integers.\n *\n * @param a The first negative safe integer.\n * @param b The second negative safe integer.\n * @returns `a + b` clamped to the NegativeSafeInt range.\n */\n add,\n\n /**\n * Subtracts one negative safe integer from another.\n *\n * The mathematical result can be positive, so it is clamped to the\n * NegativeSafeInt range (maximum `-1`).\n *\n * @param a The minuend negative safe integer.\n * @param b The subtrahend negative safe integer.\n * @returns `a - b` clamped to the NegativeSafeInt range.\n */\n sub,\n} as const;\n"],"names":[],"mappings":";;;AAWA,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,MAAA;AAAA,EACA;AACF,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,mBAAA,CAI1C;AAAA,EACA,oBAAA,EAAsB,aAAA;AAAA,EACtB,OAAA,EAAS,IAAA;AAAA,EACT,WAAW,MAAA,CAAO,gBAAA;AAAA,EAClB,SAAA,EAAW,EAAA;AAAA,EACX;AACF,CAAU,CAAA;AAWV,MAAM,GAAA,GAAM,CAAC,CAAA,KACX,eAAA,CAAgB,MAAM,IAAA,CAAK,GAAA,CAAI,CAAC,CAAC,CAAA;AAS5B,MAAM,iBAAA,GAAoB;AAS1B,MAAM,iBAAA,GAAoB;AAY1B,MAAM,eAAA,GAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO7B,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,EAOA,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;AAAA;AAAA;AAAA,EAYA;AACF;;;;"}
1
+ {"version":3,"file":"negative-safe-int.mjs","sources":["../../../src/number/branded-types/negative-safe-int.mts"],"sourcesContent":["import {\n type NegativeSafeInt as TtfImported_NegativeSafeInt,\n type WithSmallInt,\n} from 'ts-type-forge';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\nimport { PositiveSafeInt } from './positive-safe-int.mjs';\n\nexport type NegativeSafeInt = TtfImported_NegativeSafeInt;\n\ntype ElementType = NegativeSafeInt;\n\nconst typeNameInMessage = 'a negative safe integer';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\n castType,\n clamp,\n is,\n max: max_,\n min: min_,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n number,\n -1\n>({\n integerOrSafeInteger: 'SafeInteger',\n nonZero: true,\n MIN_VALUE: Number.MIN_SAFE_INTEGER,\n MAX_VALUE: -1,\n typeNameInMessage,\n} as const);\n\nconst abs = (x: WithSmallInt<ElementType>): PositiveSafeInt =>\n PositiveSafeInt.clamp(Math.abs(x));\n\n/**\n * Type guard that checks if a value is a negative safe integer.\n *\n * Returns `true` for a negative safe integer — a value with no fractional\n * component.\n *\n * @param value - The value to check\n * @returns `true` if the value is a negative safe integer, `false` otherwise\n */\nexport const isNegativeSafeInt = is;\n\n/**\n * Casts a `number` to the `NegativeSafeInt` branded type.\n *\n * Validates that the value is a negative safe integer and returns it with the\n * `NegativeSafeInt` brand. Throws a `TypeError` otherwise.\n *\n * @param value - The value to cast\n * @returns The value as a `NegativeSafeInt`\n * @throws {TypeError} If the value is not a negative safe integer\n */\nexport const asNegativeSafeInt = castType;\n\n/**\n * Namespace providing type-safe operations for the `NegativeSafeInt` branded\n * type.\n *\n * The `NegativeSafeInt` type represents a negative safe integer. Division\n * (`div`) uses floor division.\n */\nexport const NegativeSafeInt = {\n /**\n * Type guard that checks if a value is a negative safe integer.\n *\n * @param value - The value to check\n * @returns `true` if the value is a negative safe integer, `false` otherwise\n * @see {@link isNegativeSafeInt} for usage examples\n */\n is,\n\n /**\n * The smallest value representable as `NegativeSafeInt`.\n */\n MIN_VALUE,\n\n /**\n * The largest value representable as `NegativeSafeInt`.\n */\n MAX_VALUE,\n\n /**\n * Returns the absolute value of a negative safe integer.\n *\n * The result is non-negative and keeps the `NegativeSafeInt` brand.\n *\n * @param a - The negative safe integer value\n * @returns The absolute value as a non-negative `NegativeSafeInt`\n */\n abs,\n\n /**\n * Returns the smallest of the given negative safe integers.\n *\n * @param values - The negative safe integers to compare (at least one required)\n * @returns The smallest value as a `NegativeSafeInt`\n */\n min: min_,\n\n /**\n * Returns the largest of the given negative safe integers.\n *\n * @param values - The negative safe integers to compare (at least one required)\n * @returns The largest value as a `NegativeSafeInt`\n */\n max: max_,\n\n /**\n * Clamps a `number` into the `NegativeSafeInt` 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 `NegativeSafeInt`\n */\n clamp,\n\n /**\n * Generates a random `NegativeSafeInt` 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 `NegativeSafeInt` in `[min, max]`\n */\n random,\n\n /**\n * Raises `a` to the power `b`, returning `a ** b` as a `NegativeSafeInt`\n * (floored to an integer).\n *\n * @param a - The base negative safe integer\n * @param b - The exponent negative safe integer\n * @returns `a ** b` as a `NegativeSafeInt`\n */\n pow,\n\n /**\n * Adds two negative safe integers, returning `a + b` as a `NegativeSafeInt`.\n *\n * @param a - The first negative safe integer\n * @param b - The second negative safe integer\n * @returns The sum of `a` and `b` as a `NegativeSafeInt`\n */\n add,\n\n /**\n * Subtracts two negative safe integers, returning `a - b` as a\n * `NegativeSafeInt`.\n *\n * @param a - The first negative safe integer\n * @param b - The second negative safe integer\n * @returns The difference of `a` and `b` as a `NegativeSafeInt`\n */\n sub,\n} as const;\n"],"names":[],"mappings":";;;AAWA,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,MAAA;AAAA,EACA;AACF,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,mBAAA,CAI1C;AAAA,EACA,oBAAA,EAAsB,aAAA;AAAA,EACtB,OAAA,EAAS,IAAA;AAAA,EACT,WAAW,MAAA,CAAO,gBAAA;AAAA,EAClB,SAAA,EAAW,EAAA;AAAA,EACX;AACF,CAAU,CAAA;AAEV,MAAM,GAAA,GAAM,CAAC,CAAA,KACX,eAAA,CAAgB,MAAM,IAAA,CAAK,GAAA,CAAI,CAAC,CAAC,CAAA;AAW5B,MAAM,iBAAA,GAAoB;AAY1B,MAAM,iBAAA,GAAoB;AAS1B,MAAM,eAAA,GAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ7B,EAAA;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;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;AAAA,EAUA;AACF;;;;"}
@@ -3,18 +3,24 @@ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
3
3
  export type NonNegativeFiniteNumber = TtfImported_NonNegativeFiniteNumber;
4
4
  type ElementType = NonNegativeFiniteNumber;
5
5
  /**
6
- * Checks if a number is a NonNegativeFiniteNumber (a finite number >= 0).
6
+ * Type guard that checks if a value is a non-negative finite number.
7
7
  *
8
- * @param value The value to check.
9
- * @returns `true` if the value is a NonNegativeFiniteNumber, `false` otherwise.
8
+ * Returns `true` only for a finite value — never `NaN`, `Infinity`, or
9
+ * `-Infinity`.
10
+ *
11
+ * @param value - The value to check
12
+ * @returns `true` if the value is a non-negative finite number, `false` otherwise
10
13
  */
11
14
  export declare const isNonNegativeFiniteNumber: (a: number) => a is TtfImported_NonNegativeFiniteNumber;
12
15
  /**
13
- * Casts a number to a NonNegativeFiniteNumber type.
16
+ * Casts a `number` to the `NonNegativeFiniteNumber` branded type.
17
+ *
18
+ * Validates that the value is a non-negative finite number and returns it with
19
+ * the `NonNegativeFiniteNumber` brand. Throws a `TypeError` otherwise.
14
20
  *
15
- * @param value The value to cast.
16
- * @returns The value as a NonNegativeFiniteNumber type.
17
- * @throws {TypeError} If the value is not a non-negative finite number.
21
+ * @param value - The value to cast
22
+ * @returns The value as a `NonNegativeFiniteNumber`
23
+ * @throws {TypeError} If the value is not a non-negative finite number
18
24
  */
19
25
  export declare const asNonNegativeFiniteNumber: <N extends number>(x: N) => number & {
20
26
  readonly "> -2^16": true;
@@ -28,119 +34,123 @@ export declare const asNonNegativeFiniteNumber: <N extends number>(x: N) => numb
28
34
  'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
29
35
  }> & N;
30
36
  /**
31
- * Namespace providing type-safe arithmetic operations for non-negative finite
32
- * numbers.
37
+ * Namespace providing type-safe operations for the `NonNegativeFiniteNumber`
38
+ * branded type.
33
39
  *
34
- * All operations maintain the non-negative constraint by clamping negative
35
- * results to 0, while ensuring results remain finite (excluding NaN and
36
- * Infinity). This type is useful for representing measurements, distances,
37
- * weights, and other inherently non-negative values.
40
+ * The `NonNegativeFiniteNumber` type represents a non-negative finite number.
38
41
  */
39
42
  export declare const NonNegativeFiniteNumber: {
40
43
  /**
41
- * Type guard to check if a value is a NonNegativeFiniteNumber.
44
+ * Type guard that checks if a value is a non-negative finite number.
42
45
  *
43
- * @param value The value to check.
44
- * @returns `true` if the value is a non-negative finite number, `false`
45
- * otherwise.
46
+ * @param value - The value to check
47
+ * @returns `true` if the value is a non-negative finite number, `false` otherwise
48
+ * @see {@link isNonNegativeFiniteNumber} for usage examples
46
49
  */
47
50
  readonly is: (a: number) => a is TtfImported_NonNegativeFiniteNumber;
48
51
  /**
49
- * The minimum value for a non-negative finite number.
50
- *
51
- * @readonly
52
+ * The smallest value representable as `NonNegativeFiniteNumber`.
52
53
  */
53
54
  readonly MIN_VALUE: 0;
54
55
  /**
55
- * Returns the smaller of two NonNegativeFiniteNumber values.
56
+ * Returns the smallest of the given non-negative finite numbers.
56
57
  *
57
- * @param a The first NonNegativeFiniteNumber.
58
- * @param b The second NonNegativeFiniteNumber.
59
- * @returns The minimum value as a NonNegativeFiniteNumber.
58
+ * @param values - The non-negative finite numbers to compare (at least one required)
59
+ * @returns The smallest value as a `NonNegativeFiniteNumber`
60
60
  */
61
61
  readonly min: (...values: readonly TtfImported_NonNegativeFiniteNumber[]) => TtfImported_NonNegativeFiniteNumber;
62
62
  /**
63
- * Returns the larger of two NonNegativeFiniteNumber values.
63
+ * Returns the largest of the given non-negative finite numbers.
64
64
  *
65
- * @param a The first NonNegativeFiniteNumber.
66
- * @param b The second NonNegativeFiniteNumber.
67
- * @returns The maximum value as a NonNegativeFiniteNumber.
65
+ * @param values - The non-negative finite numbers to compare (at least one required)
66
+ * @returns The largest value as a `NonNegativeFiniteNumber`
68
67
  */
69
68
  readonly max: (...values: readonly TtfImported_NonNegativeFiniteNumber[]) => TtfImported_NonNegativeFiniteNumber;
70
69
  /**
71
- * Clamps a number to the non-negative finite range.
70
+ * Clamps a `number` into the `NonNegativeFiniteNumber` range `[MIN_VALUE,
71
+ * MAX_VALUE]`.
72
72
  *
73
- * @param value The number to clamp.
74
- * @returns The value clamped to [0, +∞) as a NonNegativeFiniteNumber.
73
+ * @param value - The value to clamp
74
+ * @returns The clamped value as a `NonNegativeFiniteNumber`
75
75
  */
76
76
  readonly clamp: (x: number) => TtfImported_NonNegativeFiniteNumber;
77
77
  /**
78
- * Rounds down a NonNegativeFiniteNumber to the nearest integer.
78
+ * Returns the greatest integer less than or equal to a non-negative finite
79
+ * number.
79
80
  *
80
- * @param x The NonNegativeFiniteNumber to round down.
81
- * @returns The floor value as a Uint.
81
+ * @param a - The non-negative finite number value
82
+ * @returns The floored value as an integer
82
83
  */
83
84
  readonly floor: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;
84
85
  /**
85
- * Rounds up a NonNegativeFiniteNumber to the nearest integer.
86
+ * Returns the smallest integer greater than or equal to a non-negative finite
87
+ * number.
86
88
  *
87
- * @param x The NonNegativeFiniteNumber to round up.
88
- * @returns The ceiling value as a Uint.
89
+ * @param a - The non-negative finite number value
90
+ * @returns The ceiled value as an integer
89
91
  */
90
92
  readonly ceil: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;
91
93
  /**
92
- * Rounds a NonNegativeFiniteNumber to the nearest integer.
94
+ * Returns the value of a non-negative finite number rounded to the nearest
95
+ * integer.
93
96
  *
94
- * @param x The NonNegativeFiniteNumber to round.
95
- * @returns The rounded value as a Uint.
97
+ * @param a - The non-negative finite number value
98
+ * @returns The rounded value as an integer
96
99
  */
97
100
  readonly round: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;
98
101
  /**
99
- * Generates a random NonNegativeFiniteNumber value.
102
+ * Generates a random `NonNegativeFiniteNumber` within the given range.
103
+ *
104
+ * The range is inclusive on both ends.
100
105
  *
101
- * @returns A random non-negative finite number.
106
+ * @param min - The minimum value (inclusive)
107
+ * @param max - The maximum value (inclusive)
108
+ * @returns A random `NonNegativeFiniteNumber` in `[min, max]`
102
109
  */
103
110
  readonly random: (min?: TtfImported_NonNegativeFiniteNumber | undefined, max?: TtfImported_NonNegativeFiniteNumber | undefined) => TtfImported_NonNegativeFiniteNumber;
104
111
  /**
105
- * Raises a NonNegativeFiniteNumber to the power of another
106
- * NonNegativeFiniteNumber.
112
+ * Raises `a` to the power `b`, returning `a ** b` as a
113
+ * `NonNegativeFiniteNumber`.
107
114
  *
108
- * @param a The base NonNegativeFiniteNumber.
109
- * @param b The exponent NonNegativeFiniteNumber.
110
- * @returns `a ** b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
115
+ * @param a - The base non-negative finite number
116
+ * @param b - The exponent non-negative finite number
117
+ * @returns `a ** b` as a `NonNegativeFiniteNumber`
111
118
  */
112
119
  readonly pow: (x: TtfImported_NonNegativeFiniteNumber, y: TtfImported_NonNegativeFiniteNumber) => TtfImported_NonNegativeFiniteNumber;
113
120
  /**
114
- * Adds two NonNegativeFiniteNumber values.
121
+ * Adds two non-negative finite numbers, returning `a + b` as a
122
+ * `NonNegativeFiniteNumber`.
115
123
  *
116
- * @param a The first NonNegativeFiniteNumber.
117
- * @param b The second NonNegativeFiniteNumber.
118
- * @returns `a + b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
124
+ * @param a - The first non-negative finite number
125
+ * @param b - The second non-negative finite number
126
+ * @returns The sum of `a` and `b` as a `NonNegativeFiniteNumber`
119
127
  */
120
128
  readonly add: (x: TtfImported_NonNegativeFiniteNumber, y: TtfImported_NonNegativeFiniteNumber) => TtfImported_NonNegativeFiniteNumber;
121
129
  /**
122
- * Subtracts one NonNegativeFiniteNumber from another.
130
+ * Subtracts two non-negative finite numbers, returning `a - b` as a
131
+ * `NonNegativeFiniteNumber`.
123
132
  *
124
- * @param a The minuend NonNegativeFiniteNumber.
125
- * @param b The subtrahend NonNegativeFiniteNumber.
126
- * @returns `a - b` clamped to [0, +∞) as a NonNegativeFiniteNumber (minimum
127
- * 0).
133
+ * @param a - The first non-negative finite number
134
+ * @param b - The second non-negative finite number
135
+ * @returns The difference of `a` and `b` as a `NonNegativeFiniteNumber`
128
136
  */
129
137
  readonly sub: (x: TtfImported_NonNegativeFiniteNumber, y: TtfImported_NonNegativeFiniteNumber) => TtfImported_NonNegativeFiniteNumber;
130
138
  /**
131
- * Multiplies two NonNegativeFiniteNumber values.
139
+ * Multiplies two non-negative finite numbers, returning `a * b` as a
140
+ * `NonNegativeFiniteNumber`.
132
141
  *
133
- * @param a The first NonNegativeFiniteNumber.
134
- * @param b The second NonNegativeFiniteNumber.
135
- * @returns `a * b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
142
+ * @param a - The first non-negative finite number
143
+ * @param b - The second non-negative finite number
144
+ * @returns The product of `a` and `b` as a `NonNegativeFiniteNumber`
136
145
  */
137
146
  readonly mul: (x: TtfImported_NonNegativeFiniteNumber, y: TtfImported_NonNegativeFiniteNumber) => TtfImported_NonNegativeFiniteNumber;
138
147
  /**
139
- * Divides one NonNegativeFiniteNumber by another.
148
+ * Divides two non-negative finite numbers, returning `a / b` as a
149
+ * `NonNegativeFiniteNumber`.
140
150
  *
141
- * @param a The dividend NonNegativeFiniteNumber.
142
- * @param b The divisor NonNegativeFiniteNumber.
143
- * @returns `a / b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
151
+ * @param a - The dividend
152
+ * @param b - The divisor (must be non-zero)
153
+ * @returns `a / b` as a `NonNegativeFiniteNumber`
144
154
  */
145
155
  readonly div: (x: TtfImported_NonNegativeFiniteNumber, y: number & {
146
156
  readonly "!=0": true;
@@ -1 +1 @@
1
- {"version":3,"file":"non-negative-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-finite-number.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,IAAI,mCAAmC,EAEpE,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,MAAM,uBAAuB,GAAG,mCAAmC,CAAC;AAE1E,KAAK,WAAW,GAAG,uBAAuB,CAAC;AAiD3C;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,yDAAK,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;MAAW,CAAC;AAElD;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;wBA/FA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAiG3D;;;;;OAKG;uBAjGA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAmG3D;;;;;OAKG;wBAnGA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAqG3D;;;;OAIG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;;;;;;;;;;;;CAEK,CAAC"}
1
+ {"version":3,"file":"non-negative-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-finite-number.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,IAAI,mCAAmC,EAEpE,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,MAAM,uBAAuB,GAAG,mCAAmC,CAAC;AAE1E,KAAK,WAAW,GAAG,uBAAuB,CAAC;AAiD3C;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,yDAAK,CAAC;AAE5C;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;MAAW,CAAC;AAElD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;;;;OAMG;;IAGH;;OAEG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;wBAhGA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAkG3D;;;;;;OAMG;uBAnGA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAqG3D;;;;;;OAMG;wBAtGA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAwG3D;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;;;;;;;;;;;;CAEK,CAAC"}