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.
- 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 +65 -58
- package/dist/number/branded-types/int16.d.mts.map +1 -1
- package/dist/number/branded-types/int16.mjs +49 -45
- package/dist/number/branded-types/int16.mjs.map +1 -1
- package/dist/number/branded-types/int32.d.mts +65 -58
- package/dist/number/branded-types/int32.d.mts.map +1 -1
- package/dist/number/branded-types/int32.mjs +49 -45
- package/dist/number/branded-types/int32.mjs.map +1 -1
- package/dist/number/branded-types/negative-finite-number.d.mts +68 -59
- package/dist/number/branded-types/negative-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/negative-finite-number.mjs +52 -46
- package/dist/number/branded-types/negative-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/negative-int.d.mts +60 -48
- package/dist/number/branded-types/negative-int.d.mts.map +1 -1
- package/dist/number/branded-types/negative-int.mjs +40 -36
- package/dist/number/branded-types/negative-int.mjs.map +1 -1
- package/dist/number/branded-types/negative-safe-int.d.mts +57 -56
- package/dist/number/branded-types/negative-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/negative-safe-int.mjs +40 -41
- package/dist/number/branded-types/negative-safe-int.mjs.map +1 -1
- package/dist/number/branded-types/non-negative-finite-number.d.mts +74 -64
- package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-finite-number.mjs +58 -51
- package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/non-negative-int16.d.mts +64 -57
- package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-int16.mjs +47 -43
- package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
- package/dist/number/branded-types/non-negative-int32.d.mts +64 -58
- package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-int32.mjs +47 -44
- package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
- package/dist/number/branded-types/non-positive-finite-number.d.mts +64 -54
- package/dist/number/branded-types/non-positive-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/non-positive-finite-number.mjs +48 -41
- package/dist/number/branded-types/non-positive-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/non-positive-int.d.mts +41 -146
- package/dist/number/branded-types/non-positive-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-positive-int.mjs +27 -107
- package/dist/number/branded-types/non-positive-int.mjs.map +1 -1
- package/dist/number/branded-types/non-positive-safe-int.d.mts +54 -53
- package/dist/number/branded-types/non-positive-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-positive-safe-int.mjs +37 -39
- 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 +52 -53
- package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-int16.mjs +36 -39
- package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-int32.d.mts +52 -54
- package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-int32.mjs +36 -40
- package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-safe-int.d.mts +53 -54
- package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-safe-int.mjs +36 -40
- package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-uint16.d.mts +52 -53
- package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-uint16.mjs +35 -39
- package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-uint32.d.mts +52 -53
- package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-uint32.mjs +35 -39
- package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
- package/dist/number/branded-types/positive-finite-number.d.mts +74 -63
- package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/positive-finite-number.mjs +58 -50
- package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/positive-int.d.mts +46 -68
- package/dist/number/branded-types/positive-int.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int.mjs +34 -49
- package/dist/number/branded-types/positive-int.mjs.map +1 -1
- package/dist/number/branded-types/positive-int16.d.mts +61 -57
- package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int16.mjs +44 -43
- package/dist/number/branded-types/positive-int16.mjs.map +1 -1
- package/dist/number/branded-types/positive-int32.d.mts +61 -57
- package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int32.mjs +44 -43
- package/dist/number/branded-types/positive-int32.mjs.map +1 -1
- package/dist/number/branded-types/positive-safe-int.d.mts +62 -57
- package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/positive-safe-int.mjs +45 -43
- package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
- package/dist/number/branded-types/positive-uint16.d.mts +61 -57
- package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
- package/dist/number/branded-types/positive-uint16.mjs +44 -43
- package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
- package/dist/number/branded-types/positive-uint32.d.mts +61 -58
- package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
- package/dist/number/branded-types/positive-uint32.mjs +44 -44
- package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
- package/dist/number/branded-types/safe-int.d.mts +43 -62
- package/dist/number/branded-types/safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/safe-int.mjs +35 -42
- package/dist/number/branded-types/safe-int.mjs.map +1 -1
- package/dist/number/branded-types/safe-uint.d.mts +62 -57
- package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
- package/dist/number/branded-types/safe-uint.mjs +46 -44
- package/dist/number/branded-types/safe-uint.mjs.map +1 -1
- package/dist/number/branded-types/uint.d.mts +63 -50
- package/dist/number/branded-types/uint.d.mts.map +1 -1
- package/dist/number/branded-types/uint.mjs +42 -39
- package/dist/number/branded-types/uint.mjs.map +1 -1
- package/dist/number/branded-types/uint16.d.mts +60 -58
- package/dist/number/branded-types/uint16.d.mts.map +1 -1
- package/dist/number/branded-types/uint16.mjs +44 -43
- package/dist/number/branded-types/uint16.mjs.map +1 -1
- package/dist/number/branded-types/uint32.d.mts +59 -55
- package/dist/number/branded-types/uint32.d.mts.map +1 -1
- package/dist/number/branded-types/uint32.mjs +42 -42
- package/dist/number/branded-types/uint32.mjs.map +1 -1
- package/dist/number/enum/int8.d.mts +56 -65
- package/dist/number/enum/int8.d.mts.map +1 -1
- package/dist/number/enum/int8.mjs +44 -43
- package/dist/number/enum/int8.mjs.map +1 -1
- package/dist/number/enum/uint8.d.mts +60 -58
- package/dist/number/enum/uint8.d.mts.map +1 -1
- package/dist/number/enum/uint8.mjs +44 -43
- package/dist/number/enum/uint8.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 +65 -58
- package/src/number/branded-types/int32.mts +65 -58
- package/src/number/branded-types/negative-finite-number.mts +68 -68
- package/src/number/branded-types/negative-int.mts +60 -57
- package/src/number/branded-types/negative-safe-int.mts +57 -65
- package/src/number/branded-types/non-negative-finite-number.mts +74 -64
- package/src/number/branded-types/non-negative-int16.mts +64 -57
- package/src/number/branded-types/non-negative-int32.mts +64 -58
- package/src/number/branded-types/non-positive-finite-number.mts +64 -54
- package/src/number/branded-types/non-positive-int.mts +41 -146
- package/src/number/branded-types/non-positive-safe-int.mts +54 -53
- 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 +52 -53
- package/src/number/branded-types/non-zero-int32.mts +52 -54
- package/src/number/branded-types/non-zero-safe-int.mts +53 -54
- package/src/number/branded-types/non-zero-uint16.mts +52 -53
- package/src/number/branded-types/non-zero-uint32.mts +52 -53
- package/src/number/branded-types/positive-finite-number.mts +74 -63
- package/src/number/branded-types/positive-int.mts +46 -68
- package/src/number/branded-types/positive-int16.mts +61 -57
- package/src/number/branded-types/positive-int32.mts +61 -57
- package/src/number/branded-types/positive-safe-int.mts +62 -57
- package/src/number/branded-types/positive-uint16.mts +61 -57
- package/src/number/branded-types/positive-uint32.mts +61 -58
- package/src/number/branded-types/safe-int.mts +43 -62
- package/src/number/branded-types/safe-uint.mts +62 -57
- package/src/number/branded-types/uint.mts +63 -50
- package/src/number/branded-types/uint16.mts +60 -58
- package/src/number/branded-types/uint32.mts +59 -55
- package/src/number/enum/int8.mts +56 -65
- package/src/number/enum/uint8.mts +60 -58
|
@@ -35,109 +35,116 @@ const isNonNegativeFiniteNumber = is;
|
|
|
35
35
|
const asNonNegativeFiniteNumber = castType;
|
|
36
36
|
const NonNegativeFiniteNumber = {
|
|
37
37
|
/**
|
|
38
|
-
* Type guard
|
|
38
|
+
* Type guard that checks if a value is a non-negative finite number.
|
|
39
39
|
*
|
|
40
|
-
* @param value The value to check
|
|
41
|
-
* @returns `true` if the value is a non-negative finite number, `false`
|
|
42
|
-
*
|
|
40
|
+
* @param value - The value to check
|
|
41
|
+
* @returns `true` if the value is a non-negative finite number, `false` otherwise
|
|
42
|
+
* @see {@link isNonNegativeFiniteNumber} for usage examples
|
|
43
43
|
*/
|
|
44
44
|
is,
|
|
45
45
|
/**
|
|
46
|
-
* The
|
|
47
|
-
*
|
|
48
|
-
* @readonly
|
|
46
|
+
* The smallest value representable as `NonNegativeFiniteNumber`.
|
|
49
47
|
*/
|
|
50
48
|
MIN_VALUE,
|
|
51
49
|
/**
|
|
52
|
-
* Returns the
|
|
50
|
+
* Returns the smallest of the given non-negative finite numbers.
|
|
53
51
|
*
|
|
54
|
-
* @param
|
|
55
|
-
* @
|
|
56
|
-
* @returns The minimum value as a NonNegativeFiniteNumber.
|
|
52
|
+
* @param values - The non-negative finite numbers to compare (at least one required)
|
|
53
|
+
* @returns The smallest value as a `NonNegativeFiniteNumber`
|
|
57
54
|
*/
|
|
58
55
|
min: min_,
|
|
59
56
|
/**
|
|
60
|
-
* Returns the
|
|
57
|
+
* Returns the largest of the given non-negative finite numbers.
|
|
61
58
|
*
|
|
62
|
-
* @param
|
|
63
|
-
* @
|
|
64
|
-
* @returns The maximum value as a NonNegativeFiniteNumber.
|
|
59
|
+
* @param values - The non-negative finite numbers to compare (at least one required)
|
|
60
|
+
* @returns The largest value as a `NonNegativeFiniteNumber`
|
|
65
61
|
*/
|
|
66
62
|
max: max_,
|
|
67
63
|
/**
|
|
68
|
-
* Clamps a number
|
|
64
|
+
* Clamps a `number` into the `NonNegativeFiniteNumber` range `[MIN_VALUE,
|
|
65
|
+
* MAX_VALUE]`.
|
|
69
66
|
*
|
|
70
|
-
* @param value The
|
|
71
|
-
* @returns The
|
|
67
|
+
* @param value - The value to clamp
|
|
68
|
+
* @returns The clamped value as a `NonNegativeFiniteNumber`
|
|
72
69
|
*/
|
|
73
70
|
clamp,
|
|
74
71
|
/**
|
|
75
|
-
*
|
|
72
|
+
* Returns the greatest integer less than or equal to a non-negative finite
|
|
73
|
+
* number.
|
|
76
74
|
*
|
|
77
|
-
* @param
|
|
78
|
-
* @returns The
|
|
75
|
+
* @param a - The non-negative finite number value
|
|
76
|
+
* @returns The floored value as an integer
|
|
79
77
|
*/
|
|
80
78
|
floor,
|
|
81
79
|
/**
|
|
82
|
-
*
|
|
80
|
+
* Returns the smallest integer greater than or equal to a non-negative finite
|
|
81
|
+
* number.
|
|
83
82
|
*
|
|
84
|
-
* @param
|
|
85
|
-
* @returns The
|
|
83
|
+
* @param a - The non-negative finite number value
|
|
84
|
+
* @returns The ceiled value as an integer
|
|
86
85
|
*/
|
|
87
86
|
ceil,
|
|
88
87
|
/**
|
|
89
|
-
*
|
|
88
|
+
* Returns the value of a non-negative finite number rounded to the nearest
|
|
89
|
+
* integer.
|
|
90
90
|
*
|
|
91
|
-
* @param
|
|
92
|
-
* @returns The rounded value as
|
|
91
|
+
* @param a - The non-negative finite number value
|
|
92
|
+
* @returns The rounded value as an integer
|
|
93
93
|
*/
|
|
94
94
|
round,
|
|
95
95
|
/**
|
|
96
|
-
* Generates a random NonNegativeFiniteNumber
|
|
96
|
+
* Generates a random `NonNegativeFiniteNumber` within the given range.
|
|
97
|
+
*
|
|
98
|
+
* The range is inclusive on both ends.
|
|
97
99
|
*
|
|
98
|
-
* @
|
|
100
|
+
* @param min - The minimum value (inclusive)
|
|
101
|
+
* @param max - The maximum value (inclusive)
|
|
102
|
+
* @returns A random `NonNegativeFiniteNumber` in `[min, max]`
|
|
99
103
|
*/
|
|
100
104
|
random,
|
|
101
105
|
/**
|
|
102
|
-
* Raises a
|
|
103
|
-
* NonNegativeFiniteNumber
|
|
106
|
+
* Raises `a` to the power `b`, returning `a ** b` as a
|
|
107
|
+
* `NonNegativeFiniteNumber`.
|
|
104
108
|
*
|
|
105
|
-
* @param a The base
|
|
106
|
-
* @param b The exponent
|
|
107
|
-
* @returns `a ** b`
|
|
109
|
+
* @param a - The base non-negative finite number
|
|
110
|
+
* @param b - The exponent non-negative finite number
|
|
111
|
+
* @returns `a ** b` as a `NonNegativeFiniteNumber`
|
|
108
112
|
*/
|
|
109
113
|
pow,
|
|
110
114
|
/**
|
|
111
|
-
* Adds two
|
|
115
|
+
* Adds two non-negative finite numbers, returning `a + b` as a
|
|
116
|
+
* `NonNegativeFiniteNumber`.
|
|
112
117
|
*
|
|
113
|
-
* @param a The first
|
|
114
|
-
* @param b The second
|
|
115
|
-
* @returns `a
|
|
118
|
+
* @param a - The first non-negative finite number
|
|
119
|
+
* @param b - The second non-negative finite number
|
|
120
|
+
* @returns The sum of `a` and `b` as a `NonNegativeFiniteNumber`
|
|
116
121
|
*/
|
|
117
122
|
add,
|
|
118
123
|
/**
|
|
119
|
-
* Subtracts
|
|
124
|
+
* Subtracts two non-negative finite numbers, returning `a - b` as a
|
|
125
|
+
* `NonNegativeFiniteNumber`.
|
|
120
126
|
*
|
|
121
|
-
* @param a The
|
|
122
|
-
* @param b The
|
|
123
|
-
* @returns `a
|
|
124
|
-
* 0).
|
|
127
|
+
* @param a - The first non-negative finite number
|
|
128
|
+
* @param b - The second non-negative finite number
|
|
129
|
+
* @returns The difference of `a` and `b` as a `NonNegativeFiniteNumber`
|
|
125
130
|
*/
|
|
126
131
|
sub,
|
|
127
132
|
/**
|
|
128
|
-
* Multiplies two
|
|
133
|
+
* Multiplies two non-negative finite numbers, returning `a * b` as a
|
|
134
|
+
* `NonNegativeFiniteNumber`.
|
|
129
135
|
*
|
|
130
|
-
* @param a The first
|
|
131
|
-
* @param b The second
|
|
132
|
-
* @returns `a
|
|
136
|
+
* @param a - The first non-negative finite number
|
|
137
|
+
* @param b - The second non-negative finite number
|
|
138
|
+
* @returns The product of `a` and `b` as a `NonNegativeFiniteNumber`
|
|
133
139
|
*/
|
|
134
140
|
mul,
|
|
135
141
|
/**
|
|
136
|
-
* Divides
|
|
142
|
+
* Divides two non-negative finite numbers, returning `a / b` as a
|
|
143
|
+
* `NonNegativeFiniteNumber`.
|
|
137
144
|
*
|
|
138
|
-
* @param a The dividend
|
|
139
|
-
* @param b The divisor
|
|
140
|
-
* @returns `a / b`
|
|
145
|
+
* @param a - The dividend
|
|
146
|
+
* @param b - The divisor (must be non-zero)
|
|
147
|
+
* @returns `a / b` as a `NonNegativeFiniteNumber`
|
|
141
148
|
*/
|
|
142
149
|
div
|
|
143
150
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-negative-finite-number.mjs","sources":["../../../src/number/branded-types/non-negative-finite-number.mts"],"sourcesContent":["import {\n type NonNegativeFiniteNumber as TtfImported_NonNegativeFiniteNumber,\n type Uint,\n} from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonNegativeFiniteNumber = TtfImported_NonNegativeFiniteNumber;\n\ntype ElementType = NonNegativeFiniteNumber;\n\nconst typeNameInMessage = 'a non-negative finite number';\n\nconst {\n MIN_VALUE,\n add,\n castType,\n clamp,\n div,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForFloat<\n ElementType,\n 0,\n number\n>({\n MIN_VALUE: 0,\n MAX_VALUE: Number.MAX_VALUE,\n typeNameInMessage,\n} as const);\n\nconst floor = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.floor(x) as TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;\n\nconst ceil = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.ceil(x) as TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;\n\nconst round = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.round(x) as TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;\n\nexpectType<TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>, Uint>(\n '=',\n);\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"non-negative-finite-number.mjs","sources":["../../../src/number/branded-types/non-negative-finite-number.mts"],"sourcesContent":["import {\n type NonNegativeFiniteNumber as TtfImported_NonNegativeFiniteNumber,\n type Uint,\n} from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonNegativeFiniteNumber = TtfImported_NonNegativeFiniteNumber;\n\ntype ElementType = NonNegativeFiniteNumber;\n\nconst typeNameInMessage = 'a non-negative finite number';\n\nconst {\n MIN_VALUE,\n add,\n castType,\n clamp,\n div,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForFloat<\n ElementType,\n 0,\n number\n>({\n MIN_VALUE: 0,\n MAX_VALUE: Number.MAX_VALUE,\n typeNameInMessage,\n} as const);\n\nconst floor = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.floor(x) as TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;\n\nconst ceil = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.ceil(x) as TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;\n\nconst round = (\n x: ElementType,\n): TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType> =>\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n Math.round(x) as TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;\n\nexpectType<TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>, Uint>(\n '=',\n);\n\n/**\n * Type guard that checks if a value is a non-negative 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-negative finite number, `false` otherwise\n */\nexport const isNonNegativeFiniteNumber = is;\n\n/**\n * Casts a `number` to the `NonNegativeFiniteNumber` branded type.\n *\n * Validates that the value is a non-negative finite number and returns it with\n * the `NonNegativeFiniteNumber` brand. Throws a `TypeError` otherwise.\n *\n * @param value - The value to cast\n * @returns The value as a `NonNegativeFiniteNumber`\n * @throws {TypeError} If the value is not a non-negative finite number\n */\nexport const asNonNegativeFiniteNumber = castType;\n\n/**\n * Namespace providing type-safe operations for the `NonNegativeFiniteNumber`\n * branded type.\n *\n * The `NonNegativeFiniteNumber` type represents a non-negative finite number.\n */\nexport const NonNegativeFiniteNumber = {\n /**\n * Type guard that checks if a value is a non-negative finite number.\n *\n * @param value - The value to check\n * @returns `true` if the value is a non-negative finite number, `false` otherwise\n * @see {@link isNonNegativeFiniteNumber} for usage examples\n */\n is,\n\n /**\n * The smallest value representable as `NonNegativeFiniteNumber`.\n */\n MIN_VALUE,\n\n /**\n * Returns the smallest of the given non-negative finite numbers.\n *\n * @param values - The non-negative finite numbers to compare (at least one required)\n * @returns The smallest value as a `NonNegativeFiniteNumber`\n */\n min: min_,\n\n /**\n * Returns the largest of the given non-negative finite numbers.\n *\n * @param values - The non-negative finite numbers to compare (at least one required)\n * @returns The largest value as a `NonNegativeFiniteNumber`\n */\n max: max_,\n\n /**\n * Clamps a `number` into the `NonNegativeFiniteNumber` range `[MIN_VALUE,\n * MAX_VALUE]`.\n *\n * @param value - The value to clamp\n * @returns The clamped value as a `NonNegativeFiniteNumber`\n */\n clamp,\n\n /**\n * Returns the greatest integer less than or equal to a non-negative finite\n * number.\n *\n * @param a - The non-negative 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-negative finite\n * number.\n *\n * @param a - The non-negative finite number value\n * @returns The ceiled value as an integer\n */\n ceil,\n\n /**\n * Returns the value of a non-negative finite number rounded to the nearest\n * integer.\n *\n * @param a - The non-negative finite number value\n * @returns The rounded value as an integer\n */\n round,\n\n /**\n * Generates a random `NonNegativeFiniteNumber` 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 `NonNegativeFiniteNumber` in `[min, max]`\n */\n random,\n\n /**\n * Raises `a` to the power `b`, returning `a ** b` as a\n * `NonNegativeFiniteNumber`.\n *\n * @param a - The base non-negative finite number\n * @param b - The exponent non-negative finite number\n * @returns `a ** b` as a `NonNegativeFiniteNumber`\n */\n pow,\n\n /**\n * Adds two non-negative finite numbers, returning `a + b` as a\n * `NonNegativeFiniteNumber`.\n *\n * @param a - The first non-negative finite number\n * @param b - The second non-negative finite number\n * @returns The sum of `a` and `b` as a `NonNegativeFiniteNumber`\n */\n add,\n\n /**\n * Subtracts two non-negative finite numbers, returning `a - b` as a\n * `NonNegativeFiniteNumber`.\n *\n * @param a - The first non-negative finite number\n * @param b - The second non-negative finite number\n * @returns The difference of `a` and `b` as a `NonNegativeFiniteNumber`\n */\n sub,\n\n /**\n * Multiplies two non-negative finite numbers, returning `a * b` as a\n * `NonNegativeFiniteNumber`.\n *\n * @param a - The first non-negative finite number\n * @param b - The second non-negative finite number\n * @returns The product of `a` and `b` as a `NonNegativeFiniteNumber`\n */\n mul,\n\n /**\n * Divides two non-negative finite numbers, returning `a / b` as a\n * `NonNegativeFiniteNumber`.\n *\n * @param a - The dividend\n * @param b - The divisor (must be non-zero)\n * @returns `a / b` as a `NonNegativeFiniteNumber`\n */\n div,\n} as const;\n\nexpectType<\n keyof typeof NonNegativeFiniteNumber,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'non-negative'\n >\n>('=');\n\nexpectType<\n typeof NonNegativeFiniteNumber,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'non-negative'\n >\n>('<=');\n"],"names":[],"mappings":";;AAWA,MAAM,iBAAA,GAAoB,8BAAA;AAE1B,MAAM;AAAA,EACJ,SAAA;AAAA,EACA,GAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAA,EAAK,IAAA;AAAA,EACL,GAAA,EAAK,IAAA;AAAA,EACL,GAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,iBAAA,CAI1C;AAAA,EACA,SAAA,EAAW,CAAA;AAAA,EACX,WAAW,MAAA,CAAO,SAAA;AAAA,EAClB;AACF,CAAU,CAAA;AAEV,MAAM,QAAQ,CACZ,CAAA;AAAA;AAAA,EAGA,IAAA,CAAK,MAAM,CAAC;AAAA,CAAA;AAEd,MAAM,OAAO,CACX,CAAA;AAAA;AAAA,EAGA,IAAA,CAAK,KAAK,CAAC;AAAA,CAAA;AAEb,MAAM,QAAQ,CACZ,CAAA;AAAA;AAAA,EAGA,IAAA,CAAK,MAAM,CAAC;AAAA,CAAA;AAeP,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,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASL,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,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,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA;AACF;;;;"}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { type NonNegativeInt16 as TtfImported_NonNegativeInt16 } from 'ts-type-forge';
|
|
2
2
|
export type NonNegativeInt16 = TtfImported_NonNegativeInt16;
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* in the range [0, 2^15)).
|
|
4
|
+
* Type guard that checks if a value is a non-negative integer in [0, 2^15).
|
|
6
5
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Returns `true` for a non-negative integer in [0, 2^15) — a value with no
|
|
7
|
+
* fractional component.
|
|
8
|
+
*
|
|
9
|
+
* @param value - The value to check
|
|
10
|
+
* @returns `true` if the value is a non-negative integer in [0, 2^15), `false` otherwise
|
|
9
11
|
*/
|
|
10
12
|
export declare const isNonNegativeInt16: (a: number) => a is TtfImported_NonNegativeInt16;
|
|
11
13
|
/**
|
|
12
|
-
* Casts a number to
|
|
14
|
+
* Casts a `number` to the `NonNegativeInt16` branded type.
|
|
15
|
+
*
|
|
16
|
+
* Validates that the value is a non-negative integer in [0, 2^15) and returns
|
|
17
|
+
* it with the `NonNegativeInt16` brand. Throws a `TypeError` otherwise.
|
|
13
18
|
*
|
|
14
|
-
* @param value The value to cast
|
|
15
|
-
* @returns The value as a NonNegativeInt16
|
|
16
|
-
* @throws {TypeError} If the value is not a non-negative integer in [0, 2^15)
|
|
19
|
+
* @param value - The value to cast
|
|
20
|
+
* @returns The value as a `NonNegativeInt16`
|
|
21
|
+
* @throws {TypeError} If the value is not a non-negative integer in [0, 2^15)
|
|
17
22
|
*/
|
|
18
23
|
export declare const asNonNegativeInt16: <N extends number>(x: N) => number & {
|
|
19
24
|
readonly "< 2^15": true;
|
|
@@ -33,102 +38,104 @@ export declare const asNonNegativeInt16: <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
|
|
37
|
-
*
|
|
41
|
+
* Namespace providing type-safe operations for the `NonNegativeInt16` branded
|
|
42
|
+
* type.
|
|
38
43
|
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* non-negative integer constraint, with negative results clamped to 0 and
|
|
42
|
-
* overflow results clamped to MAX_VALUE.
|
|
44
|
+
* The `NonNegativeInt16` type represents a non-negative integer in [0, 2^15).
|
|
45
|
+
* Division (`div`) uses floor division.
|
|
43
46
|
*/
|
|
44
47
|
export declare const NonNegativeInt16: {
|
|
45
48
|
/**
|
|
46
|
-
* Type guard
|
|
49
|
+
* Type guard that checks if a value is a non-negative integer in [0, 2^15).
|
|
47
50
|
*
|
|
48
|
-
* @param value The value to check
|
|
49
|
-
* @returns `true` if the value is a
|
|
50
|
-
*
|
|
51
|
+
* @param value - The value to check
|
|
52
|
+
* @returns `true` if the value is a non-negative integer in [0, 2^15), `false` otherwise
|
|
53
|
+
* @see {@link isNonNegativeInt16} for usage examples
|
|
51
54
|
*/
|
|
52
55
|
readonly is: (a: number) => a is TtfImported_NonNegativeInt16;
|
|
53
56
|
/**
|
|
54
|
-
* The
|
|
55
|
-
*
|
|
56
|
-
* @readonly
|
|
57
|
+
* The smallest value representable as `NonNegativeInt16`.
|
|
57
58
|
*/
|
|
58
59
|
readonly MIN_VALUE: 0;
|
|
59
60
|
/**
|
|
60
|
-
* The
|
|
61
|
-
*
|
|
62
|
-
* @readonly
|
|
61
|
+
* The largest value representable as `NonNegativeInt16`.
|
|
63
62
|
*/
|
|
64
63
|
readonly MAX_VALUE: number;
|
|
65
64
|
/**
|
|
66
|
-
* Returns the
|
|
65
|
+
* Returns the smallest of the given non-negative integers.
|
|
67
66
|
*
|
|
68
|
-
* @param
|
|
69
|
-
* @
|
|
70
|
-
* @returns The minimum value as a NonNegativeInt16.
|
|
67
|
+
* @param values - The non-negative integers to compare (at least one required)
|
|
68
|
+
* @returns The smallest value as a `NonNegativeInt16`
|
|
71
69
|
*/
|
|
72
70
|
readonly min: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt16>[]) => TtfImported_NonNegativeInt16;
|
|
73
71
|
/**
|
|
74
|
-
* Returns the
|
|
72
|
+
* Returns the largest of the given non-negative integers.
|
|
75
73
|
*
|
|
76
|
-
* @param
|
|
77
|
-
* @
|
|
78
|
-
* @returns The maximum value as a NonNegativeInt16.
|
|
74
|
+
* @param values - The non-negative integers to compare (at least one required)
|
|
75
|
+
* @returns The largest value as a `NonNegativeInt16`
|
|
79
76
|
*/
|
|
80
77
|
readonly max: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt16>[]) => TtfImported_NonNegativeInt16;
|
|
81
78
|
/**
|
|
82
|
-
* Clamps a number
|
|
79
|
+
* Clamps a `number` into the `NonNegativeInt16` range, rounding to the
|
|
80
|
+
* nearest integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
|
|
83
81
|
*
|
|
84
|
-
* @param value The
|
|
85
|
-
* @returns The
|
|
82
|
+
* @param value - The value to clamp
|
|
83
|
+
* @returns The clamped value as a `NonNegativeInt16`
|
|
86
84
|
*/
|
|
87
85
|
readonly clamp: (x: number) => TtfImported_NonNegativeInt16;
|
|
88
86
|
/**
|
|
89
|
-
* Generates a random NonNegativeInt16
|
|
87
|
+
* Generates a random `NonNegativeInt16` within the given range.
|
|
88
|
+
*
|
|
89
|
+
* The range is inclusive on both ends.
|
|
90
90
|
*
|
|
91
|
-
* @
|
|
91
|
+
* @param min - The minimum value (inclusive)
|
|
92
|
+
* @param max - The maximum value (inclusive)
|
|
93
|
+
* @returns A random `NonNegativeInt16` in `[min, max]`
|
|
92
94
|
*/
|
|
93
95
|
readonly random: (min?: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt16> | undefined, max?: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt16> | undefined) => TtfImported_NonNegativeInt16;
|
|
94
96
|
/**
|
|
95
|
-
* Raises a
|
|
97
|
+
* Raises `a` to the power `b`, returning `a ** b` as a `NonNegativeInt16`
|
|
98
|
+
* (floored to an integer).
|
|
96
99
|
*
|
|
97
|
-
* @param a The base
|
|
98
|
-
* @param b The exponent
|
|
99
|
-
* @returns `a ** b`
|
|
100
|
+
* @param a - The base non-negative integer
|
|
101
|
+
* @param b - The exponent non-negative integer
|
|
102
|
+
* @returns `a ** b` as a `NonNegativeInt16`
|
|
100
103
|
*/
|
|
101
104
|
readonly pow: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt16>, y: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt16>) => TtfImported_NonNegativeInt16;
|
|
102
105
|
/**
|
|
103
|
-
* Adds two NonNegativeInt16
|
|
106
|
+
* Adds two non-negative integers, returning `a + b` as a `NonNegativeInt16`.
|
|
104
107
|
*
|
|
105
|
-
* @param a The first
|
|
106
|
-
* @param b The second
|
|
107
|
-
* @returns `a
|
|
108
|
+
* @param a - The first non-negative integer
|
|
109
|
+
* @param b - The second non-negative integer
|
|
110
|
+
* @returns The sum of `a` and `b` as a `NonNegativeInt16`
|
|
108
111
|
*/
|
|
109
112
|
readonly add: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt16>, y: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt16>) => TtfImported_NonNegativeInt16;
|
|
110
113
|
/**
|
|
111
|
-
* Subtracts
|
|
114
|
+
* Subtracts two non-negative integers, returning `a - b` as a
|
|
115
|
+
* `NonNegativeInt16`.
|
|
112
116
|
*
|
|
113
|
-
* @param a The
|
|
114
|
-
* @param b The
|
|
115
|
-
* @returns `a
|
|
117
|
+
* @param a - The first non-negative integer
|
|
118
|
+
* @param b - The second non-negative integer
|
|
119
|
+
* @returns The difference of `a` and `b` as a `NonNegativeInt16`
|
|
116
120
|
*/
|
|
117
121
|
readonly sub: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt16>, y: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt16>) => TtfImported_NonNegativeInt16;
|
|
118
122
|
/**
|
|
119
|
-
* Multiplies two
|
|
123
|
+
* Multiplies two non-negative integers, returning `a * b` as a
|
|
124
|
+
* `NonNegativeInt16`.
|
|
120
125
|
*
|
|
121
|
-
* @param a The first
|
|
122
|
-
* @param b The second
|
|
123
|
-
* @returns `a
|
|
126
|
+
* @param a - The first non-negative integer
|
|
127
|
+
* @param b - The second non-negative integer
|
|
128
|
+
* @returns The product of `a` and `b` as a `NonNegativeInt16`
|
|
124
129
|
*/
|
|
125
130
|
readonly mul: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt16>, y: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt16>) => TtfImported_NonNegativeInt16;
|
|
126
131
|
/**
|
|
127
|
-
* Divides
|
|
132
|
+
* Divides two non-negative integers using floor division (`⌊a / b⌋`): the
|
|
133
|
+
* result is `a / b` rounded toward negative infinity, as a
|
|
134
|
+
* `NonNegativeInt16`.
|
|
128
135
|
*
|
|
129
|
-
* @param a The dividend
|
|
130
|
-
* @param b The divisor
|
|
131
|
-
* @returns
|
|
136
|
+
* @param a - The dividend
|
|
137
|
+
* @param b - The divisor (must be non-zero)
|
|
138
|
+
* @returns The floored quotient as a `NonNegativeInt16`
|
|
132
139
|
*/
|
|
133
140
|
readonly div: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt16>, y: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | import("ts-type-forge").NormalizeBrandUnion<number & {
|
|
134
141
|
readonly "!=0": true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-negative-int16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-int16.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,IAAI,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAItF,MAAM,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AA+B5D
|
|
1
|
+
{"version":3,"file":"non-negative-int16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-int16.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,IAAI,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAItF,MAAM,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AA+B5D;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,kDAAK,CAAC;AAErC;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;MAAW,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;;;;;OAMG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;;OAQG;;;;;;;;;;;;;;;;;;;CAEK,CAAC"}
|
|
@@ -25,92 +25,96 @@ const isNonNegativeInt16 = is;
|
|
|
25
25
|
const asNonNegativeInt16 = castType;
|
|
26
26
|
const NonNegativeInt16 = {
|
|
27
27
|
/**
|
|
28
|
-
* Type guard
|
|
28
|
+
* Type guard that checks if a value is a non-negative integer in [0, 2^15).
|
|
29
29
|
*
|
|
30
|
-
* @param value The value to check
|
|
31
|
-
* @returns `true` if the value is a
|
|
32
|
-
*
|
|
30
|
+
* @param value - The value to check
|
|
31
|
+
* @returns `true` if the value is a non-negative integer in [0, 2^15), `false` otherwise
|
|
32
|
+
* @see {@link isNonNegativeInt16} for usage examples
|
|
33
33
|
*/
|
|
34
34
|
is,
|
|
35
35
|
/**
|
|
36
|
-
* The
|
|
37
|
-
*
|
|
38
|
-
* @readonly
|
|
36
|
+
* The smallest value representable as `NonNegativeInt16`.
|
|
39
37
|
*/
|
|
40
38
|
MIN_VALUE,
|
|
41
39
|
/**
|
|
42
|
-
* The
|
|
43
|
-
*
|
|
44
|
-
* @readonly
|
|
40
|
+
* The largest value representable as `NonNegativeInt16`.
|
|
45
41
|
*/
|
|
46
42
|
MAX_VALUE,
|
|
47
43
|
/**
|
|
48
|
-
* Returns the
|
|
44
|
+
* Returns the smallest of the given non-negative integers.
|
|
49
45
|
*
|
|
50
|
-
* @param
|
|
51
|
-
* @
|
|
52
|
-
* @returns The minimum value as a NonNegativeInt16.
|
|
46
|
+
* @param values - The non-negative integers to compare (at least one required)
|
|
47
|
+
* @returns The smallest value as a `NonNegativeInt16`
|
|
53
48
|
*/
|
|
54
49
|
min: min_,
|
|
55
50
|
/**
|
|
56
|
-
* Returns the
|
|
51
|
+
* Returns the largest of the given non-negative integers.
|
|
57
52
|
*
|
|
58
|
-
* @param
|
|
59
|
-
* @
|
|
60
|
-
* @returns The maximum value as a NonNegativeInt16.
|
|
53
|
+
* @param values - The non-negative integers to compare (at least one required)
|
|
54
|
+
* @returns The largest value as a `NonNegativeInt16`
|
|
61
55
|
*/
|
|
62
56
|
max: max_,
|
|
63
57
|
/**
|
|
64
|
-
* Clamps a number
|
|
58
|
+
* Clamps a `number` into the `NonNegativeInt16` range, rounding to the
|
|
59
|
+
* nearest integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
|
|
65
60
|
*
|
|
66
|
-
* @param value The
|
|
67
|
-
* @returns The
|
|
61
|
+
* @param value - The value to clamp
|
|
62
|
+
* @returns The clamped value as a `NonNegativeInt16`
|
|
68
63
|
*/
|
|
69
64
|
clamp,
|
|
70
65
|
/**
|
|
71
|
-
* Generates a random NonNegativeInt16
|
|
66
|
+
* Generates a random `NonNegativeInt16` within the given range.
|
|
67
|
+
*
|
|
68
|
+
* The range is inclusive on both ends.
|
|
72
69
|
*
|
|
73
|
-
* @
|
|
70
|
+
* @param min - The minimum value (inclusive)
|
|
71
|
+
* @param max - The maximum value (inclusive)
|
|
72
|
+
* @returns A random `NonNegativeInt16` in `[min, max]`
|
|
74
73
|
*/
|
|
75
74
|
random,
|
|
76
75
|
/**
|
|
77
|
-
* Raises a
|
|
76
|
+
* Raises `a` to the power `b`, returning `a ** b` as a `NonNegativeInt16`
|
|
77
|
+
* (floored to an integer).
|
|
78
78
|
*
|
|
79
|
-
* @param a The base
|
|
80
|
-
* @param b The exponent
|
|
81
|
-
* @returns `a ** b`
|
|
79
|
+
* @param a - The base non-negative integer
|
|
80
|
+
* @param b - The exponent non-negative integer
|
|
81
|
+
* @returns `a ** b` as a `NonNegativeInt16`
|
|
82
82
|
*/
|
|
83
83
|
pow,
|
|
84
84
|
/**
|
|
85
|
-
* Adds two NonNegativeInt16
|
|
85
|
+
* Adds two non-negative integers, returning `a + b` as a `NonNegativeInt16`.
|
|
86
86
|
*
|
|
87
|
-
* @param a The first
|
|
88
|
-
* @param b The second
|
|
89
|
-
* @returns `a
|
|
87
|
+
* @param a - The first non-negative integer
|
|
88
|
+
* @param b - The second non-negative integer
|
|
89
|
+
* @returns The sum of `a` and `b` as a `NonNegativeInt16`
|
|
90
90
|
*/
|
|
91
91
|
add,
|
|
92
92
|
/**
|
|
93
|
-
* Subtracts
|
|
93
|
+
* Subtracts two non-negative integers, returning `a - b` as a
|
|
94
|
+
* `NonNegativeInt16`.
|
|
94
95
|
*
|
|
95
|
-
* @param a The
|
|
96
|
-
* @param b The
|
|
97
|
-
* @returns `a
|
|
96
|
+
* @param a - The first non-negative integer
|
|
97
|
+
* @param b - The second non-negative integer
|
|
98
|
+
* @returns The difference of `a` and `b` as a `NonNegativeInt16`
|
|
98
99
|
*/
|
|
99
100
|
sub,
|
|
100
101
|
/**
|
|
101
|
-
* Multiplies two
|
|
102
|
+
* Multiplies two non-negative integers, returning `a * b` as a
|
|
103
|
+
* `NonNegativeInt16`.
|
|
102
104
|
*
|
|
103
|
-
* @param a The first
|
|
104
|
-
* @param b The second
|
|
105
|
-
* @returns `a
|
|
105
|
+
* @param a - The first non-negative integer
|
|
106
|
+
* @param b - The second non-negative integer
|
|
107
|
+
* @returns The product of `a` and `b` as a `NonNegativeInt16`
|
|
106
108
|
*/
|
|
107
109
|
mul,
|
|
108
110
|
/**
|
|
109
|
-
* Divides
|
|
111
|
+
* Divides two non-negative integers using floor division (`⌊a / b⌋`): the
|
|
112
|
+
* result is `a / b` rounded toward negative infinity, as a
|
|
113
|
+
* `NonNegativeInt16`.
|
|
110
114
|
*
|
|
111
|
-
* @param a The dividend
|
|
112
|
-
* @param b The divisor
|
|
113
|
-
* @returns
|
|
115
|
+
* @param a - The dividend
|
|
116
|
+
* @param b - The divisor (must be non-zero)
|
|
117
|
+
* @returns The floored quotient as a `NonNegativeInt16`
|
|
114
118
|
*/
|
|
115
119
|
div
|
|
116
120
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-negative-int16.mjs","sources":["../../../src/number/branded-types/non-negative-int16.mts"],"sourcesContent":["import { type NonNegativeInt16 as TtfImported_NonNegativeInt16 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonNegativeInt16 = TtfImported_NonNegativeInt16;\n\ntype ElementType = NonNegativeInt16;\n\nconst typeNameInMessage = 'a non-negative integer in [0, 2^15)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\n castType,\n clamp,\n div,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n 0,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n MIN_VALUE: 0,\n MAX_VALUE: 2 ** 15 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"non-negative-int16.mjs","sources":["../../../src/number/branded-types/non-negative-int16.mts"],"sourcesContent":["import { type NonNegativeInt16 as TtfImported_NonNegativeInt16 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonNegativeInt16 = TtfImported_NonNegativeInt16;\n\ntype ElementType = NonNegativeInt16;\n\nconst typeNameInMessage = 'a non-negative integer in [0, 2^15)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n add,\n castType,\n clamp,\n div,\n is,\n max: max_,\n min: min_,\n mul,\n pow,\n random,\n sub,\n} = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger<\n ElementType,\n 0,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n MIN_VALUE: 0,\n MAX_VALUE: 2 ** 15 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n * Type guard that checks if a value is a non-negative integer in [0, 2^15).\n *\n * Returns `true` for a non-negative integer in [0, 2^15) — a value with no\n * fractional component.\n *\n * @param value - The value to check\n * @returns `true` if the value is a non-negative integer in [0, 2^15), `false` otherwise\n */\nexport const isNonNegativeInt16 = is;\n\n/**\n * Casts a `number` to the `NonNegativeInt16` branded type.\n *\n * Validates that the value is a non-negative integer in [0, 2^15) and returns\n * it with the `NonNegativeInt16` brand. Throws a `TypeError` otherwise.\n *\n * @param value - The value to cast\n * @returns The value as a `NonNegativeInt16`\n * @throws {TypeError} If the value is not a non-negative integer in [0, 2^15)\n */\nexport const asNonNegativeInt16 = castType;\n\n/**\n * Namespace providing type-safe operations for the `NonNegativeInt16` branded\n * type.\n *\n * The `NonNegativeInt16` type represents a non-negative integer in [0, 2^15).\n * Division (`div`) uses floor division.\n */\nexport const NonNegativeInt16 = {\n /**\n * Type guard that checks if a value is a non-negative integer in [0, 2^15).\n *\n * @param value - The value to check\n * @returns `true` if the value is a non-negative integer in [0, 2^15), `false` otherwise\n * @see {@link isNonNegativeInt16} for usage examples\n */\n is,\n\n /**\n * The smallest value representable as `NonNegativeInt16`.\n */\n MIN_VALUE,\n\n /**\n * The largest value representable as `NonNegativeInt16`.\n */\n MAX_VALUE,\n\n /**\n * Returns the smallest of the given non-negative integers.\n *\n * @param values - The non-negative integers to compare (at least one required)\n * @returns The smallest value as a `NonNegativeInt16`\n */\n min: min_,\n\n /**\n * Returns the largest of the given non-negative integers.\n *\n * @param values - The non-negative integers to compare (at least one required)\n * @returns The largest value as a `NonNegativeInt16`\n */\n max: max_,\n\n /**\n * Clamps a `number` into the `NonNegativeInt16` range, rounding to the\n * nearest 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 `NonNegativeInt16`\n */\n clamp,\n\n /**\n * Generates a random `NonNegativeInt16` 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 `NonNegativeInt16` in `[min, max]`\n */\n random,\n\n /**\n * Raises `a` to the power `b`, returning `a ** b` as a `NonNegativeInt16`\n * (floored to an integer).\n *\n * @param a - The base non-negative integer\n * @param b - The exponent non-negative integer\n * @returns `a ** b` as a `NonNegativeInt16`\n */\n pow,\n\n /**\n * Adds two non-negative integers, returning `a + b` as a `NonNegativeInt16`.\n *\n * @param a - The first non-negative integer\n * @param b - The second non-negative integer\n * @returns The sum of `a` and `b` as a `NonNegativeInt16`\n */\n add,\n\n /**\n * Subtracts two non-negative integers, returning `a - b` as a\n * `NonNegativeInt16`.\n *\n * @param a - The first non-negative integer\n * @param b - The second non-negative integer\n * @returns The difference of `a` and `b` as a `NonNegativeInt16`\n */\n sub,\n\n /**\n * Multiplies two non-negative integers, returning `a * b` as a\n * `NonNegativeInt16`.\n *\n * @param a - The first non-negative integer\n * @param b - The second non-negative integer\n * @returns The product of `a` and `b` as a `NonNegativeInt16`\n */\n mul,\n\n /**\n * Divides two non-negative integers using floor division (`⌊a / b⌋`): the\n * result is `a / b` rounded toward negative infinity, as a\n * `NonNegativeInt16`.\n *\n * @param a - The dividend\n * @param b - The divisor (must be non-zero)\n * @returns The floored quotient as a `NonNegativeInt16`\n */\n div,\n} as const;\n\nexpectType<\n keyof typeof NonNegativeInt16,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'non-negative' | 'range'\n >\n>('=');\n\nexpectType<\n typeof NonNegativeInt16,\n TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'non-negative' | 'range'\n >\n>('<=');\n"],"names":[],"mappings":";;AAQA,MAAM,iBAAA,GAAoB,qCAAA;AAE1B,MAAM;AAAA,EACJ,SAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAA,EAAK,IAAA;AAAA,EACL,GAAA,EAAK,IAAA;AAAA,EACL,GAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,GAAI,oBAAA,CAAqB,mBAAmB,mBAAA,CAI1C;AAAA,EACA,oBAAA,EAAsB,aAAA;AAAA,EACtB,SAAA,EAAW,CAAA;AAAA,EACX,SAAA,EAAW,KAAK,EAAA,GAAK,CAAA;AAAA,EACrB;AACF,CAAU,CAAA;AAWH,MAAM,kBAAA,GAAqB;AAY3B,MAAM,kBAAA,GAAqB;AAS3B,MAAM,gBAAA,GAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ9B,EAAA;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASL,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA;AACF;;;;"}
|