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
|
@@ -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;;;;"}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { type NonNegativeInt32 as TtfImported_NonNegativeInt32 } from 'ts-type-forge';
|
|
2
2
|
export type NonNegativeInt32 = TtfImported_NonNegativeInt32;
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* in the range [0, 2^31)).
|
|
4
|
+
* Type guard that checks if a value is a non-negative integer in [0, 2^31).
|
|
6
5
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Returns `true` for a non-negative integer in [0, 2^31) — 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^31), `false` otherwise
|
|
9
11
|
*/
|
|
10
12
|
export declare const isNonNegativeInt32: (a: number) => a is TtfImported_NonNegativeInt32;
|
|
11
13
|
/**
|
|
12
|
-
* Casts a number to
|
|
14
|
+
* Casts a `number` to the `NonNegativeInt32` branded type.
|
|
15
|
+
*
|
|
16
|
+
* Validates that the value is a non-negative integer in [0, 2^31) and returns
|
|
17
|
+
* it with the `NonNegativeInt32` brand. Throws a `TypeError` otherwise.
|
|
13
18
|
*
|
|
14
|
-
* @param value The value to cast
|
|
15
|
-
* @returns The value as a NonNegativeInt32
|
|
16
|
-
* @throws {TypeError} If the value is not a non-negative integer in [0, 2^31)
|
|
19
|
+
* @param value - The value to cast
|
|
20
|
+
* @returns The value as a `NonNegativeInt32`
|
|
21
|
+
* @throws {TypeError} If the value is not a non-negative integer in [0, 2^31)
|
|
17
22
|
*/
|
|
18
23
|
export declare const asNonNegativeInt32: <N extends number>(x: N) => number & {
|
|
19
24
|
readonly "< 2^31": true;
|
|
@@ -31,103 +36,104 @@ export declare const asNonNegativeInt32: <N extends number>(x: N) => number & {
|
|
|
31
36
|
'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
|
|
32
37
|
}> & N;
|
|
33
38
|
/**
|
|
34
|
-
* Namespace providing type-safe
|
|
35
|
-
*
|
|
39
|
+
* Namespace providing type-safe operations for the `NonNegativeInt32` branded
|
|
40
|
+
* type.
|
|
36
41
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* non-negative integer constraint, with negative results clamped to 0 and
|
|
40
|
-
* overflow results clamped to MAX_VALUE.
|
|
42
|
+
* The `NonNegativeInt32` type represents a non-negative integer in [0, 2^31).
|
|
43
|
+
* Division (`div`) uses floor division.
|
|
41
44
|
*/
|
|
42
45
|
export declare const NonNegativeInt32: {
|
|
43
46
|
/**
|
|
44
|
-
* Type guard
|
|
47
|
+
* Type guard that checks if a value is a non-negative integer in [0, 2^31).
|
|
45
48
|
*
|
|
46
|
-
* @param value The value to check
|
|
47
|
-
* @returns `true` if the value is a
|
|
48
|
-
*
|
|
49
|
+
* @param value - The value to check
|
|
50
|
+
* @returns `true` if the value is a non-negative integer in [0, 2^31), `false` otherwise
|
|
51
|
+
* @see {@link isNonNegativeInt32} for usage examples
|
|
49
52
|
*/
|
|
50
53
|
readonly is: (a: number) => a is TtfImported_NonNegativeInt32;
|
|
51
54
|
/**
|
|
52
|
-
* The
|
|
53
|
-
*
|
|
54
|
-
* @readonly
|
|
55
|
+
* The smallest value representable as `NonNegativeInt32`.
|
|
55
56
|
*/
|
|
56
57
|
readonly MIN_VALUE: 0;
|
|
57
58
|
/**
|
|
58
|
-
* The
|
|
59
|
-
*
|
|
60
|
-
* @readonly
|
|
59
|
+
* The largest value representable as `NonNegativeInt32`.
|
|
61
60
|
*/
|
|
62
61
|
readonly MAX_VALUE: number;
|
|
63
62
|
/**
|
|
64
|
-
* Returns the
|
|
63
|
+
* Returns the smallest of the given non-negative integers.
|
|
65
64
|
*
|
|
66
|
-
* @param
|
|
67
|
-
* @
|
|
68
|
-
* @returns The minimum value as a NonNegativeInt32.
|
|
65
|
+
* @param values - The non-negative integers to compare (at least one required)
|
|
66
|
+
* @returns The smallest value as a `NonNegativeInt32`
|
|
69
67
|
*/
|
|
70
68
|
readonly min: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt32>[]) => TtfImported_NonNegativeInt32;
|
|
71
69
|
/**
|
|
72
|
-
* Returns the
|
|
70
|
+
* Returns the largest of the given non-negative integers.
|
|
73
71
|
*
|
|
74
|
-
* @param
|
|
75
|
-
* @
|
|
76
|
-
* @returns The maximum value as a NonNegativeInt32.
|
|
72
|
+
* @param values - The non-negative integers to compare (at least one required)
|
|
73
|
+
* @returns The largest value as a `NonNegativeInt32`
|
|
77
74
|
*/
|
|
78
75
|
readonly max: (...values: readonly import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt32>[]) => TtfImported_NonNegativeInt32;
|
|
79
76
|
/**
|
|
80
|
-
* Clamps a number
|
|
77
|
+
* Clamps a `number` into the `NonNegativeInt32` range, rounding to the
|
|
78
|
+
* nearest integer and constraining the result to `[MIN_VALUE, MAX_VALUE]`.
|
|
81
79
|
*
|
|
82
|
-
* @param value The
|
|
83
|
-
* @returns The
|
|
80
|
+
* @param value - The value to clamp
|
|
81
|
+
* @returns The clamped value as a `NonNegativeInt32`
|
|
84
82
|
*/
|
|
85
83
|
readonly clamp: (x: number) => TtfImported_NonNegativeInt32;
|
|
86
84
|
/**
|
|
87
|
-
* Generates a random NonNegativeInt32
|
|
85
|
+
* Generates a random `NonNegativeInt32` within the given range.
|
|
86
|
+
*
|
|
87
|
+
* The range is inclusive on both ends.
|
|
88
88
|
*
|
|
89
|
-
* @
|
|
89
|
+
* @param min - The minimum value (inclusive)
|
|
90
|
+
* @param max - The maximum value (inclusive)
|
|
91
|
+
* @returns A random `NonNegativeInt32` in `[min, max]`
|
|
90
92
|
*/
|
|
91
93
|
readonly random: (min?: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt32> | undefined, max?: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt32> | undefined) => TtfImported_NonNegativeInt32;
|
|
92
94
|
/**
|
|
93
|
-
* Raises a
|
|
95
|
+
* Raises `a` to the power `b`, returning `a ** b` as a `NonNegativeInt32`
|
|
96
|
+
* (floored to an integer).
|
|
94
97
|
*
|
|
95
|
-
* @param a The base
|
|
96
|
-
* @param b The exponent
|
|
97
|
-
* @returns `a ** b`
|
|
98
|
+
* @param a - The base non-negative integer
|
|
99
|
+
* @param b - The exponent non-negative integer
|
|
100
|
+
* @returns `a ** b` as a `NonNegativeInt32`
|
|
98
101
|
*/
|
|
99
102
|
readonly pow: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt32>, y: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt32>) => TtfImported_NonNegativeInt32;
|
|
100
103
|
/**
|
|
101
|
-
* Adds two NonNegativeInt32
|
|
104
|
+
* Adds two non-negative integers, returning `a + b` as a `NonNegativeInt32`.
|
|
102
105
|
*
|
|
103
|
-
* @param a The first
|
|
104
|
-
* @param b The second
|
|
105
|
-
* @returns `a
|
|
106
|
+
* @param a - The first non-negative integer
|
|
107
|
+
* @param b - The second non-negative integer
|
|
108
|
+
* @returns The sum of `a` and `b` as a `NonNegativeInt32`
|
|
106
109
|
*/
|
|
107
110
|
readonly add: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt32>, y: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt32>) => TtfImported_NonNegativeInt32;
|
|
108
111
|
/**
|
|
109
|
-
* Subtracts
|
|
112
|
+
* Subtracts two non-negative integers, returning `a - b` as a
|
|
113
|
+
* `NonNegativeInt32`.
|
|
110
114
|
*
|
|
111
|
-
* @param a The
|
|
112
|
-
* @param b The
|
|
113
|
-
* @returns `a
|
|
114
|
-
* 0).
|
|
115
|
+
* @param a - The first non-negative integer
|
|
116
|
+
* @param b - The second non-negative integer
|
|
117
|
+
* @returns The difference of `a` and `b` as a `NonNegativeInt32`
|
|
115
118
|
*/
|
|
116
119
|
readonly sub: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt32>, y: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt32>) => TtfImported_NonNegativeInt32;
|
|
117
120
|
/**
|
|
118
|
-
* Multiplies two
|
|
121
|
+
* Multiplies two non-negative integers, returning `a * b` as a
|
|
122
|
+
* `NonNegativeInt32`.
|
|
119
123
|
*
|
|
120
|
-
* @param a The first
|
|
121
|
-
* @param b The second
|
|
122
|
-
* @returns `a
|
|
124
|
+
* @param a - The first non-negative integer
|
|
125
|
+
* @param b - The second non-negative integer
|
|
126
|
+
* @returns The product of `a` and `b` as a `NonNegativeInt32`
|
|
123
127
|
*/
|
|
124
128
|
readonly mul: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt32>, y: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt32>) => TtfImported_NonNegativeInt32;
|
|
125
129
|
/**
|
|
126
|
-
* Divides
|
|
130
|
+
* Divides two non-negative integers using floor division (`⌊a / b⌋`): the
|
|
131
|
+
* result is `a / b` rounded toward negative infinity, as a
|
|
132
|
+
* `NonNegativeInt32`.
|
|
127
133
|
*
|
|
128
|
-
* @param a The dividend
|
|
129
|
-
* @param b The divisor
|
|
130
|
-
* @returns
|
|
134
|
+
* @param a - The dividend
|
|
135
|
+
* @param b - The divisor (must be non-zero)
|
|
136
|
+
* @returns The floored quotient as a `NonNegativeInt32`
|
|
131
137
|
*/
|
|
132
138
|
readonly div: (x: import("ts-type-forge").WithSmallInt<TtfImported_NonNegativeInt32>, 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 & {
|
|
133
139
|
readonly "!=0": true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-negative-int32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-int32.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-int32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-int32.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,93 +25,96 @@ const isNonNegativeInt32 = is;
|
|
|
25
25
|
const asNonNegativeInt32 = castType;
|
|
26
26
|
const NonNegativeInt32 = {
|
|
27
27
|
/**
|
|
28
|
-
* Type guard
|
|
28
|
+
* Type guard that checks if a value is a non-negative integer in [0, 2^31).
|
|
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^31), `false` otherwise
|
|
32
|
+
* @see {@link isNonNegativeInt32} for usage examples
|
|
33
33
|
*/
|
|
34
34
|
is,
|
|
35
35
|
/**
|
|
36
|
-
* The
|
|
37
|
-
*
|
|
38
|
-
* @readonly
|
|
36
|
+
* The smallest value representable as `NonNegativeInt32`.
|
|
39
37
|
*/
|
|
40
38
|
MIN_VALUE,
|
|
41
39
|
/**
|
|
42
|
-
* The
|
|
43
|
-
*
|
|
44
|
-
* @readonly
|
|
40
|
+
* The largest value representable as `NonNegativeInt32`.
|
|
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 NonNegativeInt32.
|
|
46
|
+
* @param values - The non-negative integers to compare (at least one required)
|
|
47
|
+
* @returns The smallest value as a `NonNegativeInt32`
|
|
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 NonNegativeInt32.
|
|
53
|
+
* @param values - The non-negative integers to compare (at least one required)
|
|
54
|
+
* @returns The largest value as a `NonNegativeInt32`
|
|
61
55
|
*/
|
|
62
56
|
max: max_,
|
|
63
57
|
/**
|
|
64
|
-
* Clamps a number
|
|
58
|
+
* Clamps a `number` into the `NonNegativeInt32` 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 `NonNegativeInt32`
|
|
68
63
|
*/
|
|
69
64
|
clamp,
|
|
70
65
|
/**
|
|
71
|
-
* Generates a random NonNegativeInt32
|
|
66
|
+
* Generates a random `NonNegativeInt32` 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 `NonNegativeInt32` 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 `NonNegativeInt32`
|
|
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 `NonNegativeInt32`
|
|
82
82
|
*/
|
|
83
83
|
pow,
|
|
84
84
|
/**
|
|
85
|
-
* Adds two NonNegativeInt32
|
|
85
|
+
* Adds two non-negative integers, returning `a + b` as a `NonNegativeInt32`.
|
|
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 `NonNegativeInt32`
|
|
90
90
|
*/
|
|
91
91
|
add,
|
|
92
92
|
/**
|
|
93
|
-
* Subtracts
|
|
93
|
+
* Subtracts two non-negative integers, returning `a - b` as a
|
|
94
|
+
* `NonNegativeInt32`.
|
|
94
95
|
*
|
|
95
|
-
* @param a The
|
|
96
|
-
* @param b The
|
|
97
|
-
* @returns `a
|
|
98
|
-
* 0).
|
|
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 `NonNegativeInt32`
|
|
99
99
|
*/
|
|
100
100
|
sub,
|
|
101
101
|
/**
|
|
102
|
-
* Multiplies two
|
|
102
|
+
* Multiplies two non-negative integers, returning `a * b` as a
|
|
103
|
+
* `NonNegativeInt32`.
|
|
103
104
|
*
|
|
104
|
-
* @param a The first
|
|
105
|
-
* @param b The second
|
|
106
|
-
* @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 `NonNegativeInt32`
|
|
107
108
|
*/
|
|
108
109
|
mul,
|
|
109
110
|
/**
|
|
110
|
-
* 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
|
+
* `NonNegativeInt32`.
|
|
111
114
|
*
|
|
112
|
-
* @param a The dividend
|
|
113
|
-
* @param b The divisor
|
|
114
|
-
* @returns
|
|
115
|
+
* @param a - The dividend
|
|
116
|
+
* @param b - The divisor (must be non-zero)
|
|
117
|
+
* @returns The floored quotient as a `NonNegativeInt32`
|
|
115
118
|
*/
|
|
116
119
|
div
|
|
117
120
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-negative-int32.mjs","sources":["../../../src/number/branded-types/non-negative-int32.mts"],"sourcesContent":["import { type NonNegativeInt32 as TtfImported_NonNegativeInt32 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonNegativeInt32 = TtfImported_NonNegativeInt32;\n\ntype ElementType = NonNegativeInt32;\n\nconst typeNameInMessage = 'a non-negative integer in [0, 2^31)';\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 ** 31 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"non-negative-int32.mjs","sources":["../../../src/number/branded-types/non-negative-int32.mts"],"sourcesContent":["import { type NonNegativeInt32 as TtfImported_NonNegativeInt32 } from 'ts-type-forge';\nimport { expectType } from '../../expect-type.mjs';\nimport { TsDataForgeInternals } from '../refined-number-utils.mjs';\n\nexport type NonNegativeInt32 = TtfImported_NonNegativeInt32;\n\ntype ElementType = NonNegativeInt32;\n\nconst typeNameInMessage = 'a non-negative integer in [0, 2^31)';\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 ** 31 - 1,\n typeNameInMessage,\n} as const);\n\n/**\n * Type guard that checks if a value is a non-negative integer in [0, 2^31).\n *\n * Returns `true` for a non-negative integer in [0, 2^31) — 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^31), `false` otherwise\n */\nexport const isNonNegativeInt32 = is;\n\n/**\n * Casts a `number` to the `NonNegativeInt32` branded type.\n *\n * Validates that the value is a non-negative integer in [0, 2^31) and returns\n * it with the `NonNegativeInt32` brand. Throws a `TypeError` otherwise.\n *\n * @param value - The value to cast\n * @returns The value as a `NonNegativeInt32`\n * @throws {TypeError} If the value is not a non-negative integer in [0, 2^31)\n */\nexport const asNonNegativeInt32 = castType;\n\n/**\n * Namespace providing type-safe operations for the `NonNegativeInt32` branded\n * type.\n *\n * The `NonNegativeInt32` type represents a non-negative integer in [0, 2^31).\n * Division (`div`) uses floor division.\n */\nexport const NonNegativeInt32 = {\n /**\n * Type guard that checks if a value is a non-negative integer in [0, 2^31).\n *\n * @param value - The value to check\n * @returns `true` if the value is a non-negative integer in [0, 2^31), `false` otherwise\n * @see {@link isNonNegativeInt32} for usage examples\n */\n is,\n\n /**\n * The smallest value representable as `NonNegativeInt32`.\n */\n MIN_VALUE,\n\n /**\n * The largest value representable as `NonNegativeInt32`.\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 `NonNegativeInt32`\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 `NonNegativeInt32`\n */\n max: max_,\n\n /**\n * Clamps a `number` into the `NonNegativeInt32` 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 `NonNegativeInt32`\n */\n clamp,\n\n /**\n * Generates a random `NonNegativeInt32` 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 `NonNegativeInt32` in `[min, max]`\n */\n random,\n\n /**\n * Raises `a` to the power `b`, returning `a ** b` as a `NonNegativeInt32`\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 `NonNegativeInt32`\n */\n pow,\n\n /**\n * Adds two non-negative integers, returning `a + b` as a `NonNegativeInt32`.\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 `NonNegativeInt32`\n */\n add,\n\n /**\n * Subtracts two non-negative integers, returning `a - b` as a\n * `NonNegativeInt32`.\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 `NonNegativeInt32`\n */\n sub,\n\n /**\n * Multiplies two non-negative integers, returning `a * b` as a\n * `NonNegativeInt32`.\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 `NonNegativeInt32`\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 * `NonNegativeInt32`.\n *\n * @param a - The dividend\n * @param b - The divisor (must be non-zero)\n * @returns The floored quotient as a `NonNegativeInt32`\n */\n div,\n} as const;\n\nexpectType<\n keyof typeof NonNegativeInt32,\n keyof TsDataForgeInternals.RefinedNumberUtils.NumberClass<\n ElementType,\n 'int' | 'non-negative' | 'range'\n >\n>('=');\n\nexpectType<\n typeof NonNegativeInt32,\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;;;;"}
|