ts-data-forge 14.6.2 → 14.6.4

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.
Files changed (182) hide show
  1. package/dist/array/impl/array-utils-creation.mjs +103 -103
  2. package/dist/array/impl/array-utils-element-access.mjs +46 -46
  3. package/dist/array/impl/array-utils-iterators.mjs +54 -54
  4. package/dist/array/impl/array-utils-length-bounded-array-cast.mjs +49 -49
  5. package/dist/array/impl/array-utils-length-bounded-array-guard.mjs +40 -40
  6. package/dist/array/impl/array-utils-length-bounded-tuple-cast.mjs +42 -42
  7. package/dist/array/impl/array-utils-length-bounded-tuple-guard.mjs +46 -46
  8. package/dist/array/impl/array-utils-modification.mjs +5 -5
  9. package/dist/array/impl/array-utils-reducing-value.mjs +11 -11
  10. package/dist/array/impl/array-utils-search.mjs +6 -6
  11. package/dist/array/impl/array-utils-set-op.mjs +116 -116
  12. package/dist/array/impl/array-utils-size.mjs +6 -6
  13. package/dist/array/impl/array-utils-slice-clamped.mjs +1 -1
  14. package/dist/array/impl/array-utils-slicing.mjs +56 -56
  15. package/dist/array/impl/array-utils-transformation.mjs +158 -158
  16. package/dist/array/impl/array-utils-validation.mjs +36 -36
  17. package/dist/collections/imap-mapped.mjs +195 -195
  18. package/dist/collections/imap.mjs +143 -143
  19. package/dist/collections/iset-mapped.mjs +320 -320
  20. package/dist/collections/iset.mjs +207 -207
  21. package/dist/collections/queue.mjs +130 -130
  22. package/dist/collections/stack.mjs +125 -125
  23. package/dist/expect-type.mjs +68 -68
  24. package/dist/functional/async-result/impl/async-result-flat-map.mjs +3 -3
  25. package/dist/functional/async-result/impl/async-result-map-err.mjs +2 -2
  26. package/dist/functional/async-result/impl/async-result-map.mjs +2 -2
  27. package/dist/functional/async-result/impl/async-result-unwrap-or.mjs +31 -31
  28. package/dist/functional/optional/impl/optional-expect-to-be.mjs +1 -1
  29. package/dist/functional/optional/impl/optional-filter.mjs +1 -1
  30. package/dist/functional/optional/impl/optional-flat-map.mjs +1 -1
  31. package/dist/functional/optional/impl/optional-from-nullable.mjs +24 -24
  32. package/dist/functional/optional/impl/optional-is-none.mjs +19 -19
  33. package/dist/functional/optional/impl/optional-is-optional.mjs +18 -18
  34. package/dist/functional/optional/impl/optional-is-some.mjs +20 -20
  35. package/dist/functional/optional/impl/optional-map.mjs +2 -2
  36. package/dist/functional/optional/impl/optional-match.mjs +2 -2
  37. package/dist/functional/optional/impl/optional-none.mjs +16 -16
  38. package/dist/functional/optional/impl/optional-or-else.mjs +1 -1
  39. package/dist/functional/optional/impl/optional-some.mjs +19 -19
  40. package/dist/functional/optional/impl/optional-to-nullable.mjs +26 -26
  41. package/dist/functional/optional/impl/optional-unwrap-or.mjs +1 -1
  42. package/dist/functional/optional/impl/optional-unwrap-throw.mjs +28 -28
  43. package/dist/functional/optional/impl/optional-unwrap.mjs +1 -1
  44. package/dist/functional/optional/impl/optional-zip.mjs +32 -32
  45. package/dist/functional/optional/impl/tag.mjs +1 -1
  46. package/dist/functional/pipe.mjs +19 -19
  47. package/dist/functional/result/impl/result-err.mjs +25 -25
  48. package/dist/functional/result/impl/result-expect-to-be.mjs +2 -2
  49. package/dist/functional/result/impl/result-flat-map.mjs +4 -4
  50. package/dist/functional/result/impl/result-fold.mjs +4 -4
  51. package/dist/functional/result/impl/result-from-optional.mjs +2 -2
  52. package/dist/functional/result/impl/result-from-promise.mjs +34 -34
  53. package/dist/functional/result/impl/result-from-throwable.mjs +29 -29
  54. package/dist/functional/result/impl/result-is-err.mjs +19 -19
  55. package/dist/functional/result/impl/result-is-ok.mjs +19 -19
  56. package/dist/functional/result/impl/result-is-result.mjs +19 -19
  57. package/dist/functional/result/impl/result-map-err.mjs +4 -4
  58. package/dist/functional/result/impl/result-map.mjs +4 -4
  59. package/dist/functional/result/impl/result-match.mjs +3 -3
  60. package/dist/functional/result/impl/result-ok.mjs +25 -25
  61. package/dist/functional/result/impl/result-or-else.mjs +2 -2
  62. package/dist/functional/result/impl/result-safe-try.mjs +15 -15
  63. package/dist/functional/result/impl/result-safe-unwrap.mjs +33 -33
  64. package/dist/functional/result/impl/result-swap.mjs +20 -20
  65. package/dist/functional/result/impl/result-to-optional.mjs +27 -27
  66. package/dist/functional/result/impl/result-unwrap-err-or.mjs +2 -2
  67. package/dist/functional/result/impl/result-unwrap-err-throw.mjs +31 -31
  68. package/dist/functional/result/impl/result-unwrap-err.mjs +30 -30
  69. package/dist/functional/result/impl/result-unwrap-ok-or.mjs +2 -2
  70. package/dist/functional/result/impl/result-unwrap-ok.mjs +1 -1
  71. package/dist/functional/result/impl/result-unwrap-throw.mjs +31 -31
  72. package/dist/functional/result/impl/result-zip.mjs +29 -29
  73. package/dist/functional/result/impl/tag.mjs +1 -1
  74. package/dist/functional/ternary-result/impl/tag.mjs +2 -2
  75. package/dist/functional/ternary-result/impl/ternary-result-err.mjs +13 -13
  76. package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs +4 -4
  77. package/dist/functional/ternary-result/impl/ternary-result-fold.mjs +4 -4
  78. package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs +18 -18
  79. package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs +17 -17
  80. package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs +17 -17
  81. package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs +19 -19
  82. package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs +19 -19
  83. package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs +18 -18
  84. package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs +2 -2
  85. package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs +3 -3
  86. package/dist/functional/ternary-result/impl/ternary-result-map.mjs +4 -4
  87. package/dist/functional/ternary-result/impl/ternary-result-ok.mjs +14 -14
  88. package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs +19 -19
  89. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs +19 -19
  90. package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs +17 -17
  91. package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs +1 -1
  92. package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs +20 -20
  93. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs +18 -18
  94. package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs +17 -17
  95. package/dist/functional/ternary-result/impl/ternary-result-warn.mjs +16 -16
  96. package/dist/functional/ternary-result/impl/ternary-result-zip.mjs +31 -31
  97. package/dist/functional/ternary-result/impl/variant-name.mjs +1 -1
  98. package/dist/guard/has-key.mjs +41 -41
  99. package/dist/guard/is-non-empty-string.mjs +37 -37
  100. package/dist/guard/is-non-null-object.mjs +34 -34
  101. package/dist/guard/is-primitive.mjs +31 -31
  102. package/dist/guard/is-record.mjs +86 -86
  103. package/dist/guard/is-type.mjs +387 -387
  104. package/dist/guard/key-is-in.mjs +40 -40
  105. package/dist/iterator/range.mjs +1 -1
  106. package/dist/json/json.mjs +289 -289
  107. package/dist/number/branded-types/finite-number.mjs +116 -116
  108. package/dist/number/branded-types/int.mjs +223 -223
  109. package/dist/number/branded-types/int16.mjs +116 -116
  110. package/dist/number/branded-types/int32.mjs +116 -116
  111. package/dist/number/branded-types/negative-finite-number.mjs +126 -126
  112. package/dist/number/branded-types/negative-int.mjs +104 -104
  113. package/dist/number/branded-types/negative-safe-int.mjs +104 -104
  114. package/dist/number/branded-types/non-negative-finite-number.mjs +132 -132
  115. package/dist/number/branded-types/non-negative-int16.mjs +113 -113
  116. package/dist/number/branded-types/non-negative-int32.mjs +113 -113
  117. package/dist/number/branded-types/non-positive-finite-number.mjs +116 -116
  118. package/dist/number/branded-types/non-positive-int.mjs +97 -97
  119. package/dist/number/branded-types/non-positive-safe-int.mjs +98 -98
  120. package/dist/number/branded-types/non-zero-finite-number.mjs +112 -112
  121. package/dist/number/branded-types/non-zero-int.mjs +82 -82
  122. package/dist/number/branded-types/non-zero-int16.mjs +95 -95
  123. package/dist/number/branded-types/non-zero-int32.mjs +95 -95
  124. package/dist/number/branded-types/non-zero-safe-int.mjs +99 -99
  125. package/dist/number/branded-types/non-zero-uint16.mjs +95 -95
  126. package/dist/number/branded-types/non-zero-uint32.mjs +95 -95
  127. package/dist/number/branded-types/positive-finite-number.mjs +134 -134
  128. package/dist/number/branded-types/positive-int.mjs +237 -237
  129. package/dist/number/branded-types/positive-int16.mjs +110 -110
  130. package/dist/number/branded-types/positive-int32.mjs +110 -110
  131. package/dist/number/branded-types/positive-safe-int.mjs +268 -268
  132. package/dist/number/branded-types/positive-uint16.mjs +110 -110
  133. package/dist/number/branded-types/positive-uint32.mjs +110 -110
  134. package/dist/number/branded-types/safe-int.mjs +259 -259
  135. package/dist/number/branded-types/safe-uint.mjs +111 -111
  136. package/dist/number/branded-types/uint.mjs +225 -225
  137. package/dist/number/branded-types/uint16.mjs +108 -108
  138. package/dist/number/branded-types/uint32.mjs +108 -108
  139. package/dist/number/enum/int8.mjs +118 -118
  140. package/dist/number/enum/uint8.mjs +109 -109
  141. package/dist/number/num-arithmetic-types.mjs +1 -1
  142. package/dist/number/num.mjs +478 -478
  143. package/dist/number/refined-number-utils.mjs +170 -170
  144. package/dist/object/object.mjs +234 -234
  145. package/dist/others/cast-mutable.mjs +33 -33
  146. package/dist/others/cast-readonly.mjs +32 -32
  147. package/dist/others/debounce-function.mjs +13 -13
  148. package/dist/others/fast-deep-equal.mjs +14 -14
  149. package/dist/others/if-then.mjs +29 -29
  150. package/dist/others/tuple.mjs +50 -50
  151. package/dist/others/unknown-to-string.mjs +38 -38
  152. package/dist/promise/promise.mjs +47 -47
  153. package/dist/string/str.mjs +177 -177
  154. package/dist/types.mjs +1 -1
  155. package/package.json +6 -6
  156. package/src/guard/is-type.test.mts +2 -2
  157. package/src/number/branded-types/finite-number.test.mts +1 -1
  158. package/src/number/branded-types/int.test.mts +1 -1
  159. package/src/number/branded-types/int16.test.mts +1 -1
  160. package/src/number/branded-types/int32.test.mts +1 -1
  161. package/src/number/branded-types/non-negative-finite-number.test.mts +1 -1
  162. package/src/number/branded-types/non-negative-int16.test.mts +1 -1
  163. package/src/number/branded-types/non-negative-int32.test.mts +1 -1
  164. package/src/number/branded-types/non-zero-finite-number.test.mts +1 -1
  165. package/src/number/branded-types/non-zero-int.test.mts +1 -1
  166. package/src/number/branded-types/non-zero-int16.test.mts +1 -1
  167. package/src/number/branded-types/non-zero-int32.test.mts +1 -1
  168. package/src/number/branded-types/non-zero-safe-int.test.mts +1 -1
  169. package/src/number/branded-types/non-zero-uint16.test.mts +1 -1
  170. package/src/number/branded-types/non-zero-uint32.test.mts +1 -1
  171. package/src/number/branded-types/positive-finite-number.test.mts +1 -1
  172. package/src/number/branded-types/positive-int.test.mts +1 -1
  173. package/src/number/branded-types/positive-int16.test.mts +1 -1
  174. package/src/number/branded-types/positive-int32.test.mts +1 -1
  175. package/src/number/branded-types/positive-safe-int.test.mts +1 -1
  176. package/src/number/branded-types/positive-uint16.test.mts +1 -1
  177. package/src/number/branded-types/positive-uint32.test.mts +1 -1
  178. package/src/number/branded-types/safe-int.test.mts +1 -1
  179. package/src/number/branded-types/safe-uint.test.mts +1 -1
  180. package/src/number/branded-types/uint.test.mts +1 -1
  181. package/src/number/branded-types/uint16.test.mts +1 -1
  182. package/src/number/branded-types/uint32.test.mts +1 -1
