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,152 +9,152 @@ const { MAX_VALUE, add, castType, fromNumber, is, max: max_, min: min_, pow, ran
9
9
  });
10
10
  const abs = (x) => PositiveFiniteNumber.fromNumber(Math.abs(x));
11
11
  const floor = (x) =>
12
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
12
+
13
13
  Math.floor(x);
14
14
  const ceil = (x) =>
15
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
15
+
16
16
  Math.ceil(x);
17
17
  const round = (x) =>
18
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
18
+
19
19
  Math.round(x);
20
- /**
21
- * Type guard that checks if a value is a negative finite number.
22
- *
23
- * Returns `true` only for a finite value — never `NaN`, `Infinity`, or
24
- * `-Infinity`.
25
- *
26
- * @param value - The value to check
27
- * @returns `true` if the value is a negative finite number, `false` otherwise
28
- */
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
29
  export const isNegativeFiniteNumber = is;
30
- /**
31
- * Casts a `number` to the `NegativeFiniteNumber` branded type.
32
- *
33
- * Validates that the value is a negative finite number and returns it with the
34
- * `NegativeFiniteNumber` brand. Throws a `TypeError` otherwise.
35
- *
36
- * @param value - The value to cast
37
- * @returns The value as a `NegativeFiniteNumber`
38
- * @throws {TypeError} If the value is not a negative finite number
39
- */
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
40
  export const asNegativeFiniteNumber = castType;
41
- /**
42
- * Namespace providing type-safe operations for the `NegativeFiniteNumber`
43
- * branded type.
44
- *
45
- * The `NegativeFiniteNumber` type represents a negative finite number.
46
- */
41
+
42
+
43
+
44
+
45
+
46
+
47
47
  export const NegativeFiniteNumber = {
48
- /**
49
- * Type guard that checks if a value is a negative finite number.
50
- *
51
- * @param value - The value to check
52
- * @returns `true` if the value is a negative finite number, `false` otherwise
53
- * @see {@link isNegativeFiniteNumber} for usage examples
54
- */
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
55
  is,
56
- /**
57
- * The largest value representable as `NegativeFiniteNumber` (the upper
58
- * saturation target of `fromNumber`). The domain is open at `0` (excluded),
59
- * so this is `-Number.MIN_VALUE` — the negative double closest to `0` —
60
- * rather than `0`.
61
- */
56
+
57
+
58
+
59
+
60
+
61
+
62
62
  MAX_VALUE,
63
- /**
64
- * Returns the absolute value of a negative finite number.
65
- *
66
- * The result is non-negative and keeps the `NegativeFiniteNumber` brand.
67
- *
68
- * @param a - The negative finite number value
69
- * @returns The absolute value as a non-negative `NegativeFiniteNumber`
70
- */
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
71
  abs,
72
- /**
73
- * Returns the smallest of the given negative finite numbers.
74
- *
75
- * @param values - The negative finite numbers to compare (at least one required)
76
- * @returns The smallest value as a `NegativeFiniteNumber`
77
- */
72
+
73
+
74
+
75
+
76
+
77
+
78
78
  min: min_,
79
- /**
80
- * Returns the largest of the given negative finite numbers.
81
- *
82
- * @param values - The negative finite numbers to compare (at least one required)
83
- * @returns The largest value as a `NegativeFiniteNumber`
84
- */
79
+
80
+
81
+
82
+
83
+
84
+
85
85
  max: max_,
86
- /**
87
- * Converts an arbitrary `number` into a `NegativeFiniteNumber`, saturating it
88
- * into the range `[MIN_VALUE, MAX_VALUE]`.
89
- *
90
- * Unlike `asNegativeFiniteNumber`, this is total: out-of-range inputs are
91
- * clamped to the nearest representable `NegativeFiniteNumber` instead of
92
- * throwing.
93
- *
94
- * @param value - The value to convert
95
- * @returns The value as a `NegativeFiniteNumber`
96
- */
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
97
  fromNumber,
98
- /**
99
- * Returns the greatest integer less than or equal to a negative finite
100
- * number.
101
- *
102
- * @param a - The negative finite number value
103
- * @returns The floored value as an integer
104
- */
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
105
  floor,
106
- /**
107
- * Returns the smallest integer greater than or equal to a negative finite
108
- * number.
109
- *
110
- * @param a - The negative finite number value
111
- * @returns The ceiled value as an integer
112
- */
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
113
  ceil,
114
- /**
115
- * Returns the value of a negative finite number rounded to the nearest
116
- * integer.
117
- *
118
- * @param a - The negative finite number value
119
- * @returns The rounded value as an integer
120
- */
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
121
  round,
122
- /**
123
- * Generates a random `NegativeFiniteNumber` within the given range.
124
- *
125
- * The range is inclusive on both ends.
126
- *
127
- * @param min - The minimum value (inclusive)
128
- * @param max - The maximum value (inclusive)
129
- * @returns A random `NegativeFiniteNumber` in `[min, max]`
130
- */
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
131
  random,
132
- /**
133
- * Raises `a` to the power `b`, returning `a ** b` as a
134
- * `NegativeFiniteNumber`.
135
- *
136
- * @param a - The base negative finite number
137
- * @param b - The exponent negative finite number
138
- * @returns `a ** b` as a `NegativeFiniteNumber`
139
- */
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
140
  pow,
141
- /**
142
- * Adds two negative finite numbers, returning `a + b` as a
143
- * `NegativeFiniteNumber`.
144
- *
145
- * @param a - The first negative finite number
146
- * @param b - The second negative finite number
147
- * @returns The sum of `a` and `b` as a `NegativeFiniteNumber`
148
- */
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
149
  add,
150
- /**
151
- * Subtracts two negative finite numbers, returning `a - b` as a
152
- * `NegativeFiniteNumber`.
153
- *
154
- * @param a - The first negative finite number
155
- * @param b - The second negative finite number
156
- * @returns The difference of `a` and `b` as a `NegativeFiniteNumber`
157
- */
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
158
  sub,
159
159
  };
