ts-data-forge 11.0.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/number/branded-types/finite-number.d.mts +47 -61
- package/dist/number/branded-types/finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/finite-number.mjs +37 -41
- package/dist/number/branded-types/finite-number.mjs.map +1 -1
- package/dist/number/branded-types/int.d.mts +40 -46
- package/dist/number/branded-types/int.d.mts.map +1 -1
- package/dist/number/branded-types/int.mjs +29 -31
- package/dist/number/branded-types/int.mjs.map +1 -1
- package/dist/number/branded-types/int16.d.mts +71 -59
- package/dist/number/branded-types/int16.d.mts.map +1 -1
- package/dist/number/branded-types/int16.mjs +56 -47
- package/dist/number/branded-types/int16.mjs.map +1 -1
- package/dist/number/branded-types/int32.d.mts +71 -59
- package/dist/number/branded-types/int32.d.mts.map +1 -1
- package/dist/number/branded-types/int32.mjs +56 -47
- package/dist/number/branded-types/int32.mjs.map +1 -1
- package/dist/number/branded-types/negative-finite-number.d.mts +76 -60
- package/dist/number/branded-types/negative-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/negative-finite-number.mjs +62 -49
- package/dist/number/branded-types/negative-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/negative-int.d.mts +66 -49
- package/dist/number/branded-types/negative-int.d.mts.map +1 -1
- package/dist/number/branded-types/negative-int.mjs +48 -39
- package/dist/number/branded-types/negative-int.mjs.map +1 -1
- package/dist/number/branded-types/negative-safe-int.d.mts +64 -57
- package/dist/number/branded-types/negative-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/negative-safe-int.mjs +49 -44
- package/dist/number/branded-types/negative-safe-int.mjs.map +1 -1
- package/dist/number/branded-types/non-negative-finite-number.d.mts +80 -65
- package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-finite-number.mjs +65 -53
- package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/non-negative-int16.d.mts +71 -58
- package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-int16.mjs +55 -45
- package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
- package/dist/number/branded-types/non-negative-int32.d.mts +71 -59
- package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-int32.mjs +55 -46
- package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
- package/dist/number/branded-types/non-positive-finite-number.d.mts +70 -55
- package/dist/number/branded-types/non-positive-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/non-positive-finite-number.mjs +55 -43
- package/dist/number/branded-types/non-positive-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/non-positive-int.d.mts +46 -146
- package/dist/number/branded-types/non-positive-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-positive-int.mjs +33 -108
- package/dist/number/branded-types/non-positive-int.mjs.map +1 -1
- package/dist/number/branded-types/non-positive-safe-int.d.mts +62 -54
- package/dist/number/branded-types/non-positive-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-positive-safe-int.mjs +46 -41
- package/dist/number/branded-types/non-positive-safe-int.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-finite-number.d.mts +62 -49
- package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-finite-number.mjs +46 -37
- package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-int.d.mts +51 -38
- package/dist/number/branded-types/non-zero-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-int.mjs +31 -27
- package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-int16.d.mts +59 -54
- package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-int16.mjs +44 -41
- package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-int32.d.mts +59 -55
- package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-int32.mjs +44 -42
- package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-safe-int.d.mts +60 -55
- package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-safe-int.mjs +44 -42
- package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-uint16.d.mts +59 -54
- package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-uint16.mjs +43 -41
- package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-uint32.d.mts +59 -54
- package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-uint32.mjs +43 -41
- package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
- package/dist/number/branded-types/positive-finite-number.d.mts +82 -64
- package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/positive-finite-number.mjs +67 -52
- package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/positive-int.d.mts +53 -70
- package/dist/number/branded-types/positive-int.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int.mjs +42 -52
- package/dist/number/branded-types/positive-int.mjs.map +1 -1
- package/dist/number/branded-types/positive-int16.d.mts +68 -58
- package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int16.mjs +52 -45
- package/dist/number/branded-types/positive-int16.mjs.map +1 -1
- package/dist/number/branded-types/positive-int32.d.mts +68 -58
- package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int32.mjs +52 -45
- package/dist/number/branded-types/positive-int32.mjs.map +1 -1
- package/dist/number/branded-types/positive-safe-int.d.mts +72 -61
- package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/positive-safe-int.mjs +56 -48
- package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
- package/dist/number/branded-types/positive-uint16.d.mts +68 -58
- package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
- package/dist/number/branded-types/positive-uint16.mjs +52 -45
- package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
- package/dist/number/branded-types/positive-uint32.d.mts +68 -59
- package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
- package/dist/number/branded-types/positive-uint32.mjs +52 -46
- package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
- package/dist/number/branded-types/safe-int.d.mts +52 -66
- package/dist/number/branded-types/safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/safe-int.mjs +45 -47
- package/dist/number/branded-types/safe-int.mjs.map +1 -1
- package/dist/number/branded-types/safe-uint.d.mts +68 -58
- package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
- package/dist/number/branded-types/safe-uint.mjs +53 -46
- package/dist/number/branded-types/safe-uint.mjs.map +1 -1
- package/dist/number/branded-types/uint.d.mts +72 -55
- package/dist/number/branded-types/uint.d.mts.map +1 -1
- package/dist/number/branded-types/uint.mjs +52 -45
- package/dist/number/branded-types/uint.mjs.map +1 -1
- package/dist/number/branded-types/uint16.d.mts +66 -59
- package/dist/number/branded-types/uint16.d.mts.map +1 -1
- package/dist/number/branded-types/uint16.mjs +51 -45
- package/dist/number/branded-types/uint16.mjs.map +1 -1
- package/dist/number/branded-types/uint32.d.mts +66 -57
- package/dist/number/branded-types/uint32.d.mts.map +1 -1
- package/dist/number/branded-types/uint32.mjs +50 -45
- package/dist/number/branded-types/uint32.mjs.map +1 -1
- package/dist/number/enum/int8.d.mts +62 -66
- package/dist/number/enum/int8.d.mts.map +1 -1
- package/dist/number/enum/int8.mjs +57 -51
- package/dist/number/enum/int8.mjs.map +1 -1
- package/dist/number/enum/uint8.d.mts +66 -59
- package/dist/number/enum/uint8.d.mts.map +1 -1
- package/dist/number/enum/uint8.mjs +57 -51
- package/dist/number/enum/uint8.mjs.map +1 -1
- package/dist/number/refined-number-utils.d.mts +9 -9
- package/dist/number/refined-number-utils.d.mts.map +1 -1
- package/dist/number/refined-number-utils.mjs +7 -7
- package/dist/number/refined-number-utils.mjs.map +1 -1
- package/package.json +2 -1
- package/src/number/branded-types/finite-number.mts +47 -61
- package/src/number/branded-types/int.mts +40 -46
- package/src/number/branded-types/int16.mts +72 -60
- package/src/number/branded-types/int32.mts +72 -60
- package/src/number/branded-types/negative-finite-number.mts +78 -71
- package/src/number/branded-types/negative-finite-number.test.mts +4 -4
- package/src/number/branded-types/negative-int.mts +68 -60
- package/src/number/branded-types/negative-int.test.mts +5 -5
- package/src/number/branded-types/negative-safe-int.mts +66 -68
- package/src/number/branded-types/negative-safe-int.test.mts +4 -4
- package/src/number/branded-types/non-negative-finite-number.mts +81 -66
- package/src/number/branded-types/non-negative-int16.mts +72 -59
- package/src/number/branded-types/non-negative-int32.mts +72 -60
- package/src/number/branded-types/non-positive-finite-number.mts +71 -56
- package/src/number/branded-types/non-positive-finite-number.test.mts +7 -7
- package/src/number/branded-types/non-positive-int.mts +47 -147
- package/src/number/branded-types/non-positive-int.test.mts +7 -7
- package/src/number/branded-types/non-positive-safe-int.mts +63 -55
- package/src/number/branded-types/non-positive-safe-int.test.mts +7 -7
- package/src/number/branded-types/non-zero-finite-number.mts +62 -51
- package/src/number/branded-types/non-zero-int.mts +51 -38
- package/src/number/branded-types/non-zero-int16.mts +60 -55
- package/src/number/branded-types/non-zero-int32.mts +60 -56
- package/src/number/branded-types/non-zero-safe-int.mts +61 -56
- package/src/number/branded-types/non-zero-uint16.mts +60 -55
- package/src/number/branded-types/non-zero-uint32.mts +60 -55
- package/src/number/branded-types/positive-finite-number.mts +83 -65
- package/src/number/branded-types/positive-int.mts +54 -71
- package/src/number/branded-types/positive-int16.mts +69 -59
- package/src/number/branded-types/positive-int32.mts +69 -59
- package/src/number/branded-types/positive-safe-int.mts +73 -62
- package/src/number/branded-types/positive-uint16.mts +69 -59
- package/src/number/branded-types/positive-uint32.mts +69 -60
- package/src/number/branded-types/safe-int.mts +53 -67
- package/src/number/branded-types/safe-uint.mts +69 -59
- package/src/number/branded-types/uint.mts +73 -56
- package/src/number/branded-types/uint16.mts +67 -60
- package/src/number/branded-types/uint32.mts +67 -58
- package/src/number/enum/int8.mts +70 -73
- package/src/number/enum/int8.test.mts +7 -4
- package/src/number/enum/uint8.mts +74 -66
- package/src/number/enum/uint8.test.mts +7 -4
- package/src/number/refined-number-utils.mts +22 -19
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { type Int32 as TtfImported_Int32 } from 'ts-type-forge';
|
|
2
2
|
export type Int32 = TtfImported_Int32;
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* 2^31)).
|
|
4
|
+
* Type guard that checks if a value is an integer in [-2^31, 2^31).
|
|
6
5
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Returns `true` for an integer in [-2^31, 2^31) — a value with no fractional
|
|
7
|
+
* component.
|
|
8
|
+
*
|
|
9
|
+
* @param value - The value to check
|
|
10
|
+
* @returns `true` if the value is an integer in [-2^31, 2^31), `false` otherwise
|
|
9
11
|
*/
|
|
10
12
|
export declare const isInt32: (a: number) => a is TtfImported_Int32;
|
|
11
13
|
/**
|
|
12
|
-
* Casts a number to
|
|
14
|
+
* Casts a `number` to the `Int32` branded type.
|
|
15
|
+
*
|
|
16
|
+
* Validates that the value is an integer in [-2^31, 2^31) and returns it with
|
|
17
|
+
* the `Int32` brand. Throws a `TypeError` otherwise.
|
|
13
18
|
*
|
|
14
|
-
* @param value The value to cast
|
|
15
|
-
* @returns The value as an Int32
|
|
16
|
-
* @throws {TypeError} If the value is not an integer in [-2^31, 2^31)
|
|
19
|
+
* @param value - The value to cast
|
|
20
|
+
* @returns The value as an `Int32`
|
|
21
|
+
* @throws {TypeError} If the value is not an integer in [-2^31, 2^31)
|
|
17
22
|
*/
|
|
18
23
|
export declare const asInt32: <N extends number>(x: N) => number & {
|
|
19
24
|
readonly "< 2^31": true;
|
|
@@ -28,107 +33,114 @@ export declare const asInt32: <N extends number>(x: N) => number & {
|
|
|
28
33
|
'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
|
|
29
34
|
}> & N;
|
|
30
35
|
/**
|
|
31
|
-
* Namespace providing type-safe
|
|
32
|
-
* integers.
|
|
36
|
+
* Namespace providing type-safe operations for the `Int32` branded type.
|
|
33
37
|
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* 32-bit signed integer constraint, preventing overflow.
|
|
38
|
+
* The `Int32` type represents an integer in [-2^31, 2^31). Division (`div`)
|
|
39
|
+
* uses floor division.
|
|
37
40
|
*/
|
|
38
41
|
export declare const Int32: {
|
|
39
42
|
/**
|
|
40
|
-
* Type guard
|
|
43
|
+
* Type guard that checks if a value is an integer in [-2^31, 2^31).
|
|
41
44
|
*
|
|
42
|
-
* @param value The value to check
|
|
43
|
-
* @returns `true` if the value is
|
|
45
|
+
* @param value - The value to check
|
|
46
|
+
* @returns `true` if the value is an integer in [-2^31, 2^31), `false` otherwise
|
|
47
|
+
* @see {@link isInt32} for usage examples
|
|
44
48
|
*/
|
|
45
49
|
readonly is: (a: number) => a is TtfImported_Int32;
|
|
46
50
|
/**
|
|
47
|
-
* The
|
|
48
|
-
*
|
|
49
|
-
* @readonly
|
|
51
|
+
* The smallest value representable as `Int32` (the lower saturation target of
|
|
52
|
+
* `fromNumber`).
|
|
50
53
|
*/
|
|
51
54
|
readonly MIN_VALUE: number;
|
|
52
55
|
/**
|
|
53
|
-
* The
|
|
54
|
-
*
|
|
55
|
-
* @readonly
|
|
56
|
+
* The largest value representable as `Int32` (the upper saturation target of
|
|
57
|
+
* `fromNumber`).
|
|
56
58
|
*/
|
|
57
59
|
readonly MAX_VALUE: number;
|
|
58
60
|
/**
|
|
59
|
-
* Returns the absolute value of
|
|
61
|
+
* Returns the absolute value of an integer in [-2^31, 2^31).
|
|
60
62
|
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
+
* The result is non-negative and keeps the `Int32` brand.
|
|
64
|
+
*
|
|
65
|
+
* @param a - The integer value
|
|
66
|
+
* @returns The absolute value as a non-negative `Int32`
|
|
63
67
|
*/
|
|
64
68
|
readonly abs: (x: import("ts-type-forge").WithSmallInt<TtfImported_Int32>) => import("ts-type-forge").IntersectBrand<TtfImported_Int32, import("ts-type-forge").NonNegativeNumber>;
|
|
65
69
|
/**
|
|
66
|
-
* Returns the
|
|
70
|
+
* Returns the smallest of the given integers.
|
|
67
71
|
*
|
|
68
|
-
* @param
|
|
69
|
-
* @
|
|
70
|
-
* @returns The minimum value as an Int32.
|
|
72
|
+
* @param values - The integers to compare (at least one required)
|
|
73
|
+
* @returns The smallest value as an `Int32`
|
|
71
74
|
*/
|
|
72
75
|
readonly min: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_Int32>[]) => TtfImported_Int32;
|
|
73
76
|
/**
|
|
74
|
-
* Returns the
|
|
77
|
+
* Returns the largest of the given integers.
|
|
75
78
|
*
|
|
76
|
-
* @param
|
|
77
|
-
* @
|
|
78
|
-
* @returns The maximum value as an Int32.
|
|
79
|
+
* @param values - The integers to compare (at least one required)
|
|
80
|
+
* @returns The largest value as an `Int32`
|
|
79
81
|
*/
|
|
80
82
|
readonly max: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_Int32>[]) => TtfImported_Int32;
|
|
81
83
|
/**
|
|
82
|
-
*
|
|
84
|
+
* Converts an arbitrary `number` into an `Int32`, rounding to the nearest
|
|
85
|
+
* integer and saturating the result into the range `[MIN_VALUE, MAX_VALUE]`.
|
|
86
|
+
*
|
|
87
|
+
* Unlike `asInt32`, this is total: out-of-range inputs are clamped to the
|
|
88
|
+
* nearest representable `Int32` instead of throwing.
|
|
83
89
|
*
|
|
84
|
-
* @param value The
|
|
85
|
-
* @returns The value
|
|
90
|
+
* @param value - The value to convert
|
|
91
|
+
* @returns The value as an `Int32`
|
|
86
92
|
*/
|
|
87
|
-
readonly
|
|
93
|
+
readonly fromNumber: (x: number) => TtfImported_Int32;
|
|
88
94
|
/**
|
|
89
|
-
* Generates a random Int32
|
|
95
|
+
* Generates a random `Int32` within the given range.
|
|
96
|
+
*
|
|
97
|
+
* The range is inclusive on both ends.
|
|
90
98
|
*
|
|
91
|
-
* @
|
|
99
|
+
* @param min - The minimum value (inclusive)
|
|
100
|
+
* @param max - The maximum value (inclusive)
|
|
101
|
+
* @returns A random `Int32` in `[min, max]`
|
|
92
102
|
*/
|
|
93
103
|
readonly random: (min?: import("ts-type-forge").WithSmallInt<TtfImported_Int32> | undefined, max?: import("ts-type-forge").WithSmallInt<TtfImported_Int32> | undefined) => TtfImported_Int32;
|
|
94
104
|
/**
|
|
95
|
-
* Raises
|
|
105
|
+
* Raises `a` to the power `b`, returning `a ** b` as an `Int32` (floored to
|
|
106
|
+
* an integer).
|
|
96
107
|
*
|
|
97
|
-
* @param a The base
|
|
98
|
-
* @param b The exponent
|
|
99
|
-
* @returns `a ** b`
|
|
108
|
+
* @param a - The base integer
|
|
109
|
+
* @param b - The exponent integer
|
|
110
|
+
* @returns `a ** b` as an `Int32`
|
|
100
111
|
*/
|
|
101
112
|
readonly pow: (x: import("ts-type-forge").WithSmallInt<TtfImported_Int32>, y: import("ts-type-forge").WithSmallInt<TtfImported_Int32>) => TtfImported_Int32;
|
|
102
113
|
/**
|
|
103
|
-
* Adds two Int32
|
|
114
|
+
* Adds two integers, returning `a + b` as an `Int32`.
|
|
104
115
|
*
|
|
105
|
-
* @param a The first
|
|
106
|
-
* @param b The second
|
|
107
|
-
* @returns `a
|
|
116
|
+
* @param a - The first integer
|
|
117
|
+
* @param b - The second integer
|
|
118
|
+
* @returns The sum of `a` and `b` as an `Int32`
|
|
108
119
|
*/
|
|
109
120
|
readonly add: (x: import("ts-type-forge").WithSmallInt<TtfImported_Int32>, y: import("ts-type-forge").WithSmallInt<TtfImported_Int32>) => TtfImported_Int32;
|
|
110
121
|
/**
|
|
111
|
-
* Subtracts
|
|
122
|
+
* Subtracts two integers, returning `a - b` as an `Int32`.
|
|
112
123
|
*
|
|
113
|
-
* @param a The
|
|
114
|
-
* @param b The
|
|
115
|
-
* @returns `a
|
|
124
|
+
* @param a - The first integer
|
|
125
|
+
* @param b - The second integer
|
|
126
|
+
* @returns The difference of `a` and `b` as an `Int32`
|
|
116
127
|
*/
|
|
117
128
|
readonly sub: (x: import("ts-type-forge").WithSmallInt<TtfImported_Int32>, y: import("ts-type-forge").WithSmallInt<TtfImported_Int32>) => TtfImported_Int32;
|
|
118
129
|
/**
|
|
119
|
-
* Multiplies two Int32
|
|
130
|
+
* Multiplies two integers, returning `a * b` as an `Int32`.
|
|
120
131
|
*
|
|
121
|
-
* @param a The first
|
|
122
|
-
* @param b The second
|
|
123
|
-
* @returns `a
|
|
132
|
+
* @param a - The first integer
|
|
133
|
+
* @param b - The second integer
|
|
134
|
+
* @returns The product of `a` and `b` as an `Int32`
|
|
124
135
|
*/
|
|
125
136
|
readonly mul: (x: import("ts-type-forge").WithSmallInt<TtfImported_Int32>, y: import("ts-type-forge").WithSmallInt<TtfImported_Int32>) => TtfImported_Int32;
|
|
126
137
|
/**
|
|
127
|
-
* Divides
|
|
138
|
+
* Divides two integers using floor division (`⌊a / b⌋`): the result is `a /
|
|
139
|
+
* b` rounded toward negative infinity, as an `Int32`.
|
|
128
140
|
*
|
|
129
|
-
* @param a The dividend
|
|
130
|
-
* @param b The divisor
|
|
131
|
-
* @returns
|
|
141
|
+
* @param a - The dividend
|
|
142
|
+
* @param b - The divisor (must be non-zero)
|
|
143
|
+
* @returns The floored quotient as an `Int32`
|
|
132
144
|
*/
|
|
133
145
|
readonly div: (x: import("ts-type-forge").WithSmallInt<TtfImported_Int32>, y: -40 | -39 | -38 | -37 | -36 | -35 | -34 | -33 | -32 | -31 | -30 | -29 | -28 | -27 | -26 | -25 | -24 | -23 | -22 | -21 | -20 | -19 | -18 | -17 | -16 | -15 | -14 | -13 | -12 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 | 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 & {
|
|
134
146
|
readonly "!=0": true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"int32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/int32.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIhE,MAAM,MAAM,KAAK,GAAG,iBAAiB,CAAC;AAgCtC
|
|
1
|
+
{"version":3,"file":"int32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/int32.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIhE,MAAM,MAAM,KAAK,GAAG,iBAAiB,CAAC;AAgCtC;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,uCAAK,CAAC;AAE1B;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;MAAW,CAAC;AAEhC;;;;;GAKG;AACH,eAAO,MAAM,KAAK;IAChB;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;;;;OAOG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;;;;;;;;;;;;;CAEK,CAAC"}
|
|
@@ -7,8 +7,8 @@ const {
|
|
|
7
7
|
abs,
|
|
8
8
|
add,
|
|
9
9
|
castType,
|
|
10
|
-
clamp,
|
|
11
10
|
div,
|
|
11
|
+
fromNumber,
|
|
12
12
|
is,
|
|
13
13
|
max: max_,
|
|
14
14
|
min: min_,
|
|
@@ -26,98 +26,107 @@ const isInt32 = is;
|
|
|
26
26
|
const asInt32 = castType;
|
|
27
27
|
const Int32 = {
|
|
28
28
|
/**
|
|
29
|
-
* Type guard
|
|
29
|
+
* Type guard that checks if a value is an integer in [-2^31, 2^31).
|
|
30
30
|
*
|
|
31
|
-
* @param value The value to check
|
|
32
|
-
* @returns `true` if the value is
|
|
31
|
+
* @param value - The value to check
|
|
32
|
+
* @returns `true` if the value is an integer in [-2^31, 2^31), `false` otherwise
|
|
33
|
+
* @see {@link isInt32} for usage examples
|
|
33
34
|
*/
|
|
34
35
|
is,
|
|
35
36
|
/**
|
|
36
|
-
* The
|
|
37
|
-
*
|
|
38
|
-
* @readonly
|
|
37
|
+
* The smallest value representable as `Int32` (the lower saturation target of
|
|
38
|
+
* `fromNumber`).
|
|
39
39
|
*/
|
|
40
40
|
MIN_VALUE,
|
|
41
41
|
/**
|
|
42
|
-
* The
|
|
43
|
-
*
|
|
44
|
-
* @readonly
|
|
42
|
+
* The largest value representable as `Int32` (the upper saturation target of
|
|
43
|
+
* `fromNumber`).
|
|
45
44
|
*/
|
|
46
45
|
MAX_VALUE,
|
|
47
46
|
/**
|
|
48
|
-
* Returns the absolute value of
|
|
47
|
+
* Returns the absolute value of an integer in [-2^31, 2^31).
|
|
48
|
+
*
|
|
49
|
+
* The result is non-negative and keeps the `Int32` brand.
|
|
49
50
|
*
|
|
50
|
-
* @param a The
|
|
51
|
-
* @returns The absolute value as
|
|
51
|
+
* @param a - The integer value
|
|
52
|
+
* @returns The absolute value as a non-negative `Int32`
|
|
52
53
|
*/
|
|
53
54
|
abs,
|
|
54
55
|
/**
|
|
55
|
-
* Returns the
|
|
56
|
+
* Returns the smallest of the given integers.
|
|
56
57
|
*
|
|
57
|
-
* @param
|
|
58
|
-
* @
|
|
59
|
-
* @returns The minimum value as an Int32.
|
|
58
|
+
* @param values - The integers to compare (at least one required)
|
|
59
|
+
* @returns The smallest value as an `Int32`
|
|
60
60
|
*/
|
|
61
61
|
min: min_,
|
|
62
62
|
/**
|
|
63
|
-
* Returns the
|
|
63
|
+
* Returns the largest of the given integers.
|
|
64
64
|
*
|
|
65
|
-
* @param
|
|
66
|
-
* @
|
|
67
|
-
* @returns The maximum value as an Int32.
|
|
65
|
+
* @param values - The integers to compare (at least one required)
|
|
66
|
+
* @returns The largest value as an `Int32`
|
|
68
67
|
*/
|
|
69
68
|
max: max_,
|
|
70
69
|
/**
|
|
71
|
-
*
|
|
70
|
+
* Converts an arbitrary `number` into an `Int32`, rounding to the nearest
|
|
71
|
+
* integer and saturating the result into the range `[MIN_VALUE, MAX_VALUE]`.
|
|
72
72
|
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
73
|
+
* Unlike `asInt32`, this is total: out-of-range inputs are clamped to the
|
|
74
|
+
* nearest representable `Int32` instead of throwing.
|
|
75
|
+
*
|
|
76
|
+
* @param value - The value to convert
|
|
77
|
+
* @returns The value as an `Int32`
|
|
75
78
|
*/
|
|
76
|
-
|
|
79
|
+
fromNumber,
|
|
77
80
|
/**
|
|
78
|
-
* Generates a random Int32
|
|
81
|
+
* Generates a random `Int32` within the given range.
|
|
82
|
+
*
|
|
83
|
+
* The range is inclusive on both ends.
|
|
79
84
|
*
|
|
80
|
-
* @
|
|
85
|
+
* @param min - The minimum value (inclusive)
|
|
86
|
+
* @param max - The maximum value (inclusive)
|
|
87
|
+
* @returns A random `Int32` in `[min, max]`
|
|
81
88
|
*/
|
|
82
89
|
random,
|
|
83
90
|
/**
|
|
84
|
-
* Raises
|
|
91
|
+
* Raises `a` to the power `b`, returning `a ** b` as an `Int32` (floored to
|
|
92
|
+
* an integer).
|
|
85
93
|
*
|
|
86
|
-
* @param a The base
|
|
87
|
-
* @param b The exponent
|
|
88
|
-
* @returns `a ** b`
|
|
94
|
+
* @param a - The base integer
|
|
95
|
+
* @param b - The exponent integer
|
|
96
|
+
* @returns `a ** b` as an `Int32`
|
|
89
97
|
*/
|
|
90
98
|
pow,
|
|
91
99
|
/**
|
|
92
|
-
* Adds two Int32
|
|
100
|
+
* Adds two integers, returning `a + b` as an `Int32`.
|
|
93
101
|
*
|
|
94
|
-
* @param a The first
|
|
95
|
-
* @param b The second
|
|
96
|
-
* @returns `a
|
|
102
|
+
* @param a - The first integer
|
|
103
|
+
* @param b - The second integer
|
|
104
|
+
* @returns The sum of `a` and `b` as an `Int32`
|
|
97
105
|
*/
|
|
98
106
|
add,
|
|
99
107
|
/**
|
|
100
|
-
* Subtracts
|
|
108
|
+
* Subtracts two integers, returning `a - b` as an `Int32`.
|
|
101
109
|
*
|
|
102
|
-
* @param a The
|
|
103
|
-
* @param b The
|
|
104
|
-
* @returns `a
|
|
110
|
+
* @param a - The first integer
|
|
111
|
+
* @param b - The second integer
|
|
112
|
+
* @returns The difference of `a` and `b` as an `Int32`
|
|
105
113
|
*/
|
|
106
114
|
sub,
|
|
107
115
|
/**
|
|
108
|
-
* Multiplies two Int32
|
|
116
|
+
* Multiplies two integers, returning `a * b` as an `Int32`.
|
|
109
117
|
*
|
|
110
|
-
* @param a The first
|
|
111
|
-
* @param b The second
|
|
112
|
-
* @returns `a
|
|
118
|
+
* @param a - The first integer
|
|
119
|
+
* @param b - The second integer
|
|
120
|
+
* @returns The product of `a` and `b` as an `Int32`
|
|
113
121
|
*/
|
|
114
122
|
mul,
|
|
115
123
|
/**
|
|
116
|
-
* Divides
|
|
124
|
+
* Divides two integers using floor division (`⌊a / b⌋`): the result is `a /
|
|
125
|
+
* b` rounded toward negative infinity, as an `Int32`.
|
|
117
126
|
*
|
|
118
|
-
* @param a The dividend
|
|
119
|
-
* @param b The divisor
|
|
120
|
-
* @returns
|
|
127
|
+
* @param a - The dividend
|
|
128
|
+
* @param b - The divisor (must be non-zero)
|
|
129
|
+
* @returns The floored quotient as an `Int32`
|
|
121
130
|
*/
|
|
122
131
|
div
|
|
123
132
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"int32.mjs","sources":["../../../src/number/branded-types/int32.mts"],"sourcesContent":["import { type Int32 as TtfImported_Int32 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type Int32 = TtfImported_Int32;\n\ntype ElementType = Int32;\n\nconst typeNameInMessage = 'an integer in [-2^31, 2^31)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n abs,\n add,\n castType,\n
|
|
1
|
+
{"version":3,"file":"int32.mjs","sources":["../../../src/number/branded-types/int32.mts"],"sourcesContent":["import { type Int32 as TtfImported_Int32 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type Int32 = TtfImported_Int32;\n\ntype ElementType = Int32;\n\nconst typeNameInMessage = 'an integer in [-2^31, 2^31)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n abs,\n add,\n castType,\n div,\n fromNumber,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n number,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n MIN_VALUE: -(2 ** 31),\n MAX_VALUE: 2 ** 31 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n * Type guard that checks if a value is an integer in [-2^31, 2^31).\n *\n * Returns `true` for an integer in [-2^31, 2^31) — a value with no fractional\n * component.\n *\n * @param value - The value to check\n * @returns `true` if the value is an integer in [-2^31, 2^31), `false` otherwise\n */\nexport const isInt32 = is;\n\n/**\n * Casts a `number` to the `Int32` branded type.\n *\n * Validates that the value is an integer in [-2^31, 2^31) and returns it with\n * the `Int32` brand. Throws a `TypeError` otherwise.\n *\n * @param value - The value to cast\n * @returns The value as an `Int32`\n * @throws {TypeError} If the value is not an integer in [-2^31, 2^31)\n */\nexport const asInt32 = castType;\n\n/**\n * Namespace providing type-safe operations for the `Int32` branded type.\n *\n * The `Int32` type represents an integer in [-2^31, 2^31). Division (`div`)\n * uses floor division.\n */\nexport const Int32 = {\n /**\n * Type guard that checks if a value is an integer in [-2^31, 2^31).\n *\n * @param value - The value to check\n * @returns `true` if the value is an integer in [-2^31, 2^31), `false` otherwise\n * @see {@link isInt32} for usage examples\n */\n is,\n\n /**\n * The smallest value representable as `Int32` (the lower saturation target of\n * `fromNumber`).\n */\n MIN_VALUE,\n\n /**\n * The largest value representable as `Int32` (the upper saturation target of\n * `fromNumber`).\n */\n MAX_VALUE,\n\n /**\n * Returns the absolute value of an integer in [-2^31, 2^31).\n *\n * The result is non-negative and keeps the `Int32` brand.\n *\n * @param a - The integer value\n * @returns The absolute value as a non-negative `Int32`\n */\n abs,\n\n /**\n * Returns the smallest of the given integers.\n *\n * @param values - The integers to compare (at least one required)\n * @returns The smallest value as an `Int32`\n */\n min: min_,\n\n /**\n * Returns the largest of the given integers.\n *\n * @param values - The integers to compare (at least one required)\n * @returns The largest value as an `Int32`\n */\n max: max_,\n\n /**\n * Converts an arbitrary `number` into an `Int32`, rounding to the nearest\n * integer and saturating the result into the range `[MIN_VALUE, MAX_VALUE]`.\n *\n * Unlike `asInt32`, this is total: out-of-range inputs are clamped to the\n * nearest representable `Int32` instead of throwing.\n *\n * @param value - The value to convert\n * @returns The value as an `Int32`\n */\n fromNumber,\n\n /**\n * Generates a random `Int32` 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 `Int32` in `[min, max]`\n */\n random,\n\n /**\n * Raises `a` to the power `b`, returning `a ** b` as an `Int32` (floored to\n * an integer).\n *\n * @param a - The base integer\n * @param b - The exponent integer\n * @returns `a ** b` as an `Int32`\n */\n pow,\n\n /**\n * Adds two integers, returning `a + b` as an `Int32`.\n *\n * @param a - The first integer\n * @param b - The second integer\n * @returns The sum of `a` and `b` as an `Int32`\n */\n add,\n\n /**\n * Subtracts two integers, returning `a - b` as an `Int32`.\n *\n * @param a - The first integer\n * @param b - The second integer\n * @returns The difference of `a` and `b` as an `Int32`\n */\n sub,\n\n /**\n * Multiplies two integers, returning `a * b` as an `Int32`.\n *\n * @param a - The first integer\n * @param b - The second integer\n * @returns The product of `a` and `b` as an `Int32`\n */\n mul,\n\n /**\n * Divides two integers using floor division (`⌊a / b⌋`): the result is `a /\n * b` rounded toward negative infinity, as an `Int32`.\n *\n * @param a - The dividend\n * @param b - The divisor (must be non-zero)\n * @returns The floored quotient as an `Int32`\n */\n div,\n} as const;\n\nexpectType<\n keyof typeof Int32,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'range'\n >\n>('=');\n\nexpectType<\n typeof Int32,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'range'\n >\n>('<=');\n"],"names":[],"mappings":";;AAQA,MAAM,iBAAA,GAAoB,6BAAA;AAE1B,MAAM;AAAA,EACJ,SAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAA;AAAA,EACA,UAAA;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,WAAO;AAAA,EAClB,SAAA,EAAW,KAAK,EAAA,GAAK,CAAA;AAAA,EACrB;AACF,CAAU,CAAA;AAWH,MAAM,OAAA,GAAU;AAYhB,MAAM,OAAA,GAAU;AAQhB,MAAM,KAAA,GAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQnB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,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;AAAA;AAAA;AAAA,EAYL,UAAA;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;;;;"}
|
|
@@ -4,18 +4,24 @@ import { PositiveFiniteNumber } from './positive-finite-number.mjs';
|
|
|
4
4
|
export type NegativeFiniteNumber = TtfImported_NegativeFiniteNumber;
|
|
5
5
|
type ElementType = NegativeFiniteNumber;
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Type guard that checks if a value is a negative finite number.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Returns `true` only for a finite value — never `NaN`, `Infinity`, or
|
|
10
|
+
* `-Infinity`.
|
|
11
|
+
*
|
|
12
|
+
* @param value - The value to check
|
|
13
|
+
* @returns `true` if the value is a negative finite number, `false` otherwise
|
|
11
14
|
*/
|
|
12
15
|
export declare const isNegativeFiniteNumber: (a: number) => a is TtfImported_NegativeFiniteNumber;
|
|
13
16
|
/**
|
|
14
|
-
* Casts a number to
|
|
17
|
+
* Casts a `number` to the `NegativeFiniteNumber` branded type.
|
|
18
|
+
*
|
|
19
|
+
* Validates that the value is a negative finite number and returns it with the
|
|
20
|
+
* `NegativeFiniteNumber` brand. Throws a `TypeError` otherwise.
|
|
15
21
|
*
|
|
16
|
-
* @param value The value to cast
|
|
17
|
-
* @returns The value as a NegativeFiniteNumber
|
|
18
|
-
* @throws {TypeError} If the value is not a negative finite number
|
|
22
|
+
* @param value - The value to cast
|
|
23
|
+
* @returns The value as a `NegativeFiniteNumber`
|
|
24
|
+
* @throws {TypeError} If the value is not a negative finite number
|
|
19
25
|
*/
|
|
20
26
|
export declare const asNegativeFiniteNumber: <N extends number>(x: N) => number & {
|
|
21
27
|
readonly "!=0": true;
|
|
@@ -31,111 +37,121 @@ export declare const asNegativeFiniteNumber: <N extends number>(x: N) => number
|
|
|
31
37
|
'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
|
|
32
38
|
}> & N;
|
|
33
39
|
/**
|
|
34
|
-
* Namespace providing type-safe
|
|
35
|
-
*
|
|
40
|
+
* Namespace providing type-safe operations for the `NegativeFiniteNumber`
|
|
41
|
+
* branded type.
|
|
36
42
|
*
|
|
37
|
-
*
|
|
38
|
-
* that stay within the negative finite numbers clamp their results to the valid
|
|
39
|
-
* range, while operations whose result leaves the set (`mul`, `div`, `abs`) are
|
|
40
|
-
* typed to reflect the actual sign of the result.
|
|
43
|
+
* The `NegativeFiniteNumber` type represents a negative finite number.
|
|
41
44
|
*/
|
|
42
45
|
export declare const NegativeFiniteNumber: {
|
|
43
46
|
/**
|
|
44
|
-
* Type guard
|
|
47
|
+
* Type guard that checks if a value is a negative finite number.
|
|
45
48
|
*
|
|
46
|
-
* @param value The value to check
|
|
47
|
-
* @returns `true` if the value is a negative finite number, `false`
|
|
48
|
-
*
|
|
49
|
+
* @param value - The value to check
|
|
50
|
+
* @returns `true` if the value is a negative finite number, `false` otherwise
|
|
51
|
+
* @see {@link isNegativeFiniteNumber} for usage examples
|
|
49
52
|
*/
|
|
50
53
|
readonly is: (a: number) => a is TtfImported_NegativeFiniteNumber;
|
|
51
54
|
/**
|
|
52
|
-
* The
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
+
* The largest value representable as `NegativeFiniteNumber` (the upper
|
|
56
|
+
* saturation target of `fromNumber`). The domain is open at `0` (excluded),
|
|
57
|
+
* so this is `-Number.MIN_VALUE` — the negative double closest to `0` —
|
|
58
|
+
* rather than `0`.
|
|
55
59
|
*/
|
|
56
60
|
readonly MAX_VALUE: number;
|
|
57
61
|
/**
|
|
58
62
|
* Returns the absolute value of a negative finite number.
|
|
59
63
|
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
64
|
+
* The result is non-negative and keeps the `NegativeFiniteNumber` brand.
|
|
65
|
+
*
|
|
66
|
+
* @param a - The negative finite number value
|
|
67
|
+
* @returns The absolute value as a non-negative `NegativeFiniteNumber`
|
|
62
68
|
*/
|
|
63
69
|
readonly abs: (x: ElementType) => PositiveFiniteNumber;
|
|
64
70
|
/**
|
|
65
|
-
* Returns the
|
|
71
|
+
* Returns the smallest of the given negative finite numbers.
|
|
66
72
|
*
|
|
67
|
-
* @param
|
|
68
|
-
* @
|
|
69
|
-
* @returns The minimum value as a NegativeFiniteNumber.
|
|
73
|
+
* @param values - The negative finite numbers to compare (at least one required)
|
|
74
|
+
* @returns The smallest value as a `NegativeFiniteNumber`
|
|
70
75
|
*/
|
|
71
76
|
readonly min: (...values: readonly TtfImported_NegativeFiniteNumber[]) => TtfImported_NegativeFiniteNumber;
|
|
72
77
|
/**
|
|
73
|
-
* Returns the
|
|
78
|
+
* Returns the largest of the given negative finite numbers.
|
|
74
79
|
*
|
|
75
|
-
* @param
|
|
76
|
-
* @
|
|
77
|
-
* @returns The maximum value as a NegativeFiniteNumber.
|
|
80
|
+
* @param values - The negative finite numbers to compare (at least one required)
|
|
81
|
+
* @returns The largest value as a `NegativeFiniteNumber`
|
|
78
82
|
*/
|
|
79
83
|
readonly max: (...values: readonly TtfImported_NegativeFiniteNumber[]) => TtfImported_NegativeFiniteNumber;
|
|
80
84
|
/**
|
|
81
|
-
*
|
|
85
|
+
* Converts an arbitrary `number` into a `NegativeFiniteNumber`, saturating it
|
|
86
|
+
* into the range `[MIN_VALUE, MAX_VALUE]`.
|
|
82
87
|
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
88
|
+
* Unlike `asNegativeFiniteNumber`, this is total: out-of-range inputs are
|
|
89
|
+
* clamped to the nearest representable `NegativeFiniteNumber` instead of
|
|
90
|
+
* throwing.
|
|
91
|
+
*
|
|
92
|
+
* @param value - The value to convert
|
|
93
|
+
* @returns The value as a `NegativeFiniteNumber`
|
|
85
94
|
*/
|
|
86
|
-
readonly
|
|
95
|
+
readonly fromNumber: (x: number) => TtfImported_NegativeFiniteNumber;
|
|
87
96
|
/**
|
|
88
|
-
*
|
|
97
|
+
* Returns the greatest integer less than or equal to a negative finite
|
|
98
|
+
* number.
|
|
89
99
|
*
|
|
90
|
-
* @param
|
|
91
|
-
* @returns The
|
|
100
|
+
* @param a - The negative finite number value
|
|
101
|
+
* @returns The floored value as an integer
|
|
92
102
|
*/
|
|
93
103
|
readonly floor: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;
|
|
94
104
|
/**
|
|
95
|
-
*
|
|
105
|
+
* Returns the smallest integer greater than or equal to a negative finite
|
|
106
|
+
* number.
|
|
96
107
|
*
|
|
97
|
-
* @param
|
|
98
|
-
* @returns The
|
|
108
|
+
* @param a - The negative finite number value
|
|
109
|
+
* @returns The ceiled value as an integer
|
|
99
110
|
*/
|
|
100
111
|
readonly ceil: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>>;
|
|
101
112
|
/**
|
|
102
|
-
*
|
|
113
|
+
* Returns the value of a negative finite number rounded to the nearest
|
|
114
|
+
* integer.
|
|
103
115
|
*
|
|
104
|
-
* @param
|
|
105
|
-
* @returns The rounded value as
|
|
116
|
+
* @param a - The negative finite number value
|
|
117
|
+
* @returns The rounded value as an integer
|
|
106
118
|
*/
|
|
107
119
|
readonly round: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>>;
|
|
108
120
|
/**
|
|
109
|
-
* Generates a random NegativeFiniteNumber
|
|
121
|
+
* Generates a random `NegativeFiniteNumber` within the given range.
|
|
122
|
+
*
|
|
123
|
+
* The range is inclusive on both ends.
|
|
110
124
|
*
|
|
111
|
-
* @
|
|
125
|
+
* @param min - The minimum value (inclusive)
|
|
126
|
+
* @param max - The maximum value (inclusive)
|
|
127
|
+
* @returns A random `NegativeFiniteNumber` in `[min, max]`
|
|
112
128
|
*/
|
|
113
129
|
readonly random: (min?: TtfImported_NegativeFiniteNumber | undefined, max?: TtfImported_NegativeFiniteNumber | undefined) => TtfImported_NegativeFiniteNumber;
|
|
114
130
|
/**
|
|
115
|
-
* Raises a
|
|
131
|
+
* Raises `a` to the power `b`, returning `a ** b` as a
|
|
132
|
+
* `NegativeFiniteNumber`.
|
|
116
133
|
*
|
|
117
|
-
* @param a The base
|
|
118
|
-
* @param b The exponent
|
|
119
|
-
* @returns `a ** b`
|
|
134
|
+
* @param a - The base negative finite number
|
|
135
|
+
* @param b - The exponent negative finite number
|
|
136
|
+
* @returns `a ** b` as a `NegativeFiniteNumber`
|
|
120
137
|
*/
|
|
121
138
|
readonly pow: (x: TtfImported_NegativeFiniteNumber, y: TtfImported_NegativeFiniteNumber) => TtfImported_NegativeFiniteNumber;
|
|
122
139
|
/**
|
|
123
|
-
* Adds two
|
|
140
|
+
* Adds two negative finite numbers, returning `a + b` as a
|
|
141
|
+
* `NegativeFiniteNumber`.
|
|
124
142
|
*
|
|
125
|
-
* @param a The first
|
|
126
|
-
* @param b The second
|
|
127
|
-
* @returns `a
|
|
143
|
+
* @param a - The first negative finite number
|
|
144
|
+
* @param b - The second negative finite number
|
|
145
|
+
* @returns The sum of `a` and `b` as a `NegativeFiniteNumber`
|
|
128
146
|
*/
|
|
129
147
|
readonly add: (x: TtfImported_NegativeFiniteNumber, y: TtfImported_NegativeFiniteNumber) => TtfImported_NegativeFiniteNumber;
|
|
130
148
|
/**
|
|
131
|
-
* Subtracts
|
|
132
|
-
*
|
|
133
|
-
* The mathematical result can be positive, so it is clamped to the negative
|
|
134
|
-
* finite range (maximum `-Number.MIN_VALUE`).
|
|
149
|
+
* Subtracts two negative finite numbers, returning `a - b` as a
|
|
150
|
+
* `NegativeFiniteNumber`.
|
|
135
151
|
*
|
|
136
|
-
* @param a The
|
|
137
|
-
* @param b The
|
|
138
|
-
* @returns
|
|
152
|
+
* @param a - The first negative finite number
|
|
153
|
+
* @param b - The second negative finite number
|
|
154
|
+
* @returns The difference of `a` and `b` as a `NegativeFiniteNumber`
|
|
139
155
|
*/
|
|
140
156
|
readonly sub: (x: TtfImported_NegativeFiniteNumber, y: TtfImported_NegativeFiniteNumber) => TtfImported_NegativeFiniteNumber;
|
|
141
157
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"negative-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/negative-finite-number.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,IAAI,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AAEpE,KAAK,WAAW,GAAG,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"negative-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/negative-finite-number.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,IAAI,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AAEpE,KAAK,WAAW,GAAG,oBAAoB,CAAC;AAyDxC;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,sDAAK,CAAC;AAEzC;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;MAAW,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;IAC/B;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;;;;OAOG;sBArFW,WAAW,KAAG,oBAAoB;IAwFhD;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;;OAUG;;IAGH;;;;;;OAMG;wBAvHA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAyH3D;;;;;;OAMG;uBA1HA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,qBAAqB,CAC9D,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAC3D;IA0HC;;;;;;OAMG;wBAzHA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,qBAAqB,CAC9D,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAC3D;IAyHC;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;CAEK,CAAC"}
|