ts-data-forge 14.6.2 → 14.6.3

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 +4 -4
  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 +156 -156
  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
@@ -7,137 +7,137 @@ const { MAX_VALUE, MIN_VALUE, abs, add, castType, div, fromNumber, is, max: max_
7
7
  MAX_VALUE: 2 ** 15 - 1,
8
8
  typeNameInMessage,
9
9
  });
10
- /**
11
- * Type guard that checks if a value is an integer in [-2^15, 2^15).
12
- *
13
- * Returns `true` for an integer in [-2^15, 2^15) — a value with no fractional
14
- * component.
15
- *
16
- * @param value - The value to check
17
- * @returns `true` if the value is an integer in [-2^15, 2^15), `false` otherwise
18
- */
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
19
  export const isInt16 = is;
20
- /**
21
- * Casts a `number` to the `Int16` branded type.
22
- *
23
- * Validates that the value is an integer in [-2^15, 2^15) and returns it with
24
- * the `Int16` brand. Throws a `TypeError` otherwise.
25
- *
26
- * @param value - The value to cast
27
- * @returns The value as an `Int16`
28
- * @throws {TypeError} If the value is not an integer in [-2^15, 2^15)
29
- */
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
30
  export const asInt16 = castType;
31
- /**
32
- * Namespace providing type-safe operations for the `Int16` branded type.
33
- *
34
- * The `Int16` type represents an integer in [-2^15, 2^15). Division (`div`)
35
- * uses floor division.
36
- */
31
+
32
+
33
+
34
+
35
+
36
+
37
37
  export const Int16 = {
38
- /**
39
- * Type guard that checks if a value is an integer in [-2^15, 2^15).
40
- *
41
- * @param value - The value to check
42
- * @returns `true` if the value is an integer in [-2^15, 2^15), `false` otherwise
43
- * @see {@link isInt16} for usage examples
44
- */
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
45
  is,
46
- /**
47
- * The smallest value representable as `Int16` (the lower saturation target of
48
- * `fromNumber`).
49
- */
46
+
47
+
48
+
49
+
50
50
  MIN_VALUE,
51
- /**
52
- * The largest value representable as `Int16` (the upper saturation target of
53
- * `fromNumber`).
54
- */
51
+
52
+
53
+
54
+
55
55
  MAX_VALUE,
56
- /**
57
- * Returns the absolute value of an integer in [-2^15, 2^15).
58
- *
59
- * The result is non-negative and keeps the `Int16` brand.
60
- *
61
- * @param a - The integer value
62
- * @returns The absolute value as a non-negative `Int16`
63
- */
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
64
  abs,
65
- /**
66
- * Returns the smallest of the given integers.
67
- *
68
- * @param values - The integers to compare (at least one required)
69
- * @returns The smallest value as an `Int16`
70
- */
65
+
66
+
67
+
68
+
69
+
70
+
71
71
  min: min_,
72
- /**
73
- * Returns the largest of the given integers.
74
- *
75
- * @param values - The integers to compare (at least one required)
76
- * @returns The largest value as an `Int16`
77
- */
72
+
73
+
74
+
75
+
76
+
77
+
78
78
  max: max_,
79
- /**
80
- * Converts an arbitrary `number` into an `Int16`, rounding to the nearest
81
- * integer and saturating the result into the range `[MIN_VALUE, MAX_VALUE]`.
82
- *
83
- * Unlike `asInt16`, this is total: out-of-range inputs are clamped to the
84
- * nearest representable `Int16` instead of throwing.
85
- *
86
- * @param value - The value to convert
87
- * @returns The value as an `Int16`
88
- */
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
89
  fromNumber,
90
- /**
91
- * Generates a random `Int16` within the given range.
92
- *
93
- * The range is inclusive on both ends.
94
- *
95
- * @param min - The minimum value (inclusive)
96
- * @param max - The maximum value (inclusive)
97
- * @returns A random `Int16` in `[min, max]`
98
- */
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
99
  random,
100
- /**
101
- * Raises `a` to the power `b`, returning `a ** b` as an `Int16` (floored to
102
- * an integer).
103
- *
104
- * @param a - The base integer
105
- * @param b - The exponent integer
106
- * @returns `a ** b` as an `Int16`
107
- */
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
108
  pow,
109
- /**
110
- * Adds two integers, returning `a + b` as an `Int16`.
111
- *
112
- * @param a - The first integer
113
- * @param b - The second integer
114
- * @returns The sum of `a` and `b` as an `Int16`
115
- */
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
116
  add,
117
- /**
118
- * Subtracts two integers, returning `a - b` as an `Int16`.
119
- *
120
- * @param a - The first integer
121
- * @param b - The second integer
122
- * @returns The difference of `a` and `b` as an `Int16`
123
- */
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
124
  sub,
125
- /**
126
- * Multiplies two integers, returning `a * b` as an `Int16`.
127
- *
128
- * @param a - The first integer
129
- * @param b - The second integer
130
- * @returns The product of `a` and `b` as an `Int16`
131
- */
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
132
  mul,
133
- /**
134
- * Divides two integers using floor division (`⌊a / b⌋`): the result is `a /
135
- * b` rounded toward negative infinity, as an `Int16`.
136
- *
137
- * @param a - The dividend
138
- * @param b - The divisor (must be non-zero)
139
- * @returns The floored quotient as an `Int16`
140
- */
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
141
  div,
142
142
  };