160
160
  //# sourceMappingURL=negative-finite-number.mjs.map
@@ -9,122 +9,122 @@ const { MAX_VALUE, add, castType, fromNumber, is, max: max_, min: min_, pow, ran
9
9
  typeNameInMessage,
10
10
  });
11
11
  const abs = (x) => PositiveInt.fromNumber(Math.abs(x));
12
- /**
13
- * Type guard that checks if a value is a negative integer.
14
- *
15
- * Returns `true` for a negative integer — a value with no fractional component,
16
- * including values outside the safe integer range (unlike `SafeInt`).
17
- *
18
- * @param value - The value to check
19
- * @returns `true` if the value is a negative integer, `false` otherwise
20
- */
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
21
  export const isNegativeInt = is;
22
- /**
23
- * Casts a `number` to the `NegativeInt` branded type.
24
- *
25
- * Validates that the value is a negative integer and returns it with the
26
- * `NegativeInt` brand. Throws a `TypeError` otherwise.
27
- *
28
- * @param value - The value to cast
29
- * @returns The value as a `NegativeInt`
30
- * @throws {TypeError} If the value is not a negative integer
31
- */
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
32
  export const asNegativeInt = castType;
33
- /**
34
- * Namespace providing type-safe operations for the `NegativeInt` branded type.
35
- *
36
- * The `NegativeInt` type represents a negative integer. Division (`div`) uses
37
- * floor division.
38
- *
39
- * Unlike `SafeInt`, `NegativeInt` allows values outside the safe integer range
40
- * (±2^53 − 1), so very large magnitudes may lose precision in JavaScript's
41
- * `number` type.
42
- */
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
43
  export const NegativeInt = {
44
- /**
45
- * Type guard that checks if a value is a negative integer.
46
- *
47
- * @param value - The value to check
48
- * @returns `true` if the value is a negative integer, `false` otherwise
49
- * @see {@link isNegativeInt} for usage examples
50
- */
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
51
  is,
52
- /**
53
- * The largest value representable as `NegativeInt` (the upper saturation
54
- * target of `fromNumber`).
55
- */
52
+
53
+
54
+
55
+
56
56
  MAX_VALUE,
57
- /**
58
- * Returns the absolute value of a negative integer.
59
- *
60
- * The result is non-negative and keeps the `NegativeInt` brand. Note that
61
- * `Math.abs(Number.MIN_SAFE_INTEGER)` exceeds `Number.MAX_SAFE_INTEGER`, so
62
- * use `SafeInt` for guaranteed precision.
63
- *
64
- * @param a - The negative integer value
65
- * @returns The absolute value as a non-negative `NegativeInt`
66
- */
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
67
  abs,
68
- /**
69
- * Returns the smallest of the given negative integers.
70
- *
71
- * @param values - The negative integers to compare (at least one required)
72
- * @returns The smallest value as a `NegativeInt`
73
- */
68
+
69
+
70
+
71
+
72
+
73
+
74
74
  min: min_,
75
- /**
76
- * Returns the largest of the given negative integers.
77
- *
78
- * @param values - The negative integers to compare (at least one required)
79
- * @returns The largest value as a `NegativeInt`
80
- */
75
+
76
+
77
+
78
+
79
+
80
+
81
81
  max: max_,
82
- /**
83
- * Converts an arbitrary `number` into a `NegativeInt`, rounding to the
84
- * nearest integer and saturating the result into the range `[MIN_VALUE,
85
- * MAX_VALUE]`.
86
- *
87
- * Unlike `asNegativeInt`, this is total: out-of-range inputs are clamped to
88
- * the nearest representable `NegativeInt` instead of throwing.
89
- *
90
- * @param value - The value to convert
91
- * @returns The value as a `NegativeInt`
92
- */
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
93
  fromNumber,
94
- /**
95
- * Generates a random `NegativeInt` 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 `NegativeInt` 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 a `NegativeInt` (floored
106
- * to an integer).
107
- *
108
- * @param a - The base negative integer
109
- * @param b - The exponent negative integer
110
- * @returns `a ** b` as a `NegativeInt`
111
- */
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
112
  pow,
113
- /**
114
- * Adds two negative integers, returning `a + b` as a `NegativeInt`.
115
- *
116
- * @param a - The first negative integer
117
- * @param b - The second negative integer
118
- * @returns The sum of `a` and `b` as a `NegativeInt`
119
- */
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
120
  add,
121
- /**
122
- * Subtracts two negative integers, returning `a - b` as a `NegativeInt`.
123
- *
124
- * @param a - The first negative integer
125
- * @param b - The second negative integer
126
- * @returns The difference of `a` and `b` as a `NegativeInt`
127
- */
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
128
  sub,
129
129
  };
130
130
  //# sourceMappingURL=negative-int.mjs.map