@nlozgachev/pipelined 0.12.0 → 0.13.0

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 (205) hide show
  1. package/LICENCE +28 -0
  2. package/README.md +1 -1
  3. package/{types/src/Types/NonEmptyList.d.ts → dist/NonEmptyList-BlGFjor5.d.mts} +4 -3
  4. package/dist/NonEmptyList-BlGFjor5.d.ts +30 -0
  5. package/dist/Task-BB8Wmc1J.d.ts +677 -0
  6. package/dist/Task-ChKyH0pF.d.mts +677 -0
  7. package/dist/chunk-DBIC62UV.mjs +6 -0
  8. package/dist/chunk-QPTGO5AS.mjs +150 -0
  9. package/dist/composition.d.mts +495 -0
  10. package/dist/composition.d.ts +495 -0
  11. package/dist/composition.js +188 -0
  12. package/dist/composition.mjs +135 -0
  13. package/dist/core.d.mts +2170 -0
  14. package/dist/core.d.ts +2170 -0
  15. package/dist/core.js +698 -0
  16. package/dist/core.mjs +517 -0
  17. package/dist/types.d.mts +54 -0
  18. package/{types/src/Types/Brand.d.ts → dist/types.d.ts} +6 -4
  19. package/dist/types.js +41 -0
  20. package/dist/types.mjs +14 -0
  21. package/dist/utils.d.mts +1285 -0
  22. package/dist/utils.d.ts +1285 -0
  23. package/dist/utils.js +722 -0
  24. package/dist/utils.mjs +553 -0
  25. package/package.json +63 -69
  26. package/esm/mod.js +0 -3
  27. package/esm/package.json +0 -3
  28. package/esm/src/Composition/compose.js +0 -3
  29. package/esm/src/Composition/converge.js +0 -3
  30. package/esm/src/Composition/curry.js +0 -42
  31. package/esm/src/Composition/flip.js +0 -20
  32. package/esm/src/Composition/flow.js +0 -8
  33. package/esm/src/Composition/fn.js +0 -85
  34. package/esm/src/Composition/index.js +0 -13
  35. package/esm/src/Composition/juxt.js +0 -3
  36. package/esm/src/Composition/memoize.js +0 -66
  37. package/esm/src/Composition/not.js +0 -25
  38. package/esm/src/Composition/on.js +0 -12
  39. package/esm/src/Composition/pipe.js +0 -3
  40. package/esm/src/Composition/tap.js +0 -33
  41. package/esm/src/Composition/uncurry.js +0 -32
  42. package/esm/src/Core/Deferred.js +0 -30
  43. package/esm/src/Core/InternalTypes.js +0 -1
  44. package/esm/src/Core/Lens.js +0 -98
  45. package/esm/src/Core/Logged.js +0 -111
  46. package/esm/src/Core/Option.js +0 -191
  47. package/esm/src/Core/Optional.js +0 -160
  48. package/esm/src/Core/Predicate.js +0 -133
  49. package/esm/src/Core/Reader.js +0 -134
  50. package/esm/src/Core/Refinement.js +0 -115
  51. package/esm/src/Core/RemoteData.js +0 -211
  52. package/esm/src/Core/Result.js +0 -170
  53. package/esm/src/Core/State.js +0 -181
  54. package/esm/src/Core/Task.js +0 -223
  55. package/esm/src/Core/TaskOption.js +0 -106
  56. package/esm/src/Core/TaskResult.js +0 -127
  57. package/esm/src/Core/TaskValidation.js +0 -128
  58. package/esm/src/Core/These.js +0 -245
  59. package/esm/src/Core/Tuple.js +0 -112
  60. package/esm/src/Core/Validation.js +0 -212
  61. package/esm/src/Core/index.js +0 -18
  62. package/esm/src/Types/Brand.js +0 -28
  63. package/esm/src/Types/NonEmptyList.js +0 -14
  64. package/esm/src/Types/index.js +0 -2
  65. package/esm/src/Utils/Arr.js +0 -570
  66. package/esm/src/Utils/Dict.js +0 -421
  67. package/esm/src/Utils/Num.js +0 -124
  68. package/esm/src/Utils/Rec.js +0 -241
  69. package/esm/src/Utils/Str.js +0 -134
  70. package/esm/src/Utils/Uniq.js +0 -265
  71. package/esm/src/Utils/index.js +0 -6
  72. package/script/mod.js +0 -19
  73. package/script/package.json +0 -3
  74. package/script/src/Composition/compose.js +0 -6
  75. package/script/src/Composition/converge.js +0 -6
  76. package/script/src/Composition/curry.js +0 -48
  77. package/script/src/Composition/flip.js +0 -24
  78. package/script/src/Composition/flow.js +0 -11
  79. package/script/src/Composition/fn.js +0 -98
  80. package/script/src/Composition/index.js +0 -29
  81. package/script/src/Composition/juxt.js +0 -6
  82. package/script/src/Composition/memoize.js +0 -71
  83. package/script/src/Composition/not.js +0 -29
  84. package/script/src/Composition/on.js +0 -16
  85. package/script/src/Composition/pipe.js +0 -6
  86. package/script/src/Composition/tap.js +0 -37
  87. package/script/src/Composition/uncurry.js +0 -38
  88. package/script/src/Core/Deferred.js +0 -33
  89. package/script/src/Core/InternalTypes.js +0 -2
  90. package/script/src/Core/Lens.js +0 -101
  91. package/script/src/Core/Logged.js +0 -114
  92. package/script/src/Core/Option.js +0 -194
  93. package/script/src/Core/Optional.js +0 -163
  94. package/script/src/Core/Predicate.js +0 -136
  95. package/script/src/Core/Reader.js +0 -137
  96. package/script/src/Core/Refinement.js +0 -118
  97. package/script/src/Core/RemoteData.js +0 -214
  98. package/script/src/Core/Result.js +0 -173
  99. package/script/src/Core/State.js +0 -184
  100. package/script/src/Core/Task.js +0 -226
  101. package/script/src/Core/TaskOption.js +0 -109
  102. package/script/src/Core/TaskResult.js +0 -130
  103. package/script/src/Core/TaskValidation.js +0 -131
  104. package/script/src/Core/These.js +0 -248
  105. package/script/src/Core/Tuple.js +0 -115
  106. package/script/src/Core/Validation.js +0 -215
  107. package/script/src/Core/index.js +0 -34
  108. package/script/src/Types/Brand.js +0 -31
  109. package/script/src/Types/NonEmptyList.js +0 -18
  110. package/script/src/Types/index.js +0 -18
  111. package/script/src/Utils/Arr.js +0 -573
  112. package/script/src/Utils/Dict.js +0 -424
  113. package/script/src/Utils/Num.js +0 -127
  114. package/script/src/Utils/Rec.js +0 -244
  115. package/script/src/Utils/Str.js +0 -137
  116. package/script/src/Utils/Uniq.js +0 -268
  117. package/script/src/Utils/index.js +0 -22
  118. package/types/mod.d.ts +0 -4
  119. package/types/mod.d.ts.map +0 -1
  120. package/types/src/Composition/compose.d.ts +0 -33
  121. package/types/src/Composition/compose.d.ts.map +0 -1
  122. package/types/src/Composition/converge.d.ts +0 -21
  123. package/types/src/Composition/converge.d.ts.map +0 -1
  124. package/types/src/Composition/curry.d.ts +0 -43
  125. package/types/src/Composition/curry.d.ts.map +0 -1
  126. package/types/src/Composition/flip.d.ts +0 -21
  127. package/types/src/Composition/flip.d.ts.map +0 -1
  128. package/types/src/Composition/flow.d.ts +0 -56
  129. package/types/src/Composition/flow.d.ts.map +0 -1
  130. package/types/src/Composition/fn.d.ts +0 -76
  131. package/types/src/Composition/fn.d.ts.map +0 -1
  132. package/types/src/Composition/index.d.ts +0 -14
  133. package/types/src/Composition/index.d.ts.map +0 -1
  134. package/types/src/Composition/juxt.d.ts +0 -18
  135. package/types/src/Composition/juxt.d.ts.map +0 -1
  136. package/types/src/Composition/memoize.d.ts +0 -46
  137. package/types/src/Composition/memoize.d.ts.map +0 -1
  138. package/types/src/Composition/not.d.ts +0 -26
  139. package/types/src/Composition/not.d.ts.map +0 -1
  140. package/types/src/Composition/on.d.ts +0 -13
  141. package/types/src/Composition/on.d.ts.map +0 -1
  142. package/types/src/Composition/pipe.d.ts +0 -56
  143. package/types/src/Composition/pipe.d.ts.map +0 -1
  144. package/types/src/Composition/tap.d.ts +0 -31
  145. package/types/src/Composition/tap.d.ts.map +0 -1
  146. package/types/src/Composition/uncurry.d.ts +0 -54
  147. package/types/src/Composition/uncurry.d.ts.map +0 -1
  148. package/types/src/Core/Deferred.d.ts +0 -49
  149. package/types/src/Core/Deferred.d.ts.map +0 -1
  150. package/types/src/Core/InternalTypes.d.ts +0 -23
  151. package/types/src/Core/InternalTypes.d.ts.map +0 -1
  152. package/types/src/Core/Lens.d.ts +0 -118
  153. package/types/src/Core/Lens.d.ts.map +0 -1
  154. package/types/src/Core/Logged.d.ts +0 -126
  155. package/types/src/Core/Logged.d.ts.map +0 -1
  156. package/types/src/Core/Option.d.ts +0 -209
  157. package/types/src/Core/Option.d.ts.map +0 -1
  158. package/types/src/Core/Optional.d.ts +0 -158
  159. package/types/src/Core/Optional.d.ts.map +0 -1
  160. package/types/src/Core/Predicate.d.ts +0 -161
  161. package/types/src/Core/Predicate.d.ts.map +0 -1
  162. package/types/src/Core/Reader.d.ts +0 -156
  163. package/types/src/Core/Reader.d.ts.map +0 -1
  164. package/types/src/Core/Refinement.d.ts +0 -138
  165. package/types/src/Core/Refinement.d.ts.map +0 -1
  166. package/types/src/Core/RemoteData.d.ts +0 -197
  167. package/types/src/Core/RemoteData.d.ts.map +0 -1
  168. package/types/src/Core/Result.d.ts +0 -182
  169. package/types/src/Core/Result.d.ts.map +0 -1
  170. package/types/src/Core/State.d.ts +0 -192
  171. package/types/src/Core/State.d.ts.map +0 -1
  172. package/types/src/Core/Task.d.ts +0 -219
  173. package/types/src/Core/Task.d.ts.map +0 -1
  174. package/types/src/Core/TaskOption.d.ts +0 -121
  175. package/types/src/Core/TaskOption.d.ts.map +0 -1
  176. package/types/src/Core/TaskResult.d.ts +0 -119
  177. package/types/src/Core/TaskResult.d.ts.map +0 -1
  178. package/types/src/Core/TaskValidation.d.ts +0 -144
  179. package/types/src/Core/TaskValidation.d.ts.map +0 -1
  180. package/types/src/Core/These.d.ts +0 -225
  181. package/types/src/Core/These.d.ts.map +0 -1
  182. package/types/src/Core/Tuple.d.ts +0 -129
  183. package/types/src/Core/Tuple.d.ts.map +0 -1
  184. package/types/src/Core/Validation.d.ts +0 -203
  185. package/types/src/Core/Validation.d.ts.map +0 -1
  186. package/types/src/Core/index.d.ts +0 -19
  187. package/types/src/Core/index.d.ts.map +0 -1
  188. package/types/src/Types/Brand.d.ts.map +0 -1
  189. package/types/src/Types/NonEmptyList.d.ts.map +0 -1
  190. package/types/src/Types/index.d.ts +0 -3
  191. package/types/src/Types/index.d.ts.map +0 -1
  192. package/types/src/Utils/Arr.d.ts +0 -403
  193. package/types/src/Utils/Arr.d.ts.map +0 -1
  194. package/types/src/Utils/Dict.d.ts +0 -310
  195. package/types/src/Utils/Dict.d.ts.map +0 -1
  196. package/types/src/Utils/Num.d.ts +0 -110
  197. package/types/src/Utils/Num.d.ts.map +0 -1
  198. package/types/src/Utils/Rec.d.ts +0 -159
  199. package/types/src/Utils/Rec.d.ts.map +0 -1
  200. package/types/src/Utils/Str.d.ts +0 -128
  201. package/types/src/Utils/Str.d.ts.map +0 -1
  202. package/types/src/Utils/Uniq.d.ts +0 -179
  203. package/types/src/Utils/Uniq.d.ts.map +0 -1
  204. package/types/src/Utils/index.d.ts +0 -7
  205. package/types/src/Utils/index.d.ts.map +0 -1