@@ -9,11 +9,11 @@ const { MAX_VALUE, MIN_VALUE, castType: castTypeImpl, fromNumber: fromNumberImpl
9
9
  });
10
10
  const is = (x) => isImpl(x);
11
11
  const castType = (x) =>
12
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
12
+
13
13
  castTypeImpl(x);
14
14
  const fromNumber = (a) => castType(fromNumberImpl(a));
15
15
  const abs = (x) =>
16
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion, @typescript-eslint/no-unnecessary-type-assertion -- unnecessary only under the strict standard library; the stock one types `Math.abs` as returning `number`
16
+
17
17
  Math.abs(x);
18
18
  const min_ = (...values) => castType(Math.min(...values));
19
19
  const max_ = (...values) => castType(Math.max(...values));
@@ -23,137 +23,137 @@ const sub = (x, y) => fromNumber(x - y);
23
23
  const mul = (x, y) => fromNumber(x * y);
24
24
  const div = (x, y) => fromNumber(Math.floor(x / y));
25
25
  const random = (min, max) => castType(randomImpl(castTypeImpl(min), castTypeImpl(max)));
26
- /**
27
- * Type guard that checks if a value is an integer in [-128, 127].
28
- *
29
- * Returns `true` for an integer in [-128, 127] — a value with no fractional
30
- * component.
31
- *
32
- * @param value - The value to check
33
- * @returns `true` if the value is an integer in [-128, 127], `false` otherwise
34
- */
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
35
  export const isInt8 = is;
