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
|
@@ -3,18 +3,24 @@ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
|
|
|
3
3
|
export type NonPositiveFiniteNumber = TtfImported_NonPositiveFiniteNumber;
|
|
4
4
|
type ElementType = NonPositiveFiniteNumber;
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Type guard that checks if a value is a non-positive finite number.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
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-positive finite number, `false` otherwise
|
|
10
13
|
*/
|
|
11
14
|
export declare const isNonPositiveFiniteNumber: (a: number) => a is TtfImported_NonPositiveFiniteNumber;
|
|
12
15
|
/**
|
|
13
|
-
* Casts a number to
|
|
16
|
+
* Casts a `number` to the `NonPositiveFiniteNumber` branded type.
|
|
17
|
+
*
|
|
18
|
+
* Validates that the value is a non-positive finite number and returns it with
|
|
19
|
+
* the `NonPositiveFiniteNumber` brand. Throws a `TypeError` otherwise.
|
|
14
20
|
*
|
|
15
|
-
* @param value The value to cast
|
|
16
|
-
* @returns The value as a NonPositiveFiniteNumber
|
|
17
|
-
* @throws {TypeError} If the value is not a non-positive finite number
|
|
21
|
+
* @param value - The value to cast
|
|
22
|
+
* @returns The value as a `NonPositiveFiniteNumber`
|
|
23
|
+
* @throws {TypeError} If the value is not a non-positive finite number
|
|
18
24
|
*/
|
|
19
25
|
export declare const asNonPositiveFiniteNumber: <N extends number>(x: N) => number & {
|
|
20
26
|
readonly "< 2^15": true;
|
|
@@ -28,101 +34,110 @@ export declare const asNonPositiveFiniteNumber: <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
|
|
32
|
-
*
|
|
37
|
+
* Namespace providing type-safe operations for the `NonPositiveFiniteNumber`
|
|
38
|
+
* branded type.
|
|
33
39
|
*
|
|
34
|
-
*
|
|
35
|
-
* results to MAX_VALUE (0), while ensuring results remain finite (excluding NaN
|
|
36
|
-
* and Infinity). This type is useful for representing quantities that must
|
|
37
|
-
* always be non-positive, such as debts, penalties, and negative offsets.
|
|
40
|
+
* The `NonPositiveFiniteNumber` type represents a non-positive finite number.
|
|
38
41
|
*/
|
|
39
42
|
export declare const NonPositiveFiniteNumber: {
|
|
40
43
|
/**
|
|
41
|
-
* Type guard
|
|
44
|
+
* Type guard that checks if a value is a non-positive finite number.
|
|
42
45
|
*
|
|
43
|
-
* @param value The value to check
|
|
44
|
-
* @returns `true` if the value is a non-positive finite number, `false`
|
|
45
|
-
*
|
|
46
|
+
* @param value - The value to check
|
|
47
|
+
* @returns `true` if the value is a non-positive finite number, `false` otherwise
|
|
48
|
+
* @see {@link isNonPositiveFiniteNumber} for usage examples
|
|
46
49
|
*/
|
|
47
50
|
readonly is: (a: number) => a is TtfImported_NonPositiveFiniteNumber;
|
|
48
51
|
/**
|
|
49
|
-
* The
|
|
50
|
-
*
|
|
51
|
-
* @readonly
|
|
52
|
+
* The largest value representable as `NonPositiveFiniteNumber` (the upper
|
|
53
|
+
* saturation target of `fromNumber`).
|
|
52
54
|
*/
|
|
53
55
|
readonly MAX_VALUE: 0;
|
|
54
56
|
/**
|
|
55
|
-
* Returns the
|
|
57
|
+
* Returns the smallest of the given non-positive finite numbers.
|
|
56
58
|
*
|
|
57
|
-
* @param
|
|
58
|
-
* @
|
|
59
|
-
* @returns The minimum value as a NonPositiveFiniteNumber.
|
|
59
|
+
* @param values - The non-positive finite numbers to compare (at least one required)
|
|
60
|
+
* @returns The smallest value as a `NonPositiveFiniteNumber`
|
|
60
61
|
*/
|
|
61
62
|
readonly min: (...values: readonly TtfImported_NonPositiveFiniteNumber[]) => TtfImported_NonPositiveFiniteNumber;
|
|
62
63
|
/**
|
|
63
|
-
* Returns the
|
|
64
|
+
* Returns the largest of the given non-positive finite numbers.
|
|
64
65
|
*
|
|
65
|
-
* @param
|
|
66
|
-
* @
|
|
67
|
-
* @returns The maximum value as a NonPositiveFiniteNumber.
|
|
66
|
+
* @param values - The non-positive finite numbers to compare (at least one required)
|
|
67
|
+
* @returns The largest value as a `NonPositiveFiniteNumber`
|
|
68
68
|
*/
|
|
69
69
|
readonly max: (...values: readonly TtfImported_NonPositiveFiniteNumber[]) => TtfImported_NonPositiveFiniteNumber;
|
|
70
70
|
/**
|
|
71
|
-
*
|
|
71
|
+
* Converts an arbitrary `number` into a `NonPositiveFiniteNumber`, saturating
|
|
72
|
+
* it into the range `[MIN_VALUE, MAX_VALUE]`.
|
|
72
73
|
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
74
|
+
* Unlike `asNonPositiveFiniteNumber`, this is total: out-of-range inputs are
|
|
75
|
+
* clamped to the nearest representable `NonPositiveFiniteNumber` instead of
|
|
76
|
+
* throwing.
|
|
77
|
+
*
|
|
78
|
+
* @param value - The value to convert
|
|
79
|
+
* @returns The value as a `NonPositiveFiniteNumber`
|
|
75
80
|
*/
|
|
76
|
-
readonly
|
|
81
|
+
readonly fromNumber: (x: number) => TtfImported_NonPositiveFiniteNumber;
|
|
77
82
|
/**
|
|
78
|
-
*
|
|
83
|
+
* Returns the greatest integer less than or equal to a non-positive finite
|
|
84
|
+
* number.
|
|
79
85
|
*
|
|
80
|
-
* @param
|
|
81
|
-
* @returns The
|
|
86
|
+
* @param a - The non-positive finite number value
|
|
87
|
+
* @returns The floored value as an integer
|
|
82
88
|
*/
|
|
83
89
|
readonly floor: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>>;
|
|
84
90
|
/**
|
|
85
|
-
*
|
|
91
|
+
* Returns the smallest integer greater than or equal to a non-positive finite
|
|
92
|
+
* number.
|
|
86
93
|
*
|
|
87
|
-
* @param
|
|
88
|
-
* @returns The
|
|
94
|
+
* @param a - The non-positive finite number value
|
|
95
|
+
* @returns The ceiled value as an integer
|
|
89
96
|
*/
|
|
90
97
|
readonly ceil: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>>;
|
|
91
98
|
/**
|
|
92
|
-
*
|
|
99
|
+
* Returns the value of a non-positive finite number rounded to the nearest
|
|
100
|
+
* integer.
|
|
93
101
|
*
|
|
94
|
-
* @param
|
|
95
|
-
* @returns The rounded value as
|
|
102
|
+
* @param a - The non-positive finite number value
|
|
103
|
+
* @returns The rounded value as an integer
|
|
96
104
|
*/
|
|
97
105
|
readonly round: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>>;
|
|
98
106
|
/**
|
|
99
|
-
* Generates a random NonPositiveFiniteNumber
|
|
107
|
+
* Generates a random `NonPositiveFiniteNumber` within the given range.
|
|
108
|
+
*
|
|
109
|
+
* The range is inclusive on both ends.
|
|
100
110
|
*
|
|
101
|
-
* @
|
|
111
|
+
* @param min - The minimum value (inclusive)
|
|
112
|
+
* @param max - The maximum value (inclusive)
|
|
113
|
+
* @returns A random `NonPositiveFiniteNumber` in `[min, max]`
|
|
102
114
|
*/
|
|
103
115
|
readonly random: (min?: TtfImported_NonPositiveFiniteNumber | undefined, max?: TtfImported_NonPositiveFiniteNumber | undefined) => TtfImported_NonPositiveFiniteNumber;
|
|
104
116
|
/**
|
|
105
|
-
* Raises a
|
|
117
|
+
* Raises `a` to the power `b`, returning `a ** b` as a
|
|
118
|
+
* `NonPositiveFiniteNumber`.
|
|
106
119
|
*
|
|
107
|
-
* @param a The base
|
|
108
|
-
* @param b The exponent
|
|
109
|
-
* @returns `a ** b`
|
|
120
|
+
* @param a - The base non-positive finite number
|
|
121
|
+
* @param b - The exponent non-positive finite number
|
|
122
|
+
* @returns `a ** b` as a `NonPositiveFiniteNumber`
|
|
110
123
|
*/
|
|
111
124
|
readonly pow: (x: TtfImported_NonPositiveFiniteNumber, y: TtfImported_NonPositiveFiniteNumber) => TtfImported_NonPositiveFiniteNumber;
|
|
112
125
|
/**
|
|
113
|
-
* Adds two
|
|
126
|
+
* Adds two non-positive finite numbers, returning `a + b` as a
|
|
127
|
+
* `NonPositiveFiniteNumber`.
|
|
114
128
|
*
|
|
115
|
-
* @param a The first
|
|
116
|
-
* @param b The second
|
|
117
|
-
* @returns `a
|
|
129
|
+
* @param a - The first non-positive finite number
|
|
130
|
+
* @param b - The second non-positive finite number
|
|
131
|
+
* @returns The sum of `a` and `b` as a `NonPositiveFiniteNumber`
|
|
118
132
|
*/
|
|
119
133
|
readonly add: (x: TtfImported_NonPositiveFiniteNumber, y: TtfImported_NonPositiveFiniteNumber) => TtfImported_NonPositiveFiniteNumber;
|
|
120
134
|
/**
|
|
121
|
-
* Subtracts
|
|
135
|
+
* Subtracts two non-positive finite numbers, returning `a - b` as a
|
|
136
|
+
* `NonPositiveFiniteNumber`.
|
|
122
137
|
*
|
|
123
|
-
* @param a The
|
|
124
|
-
* @param b The
|
|
125
|
-
* @returns `a
|
|
138
|
+
* @param a - The first non-positive finite number
|
|
139
|
+
* @param b - The second non-positive finite number
|
|
140
|
+
* @returns The difference of `a` and `b` as a `NonPositiveFiniteNumber`
|
|
126
141
|
*/
|
|
127
142
|
readonly sub: (x: TtfImported_NonPositiveFiniteNumber, y: TtfImported_NonPositiveFiniteNumber) => TtfImported_NonPositiveFiniteNumber;
|
|
128
143
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-positive-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-positive-finite-number.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,IAAI,mCAAmC,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,MAAM,uBAAuB,GAAG,mCAAmC,CAAC;AAE1E,KAAK,WAAW,GAAG,uBAAuB,CAAC;AA2D3C
|
|
1
|
+
{"version":3,"file":"non-positive-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-positive-finite-number.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,IAAI,mCAAmC,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,MAAM,uBAAuB,GAAG,mCAAmC,CAAC;AAE1E,KAAK,WAAW,GAAG,uBAAuB,CAAC;AA2D3C;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,yDAAK,CAAC;AAE5C;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;MAAW,CAAC;AAElD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;;;;OAUG;;IAGH;;;;;;OAMG;wBAjHA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,qBAAqB,CAC9D,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAC3D;IAiHC;;;;;;OAMG;uBA9GA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,qBAAqB,CAC9D,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAC3D;IA8GC;;;;;;OAMG;wBA7GA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,qBAAqB,CAC9D,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAC3D;IA6GC;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;CAEK,CAAC"}
|
|
@@ -5,7 +5,7 @@ const {
|
|
|
5
5
|
MAX_VALUE,
|
|
6
6
|
add,
|
|
7
7
|
castType,
|
|
8
|
-
|
|
8
|
+
fromNumber,
|
|
9
9
|
is,
|
|
10
10
|
max: max_,
|
|
11
11
|
min: min_,
|
|
@@ -37,91 +37,103 @@ const isNonPositiveFiniteNumber = is;
|
|
|
37
37
|
const asNonPositiveFiniteNumber = castType;
|
|
38
38
|
const NonPositiveFiniteNumber = {
|
|
39
39
|
/**
|
|
40
|
-
* Type guard
|
|
40
|
+
* Type guard that checks if a value is a non-positive finite number.
|
|
41
41
|
*
|
|
42
|
-
* @param value The value to check
|
|
43
|
-
* @returns `true` if the value is a non-positive finite number, `false`
|
|
44
|
-
*
|
|
42
|
+
* @param value - The value to check
|
|
43
|
+
* @returns `true` if the value is a non-positive finite number, `false` otherwise
|
|
44
|
+
* @see {@link isNonPositiveFiniteNumber} for usage examples
|
|
45
45
|
*/
|
|
46
46
|
is,
|
|
47
47
|
/**
|
|
48
|
-
* The
|
|
49
|
-
*
|
|
50
|
-
* @readonly
|
|
48
|
+
* The largest value representable as `NonPositiveFiniteNumber` (the upper
|
|
49
|
+
* saturation target of `fromNumber`).
|
|
51
50
|
*/
|
|
52
51
|
MAX_VALUE,
|
|
53
52
|
/**
|
|
54
|
-
* Returns the
|
|
53
|
+
* Returns the smallest of the given non-positive finite numbers.
|
|
55
54
|
*
|
|
56
|
-
* @param
|
|
57
|
-
* @
|
|
58
|
-
* @returns The minimum value as a NonPositiveFiniteNumber.
|
|
55
|
+
* @param values - The non-positive finite numbers to compare (at least one required)
|
|
56
|
+
* @returns The smallest value as a `NonPositiveFiniteNumber`
|
|
59
57
|
*/
|
|
60
58
|
min: min_,
|
|
61
59
|
/**
|
|
62
|
-
* Returns the
|
|
60
|
+
* Returns the largest of the given non-positive finite numbers.
|
|
63
61
|
*
|
|
64
|
-
* @param
|
|
65
|
-
* @
|
|
66
|
-
* @returns The maximum value as a NonPositiveFiniteNumber.
|
|
62
|
+
* @param values - The non-positive finite numbers to compare (at least one required)
|
|
63
|
+
* @returns The largest value as a `NonPositiveFiniteNumber`
|
|
67
64
|
*/
|
|
68
65
|
max: max_,
|
|
69
66
|
/**
|
|
70
|
-
*
|
|
67
|
+
* Converts an arbitrary `number` into a `NonPositiveFiniteNumber`, saturating
|
|
68
|
+
* it into the range `[MIN_VALUE, MAX_VALUE]`.
|
|
69
|
+
*
|
|
70
|
+
* Unlike `asNonPositiveFiniteNumber`, this is total: out-of-range inputs are
|
|
71
|
+
* clamped to the nearest representable `NonPositiveFiniteNumber` instead of
|
|
72
|
+
* throwing.
|
|
71
73
|
*
|
|
72
|
-
* @param value The
|
|
73
|
-
* @returns The value
|
|
74
|
+
* @param value - The value to convert
|
|
75
|
+
* @returns The value as a `NonPositiveFiniteNumber`
|
|
74
76
|
*/
|
|
75
|
-
|
|
77
|
+
fromNumber,
|
|
76
78
|
/**
|
|
77
|
-
*
|
|
79
|
+
* Returns the greatest integer less than or equal to a non-positive finite
|
|
80
|
+
* number.
|
|
78
81
|
*
|
|
79
|
-
* @param
|
|
80
|
-
* @returns The
|
|
82
|
+
* @param a - The non-positive finite number value
|
|
83
|
+
* @returns The floored value as an integer
|
|
81
84
|
*/
|
|
82
85
|
floor,
|
|
83
86
|
/**
|
|
84
|
-
*
|
|
87
|
+
* Returns the smallest integer greater than or equal to a non-positive finite
|
|
88
|
+
* number.
|
|
85
89
|
*
|
|
86
|
-
* @param
|
|
87
|
-
* @returns The
|
|
90
|
+
* @param a - The non-positive finite number value
|
|
91
|
+
* @returns The ceiled value as an integer
|
|
88
92
|
*/
|
|
89
93
|
ceil,
|
|
90
94
|
/**
|
|
91
|
-
*
|
|
95
|
+
* Returns the value of a non-positive finite number rounded to the nearest
|
|
96
|
+
* integer.
|
|
92
97
|
*
|
|
93
|
-
* @param
|
|
94
|
-
* @returns The rounded value as
|
|
98
|
+
* @param a - The non-positive finite number value
|
|
99
|
+
* @returns The rounded value as an integer
|
|
95
100
|
*/
|
|
96
101
|
round,
|
|
97
102
|
/**
|
|
98
|
-
* Generates a random NonPositiveFiniteNumber
|
|
103
|
+
* Generates a random `NonPositiveFiniteNumber` within the given range.
|
|
104
|
+
*
|
|
105
|
+
* The range is inclusive on both ends.
|
|
99
106
|
*
|
|
100
|
-
* @
|
|
107
|
+
* @param min - The minimum value (inclusive)
|
|
108
|
+
* @param max - The maximum value (inclusive)
|
|
109
|
+
* @returns A random `NonPositiveFiniteNumber` in `[min, max]`
|
|
101
110
|
*/
|
|
102
111
|
random,
|
|
103
112
|
/**
|
|
104
|
-
* Raises a
|
|
113
|
+
* Raises `a` to the power `b`, returning `a ** b` as a
|
|
114
|
+
* `NonPositiveFiniteNumber`.
|
|
105
115
|
*
|
|
106
|
-
* @param a The base
|
|
107
|
-
* @param b The exponent
|
|
108
|
-
* @returns `a ** b`
|
|
116
|
+
* @param a - The base non-positive finite number
|
|
117
|
+
* @param b - The exponent non-positive finite number
|
|
118
|
+
* @returns `a ** b` as a `NonPositiveFiniteNumber`
|
|
109
119
|
*/
|
|
110
120
|
pow,
|
|
111
121
|
/**
|
|
112
|
-
* Adds two
|
|
122
|
+
* Adds two non-positive finite numbers, returning `a + b` as a
|
|
123
|
+
* `NonPositiveFiniteNumber`.
|
|
113
124
|
*
|
|
114
|
-
* @param a The first
|
|
115
|
-
* @param b The second
|
|
116
|
-
* @returns `a
|
|
125
|
+
* @param a - The first non-positive finite number
|
|
126
|
+
* @param b - The second non-positive finite number
|
|
127
|
+
* @returns The sum of `a` and `b` as a `NonPositiveFiniteNumber`
|
|
117
128
|
*/
|
|
118
129
|
add,
|
|
119
130
|
/**
|
|
120
|
-
* Subtracts
|
|
131
|
+
* Subtracts two non-positive finite numbers, returning `a - b` as a
|
|
132
|
+
* `NonPositiveFiniteNumber`.
|
|
121
133
|
*
|
|
122
|
-
* @param a The
|
|
123
|
-
* @param b The
|
|
124
|
-
* @returns `a
|
|
134
|
+
* @param a - The first non-positive finite number
|
|
135
|
+
* @param b - The second non-positive finite number
|
|
136
|
+
* @returns The difference of `a` and `b` as a `NonPositiveFiniteNumber`
|
|
125
137
|
*/
|
|
126
138
|
sub
|
|
127
139
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-positive-finite-number.mjs","sources":["../../../src/number/branded-types/non-positive-finite-number.mts"],"sourcesContent":["import { type NonPositiveFiniteNumber as TtfImported_NonPositiveFiniteNumber } from 'ts-type-forge';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonPositiveFiniteNumber = TtfImported_NonPositiveFiniteNumber;\n\ntype ElementType = NonPositiveFiniteNumber;\n\nconst typeNameInMessage = 'a non-positive finite number';\n\nconst {\n MAX_VALUE,\n add,\n castType,\n
|
|
1
|
+
{"version":3,"file":"non-positive-finite-number.mjs","sources":["../../../src/number/branded-types/non-positive-finite-number.mts"],"sourcesContent":["import { type NonPositiveFiniteNumber as TtfImported_NonPositiveFiniteNumber } from 'ts-type-forge';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonPositiveFiniteNumber = TtfImported_NonPositiveFiniteNumber;\n\ntype ElementType = NonPositiveFiniteNumber;\n\nconst typeNameInMessage = 'a non-positive finite number';\n\nconst {\n MAX_VALUE,\n add,\n castType,\n fromNumber,\n is,\n max: max_,\n min: min_,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForFloat<\n ElementType,\n number,\n 0\n>({\n MIN_VALUE: Number.MAX_VALUE * -1,\n MAX_VALUE: 0,\n typeNameInMessage,\n} as const);\n\nconst floor = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<\n TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>\n> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.floor(\n x,\n ) as TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<\n TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>\n >;\n\nconst ceil = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<\n TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>\n> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.ceil(x) as TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<\n TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>\n >;\n\nconst round = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<\n TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>\n> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.round(\n x,\n ) as TsDataForgeInternals.RefinedNumberUtils.RemoveNonZeroBrandKey<\n TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>\n >;\n\n/**\n * Type guard that checks if a value is a non-positive finite number.\n *\n * Returns `true` only for a finite value — never `NaN`, `Infinity`, or\n * `-Infinity`.\n *\n * @param value - The value to check\n * @returns `true` if the value is a non-positive finite number, `false` otherwise\n */\nexport const isNonPositiveFiniteNumber = is;\n\n/**\n * Casts a `number` to the `NonPositiveFiniteNumber` branded type.\n *\n * Validates that the value is a non-positive finite number and returns it with\n * the `NonPositiveFiniteNumber` brand. Throws a `TypeError` otherwise.\n *\n * @param value - The value to cast\n * @returns The value as a `NonPositiveFiniteNumber`\n * @throws {TypeError} If the value is not a non-positive finite number\n */\nexport const asNonPositiveFiniteNumber = castType;\n\n/**\n * Namespace providing type-safe operations for the `NonPositiveFiniteNumber`\n * branded type.\n *\n * The `NonPositiveFiniteNumber` type represents a non-positive finite number.\n */\nexport const NonPositiveFiniteNumber = {\n /**\n * Type guard that checks if a value is a non-positive finite number.\n *\n * @param value - The value to check\n * @returns `true` if the value is a non-positive finite number, `false` otherwise\n * @see {@link isNonPositiveFiniteNumber} for usage examples\n */\n is,\n\n /**\n * The largest value representable as `NonPositiveFiniteNumber` (the upper\n * saturation target of `fromNumber`).\n */\n MAX_VALUE,\n\n /**\n * Returns the smallest of the given non-positive finite numbers.\n *\n * @param values - The non-positive finite numbers to compare (at least one required)\n * @returns The smallest value as a `NonPositiveFiniteNumber`\n */\n min: min_,\n\n /**\n * Returns the largest of the given non-positive finite numbers.\n *\n * @param values - The non-positive finite numbers to compare (at least one required)\n * @returns The largest value as a `NonPositiveFiniteNumber`\n */\n max: max_,\n\n /**\n * Converts an arbitrary `number` into a `NonPositiveFiniteNumber`, saturating\n * it into the range `[MIN_VALUE, MAX_VALUE]`.\n *\n * Unlike `asNonPositiveFiniteNumber`, this is total: out-of-range inputs are\n * clamped to the nearest representable `NonPositiveFiniteNumber` instead of\n * throwing.\n *\n * @param value - The value to convert\n * @returns The value as a `NonPositiveFiniteNumber`\n */\n fromNumber,\n\n /**\n * Returns the greatest integer less than or equal to a non-positive finite\n * number.\n *\n * @param a - The non-positive finite number value\n * @returns The floored value as an integer\n */\n floor,\n\n /**\n * Returns the smallest integer greater than or equal to a non-positive finite\n * number.\n *\n * @param a - The non-positive finite number value\n * @returns The ceiled value as an integer\n */\n ceil,\n\n /**\n * Returns the value of a non-positive finite number rounded to the nearest\n * integer.\n *\n * @param a - The non-positive finite number value\n * @returns The rounded value as an integer\n */\n round,\n\n /**\n * Generates a random `NonPositiveFiniteNumber` 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 `NonPositiveFiniteNumber` in `[min, max]`\n */\n random,\n\n /**\n * Raises `a` to the power `b`, returning `a ** b` as a\n * `NonPositiveFiniteNumber`.\n *\n * @param a - The base non-positive finite number\n * @param b - The exponent non-positive finite number\n * @returns `a ** b` as a `NonPositiveFiniteNumber`\n */\n pow,\n\n /**\n * Adds two non-positive finite numbers, returning `a + b` as a\n * `NonPositiveFiniteNumber`.\n *\n * @param a - The first non-positive finite number\n * @param b - The second non-positive finite number\n * @returns The sum of `a` and `b` as a `NonPositiveFiniteNumber`\n */\n add,\n\n /**\n * Subtracts two non-positive finite numbers, returning `a - b` as a\n * `NonPositiveFiniteNumber`.\n *\n * @param a - The first non-positive finite number\n * @param b - The second non-positive finite number\n * @returns The difference of `a` and `b` as a `NonPositiveFiniteNumber`\n */\n sub,\n} as const;\n"],"names":[],"mappings":";;AAOA,MAAM,iBAAA,GAAoB,8BAAA;AAE1B,MAAM;AAAA,EACJ,SAAA;AAAA,EACA,GAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;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,iBAAA,CAI1C;AAAA,EACA,SAAA,EAAW,OAAO,SAAA,GAAY,EAAA;AAAA,EAC9B,SAAA,EAAW,CAAA;AAAA,EACX;AACF,CAAU,CAAA;AAEV,MAAM,QAAQ,CACZ,CAAA;AAAA;AAAA,EAKA,IAAA,CAAK,KAAA;AAAA,IACH;AAAA;AACF,CAAA;AAIF,MAAM,OAAO,CACX,CAAA;AAAA;AAAA,EAKA,IAAA,CAAK,KAAK,CAAC;AAAA,CAAA;AAIb,MAAM,QAAQ,CACZ,CAAA;AAAA;AAAA,EAKA,IAAA,CAAK,KAAA;AAAA,IACH;AAAA;AACF,CAAA;AAaK,MAAM,yBAAA,GAA4B;AAYlC,MAAM,yBAAA,GAA4B;AAQlC,MAAM,uBAAA,GAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQrC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaL,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,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;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA;AACF;;;;"}
|