@@ -1,403 +0,0 @@
1
- import { Option } from "../Core/Option.js";
2
- import { Result } from "../Core/Result.js";
3
- import { Task } from "../Core/Task.js";
4
- import { NonEmptyList } from "../Types/NonEmptyList.js";
5
- /**
6
- * Functional array utilities that compose well with pipe.
7
- * All functions are data-last and curried where applicable.
8
- * Safe access functions return Option instead of throwing or returning undefined.
9
- *
10
- * @example
11
- * ```ts
12
- * pipe(
13
- * [1, 2, 3, 4, 5],
14
- * Arr.filter(n => n > 2),
15
- * Arr.map(n => n * 10),
16
- * Arr.head
17
- * ); // Some(30)
18
- * ```
19
- */
20
- export declare namespace Arr {
21
- /**
22
- * Returns the first element of an array, or None if the array is empty.
23
- *
24
- * @example
25
- * ```ts
26
- * Arr.head([1, 2, 3]); // Some(1)
27
- * Arr.head([]); // None
28
- * ```
29
- */
30
- const head: <A>(data: readonly A[]) => Option<A>;
31
- /**
32
- * Returns the last element of an array, or None if the array is empty.
33
- *
34
- * @example
35
- * ```ts
36
- * Arr.last([1, 2, 3]); // Some(3)
37
- * Arr.last([]); // None
38
- * ```
39
- */
40
- const last: <A>(data: readonly A[]) => Option<A>;
41
- /**
42
- * Returns all elements except the first, or None if the array is empty.
43
- *
44
- * @example
45
- * ```ts
46
- * Arr.tail([1, 2, 3]); // Some([2, 3])
47
- * Arr.tail([]); // None
48
- * ```
49
- */
50
- const tail: <A>(data: readonly A[]) => Option<readonly A[]>;
51
- /**
52
- * Returns all elements except the last, or None if the array is empty.
53
- *
54
- * @example
55
- * ```ts
56
- * Arr.init([1, 2, 3]); // Some([1, 2])
57
- * Arr.init([]); // None
58
- * ```
59
- */
60
- const init: <A>(data: readonly A[]) => Option<readonly A[]>;
61
- /**
62
- * Returns the first element matching the predicate, or None.
63
- *
64
- * @example
65
- * ```ts
66
- * pipe([1, 2, 3, 4], Arr.findFirst(n => n > 2)); // Some(3)
67
- * ```
68
- */
69
- const findFirst: <A>(predicate: (a: A) => boolean) => (data: readonly A[]) => Option<A>;
70
- /**
71
- * Returns the last element matching the predicate, or None.
72
- *
73
- * @example
74
- * ```ts
75
- * pipe([1, 2, 3, 4], Arr.findLast(n => n > 2)); // Some(4)
76
- * ```
77
- */
78
- const findLast: <A>(predicate: (a: A) => boolean) => (data: readonly A[]) => Option<A>;
79
- /**
80
- * Returns the index of the first element matching the predicate, or None.
81
- *
82
- * @example
83
- * ```ts
84
- * pipe([1, 2, 3, 4], Arr.findIndex(n => n > 2)); // Some(2)
85
- * ```
86
- */
87
- const findIndex: <A>(predicate: (a: A) => boolean) => (data: readonly A[]) => Option<number>;
88
- /**
89
- * Transforms each element of an array.
90
- *
91
- * @example
92
- * ```ts
93
- * pipe([1, 2, 3], Arr.map(n => n * 2)); // [2, 4, 6]
94
- * ```
95
- */
96
- const map: <A, B>(f: (a: A) => B) => (data: readonly A[]) => readonly B[];
97
- /**
98
- * Filters elements that satisfy the predicate.
99
- *
100
- * @example
101
- * ```ts
102
- * pipe([1, 2, 3, 4], Arr.filter(n => n % 2 === 0)); // [2, 4]
103
- * ```
104
- */
105
- const filter: <A>(predicate: (a: A) => boolean) => (data: readonly A[]) => readonly A[];
106
- /**
107
- * Splits an array into two groups based on a predicate.
108
- * First group contains elements that satisfy the predicate,
109
- * second group contains the rest.
110
- *
111
- * @example
112
- * ```ts
113
- * pipe([1, 2, 3, 4], Arr.partition(n => n % 2 === 0)); // [[2, 4], [1, 3]]
114
- * ```
115
- */
116
- const partition: <A>(predicate: (a: A) => boolean) => (data: readonly A[]) => readonly [readonly A[], readonly A[]];
117
- /**
118
- * Groups elements by a key function.
119
- *
120
- * @example
121
- * ```ts
122
- * pipe(
123
- * ["apple", "avocado", "banana"],
124
- * Arr.groupBy(s => s[0])
125
- * ); // { a: ["apple", "avocado"], b: ["banana"] }
126
- * ```
127
- */
128
- const groupBy: <A>(f: (a: A) => string) => (data: readonly A[]) => Record<string, NonEmptyList<A>>;
129
- /**
130
- * Removes duplicate elements using strict equality.
131
- *
132
- * @example
133
- * ```ts
134
- * Arr.uniq([1, 2, 2, 3, 1]); // [1, 2, 3]
135
- * ```
136
- */
137
- const uniq: <A>(data: readonly A[]) => readonly A[];
138
- /**
139
- * Removes duplicate elements by comparing the result of a key function.
140
- *
141
- * @example
142
- * ```ts
143
- * pipe(
144
- * [{id: 1, name: "a"}, {id: 1, name: "b"}, {id: 2, name: "c"}],
145
- * Arr.uniqBy(x => x.id)
146
- * ); // [{id: 1, name: "a"}, {id: 2, name: "c"}]
147
- * ```
148
- */
149
- const uniqBy: <A, B>(f: (a: A) => B) => (data: readonly A[]) => readonly A[];
150
- /**
151
- * Sorts an array using a comparison function. Returns a new array.
152
- *
153
- * @example
154
- * ```ts
155
- * pipe([3, 1, 2], Arr.sortBy((a, b) => a - b)); // [1, 2, 3]
156
- * ```
157
- */
158
- const sortBy: <A>(compare: (a: A, b: A) => number) => (data: readonly A[]) => readonly A[];
159
- /**
160
- * Pairs up elements from two arrays. Stops at the shorter array.
161
- *
162
- * @example
163
- * ```ts
164
- * pipe([1, 2, 3], Arr.zip(["a", "b"])); // [[1, "a"], [2, "b"]]
165
- * ```
166
- */
167
- const zip: <B>(other: readonly B[]) => <A>(data: readonly A[]) => readonly (readonly [A, B])[];
168
- /**
169
- * Combines elements from two arrays using a function. Stops at the shorter array.
170
- *
171
- * @example
172
- * ```ts
173
- * pipe([1, 2], Arr.zipWith((a, b) => a + b, ["a", "b"])); // ["1a", "2b"]
174
- * ```
175
- */
176
- const zipWith: <A, B, C>(f: (a: A, b: B) => C) => (other: readonly B[]) => (data: readonly A[]) => readonly C[];
177
- /**
178
- * Inserts a separator between every element.
179
- *
180
- * @example
181
- * ```ts
182
- * pipe([1, 2, 3], Arr.intersperse(0)); // [1, 0, 2, 0, 3]
183
- * ```
184
- */
185
- const intersperse: <A>(sep: A) => (data: readonly A[]) => readonly A[];
186
- /**
187
- * Splits an array into chunks of the given size.
188
- *
189
- * @example
190
- * ```ts
191
- * pipe([1, 2, 3, 4, 5], Arr.chunksOf(2)); // [[1, 2], [3, 4], [5]]
192
- * ```
193
- */
194
- const chunksOf: (n: number) => <A>(data: readonly A[]) => readonly (readonly A[])[];
195
- /**
196
- * Flattens a nested array by one level.
197
- *
198
- * @example
199
- * ```ts
200
- * Arr.flatten([[1, 2], [3], [4, 5]]); // [1, 2, 3, 4, 5]
201
- * ```
202
- */
203
- const flatten: <A>(data: readonly (readonly A[])[]) => readonly A[];
204
- /**
205
- * Maps each element to an array and flattens the result.
206
- *
207
- * @example
208
- * ```ts
209
- * pipe([1, 2, 3], Arr.flatMap(n => [n, n * 10])); // [1, 10, 2, 20, 3, 30]
210
- * ```
211
- */
212
- const flatMap: <A, B>(f: (a: A) => readonly B[]) => (data: readonly A[]) => readonly B[];
213
- /**
214
- * Reduces an array from the left.
215
- *
216
- * @example
217
- * ```ts
218
- * pipe([1, 2, 3], Arr.reduce(0, (acc, n) => acc + n)); // 6
219
- * ```
220
- */
221
- const reduce: <A, B>(initial: B, f: (acc: B, a: A) => B) => (data: readonly A[]) => B;
222
- /**
223
- * Maps each element to an Option and collects the results.
224
- * Returns None if any mapping returns None.
225
- *
226
- * @example
227
- * ```ts
228
- * const parseNum = (s: string): Option<number> => {
229
- * const n = Number(s);
230
- * return isNaN(n) ? Option.none() : Option.some(n);
231
- * };
232
- *
233
- * pipe(["1", "2", "3"], Arr.traverse(parseNum)); // Some([1, 2, 3])
234
- * pipe(["1", "x", "3"], Arr.traverse(parseNum)); // None
235
- * ```
236
- */
237
- const traverse: <A, B>(f: (a: A) => Option<B>) => (data: readonly A[]) => Option<readonly B[]>;
238
- /**
239
- * Maps each element to a Result and collects the results.
240
- * Returns the first Err if any mapping fails.
241
- *
242
- * @example
243
- * ```ts
244
- * pipe(
245
- * [1, 2, 3],
246
- * Arr.traverseResult(n => n > 0 ? Result.ok(n) : Result.err("negative"))
247
- * ); // Ok([1, 2, 3])
248
- * ```
249
- */
250
- const traverseResult: <E, A, B>(f: (a: A) => Result<E, B>) => (data: readonly A[]) => Result<E, readonly B[]>;
251
- /**
252
- * Maps each element to a Task and runs all in parallel.
253
- *
254
- * @example
255
- * ```ts
256
- * pipe(
257
- * [1, 2, 3],
258
- * Arr.traverseTask(n => Task.resolve(n * 2))
259
- * )(); // Promise<[2, 4, 6]>
260
- * ```
261
- */
262
- const traverseTask: <A, B>(f: (a: A) => Task<B>) => (data: readonly A[]) => Task<readonly B[]>;
263
- /**
264
- * Collects an array of Options into an Option of array.
265
- * Returns None if any element is None.
266
- *
267
- * @example
268
- * ```ts
269
- * Arr.sequence([Option.some(1), Option.some(2)]); // Some([1, 2])
270
- * Arr.sequence([Option.some(1), Option.none()]); // None
271
- * ```
272
- */
273
- const sequence: <A>(data: readonly Option<A>[]) => Option<readonly A[]>;
274
- /**
275
- * Collects an array of Results into a Result of array.
276
- * Returns the first Err if any element is Err.
277
- */
278
- const sequenceResult: <E, A>(data: readonly Result<E, A>[]) => Result<E, readonly A[]>;
279
- /**
280
- * Collects an array of Tasks into a Task of array. Runs in parallel.
281
- */
282
- const sequenceTask: <A>(data: readonly Task<A>[]) => Task<readonly A[]>;
283
- /**
284
- * Maps each element to a TaskResult and runs them sequentially.
285
- * Returns the first Err encountered, or Ok of all results if all succeed.
286
- *
287
- * @example
288
- * ```ts
289
- * const validate = (n: number): TaskResult<string, number> =>
290
- * n > 0 ? TaskResult.ok(n) : TaskResult.err("non-positive");
291
- *
292
- * pipe(
293
- * [1, 2, 3],
294
- * Arr.traverseTaskResult(validate)
295
- * )(); // Deferred<Ok([1, 2, 3])>
296
- *
297
- * pipe(
298
- * [1, -1, 3],
299
- * Arr.traverseTaskResult(validate)
300
- * )(); // Deferred<Err("non-positive")>
301
- * ```
302
- */
303
- const traverseTaskResult: <E, A, B>(f: (a: A) => Task<Result<E, B>>) => (data: readonly A[]) => Task<Result<E, readonly B[]>>;
304
- /**
305
- * Collects an array of TaskResults into a TaskResult of array.
306
- * Returns the first Err if any element is Err, runs sequentially.
307
- */
308
- const sequenceTaskResult: <E, A>(data: readonly Task<Result<E, A>>[]) => Task<Result<E, readonly A[]>>;
309
- /**
310
- * Returns true if the array is non-empty (type guard).
311
- */
312
- const isNonEmpty: <A>(data: readonly A[]) => data is NonEmptyList<A>;
313
- /**
314
- * Returns the length of an array.
315
- */
316
- const size: <A>(data: readonly A[]) => number;
317
- /**
318
- * Returns true if any element satisfies the predicate.
319
- *
320
- * @example
321
- * ```ts
322
- * pipe([1, 2, 3], Arr.some(n => n > 2)); // true
323
- * ```
324
- */
325
- const some: <A>(predicate: (a: A) => boolean) => (data: readonly A[]) => boolean;
326
- /**
327
- * Returns true if all elements satisfy the predicate.
328
- *
329
- * @example
330
- * ```ts
331
- * pipe([1, 2, 3], Arr.every(n => n > 0)); // true
332
- * ```
333
- */
334
- const every: <A>(predicate: (a: A) => boolean) => (data: readonly A[]) => boolean;
335
- /**
336
- * Reverses an array. Returns a new array.
337
- *
338
- * @example
339
- * ```ts
340
- * Arr.reverse([1, 2, 3]); // [3, 2, 1]
341
- * ```
342
- */
343
- const reverse: <A>(data: readonly A[]) => readonly A[];
344
- /**
345
- * Takes the first n elements from an array.
346
- *
347
- * @example
348
- * ```ts
349
- * pipe([1, 2, 3, 4], Arr.take(2)); // [1, 2]
350
- * ```
351
- */
352
- const take: (n: number) => <A>(data: readonly A[]) => readonly A[];
353
- /**
354
- * Drops the first n elements from an array.
355
- *
356
- * @example
357
- * ```ts
358
- * pipe([1, 2, 3, 4], Arr.drop(2)); // [3, 4]
359
- * ```
360
- */
361
- const drop: (n: number) => <A>(data: readonly A[]) => readonly A[];
362
- /**
363
- * Takes elements from the start while the predicate holds.
364
- *
365
- * @example
366
- * ```ts
367
- * pipe([1, 2, 3, 1], Arr.takeWhile(n => n < 3)); // [1, 2]
368
- * ```
369
- */
370
- const takeWhile: <A>(predicate: (a: A) => boolean) => (data: readonly A[]) => readonly A[];
371
- /**
372
- * Drops elements from the start while the predicate holds.
373
- *
374
- * @example
375
- * ```ts
376
- * pipe([1, 2, 3, 1], Arr.dropWhile(n => n < 3)); // [3, 1]
377
- * ```
378
- */
379
- const dropWhile: <A>(predicate: (a: A) => boolean) => (data: readonly A[]) => readonly A[];
380
- /**
381
- * Like `reduce`, but returns every intermediate accumulator as an array.
382
- * The initial value is not included — the output has the same length as the input.
383
- *
384
- * @example
385
- * ```ts
386
- * pipe([1, 2, 3], Arr.scan(0, (acc, n) => acc + n)); // [1, 3, 6]
387
- * ```
388
- */
389
- const scan: <A, B>(initial: B, f: (acc: B, a: A) => B) => (data: readonly A[]) => readonly B[];
390
- /**
391
- * Splits an array at an index into a `[before, after]` tuple.
392
- * Negative indices clamp to 0; indices beyond the array length clamp to the end.
393
- *
394
- * @example
395
- * ```ts
396
- * pipe([1, 2, 3, 4], Arr.splitAt(2)); // [[1, 2], [3, 4]]
397
- * pipe([1, 2, 3], Arr.splitAt(0)); // [[], [1, 2, 3]]
398
- * pipe([1, 2, 3], Arr.splitAt(10)); // [[1, 2, 3], []]
399
- * ```
400
- */
401
- const splitAt: (index: number) => <A>(data: readonly A[]) => readonly [readonly A[], readonly A[]];
402
- }
403
- //# sourceMappingURL=Arr.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Arr.d.ts","sourceRoot":"","sources":["../../../src/src/Utils/Arr.ts"],"names":[],"mappings":"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"}