36
- /**
37
- * Casts a `number` to the `Int8` branded type.
38
- *
39
- * Validates that the value is an integer in [-128, 127] and returns it with the
40
- * `Int8` brand. Throws a `TypeError` otherwise.
41
- *
42
- * @param value - The value to cast
43
- * @returns The value as an `Int8`
44
- * @throws {TypeError} If the value is not an integer in [-128, 127]
45
- */
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
46
  export const asInt8 = castType;
47
- /**
48
- * Namespace providing type-safe operations for the `Int8` branded type.
49
- *
50
- * The `Int8` type represents an integer in [-128, 127]. Division (`div`) uses
51
- * floor division.
52
- */
47
+
48
+
49
+
50
+
51
+
52
+
53
53
  export const Int8 = {
54
- /**
55
- * Type guard that checks if a value is an integer in [-128, 127].
56
- *
57
- * @param value - The value to check
58
- * @returns `true` if the value is an integer in [-128, 127], `false` otherwise
59
- * @see {@link isInt8} for usage examples
60
- */
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
61
  is,
62
- /**
63
- * The smallest value representable as `Int8` (the lower saturation target of
64
- * `fromNumber`).
65
- */
62
+
63
+
64
+
65
+
66
66
  MIN_VALUE,
67
- /**
68
- * The largest value representable as `Int8` (the upper saturation target of
69
- * `fromNumber`).
70
- */
67
+
68
+
69
+
70
+
71
71
  MAX_VALUE,
72
- /**
73
- * Returns the smallest of the given integers.
74
- *
75
- * @param values - The integers to compare (at least one required)
76
- * @returns The smallest value as an `Int8`
77
- */
72
+
73
+
74
+
75
+
76
+
77
+
78
78
  min: min_,
79
- /**
80
- * Returns the largest of the given integers.
81
- *
82
- * @param values - The integers to compare (at least one required)
83
- * @returns The largest value as an `Int8`
84
- */
79
+
80
+
81
+
82
+
83
+
84
+
85
85
  max: max_,
86
- /**
87
- * Converts an arbitrary `number` into an `Int8`, rounding to the nearest
88
- * integer and saturating the result into the range `[MIN_VALUE, MAX_VALUE]`.
89
- *
90
- * Unlike `asInt8`, this is total: out-of-range inputs are clamped to the
91
- * nearest representable `Int8` instead of throwing.
92
- *
93
- * @param value - The value to convert
94
- * @returns The value as an `Int8`
95
- */
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
96
  fromNumber,
97
- /**
98
- * Returns the absolute value of an integer in [-128, 127].
99
- *
100
- * The result is non-negative and keeps the `Int8` brand.
101
- *
102
- * @param a - The integer value
103
- * @returns The absolute value as a non-negative `Int8`
104
- */
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
105
  abs,
106
- /**
107
- * Generates a random `Int8` within the given range.
108
- *
109
- * The range is inclusive on both ends.
110
- *
111
- * @param min - The minimum value (inclusive)
112
- * @param max - The maximum value (inclusive)
113
- * @returns A random `Int8` in `[min, max]`
114
- */
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
115
  random,
116
- /**
117
- * Raises `a` to the power `b`, returning `a ** b` as an `Int8` (floored to an
118
- * integer).
119
- *
120
- * @param a - The base integer
121
- * @param b - The exponent integer
122
- * @returns `a ** b` as an `Int8`
123
- */
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
124
  pow,
125
- /**
126
- * Adds two integers, returning `a + b` as an `Int8`.
127
- *
128
- * @param a - The first integer
129
- * @param b - The second integer
130
- * @returns The sum of `a` and `b` as an `Int8`
131
- */
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
132
  add,
133
- /**
134
- * Subtracts two integers, returning `a - b` as an `Int8`.
135
- *
136
- * @param a - The first integer
137
- * @param b - The second integer
138
- * @returns The difference of `a` and `b` as an `Int8`
139
- */
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
140
  sub,
141
- /**
142
- * Multiplies two integers, returning `a * b` as an `Int8`.
143
- *
144
- * @param a - The first integer
145
- * @param b - The second integer
146
- * @returns The product of `a` and `b` as an `Int8`
147
- */
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
148
  mul,
149
- /**
150
- * Divides two integers using floor division (`⌊a / b⌋`): the result is `a /
151
- * b` rounded toward negative infinity, as an `Int8`.
152
- *
153
- * @param a - The dividend
154
- * @param b - The divisor (must be non-zero)
155
- * @returns The floored quotient as an `Int8`
156
- */
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
157
  div,
158
158
  };
