ts-data-forge 10.0.0 → 11.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/array/impl/array-utils-creation.d.mts +3 -3
- package/dist/array/impl/array-utils-creation.d.mts.map +1 -1
- package/dist/array/impl/array-utils-creation.mjs.map +1 -1
- package/dist/array/impl/array-utils-element-access.d.mts +4 -4
- package/dist/array/impl/array-utils-element-access.mjs.map +1 -1
- package/dist/{guard/as-length-bounded-array.d.mts → array/impl/array-utils-length-bounded-array-cast.d.mts} +9 -9
- package/dist/array/impl/array-utils-length-bounded-array-cast.d.mts.map +1 -0
- package/dist/{guard/as-length-bounded-array.mjs → array/impl/array-utils-length-bounded-array-cast.mjs} +2 -2
- package/dist/array/impl/array-utils-length-bounded-array-cast.mjs.map +1 -0
- package/dist/{guard/is-length-bounded-array.d.mts → array/impl/array-utils-length-bounded-array-guard.d.mts} +13 -13
- package/dist/array/impl/array-utils-length-bounded-array-guard.d.mts.map +1 -0
- package/dist/{guard/is-length-bounded-array.mjs → array/impl/array-utils-length-bounded-array-guard.mjs} +1 -1
- package/dist/array/impl/array-utils-length-bounded-array-guard.mjs.map +1 -0
- package/dist/array/impl/array-utils-modification.d.mts +9 -9
- package/dist/array/impl/array-utils-modification.d.mts.map +1 -1
- package/dist/array/impl/array-utils-modification.mjs.map +1 -1
- package/dist/array/impl/array-utils-reducing-value.d.mts +9 -9
- package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -1
- package/dist/array/impl/array-utils-size.d.mts +3 -3
- package/dist/array/impl/array-utils-size.mjs.map +1 -1
- package/dist/array/impl/array-utils-slicing.d.mts +9 -9
- package/dist/array/impl/array-utils-slicing.d.mts.map +1 -1
- package/dist/array/impl/array-utils-slicing.mjs.map +1 -1
- package/dist/array/impl/array-utils-transformation.d.mts +16 -10
- package/dist/array/impl/array-utils-transformation.d.mts.map +1 -1
- package/dist/array/impl/array-utils-transformation.mjs.map +1 -1
- package/dist/array/impl/index.d.mts +2 -0
- package/dist/array/impl/index.d.mts.map +1 -1
- package/dist/array/impl/index.mjs +2 -0
- package/dist/array/impl/index.mjs.map +1 -1
- package/dist/entry-point.mjs +1 -3
- package/dist/entry-point.mjs.map +1 -1
- package/dist/guard/index.d.mts +0 -3
- package/dist/guard/index.d.mts.map +1 -1
- package/dist/guard/index.mjs +0 -3
- package/dist/guard/index.mjs.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -3
- package/dist/index.mjs.map +1 -1
- 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/dist/string/index.d.mts +2 -0
- package/dist/string/index.d.mts.map +1 -0
- package/dist/string/index.mjs +2 -0
- package/dist/string/index.mjs.map +1 -0
- package/dist/string/str.d.mts +273 -0
- package/dist/string/str.d.mts.map +1 -0
- package/dist/string/str.mjs +42 -0
- package/dist/string/str.mjs.map +1 -0
- package/package.json +31 -92
- package/src/array/impl/array-utils-creation.mts +2 -1
- package/src/array/impl/array-utils-element-access.mts +3 -3
- package/src/array/impl/array-utils-element-access.test.mts +3 -3
- package/src/{guard/as-length-bounded-array.mts → array/impl/array-utils-length-bounded-array-cast.mts} +9 -9
- package/src/{guard/as-length-bounded-array.test.mts → array/impl/array-utils-length-bounded-array-cast.test.mts} +2 -2
- package/src/{guard/is-length-bounded-array.mts → array/impl/array-utils-length-bounded-array-guard.mts} +12 -12
- package/src/{guard/is-length-bounded-array.test.mts → array/impl/array-utils-length-bounded-array-guard.test.mts} +2 -2
- package/src/array/impl/array-utils-modification.mts +9 -8
- package/src/array/impl/array-utils-modification.test.mts +6 -1
- package/src/array/impl/array-utils-reducing-value.mts +9 -9
- package/src/array/impl/array-utils-size.mts +2 -2
- package/src/array/impl/array-utils-slicing.mts +24 -13
- package/src/array/impl/array-utils-transformation.mts +18 -12
- package/src/array/impl/array-utils-transformation.test.mts +12 -12
- package/src/array/impl/index.mts +2 -0
- package/src/guard/index.mts +0 -3
- package/src/index.mts +1 -0
- 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
- package/src/string/index.mts +1 -0
- package/src/string/str.mts +371 -0
- package/src/string/str.test.mts +215 -0
- package/dist/guard/as-length-bounded-array.d.mts.map +0 -1
- package/dist/guard/as-length-bounded-array.mjs.map +0 -1
- package/dist/guard/is-length-bounded-array.d.mts.map +0 -1
- package/dist/guard/is-length-bounded-array.mjs.map +0 -1
- package/dist/guard/is-length-bounded-string.d.mts +0 -163
- package/dist/guard/is-length-bounded-string.d.mts.map +0 -1
- package/dist/guard/is-length-bounded-string.mjs +0 -7
- package/dist/guard/is-length-bounded-string.mjs.map +0 -1
- package/src/guard/is-length-bounded-string.mts +0 -199
- package/src/guard/is-length-bounded-string.test.mts +0 -170
|
@@ -26,98 +26,102 @@ const isInt16 = is;
|
|
|
26
26
|
const asInt16 = castType;
|
|
27
27
|
const Int16 = {
|
|
28
28
|
/**
|
|
29
|
-
* Type guard
|
|
29
|
+
* Type guard that checks if a value is an integer in [-2^15, 2^15).
|
|
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^15, 2^15), `false` otherwise
|
|
33
|
+
* @see {@link isInt16} for usage examples
|
|
33
34
|
*/
|
|
34
35
|
is,
|
|
35
36
|
/**
|
|
36
|
-
* The
|
|
37
|
-
*
|
|
38
|
-
* @readonly
|
|
37
|
+
* The smallest value representable as `Int16`.
|
|
39
38
|
*/
|
|
40
39
|
MIN_VALUE,
|
|
41
40
|
/**
|
|
42
|
-
* The
|
|
43
|
-
*
|
|
44
|
-
* @readonly
|
|
41
|
+
* The largest value representable as `Int16`.
|
|
45
42
|
*/
|
|
46
43
|
MAX_VALUE,
|
|
47
44
|
/**
|
|
48
|
-
* Returns the absolute value of
|
|
45
|
+
* Returns the absolute value of an integer in [-2^15, 2^15).
|
|
49
46
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
47
|
+
* The result is non-negative and keeps the `Int16` brand.
|
|
48
|
+
*
|
|
49
|
+
* @param a - The integer value
|
|
50
|
+
* @returns The absolute value as a non-negative `Int16`
|
|
52
51
|
*/
|
|
53
52
|
abs,
|
|
54
53
|
/**
|
|
55
|
-
* Returns the
|
|
54
|
+
* Returns the smallest of the given integers.
|
|
56
55
|
*
|
|
57
|
-
* @param
|
|
58
|
-
* @
|
|
59
|
-
* @returns The minimum value as an Int16.
|
|
56
|
+
* @param values - The integers to compare (at least one required)
|
|
57
|
+
* @returns The smallest value as an `Int16`
|
|
60
58
|
*/
|
|
61
59
|
min: min_,
|
|
62
60
|
/**
|
|
63
|
-
* Returns the
|
|
61
|
+
* Returns the largest of the given integers.
|
|
64
62
|
*
|
|
65
|
-
* @param
|
|
66
|
-
* @
|
|
67
|
-
* @returns The maximum value as an Int16.
|
|
63
|
+
* @param values - The integers to compare (at least one required)
|
|
64
|
+
* @returns The largest value as an `Int16`
|
|
68
65
|
*/
|
|
69
66
|
max: max_,
|
|
70
67
|
/**
|
|
71
|
-
* Clamps a number
|
|
68
|
+
* Clamps a `number` into the `Int16` range, rounding to the nearest integer
|
|
69
|
+
* and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
|
|
72
70
|
*
|
|
73
|
-
* @param value The
|
|
74
|
-
* @returns The
|
|
71
|
+
* @param value - The value to clamp
|
|
72
|
+
* @returns The clamped value as an `Int16`
|
|
75
73
|
*/
|
|
76
74
|
clamp,
|
|
77
75
|
/**
|
|
78
|
-
* Generates a random Int16
|
|
76
|
+
* Generates a random `Int16` within the given range.
|
|
77
|
+
*
|
|
78
|
+
* The range is inclusive on both ends.
|
|
79
79
|
*
|
|
80
|
-
* @
|
|
80
|
+
* @param min - The minimum value (inclusive)
|
|
81
|
+
* @param max - The maximum value (inclusive)
|
|
82
|
+
* @returns A random `Int16` in `[min, max]`
|
|
81
83
|
*/
|
|
82
84
|
random,
|
|
83
85
|
/**
|
|
84
|
-
* Raises
|
|
86
|
+
* Raises `a` to the power `b`, returning `a ** b` as an `Int16` (floored to
|
|
87
|
+
* an integer).
|
|
85
88
|
*
|
|
86
|
-
* @param a The base
|
|
87
|
-
* @param b The exponent
|
|
88
|
-
* @returns `a ** b`
|
|
89
|
+
* @param a - The base integer
|
|
90
|
+
* @param b - The exponent integer
|
|
91
|
+
* @returns `a ** b` as an `Int16`
|
|
89
92
|
*/
|
|
90
93
|
pow,
|
|
91
94
|
/**
|
|
92
|
-
* Adds two Int16
|
|
95
|
+
* Adds two integers, returning `a + b` as an `Int16`.
|
|
93
96
|
*
|
|
94
|
-
* @param a The first
|
|
95
|
-
* @param b The second
|
|
96
|
-
* @returns `a
|
|
97
|
+
* @param a - The first integer
|
|
98
|
+
* @param b - The second integer
|
|
99
|
+
* @returns The sum of `a` and `b` as an `Int16`
|
|
97
100
|
*/
|
|
98
101
|
add,
|
|
99
102
|
/**
|
|
100
|
-
* Subtracts
|
|
103
|
+
* Subtracts two integers, returning `a - b` as an `Int16`.
|
|
101
104
|
*
|
|
102
|
-
* @param a The
|
|
103
|
-
* @param b The
|
|
104
|
-
* @returns `a
|
|
105
|
+
* @param a - The first integer
|
|
106
|
+
* @param b - The second integer
|
|
107
|
+
* @returns The difference of `a` and `b` as an `Int16`
|
|
105
108
|
*/
|
|
106
109
|
sub,
|
|
107
110
|
/**
|
|
108
|
-
* Multiplies two Int16
|
|
111
|
+
* Multiplies two integers, returning `a * b` as an `Int16`.
|
|
109
112
|
*
|
|
110
|
-
* @param a The first
|
|
111
|
-
* @param b The second
|
|
112
|
-
* @returns `a
|
|
113
|
+
* @param a - The first integer
|
|
114
|
+
* @param b - The second integer
|
|
115
|
+
* @returns The product of `a` and `b` as an `Int16`
|
|
113
116
|
*/
|
|
114
117
|
mul,
|
|
115
118
|
/**
|
|
116
|
-
* Divides
|
|
119
|
+
* Divides two integers using floor division (`⌊a / b⌋`): the result is `a /
|
|
120
|
+
* b` rounded toward negative infinity, as an `Int16`.
|
|
117
121
|
*
|
|
118
|
-
* @param a The dividend
|
|
119
|
-
* @param b The divisor
|
|
120
|
-
* @returns
|
|
122
|
+
* @param a - The dividend
|
|
123
|
+
* @param b - The divisor (must be non-zero)
|
|
124
|
+
* @returns The floored quotient as an `Int16`
|
|
121
125
|
*/
|
|
122
126
|
div
|
|
123
127
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"int16.mjs","sources":["../../../src/number/branded-types/int16.mts"],"sourcesContent":["import { type Int16 as TtfImported_Int16 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type Int16 = TtfImported_Int16;\n\ntype ElementType = Int16;\n\nconst typeNameInMessage = 'an integer in [-2^15, 2^15)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n abs,\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 number,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n MIN_VALUE: -(2 ** 15),\n MAX_VALUE: 2 ** 15 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"int16.mjs","sources":["../../../src/number/branded-types/int16.mts"],"sourcesContent":["import { type Int16 as TtfImported_Int16 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type Int16 = TtfImported_Int16;\n\ntype ElementType = Int16;\n\nconst typeNameInMessage = 'an integer in [-2^15, 2^15)';\n\nconst {\n MAX_VALUE,\n MIN_VALUE,\n abs,\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 number,\n number\n>({\n integerOrSafeInteger: 'SafeInteger',\n MIN_VALUE: -(2 ** 15),\n MAX_VALUE: 2 ** 15 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n * Type guard that checks if a value is an integer in [-2^15, 2^15).\n *\n * Returns `true` for an integer in [-2^15, 2^15) — 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^15, 2^15), `false` otherwise\n */\nexport const isInt16 = is;\n\n/**\n * Casts a `number` to the `Int16` branded type.\n *\n * Validates that the value is an integer in [-2^15, 2^15) and returns it with\n * the `Int16` brand. Throws a `TypeError` otherwise.\n *\n * @param value - The value to cast\n * @returns The value as an `Int16`\n * @throws {TypeError} If the value is not an integer in [-2^15, 2^15)\n */\nexport const asInt16 = castType;\n\n/**\n * Namespace providing type-safe operations for the `Int16` branded type.\n *\n * The `Int16` type represents an integer in [-2^15, 2^15). Division (`div`)\n * uses floor division.\n */\nexport const Int16 = {\n /**\n * Type guard that checks if a value is an integer in [-2^15, 2^15).\n *\n * @param value - The value to check\n * @returns `true` if the value is an integer in [-2^15, 2^15), `false` otherwise\n * @see {@link isInt16} for usage examples\n */\n is,\n\n /**\n * The smallest value representable as `Int16`.\n */\n MIN_VALUE,\n\n /**\n * The largest value representable as `Int16`.\n */\n MAX_VALUE,\n\n /**\n * Returns the absolute value of an integer in [-2^15, 2^15).\n *\n * The result is non-negative and keeps the `Int16` brand.\n *\n * @param a - The integer value\n * @returns The absolute value as a non-negative `Int16`\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 `Int16`\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 `Int16`\n */\n max: max_,\n\n /**\n * Clamps a `number` into the `Int16` range, rounding to the nearest integer\n * and constraining the result to `[MIN_VALUE, MAX_VALUE]`.\n *\n * @param value - The value to clamp\n * @returns The clamped value as an `Int16`\n */\n clamp,\n\n /**\n * Generates a random `Int16` 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 `Int16` in `[min, max]`\n */\n random,\n\n /**\n * Raises `a` to the power `b`, returning `a ** b` as an `Int16` (floored to\n * an integer).\n *\n * @param a - The base integer\n * @param b - The exponent integer\n * @returns `a ** b` as an `Int16`\n */\n pow,\n\n /**\n * Adds two integers, returning `a + b` as an `Int16`.\n *\n * @param a - The first integer\n * @param b - The second integer\n * @returns The sum of `a` and `b` as an `Int16`\n */\n add,\n\n /**\n * Subtracts two integers, returning `a - b` as an `Int16`.\n *\n * @param a - The first integer\n * @param b - The second integer\n * @returns The difference of `a` and `b` as an `Int16`\n */\n sub,\n\n /**\n * Multiplies two integers, returning `a * b` as an `Int16`.\n *\n * @param a - The first integer\n * @param b - The second integer\n * @returns The product of `a` and `b` as an `Int16`\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 `Int16`.\n *\n * @param a - The dividend\n * @param b - The divisor (must be non-zero)\n * @returns The floored quotient as an `Int16`\n */\n div,\n} as const;\n\nexpectType<\n keyof typeof Int16,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'range'\n >\n>('=');\n\nexpectType<\n typeof Int16,\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,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,MAAO;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,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASL,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA;AACF;;;;"}
|
|
@@ -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,109 @@ 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`.
|
|
50
52
|
*/
|
|
51
53
|
readonly MIN_VALUE: number;
|
|
52
54
|
/**
|
|
53
|
-
* The
|
|
54
|
-
*
|
|
55
|
-
* @readonly
|
|
55
|
+
* The largest value representable as `Int32`.
|
|
56
56
|
*/
|
|
57
57
|
readonly MAX_VALUE: number;
|
|
58
58
|
/**
|
|
59
|
-
* Returns the absolute value of
|
|
59
|
+
* Returns the absolute value of an integer in [-2^31, 2^31).
|
|
60
|
+
*
|
|
61
|
+
* The result is non-negative and keeps the `Int32` brand.
|
|
60
62
|
*
|
|
61
|
-
* @param a The
|
|
62
|
-
* @returns The absolute value as
|
|
63
|
+
* @param a - The integer value
|
|
64
|
+
* @returns The absolute value as a non-negative `Int32`
|
|
63
65
|
*/
|
|
64
66
|
readonly abs: (x: import("ts-type-forge").WithSmallInt<TtfImported_Int32>) => import("ts-type-forge").IntersectBrand<TtfImported_Int32, import("ts-type-forge").NonNegativeNumber>;
|
|
65
67
|
/**
|
|
66
|
-
* Returns the
|
|
68
|
+
* Returns the smallest of the given integers.
|
|
67
69
|
*
|
|
68
|
-
* @param
|
|
69
|
-
* @
|
|
70
|
-
* @returns The minimum value as an Int32.
|
|
70
|
+
* @param values - The integers to compare (at least one required)
|
|
71
|
+
* @returns The smallest value as an `Int32`
|
|
71
72
|
*/
|
|
72
73
|
readonly min: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_Int32>[]) => TtfImported_Int32;
|
|
73
74
|
/**
|
|
74
|
-
* Returns the
|
|
75
|
+
* Returns the largest of the given integers.
|
|
75
76
|
*
|
|
76
|
-
* @param
|
|
77
|
-
* @
|
|
78
|
-
* @returns The maximum value as an Int32.
|
|
77
|
+
* @param values - The integers to compare (at least one required)
|
|
78
|
+
* @returns The largest value as an `Int32`
|
|
79
79
|
*/
|
|
80
80
|
readonly max: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_Int32>[]) => TtfImported_Int32;
|
|
81
81
|
/**
|
|
82
|
-
* Clamps a number
|
|
82
|
+
* Clamps a `number` into the `Int32` range, rounding to the nearest integer
|
|
83
|
+
* and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
|
|
83
84
|
*
|
|
84
|
-
* @param value The
|
|
85
|
-
* @returns The
|
|
85
|
+
* @param value - The value to clamp
|
|
86
|
+
* @returns The clamped value as an `Int32`
|
|
86
87
|
*/
|
|
87
88
|
readonly clamp: (x: number) => TtfImported_Int32;
|
|
88
89
|
/**
|
|
89
|
-
* Generates a random Int32
|
|
90
|
+
* Generates a random `Int32` within the given range.
|
|
91
|
+
*
|
|
92
|
+
* The range is inclusive on both ends.
|
|
90
93
|
*
|
|
91
|
-
* @
|
|
94
|
+
* @param min - The minimum value (inclusive)
|
|
95
|
+
* @param max - The maximum value (inclusive)
|
|
96
|
+
* @returns A random `Int32` in `[min, max]`
|
|
92
97
|
*/
|
|
93
98
|
readonly random: (min?: import("ts-type-forge").WithSmallInt<TtfImported_Int32> | undefined, max?: import("ts-type-forge").WithSmallInt<TtfImported_Int32> | undefined) => TtfImported_Int32;
|
|
94
99
|
/**
|
|
95
|
-
* Raises
|
|
100
|
+
* Raises `a` to the power `b`, returning `a ** b` as an `Int32` (floored to
|
|
101
|
+
* an integer).
|
|
96
102
|
*
|
|
97
|
-
* @param a The base
|
|
98
|
-
* @param b The exponent
|
|
99
|
-
* @returns `a ** b`
|
|
103
|
+
* @param a - The base integer
|
|
104
|
+
* @param b - The exponent integer
|
|
105
|
+
* @returns `a ** b` as an `Int32`
|
|
100
106
|
*/
|
|
101
107
|
readonly pow: (x: import("ts-type-forge").WithSmallInt<TtfImported_Int32>, y: import("ts-type-forge").WithSmallInt<TtfImported_Int32>) => TtfImported_Int32;
|
|
102
108
|
/**
|
|
103
|
-
* Adds two Int32
|
|
109
|
+
* Adds two integers, returning `a + b` as an `Int32`.
|
|
104
110
|
*
|
|
105
|
-
* @param a The first
|
|
106
|
-
* @param b The second
|
|
107
|
-
* @returns `a
|
|
111
|
+
* @param a - The first integer
|
|
112
|
+
* @param b - The second integer
|
|
113
|
+
* @returns The sum of `a` and `b` as an `Int32`
|
|
108
114
|
*/
|
|
109
115
|
readonly add: (x: import("ts-type-forge").WithSmallInt<TtfImported_Int32>, y: import("ts-type-forge").WithSmallInt<TtfImported_Int32>) => TtfImported_Int32;
|
|
110
116
|
/**
|
|
111
|
-
* Subtracts
|
|
117
|
+
* Subtracts two integers, returning `a - b` as an `Int32`.
|
|
112
118
|
*
|
|
113
|
-
* @param a The
|
|
114
|
-
* @param b The
|
|
115
|
-
* @returns `a
|
|
119
|
+
* @param a - The first integer
|
|
120
|
+
* @param b - The second integer
|
|
121
|
+
* @returns The difference of `a` and `b` as an `Int32`
|
|
116
122
|
*/
|
|
117
123
|
readonly sub: (x: import("ts-type-forge").WithSmallInt<TtfImported_Int32>, y: import("ts-type-forge").WithSmallInt<TtfImported_Int32>) => TtfImported_Int32;
|
|
118
124
|
/**
|
|
119
|
-
* Multiplies two Int32
|
|
125
|
+
* Multiplies two integers, returning `a * b` as an `Int32`.
|
|
120
126
|
*
|
|
121
|
-
* @param a The first
|
|
122
|
-
* @param b The second
|
|
123
|
-
* @returns `a
|
|
127
|
+
* @param a - The first integer
|
|
128
|
+
* @param b - The second integer
|
|
129
|
+
* @returns The product of `a` and `b` as an `Int32`
|
|
124
130
|
*/
|
|
125
131
|
readonly mul: (x: import("ts-type-forge").WithSmallInt<TtfImported_Int32>, y: import("ts-type-forge").WithSmallInt<TtfImported_Int32>) => TtfImported_Int32;
|
|
126
132
|
/**
|
|
127
|
-
* Divides
|
|
133
|
+
* Divides two integers using floor division (`⌊a / b⌋`): the result is `a /
|
|
134
|
+
* b` rounded toward negative infinity, as an `Int32`.
|
|
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 an `Int32`
|
|
132
139
|
*/
|
|
133
140
|
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
141
|
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;;OAEG;;IAGH;;OAEG;;IAGH;;;;;;;OAOG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;;;;;;;;;;;;;CAEK,CAAC"}
|
|
@@ -26,98 +26,102 @@ 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`.
|
|
39
38
|
*/
|
|
40
39
|
MIN_VALUE,
|
|
41
40
|
/**
|
|
42
|
-
* The
|
|
43
|
-
*
|
|
44
|
-
* @readonly
|
|
41
|
+
* The largest value representable as `Int32`.
|
|
45
42
|
*/
|
|
46
43
|
MAX_VALUE,
|
|
47
44
|
/**
|
|
48
|
-
* Returns the absolute value of
|
|
45
|
+
* Returns the absolute value of an integer in [-2^31, 2^31).
|
|
49
46
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
47
|
+
* The result is non-negative and keeps the `Int32` brand.
|
|
48
|
+
*
|
|
49
|
+
* @param a - The integer value
|
|
50
|
+
* @returns The absolute value as a non-negative `Int32`
|
|
52
51
|
*/
|
|
53
52
|
abs,
|
|
54
53
|
/**
|
|
55
|
-
* Returns the
|
|
54
|
+
* Returns the smallest of the given integers.
|
|
56
55
|
*
|
|
57
|
-
* @param
|
|
58
|
-
* @
|
|
59
|
-
* @returns The minimum value as an Int32.
|
|
56
|
+
* @param values - The integers to compare (at least one required)
|
|
57
|
+
* @returns The smallest value as an `Int32`
|
|
60
58
|
*/
|
|
61
59
|
min: min_,
|
|
62
60
|
/**
|
|
63
|
-
* Returns the
|
|
61
|
+
* Returns the largest of the given integers.
|
|
64
62
|
*
|
|
65
|
-
* @param
|
|
66
|
-
* @
|
|
67
|
-
* @returns The maximum value as an Int32.
|
|
63
|
+
* @param values - The integers to compare (at least one required)
|
|
64
|
+
* @returns The largest value as an `Int32`
|
|
68
65
|
*/
|
|
69
66
|
max: max_,
|
|
70
67
|
/**
|
|
71
|
-
* Clamps a number
|
|
68
|
+
* Clamps a `number` into the `Int32` range, rounding to the nearest integer
|
|
69
|
+
* and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
|
|
72
70
|
*
|
|
73
|
-
* @param value The
|
|
74
|
-
* @returns The
|
|
71
|
+
* @param value - The value to clamp
|
|
72
|
+
* @returns The clamped value as an `Int32`
|
|
75
73
|
*/
|
|
76
74
|
clamp,
|
|
77
75
|
/**
|
|
78
|
-
* Generates a random Int32
|
|
76
|
+
* Generates a random `Int32` within the given range.
|
|
77
|
+
*
|
|
78
|
+
* The range is inclusive on both ends.
|
|
79
79
|
*
|
|
80
|
-
* @
|
|
80
|
+
* @param min - The minimum value (inclusive)
|
|
81
|
+
* @param max - The maximum value (inclusive)
|
|
82
|
+
* @returns A random `Int32` in `[min, max]`
|
|
81
83
|
*/
|
|
82
84
|
random,
|
|
83
85
|
/**
|
|
84
|
-
* Raises
|
|
86
|
+
* Raises `a` to the power `b`, returning `a ** b` as an `Int32` (floored to
|
|
87
|
+
* an integer).
|
|
85
88
|
*
|
|
86
|
-
* @param a The base
|
|
87
|
-
* @param b The exponent
|
|
88
|
-
* @returns `a ** b`
|
|
89
|
+
* @param a - The base integer
|
|
90
|
+
* @param b - The exponent integer
|
|
91
|
+
* @returns `a ** b` as an `Int32`
|
|
89
92
|
*/
|
|
90
93
|
pow,
|
|
91
94
|
/**
|
|
92
|
-
* Adds two Int32
|
|
95
|
+
* Adds two integers, returning `a + b` as an `Int32`.
|
|
93
96
|
*
|
|
94
|
-
* @param a The first
|
|
95
|
-
* @param b The second
|
|
96
|
-
* @returns `a
|
|
97
|
+
* @param a - The first integer
|
|
98
|
+
* @param b - The second integer
|
|
99
|
+
* @returns The sum of `a` and `b` as an `Int32`
|
|
97
100
|
*/
|
|
98
101
|
add,
|
|
99
102
|
/**
|
|
100
|
-
* Subtracts
|
|
103
|
+
* Subtracts two integers, returning `a - b` as an `Int32`.
|
|
101
104
|
*
|
|
102
|
-
* @param a The
|
|
103
|
-
* @param b The
|
|
104
|
-
* @returns `a
|
|
105
|
+
* @param a - The first integer
|
|
106
|
+
* @param b - The second integer
|
|
107
|
+
* @returns The difference of `a` and `b` as an `Int32`
|
|
105
108
|
*/
|
|
106
109
|
sub,
|
|
107
110
|
/**
|
|
108
|
-
* Multiplies two Int32
|
|
111
|
+
* Multiplies two integers, returning `a * b` as an `Int32`.
|
|
109
112
|
*
|
|
110
|
-
* @param a The first
|
|
111
|
-
* @param b The second
|
|
112
|
-
* @returns `a
|
|
113
|
+
* @param a - The first integer
|
|
114
|
+
* @param b - The second integer
|
|
115
|
+
* @returns The product of `a` and `b` as an `Int32`
|
|
113
116
|
*/
|
|
114
117
|
mul,
|
|
115
118
|
/**
|
|
116
|
-
* Divides
|
|
119
|
+
* Divides two integers using floor division (`⌊a / b⌋`): the result is `a /
|
|
120
|
+
* b` rounded toward negative infinity, as an `Int32`.
|
|
117
121
|
*
|
|
118
|
-
* @param a The dividend
|
|
119
|
-
* @param b The divisor
|
|
120
|
-
* @returns
|
|
122
|
+
* @param a - The dividend
|
|
123
|
+
* @param b - The divisor (must be non-zero)
|
|
124
|
+
* @returns The floored quotient as an `Int32`
|
|
121
125
|
*/
|
|
122
126
|
div
|
|
123
127
|
};
|
|
@@ -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 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 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 *
|
|
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 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 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`.\n */\n MIN_VALUE,\n\n /**\n * The largest value representable as `Int32`.\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 * Clamps a `number` into the `Int32` range, rounding to the nearest integer\n * and constraining the result to `[MIN_VALUE, MAX_VALUE]`.\n *\n * @param value - The value to clamp\n * @returns The clamped value as an `Int32`\n */\n clamp,\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,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,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,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQL,GAAA,EAAK,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASL,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA;AACF;;;;"}
|