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,143 +7,143 @@ const { abs, add, castType, div, is, max: max_, min: min_, mul, pow, random, sub
7
7
  typeNameInMessage,
8
8
  });
9
9
  const floor = (x) =>
10
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
10
+
11
11
  Math.floor(x);
12
12
  const ceil = (x) =>
13
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
13
+
14
14
  Math.ceil(x);
15
15
  const round = (x) =>
16
- // eslint-disable-next-line total-functions/no-unsafe-type-assertion
16
+
17
17
  Math.round(x);
18
18
 
19
- /**
20
- * Type guard that checks if a value is a finite number.
21
- *
22
- * Returns `true` only for a finite value — never `NaN`, `Infinity`, or
23
- * `-Infinity`.
24
- *
25
- * @param value - The value to check
26
- * @returns `true` if the value is a finite number, `false` otherwise
27
- */
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
28
  export const isFiniteNumber = is;
29
- /**
30
- * Casts a `number` to the `FiniteNumber` branded type.
31
- *
32
- * Validates that the value is a finite number and returns it with the
33
- * `FiniteNumber` brand. Throws a `TypeError` otherwise.
34
- *
35
- * @param value - The value to cast
36
- * @returns The value as a `FiniteNumber`
37
- * @throws {TypeError} If the value is not a finite number
38
- */
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
39
  export const asFiniteNumber = castType;
40
- /**
41
- * Namespace providing type-safe operations for the `FiniteNumber` branded type.
42
- *
43
- * The `FiniteNumber` type represents a finite number.
44
- */
40
+
41
+
42
+
43
+
44
+
45
45
  export const FiniteNumber = {
46
- /**
47
- * Type guard that checks if a value is a finite number.
48
- *
49
- * @param value - The value to check
50
- * @returns `true` if the value is a finite number, `false` otherwise
51
- * @see {@link isFiniteNumber} for usage examples
52
- */
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
53
  is,
54
- /**
55
- * Returns the absolute value of a finite number.
56
- *
57
- * The result is non-negative and keeps the `FiniteNumber` brand.
58
- *
59
- * @param a - The finite number value
60
- * @returns The absolute value as a non-negative `FiniteNumber`
61
- */
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
62
  abs,
63
- /**
64
- * Returns the smallest of the given finite numbers.
65
- *
66
- * @param values - The finite numbers to compare (at least one required)
67
- * @returns The smallest value as a `FiniteNumber`
68
- */
63
+
64
+
65
+
66
+
67
+
68
+
69
69
  min: min_,
70
- /**
71
- * Returns the largest of the given finite numbers.
72
- *
73
- * @param values - The finite numbers to compare (at least one required)
74
- * @returns The largest value as a `FiniteNumber`
75
- */
70
+
71
+
72
+
73
+
74
+
75
+
76
76
  max: max_,
77
- /**
78
- * Returns the greatest integer less than or equal to a finite number.
79
- *
80
- * @param a - The finite number value
81
- * @returns The floored value as an integer
82
- */
77
+
78
+
79
+
80
+
81
+
82
+
83
83
  floor,
84
- /**
85
- * Returns the smallest integer greater than or equal to a finite number.
86
- *
87
- * @param a - The finite number value
88
- * @returns The ceiled value as an integer
89
- */
84
+
85
+
86
+
87
+
88
+
89
+
90
90
  ceil,
91
- /**
92
- * Returns the value of a finite number rounded to the nearest integer.
93
- *
94
- * @param a - The finite number value
95
- * @returns The rounded value as an integer
96
- */
91
+
92
+
93
+
94
+
95
+
96
+
97
97
  round,
98
- /**
99
- * Generates a random `FiniteNumber` within the given range.
100
- *
101
- * The range is inclusive on both ends.
102
- *
103
- * @param min - The minimum value (inclusive)
104
- * @param max - The maximum value (inclusive)
105
- * @returns A random `FiniteNumber` in `[min, max]`
106
- */
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
107
  random,
108
- /**
109
- * Raises `a` to the power `b`, returning `a ** b` as a `FiniteNumber`.
110
- *
111
- * @param a - The base finite number
112
- * @param b - The exponent finite number
113
- * @returns `a ** b` as a `FiniteNumber`
114
- */
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
115
  pow,
116
- /**
117
- * Adds two finite numbers, returning `a + b` as a `FiniteNumber`.
118
- *
119
- * @param a - The first finite number
120
- * @param b - The second finite number
121
- * @returns The sum of `a` and `b` as a `FiniteNumber`
122
- */
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
123
  add,
124
- /**
125
- * Subtracts two finite numbers, returning `a - b` as a `FiniteNumber`.
126
- *
127
- * @param a - The first finite number
128
- * @param b - The second finite number
129
- * @returns The difference of `a` and `b` as a `FiniteNumber`
130
- */
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
131
  sub,
132
- /**
133
- * Multiplies two finite numbers, returning `a * b` as a `FiniteNumber`.
134
- *
135
- * @param a - The first finite number
136
- * @param b - The second finite number
137
- * @returns The product of `a` and `b` as a `FiniteNumber`
138
- */
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
139
  mul,
140
- /**
141
- * Divides two finite numbers, returning `a / b` as a `FiniteNumber`.
142
- *
143
- * @param a - The dividend
144
- * @param b - The divisor (must be non-zero)
145
- * @returns `a / b` as a `FiniteNumber`
146
- */
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
147
  div,
148
148
  };
149
149