143
143
 
@@ -7,137 +7,137 @@ const { MAX_VALUE, MIN_VALUE, abs, add, castType, div, fromNumber, is, max: max_
7
7
  MAX_VALUE: 2 ** 31 - 1,
8
8
  typeNameInMessage,
9
9
  });
10
- /**
11
- * Type guard that checks if a value is an integer in [-2^31, 2^31).
12
- *
13
- * Returns `true` for an integer in [-2^31, 2^31) — a value with no fractional
14
- * component.
15
- *
16
- * @param value - The value to check
17
- * @returns `true` if the value is an integer in [-2^31, 2^31), `false` otherwise
18
- */
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
19
  export const isInt32 = is;
20
- /**
21
- * Casts a `number` to the `Int32` branded type.
22
- *
23
- * Validates that the value is an integer in [-2^31, 2^31) and returns it with
24
- * the `Int32` brand. Throws a `TypeError` otherwise.
25
- *
26
- * @param value - The value to cast
27
- * @returns The value as an `Int32`
28
- * @throws {TypeError} If the value is not an integer in [-2^31, 2^31)
29
- */
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
30
  export const asInt32 = castType;
31
- /**
32
- * Namespace providing type-safe operations for the `Int32` branded type.
33
- *
34
- * The `Int32` type represents an integer in [-2^31, 2^31). Division (`div`)
35
- * uses floor division.
36
- */
31
+
32
+
33
+
34
+
35
+
36
+
37
37
  export const Int32 = {
38
- /**
39
- * Type guard that checks if a value is an integer in [-2^31, 2^31).
40
- *
41
- * @param value - The value to check
42
- * @returns `true` if the value is an integer in [-2^31, 2^31), `false` otherwise
43
- * @see {@link isInt32} for usage examples
44
- */
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
45
  is,
46
- /**
47
- * The smallest value representable as `Int32` (the lower saturation target of
48
- * `fromNumber`).
49
- */
46
+
47
+
48
+
49
+
50
50
  MIN_VALUE,
51
- /**
52
- * The largest value representable as `Int32` (the upper saturation target of
53
- * `fromNumber`).
54
- */
51
+
52
+
53
+
54
+
55
55
  MAX_VALUE,
56
- /**
57
- * Returns the absolute value of an integer in [-2^31, 2^31).
58
- *
59
- * The result is non-negative and keeps the `Int32` brand.
60
- *
61
- * @param a - The integer value
62
- * @returns The absolute value as a non-negative `Int32`
63
- */
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
64
  abs,
65
- /**
66
- * Returns the smallest of the given integers.
67
- *
68
- * @param values - The integers to compare (at least one required)
69
- * @returns The smallest value as an `Int32`
70
- */
65
+
66
+
67
+
68
+
69
+
70
+
71
71
  min: min_,
72
- /**
73
- * Returns the largest of the given integers.
74
- *
75
- * @param values - The integers to compare (at least one required)
76
- * @returns The largest value as an `Int32`
77
- */
72
+
73
+
74
+
75
+
76
+
77
+
78
78
  max: max_,
79
- /**
80
- * Converts an arbitrary `number` into an `Int32`, rounding to the nearest
81
- * integer and saturating the result into the range `[MIN_VALUE, MAX_VALUE]`.
82
- *
83
- * Unlike `asInt32`, this is total: out-of-range inputs are clamped to the
84
- * nearest representable `Int32` instead of throwing.
85
- *
86
- * @param value - The value to convert
87
- * @returns The value as an `Int32`
88
- */
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
89
  fromNumber,
90
- /**
91
- * Generates a random `Int32` within the given range.
92
- *
93
- * The range is inclusive on both ends.
94
- *
95
- * @param min - The minimum value (inclusive)
96
- * @param max - The maximum value (inclusive)
97
- * @returns A random `Int32` in `[min, max]`
98
- */
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
99
  random,
100
- /**
101
- * Raises `a` to the power `b`, returning `a ** b` as an `Int32` (floored to
102
- * an integer).
103
- *
104
- * @param a - The base integer
105
- * @param b - The exponent integer
106
- * @returns `a ** b` as an `Int32`
107
- */
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
108
  pow,
109
- /**
110
- * Adds two integers, returning `a + b` as an `Int32`.
111
- *
112
- * @param a - The first integer
113
- * @param b - The second integer
114
- * @returns The sum of `a` and `b` as an `Int32`
115
- */
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
116
  add,
117
- /**
118
- * Subtracts two integers, returning `a - b` as an `Int32`.
119
- *
120
- * @param a - The first integer
121
- * @param b - The second integer
122
- * @returns The difference of `a` and `b` as an `Int32`
123
- */
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
124
  sub,
125
- /**
126
- * Multiplies two integers, returning `a * b` as an `Int32`.
127
- *
128
- * @param a - The first integer
129
- * @param b - The second integer
130
- * @returns The product of `a` and `b` as an `Int32`
131
- */
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
132
  mul,
133
- /**
134
- * Divides two integers using floor division (`⌊a / b⌋`): the result is `a /
135
- * b` rounded toward negative infinity, as an `Int32`.
136
- *
137
- * @param a - The dividend
138
- * @param b - The divisor (must be non-zero)
139
- * @returns The floored quotient as an `Int32`
140
- */
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
141
  div,
142
142
  };
143
143