159
159
 
@@ -9,7 +9,7 @@ const { MAX_VALUE, MIN_VALUE, castType: castTypeImpl, fromNumber: fromNumberImpl
9
9
  });
10
10
  const is = (x) => isImpl(x);
11
11
  const castType = (x) =>
12
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
12
+
13
13
  castTypeImpl(x);
14
14
  const fromNumber = (a) => castType(fromNumberImpl(a));
15
15
  const min_ = (...values) => castType(Math.min(...values));
@@ -20,128 +20,128 @@ const sub = (x, y) => fromNumber(x - y);
20
20
  const mul = (x, y) => fromNumber(x * y);
21
21
  const div = (x, y) => fromNumber(Math.floor(x / y));
22
22
  const random = (min, max) => castType(randomImpl(castTypeImpl(min), castTypeImpl(max)));
23
- /**
24
- * Type guard that checks if a value is an non-negative integer less than 256.
25
- *
26
- * Returns `true` for an non-negative integer less than 256 — a value with no
27
- * fractional component.
28
- *
29
- * @param value - The value to check
30
- * @returns `true` if the value is an non-negative integer less than 256, `false` otherwise
31
- */
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
32
  export const isUint8 = is;
33
- /**
34
- * Casts a `number` to the `Uint8` branded type.
35
- *
36
- * Validates that the value is an non-negative integer less than 256 and returns
37
- * it with the `Uint8` brand. Throws a `TypeError` otherwise.
38
- *
39
- * @param value - The value to cast
40
- * @returns The value as an `Uint8`
41
- * @throws {TypeError} If the value is not an non-negative integer less than 256
42
- */
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
43
  export const asUint8 = castType;
44
- /**
45
- * Namespace providing type-safe operations for the `Uint8` branded type.
46
- *
47
- * The `Uint8` type represents an non-negative integer less than 256. Division
48
- * (`div`) uses floor division.
49
- */
44
+
45
+
46
+
47
+
48
+
49
+
50
50
  export const Uint8 = {
51
- /**
52
- * Type guard that checks if a value is an non-negative integer less than 256.
53
- *
54
- * @param value - The value to check
55
- * @returns `true` if the value is an non-negative integer less than 256, `false` otherwise
56
- * @see {@link isUint8} for usage examples
57
- */
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
58
  is,
59
- /**
60
- * The smallest value representable as `Uint8` (the lower saturation target of
61
- * `fromNumber`).
62
- */
59
+
60
+
61
+
62
+
63
63
  MIN_VALUE,
64
- /**
65
- * The largest value representable as `Uint8` (the upper saturation target of
66
- * `fromNumber`).
67
- */
64
+
65
+
66
+
67
+
68
68
  MAX_VALUE,
69
- /**
70
- * Returns the largest of the given non-negative integers.
71
- *
72
- * @param values - The non-negative integers to compare (at least one required)
73
- * @returns The largest value as an `Uint8`
74
- */
69
+
70
+
71
+
72
+
73
+
74
+
75
75
  max: max_,
76
- /**
77
- * Returns the smallest of the given non-negative integers.
78
- *
79
- * @param values - The non-negative integers to compare (at least one required)
80
- * @returns The smallest value as an `Uint8`
81
- */
76
+
77
+
78
+
79
+
80
+
81
+
82
82
  min: min_,
83
- /**
84
- * Converts an arbitrary `number` into an `Uint8`, rounding to the nearest
85
- * integer and saturating the result into the range `[MIN_VALUE, MAX_VALUE]`.
86
- *
87
- * Unlike `asUint8`, this is total: out-of-range inputs are clamped to the
88
- * nearest representable `Uint8` instead of throwing.
89
- *
90
- * @param value - The value to convert
91
- * @returns The value as an `Uint8`
92
- */
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
93
  fromNumber,
94
- /**
95
- * Generates a random `Uint8` within the given range.
96
- *
97
- * The range is inclusive on both ends.
98
- *
99
- * @param min - The minimum value (inclusive)
100
- * @param max - The maximum value (inclusive)
101
- * @returns A random `Uint8` in `[min, max]`
102
- */
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
103
  random,
104
- /**
105
- * Raises `a` to the power `b`, returning `a ** b` as an `Uint8` (floored to
106
- * an integer).
107
- *
108
- * @param a - The base non-negative integer
109
- * @param b - The exponent non-negative integer
110
- * @returns `a ** b` as an `Uint8`
111
- */
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
112
  pow,
113
- /**
114
- * Adds two non-negative integers, returning `a + b` as an `Uint8`.
115
- *
116
- * @param a - The first non-negative integer
117
- * @param b - The second non-negative integer
118
- * @returns The sum of `a` and `b` as an `Uint8`
119
- */
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
120
  add,
121
- /**
122
- * Subtracts two non-negative integers, returning `a - b` as an `Uint8`.
123
- *
124
- * @param a - The first non-negative integer
125
- * @param b - The second non-negative integer
126
- * @returns The difference of `a` and `b` as an `Uint8`
127
- */
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
128
  sub,
129
- /**
130
- * Multiplies two non-negative integers, returning `a * b` as an `Uint8`.
131
- *
132
- * @param a - The first non-negative integer
133
- * @param b - The second non-negative integer
134
- * @returns The product of `a` and `b` as an `Uint8`
135
- */
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
136
  mul,
137
- /**
138
- * Divides two non-negative integers using floor division (`⌊a / b⌋`): the
139
- * result is `a / b` rounded toward negative infinity, as an `Uint8`.
140
- *
141
- * @param a - The dividend
142
- * @param b - The divisor (must be non-zero)
143
- * @returns The floored quotient as an `Uint8`
144
- */
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
145
  div,
146
146
  };
147
147
 
@@ -39,5 +39,5 @@
39
39
 
40
40
 
41
41
 
42
- // #endregion
42
+
43
43
  //# sourceMappingURL=num-arithmetic-types.mjs.map