@dangayle/rustlike 0.1.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.
@@ -0,0 +1,468 @@
1
+ //#region src/core.d.ts
2
+ /**
3
+ * Core Algebraic Data Types: Option<T> and Result<T, E>
4
+ *
5
+ * This file merges Result and Option to allow seamless interoperation
6
+ * (converting Result -> Option and vice versa) without circular dependencies.
7
+ */
8
+ interface Some<T> {
9
+ readonly some: true;
10
+ readonly value: T;
11
+ map<U>(fn: (value: T) => U): Option<U>;
12
+ mapOr<U>(defaultValue: U, fn: (value: T) => U): U;
13
+ mapOrElse<U>(defaultFn: () => U, fn: (value: T) => U): U;
14
+ andThen<U>(fn: (value: T) => Option<U>): Option<U>;
15
+ and<U>(other: Option<U>): Option<U>;
16
+ or(other: Option<T>): Option<T>;
17
+ orElse(fn: () => Option<T>): Option<T>;
18
+ xor(other: Option<T>): Option<T>;
19
+ filter(predicate: (value: T) => boolean): Option<T>;
20
+ contains(value: T): boolean;
21
+ unwrap(): T;
22
+ unwrapOr(defaultValue: T): T;
23
+ unwrapOrElse(fn: () => T): T;
24
+ expect(message: string): T;
25
+ match<U>(handlers: {
26
+ some: (value: T) => U;
27
+ none: () => U;
28
+ }): U;
29
+ okOr<E>(error: E): Result<T, E>;
30
+ zip<U>(other: Option<U>): Option<readonly [T, U]>;
31
+ /** Flatten nested Option<Option<T>> to Option<T> */
32
+ flatten<U>(this: Option<Option<U>>): Option<U>;
33
+ /** Inspect the value if present, without modifying it */
34
+ inspect(fn: (value: T) => void): Option<T>;
35
+ isSome(): this is Some<T>;
36
+ isNone(): this is None;
37
+ }
38
+ interface None {
39
+ readonly some: false;
40
+ map<U>(fn: (value: never) => U): Option<U>;
41
+ mapOr<U>(defaultValue: U, fn: (value: never) => U): U;
42
+ mapOrElse<U>(defaultFn: () => U, fn: (value: never) => U): U;
43
+ andThen<U>(fn: (value: never) => Option<U>): Option<U>;
44
+ and<U>(other: Option<U>): None;
45
+ or<T>(other: Option<T>): Option<T>;
46
+ orElse<T>(fn: () => Option<T>): Option<T>;
47
+ xor<T>(other: Option<T>): Option<T>;
48
+ filter(predicate: (value: never) => boolean): None;
49
+ contains(value: unknown): false;
50
+ unwrap(): never;
51
+ unwrapOr<T>(defaultValue: T): T;
52
+ unwrapOrElse<T>(fn: () => T): T;
53
+ expect(message: string): never;
54
+ match<U>(handlers: {
55
+ some: (value: never) => U;
56
+ none: () => U;
57
+ }): U;
58
+ okOr<E>(error: E): Result<never, E>;
59
+ zip<U>(other: Option<U>): None;
60
+ /** Flatten nested Option<Option<T>> to Option<T> */
61
+ flatten<U>(this: Option<Option<U>>): Option<U>;
62
+ /** Inspect the value if present, without modifying it */
63
+ inspect(fn: (value: never) => void): Option<never>;
64
+ isSome(): this is Some<never>;
65
+ isNone(): this is None;
66
+ }
67
+ type Option<T> = Some<T> | None;
68
+ interface Ok<T, E = never> {
69
+ readonly ok: true;
70
+ readonly value: T;
71
+ map<U>(fn: (value: T) => U): Result<U, E>;
72
+ mapOr<U>(defaultValue: U, fn: (value: T) => U): U;
73
+ mapOrElse<U>(defaultFn: (error: E) => U, fn: (value: T) => U): U;
74
+ mapErr<F>(fn: (error: E) => F): Result<T, F>;
75
+ andThen<U>(fn: (value: T) => Result<U, E>): Result<U, E>;
76
+ and<U>(other: Result<U, E>): Result<U, E>;
77
+ or<F>(other: Result<T, F>): Result<T, F>;
78
+ orElse<F>(fn: (error: E) => Result<T, F>): Result<T, F>;
79
+ contains(value: T): boolean;
80
+ containsErr(error: E): boolean;
81
+ unwrap(): T;
82
+ unwrapOr(defaultValue: T): T;
83
+ unwrapOrElse(fn: (error: E) => T): T;
84
+ expect(message: string): T;
85
+ /** Get the error or throw (panics if Ok) */
86
+ unwrapErr(): E;
87
+ /** Get the error or throw with custom message (panics if Ok) */
88
+ expectErr(message: string): E;
89
+ match<U>(handlers: {
90
+ ok: (value: T) => U;
91
+ err: (error: E) => U;
92
+ }): U;
93
+ /** Convert to Option<T>, discarding the error if any */
94
+ toOption(): Option<T>;
95
+ /** Convert to Option<E>, discarding the value if any */
96
+ err(): Option<E>;
97
+ /** Flatten nested Result<Result<T, E>, E> to Result<T, E> */
98
+ flatten<U>(this: Result<Result<U, E>, E>): Result<U, E>;
99
+ /** Inspect the value if Ok, without modifying it */
100
+ inspect(fn: (value: T) => void): Result<T, E>;
101
+ /** Inspect the error if Err, without modifying it */
102
+ inspectErr(fn: (error: E) => void): Result<T, E>;
103
+ isOk(): this is Ok<T, E>;
104
+ isErr(): this is Err<E, T>;
105
+ }
106
+ interface Err<E, T = never> {
107
+ readonly ok: false;
108
+ readonly error: E;
109
+ map<U>(fn: (value: T) => U): Result<U, E>;
110
+ mapOr<U>(defaultValue: U, fn: (value: T) => U): U;
111
+ mapOrElse<U>(defaultFn: (error: E) => U, fn: (value: T) => U): U;
112
+ mapErr<F>(fn: (error: E) => F): Result<T, F>;
113
+ andThen<U>(fn: (value: T) => Result<U, E>): Result<U, E>;
114
+ and<U>(other: Result<U, E>): Result<U, E>;
115
+ or<F>(other: Result<T, F>): Result<T, F>;
116
+ orElse<F>(fn: (error: E) => Result<T, F>): Result<T, F>;
117
+ contains(value: T): boolean;
118
+ containsErr(error: E): boolean;
119
+ unwrap(): T;
120
+ unwrapOr(defaultValue: T): T;
121
+ unwrapOrElse(fn: (error: E) => T): T;
122
+ expect(message: string): T;
123
+ /** Get the error (panics if Ok) */
124
+ unwrapErr(): E;
125
+ /** Get the error or return it (identity for Err) */
126
+ expectErr(message: string): E;
127
+ match<U>(handlers: {
128
+ ok: (value: T) => U;
129
+ err: (error: E) => U;
130
+ }): U;
131
+ /** Convert to Option<T>, discarding the error if any */
132
+ toOption(): Option<T>;
133
+ /** Convert to Option<E>, discarding the value if any */
134
+ err(): Option<E>;
135
+ /** Flatten nested Result<Result<T, E>, E> to Result<T, E> */
136
+ flatten<U>(this: Result<Result<U, E>, E>): Result<U, E>;
137
+ /** Inspect the value if Ok, without modifying it */
138
+ inspect(fn: (value: T) => void): Result<T, E>;
139
+ /** Inspect the error if Err, without modifying it */
140
+ inspectErr(fn: (error: E) => void): Result<T, E>;
141
+ isOk(): this is Ok<T, E>;
142
+ isErr(): this is Err<E, T>;
143
+ }
144
+ type Result<T, E> = Ok<T, E> | Err<E, T>;
145
+ declare const Some: <T>(value: T) => Some<T>;
146
+ declare const None: None;
147
+ declare const Ok: <T, E = never>(value: T) => Ok<T, E>;
148
+ declare const Err: <E, T = never>(error: E) => Err<E, T>;
149
+ declare const isSome: <T>(option: Option<T>) => option is Some<T>;
150
+ declare const isNone: <T>(option: Option<T>) => option is None;
151
+ declare const isOk: <T, E>(result: Result<T, E>) => result is Ok<T, E>;
152
+ declare const isErr: <T, E>(result: Result<T, E>) => result is Err<E, T>;
153
+ declare const Option: {
154
+ readonly some: <T>(value: T) => Some<T>;
155
+ readonly none: None;
156
+ readonly isSome: <T>(option: Option<T>) => option is Some<T>;
157
+ readonly isNone: <T>(option: Option<T>) => option is None;
158
+ readonly from: <T>(value: T | null | undefined) => Option<T>;
159
+ readonly map: <T, U>(option: Option<T>, fn: (value: T) => U) => Option<U>;
160
+ readonly andThen: <T, U>(option: Option<T>, fn: (value: T) => Option<U>) => Option<U>;
161
+ readonly or: <T>(option: Option<T>, other: Option<T>) => Option<T>;
162
+ readonly orElse: <T>(option: Option<T>, fn: () => Option<T>) => Option<T>;
163
+ readonly filter: <T>(option: Option<T>, predicate: (value: T) => boolean) => Option<T>;
164
+ readonly unwrap: <T>(option: Option<T>) => T;
165
+ readonly unwrapOr: <T>(option: Option<T>, defaultValue: T) => T;
166
+ readonly unwrapOrElse: <T>(option: Option<T>, fn: () => T) => T;
167
+ readonly match: <T, U>(option: Option<T>, handlers: {
168
+ some: (value: T) => U;
169
+ none: () => U;
170
+ }) => U;
171
+ readonly zip: <T, U>(a: Option<T>, b: Option<U>) => Option<readonly [T, U]>;
172
+ readonly okOr: <T, E>(option: Option<T>, error: E) => Result<T, E>;
173
+ readonly flatten: <T>(option: Option<Option<T>>) => Option<T>;
174
+ readonly transpose: <T, E>(option: Option<Result<T, E>>) => Result<Option<T>, E>;
175
+ /**
176
+ * Combine multiple Options into a single Option of an array.
177
+ * Returns None if any Option is None.
178
+ *
179
+ * @example
180
+ * const options = Option.all([Some(1), Some(2), Some(3)]);
181
+ * // Some([1, 2, 3])
182
+ *
183
+ * const withNone = Option.all([Some(1), None, Some(3)]);
184
+ * // None
185
+ */
186
+ readonly all: <T>(options: readonly Option<T>[]) => Option<T[]>; /** Alias for {@link all} — Rust's collect pattern. */
187
+ readonly collect: <T>(options: readonly Option<T>[]) => Option<T[]>;
188
+ };
189
+ declare const Result: {
190
+ readonly ok: <T, E = never>(value: T) => Ok<T, E>;
191
+ readonly err: <E, T = never>(error: E) => Err<E, T>;
192
+ readonly isOk: <T, E>(result: Result<T, E>) => result is Ok<T, E>;
193
+ readonly isErr: <T, E>(result: Result<T, E>) => result is Err<E, T>;
194
+ readonly map: <T, U, E>(result: Result<T, E>, fn: (value: T) => U) => Result<U, E>;
195
+ readonly mapErr: <T, E, F>(result: Result<T, E>, fn: (error: E) => F) => Result<T, F>;
196
+ readonly andThen: <T, U, E>(result: Result<T, E>, fn: (value: T) => Result<U, E>) => Result<U, E>;
197
+ readonly orElse: <T, E, F>(result: Result<T, E>, fn: (error: E) => Result<T, F>) => Result<T, F>;
198
+ readonly unwrap: <T, E>(result: Result<T, E>) => T;
199
+ readonly unwrapOr: <T, E>(result: Result<T, E>, defaultValue: T) => T;
200
+ readonly unwrapOrElse: <T, E>(result: Result<T, E>, fn: (error: E) => T) => T;
201
+ readonly unwrapErr: <T, E>(result: Result<T, E>) => E;
202
+ readonly expectErr: <T, E>(result: Result<T, E>, message: string) => E;
203
+ readonly match: <T, E, U>(result: Result<T, E>, handlers: {
204
+ ok: (value: T) => U;
205
+ err: (error: E) => U;
206
+ }) => U;
207
+ readonly toOption: <T, E>(result: Result<T, E>) => Option<T>;
208
+ readonly fromThrowable: <T, E = unknown>(fn: () => T) => Result<T, E>;
209
+ readonly fromPromise: <T, E = unknown>(promise: Promise<T>) => Promise<Result<T, E>>;
210
+ readonly flatten: <T, E>(result: Result<Result<T, E>, E>) => Result<T, E>;
211
+ readonly transpose: <T, E>(result: Result<Option<T>, E>) => Option<Result<T, E>>;
212
+ /**
213
+ * Combine multiple Results into a single Result of an array.
214
+ * Short-circuits on the first Err encountered.
215
+ *
216
+ * @example
217
+ * const results = Result.all([Ok(1), Ok(2), Ok(3)]);
218
+ * // Ok([1, 2, 3])
219
+ *
220
+ * const withErr = Result.all([Ok(1), Err("failed"), Ok(3)]);
221
+ * // Err("failed")
222
+ */
223
+ readonly all: <T, E>(results: readonly Result<T, E>[]) => Result<T[], E>; /** Alias for {@link all} — Rust's collect pattern. */
224
+ readonly collect: <T, E>(results: readonly Result<T, E>[]) => Result<T[], E>;
225
+ };
226
+ //#endregion
227
+ //#region src/iter.d.ts
228
+ interface Iter<T> {
229
+ map<U>(fn: (value: T) => U): Iter<U>;
230
+ filter(pred: (value: T) => boolean): Iter<T>;
231
+ flatMap<U>(fn: (value: T) => Iterable<U>): Iter<U>;
232
+ inspect(fn: (value: T) => void): Iter<T>;
233
+ peekable(): PeekableIter<T>;
234
+ find(pred: (value: T) => boolean): Option<T>;
235
+ findMap<U>(fn: (value: T) => Option<U>): Option<U>;
236
+ any(pred: (value: T) => boolean): boolean;
237
+ all(pred: (value: T) => boolean): boolean;
238
+ position(pred: (value: T) => boolean): Option<number>;
239
+ fold<U>(init: U, fn: (acc: U, value: T) => U): U;
240
+ reduce(fn: (acc: T, value: T) => T): Option<T>;
241
+ tryFold<U, E>(init: U, fn: (acc: U, value: T) => Result<U, E>): Result<U, E>;
242
+ count(): number;
243
+ last(): Option<T>;
244
+ nth(n: number): Option<T>;
245
+ partition(pred: (value: T) => boolean): [T[], T[]];
246
+ tryMap<U, E>(fn: (value: T) => Result<U, E>): Iter<Result<U, E>>;
247
+ take(n: number): Iter<T>;
248
+ skip(n: number): Iter<T>;
249
+ stepBy(step: number): Iter<T>;
250
+ enumerate(): Iter<readonly [number, T]>;
251
+ zip<U>(other: Iterable<U>): Iter<readonly [T, U]>;
252
+ chain(other: Iterable<T>): Iter<T>;
253
+ flatten<U>(this: Iter<Iterable<U>>): Iter<U>;
254
+ collectResult<U, E>(this: Iter<Result<U, E>>): Result<U[], E>;
255
+ forEach(fn: (value: T) => void): void;
256
+ collect(): T[];
257
+ [Symbol.iterator](): Iterator<T>;
258
+ next(): IteratorResult<T>;
259
+ }
260
+ interface PeekableIter<T> extends Iter<T> {
261
+ peek(): Option<T>;
262
+ }
263
+ /**
264
+ * Create an Iter from an iterator or iterable source.
265
+ *
266
+ * @example
267
+ * const numbers = iter([1, 2, 3, 4, 5]);
268
+ * const doubled = numbers.map(x => x * 2).collect();
269
+ */
270
+ declare function iter<T>(source: Iterator<T> | Iterable<T>): Iter<T>;
271
+ /**
272
+ * Create an Iter from an array.
273
+ * Convenience function for the common case of iterating over arrays.
274
+ *
275
+ * @example
276
+ * const items = iterFromArray(['a', 'b', 'c']);
277
+ */
278
+ declare function iterFromArray<T>(arr: readonly T[]): Iter<T>;
279
+ /**
280
+ * Create an Iter from a generator function.
281
+ * Useful for creating custom lazy sequences.
282
+ *
283
+ * @example
284
+ * const naturals = iterFromGenerator(function* () {
285
+ * let n = 0;
286
+ * while (true) yield n++;
287
+ * });
288
+ * const firstTen = naturals.take(10).collect();
289
+ */
290
+ declare function iterFromGenerator<T>(gen: () => Generator<T>): Iter<T>;
291
+ declare const Iter: {
292
+ /**
293
+ * Create an Iter from an iterator or iterable source.
294
+ */
295
+ readonly from: typeof iter;
296
+ /**
297
+ * Create an Iter from an array.
298
+ */
299
+ readonly fromArray: typeof iterFromArray;
300
+ /**
301
+ * Create an Iter from a generator function.
302
+ */
303
+ readonly fromGenerator: typeof iterFromGenerator;
304
+ /**
305
+ * Create an empty iterator.
306
+ */
307
+ readonly empty: <T>() => Iter<T>;
308
+ /**
309
+ * Create an iterator that yields a single value.
310
+ */
311
+ readonly once: <T>(value: T) => Iter<T>;
312
+ /**
313
+ * Create an iterator that repeats a value n times.
314
+ */
315
+ readonly repeat: <T>(value: T, n: number) => Iter<T>;
316
+ /**
317
+ * Create an iterator over a range of numbers.
318
+ * @param start - Start of the range (inclusive)
319
+ * @param end - End of the range (exclusive)
320
+ * @param step - Step between values (default: 1)
321
+ */
322
+ readonly range: (start: number, end: number, step?: number) => Iter<number>;
323
+ /**
324
+ * Sum all numbers in an iterator.
325
+ */
326
+ readonly sum: (iterator: Iter<number>) => number;
327
+ /**
328
+ * Multiply all numbers in an iterator.
329
+ */
330
+ readonly product: (iterator: Iter<number>) => number;
331
+ /**
332
+ * Return the minimum value, or None for empty iterators.
333
+ */
334
+ readonly min: (iterator: Iter<number>) => Option<number>;
335
+ /**
336
+ * Return the maximum value, or None for empty iterators.
337
+ */
338
+ readonly max: (iterator: Iter<number>) => Option<number>;
339
+ };
340
+ //#endregion
341
+ //#region src/async-iter.d.ts
342
+ interface AsyncIter<T> {
343
+ map<U>(fn: (value: T) => U | Promise<U>): AsyncIter<U>;
344
+ filter(pred: (value: T) => boolean | Promise<boolean>): AsyncIter<T>;
345
+ flatMap<U>(fn: (value: T) => Iterable<U> | AsyncIterable<U>): AsyncIter<U>;
346
+ inspect(fn: (value: T) => void | Promise<void>): AsyncIter<T>;
347
+ peekable(): PeekableAsyncIter<T>;
348
+ find(pred: (value: T) => boolean | Promise<boolean>): Promise<Option<T>>;
349
+ findMap<U>(fn: (value: T) => Option<U> | Promise<Option<U>>): Promise<Option<U>>;
350
+ any(pred: (value: T) => boolean | Promise<boolean>): Promise<boolean>;
351
+ all(pred: (value: T) => boolean | Promise<boolean>): Promise<boolean>;
352
+ position(pred: (value: T) => boolean | Promise<boolean>): Promise<Option<number>>;
353
+ fold<U>(init: U, fn: (acc: U, value: T) => U | Promise<U>): Promise<U>;
354
+ reduce(fn: (acc: T, value: T) => T | Promise<T>): Promise<Option<T>>;
355
+ tryFold<U, E>(init: U, fn: (acc: U, value: T) => Result<U, E> | Promise<Result<U, E>>): Promise<Result<U, E>>;
356
+ count(): Promise<number>;
357
+ last(): Promise<Option<T>>;
358
+ nth(n: number): Promise<Option<T>>;
359
+ partition(pred: (value: T) => boolean | Promise<boolean>): Promise<[T[], T[]]>;
360
+ tryMap<U, E>(fn: (value: T) => Result<U, E> | Promise<Result<U, E>>): AsyncIter<Result<U, E>>;
361
+ take(n: number): AsyncIter<T>;
362
+ skip(n: number): AsyncIter<T>;
363
+ stepBy(step: number): AsyncIter<T>;
364
+ enumerate(): AsyncIter<readonly [number, T]>;
365
+ zip<U>(other: AsyncIterable<U>): AsyncIter<readonly [T, U]>;
366
+ chain(other: AsyncIterable<T>): AsyncIter<T>;
367
+ flatten<U>(this: AsyncIter<AsyncIterable<U> | Iterable<U>>): AsyncIter<U>;
368
+ collectResult<U, E>(this: AsyncIter<Result<U, E>>): Promise<Result<U[], E>>;
369
+ forEach(fn: (value: T) => void | Promise<void>): Promise<void>;
370
+ collect(): Promise<T[]>;
371
+ [Symbol.asyncIterator](): AsyncIterator<T>;
372
+ next(): Promise<IteratorResult<T>>;
373
+ }
374
+ interface PeekableAsyncIter<T> extends AsyncIter<T> {
375
+ peek(): Promise<Option<T>>;
376
+ }
377
+ /**
378
+ * Create an AsyncIter from an async iterator or async iterable source.
379
+ *
380
+ * @example
381
+ * const items = asyncIter(fetchPages());
382
+ * const processed = await items.map(processPage).collect();
383
+ */
384
+ declare function asyncIter<T>(source: AsyncIterator<T> | AsyncIterable<T>): AsyncIter<T>;
385
+ /**
386
+ * Create an AsyncIter from a sync iterable.
387
+ * Useful for lifting sync data into async pipelines.
388
+ *
389
+ * @example
390
+ * const items = asyncIterFromIterable([1, 2, 3]);
391
+ */
392
+ declare function asyncIterFromIterable<T>(source: Iterable<T>): AsyncIter<T>;
393
+ /**
394
+ * Create an AsyncIter from an array.
395
+ * Convenience function for the common case.
396
+ *
397
+ * @example
398
+ * const items = asyncIterFromArray(['a', 'b', 'c']);
399
+ */
400
+ declare function asyncIterFromArray<T>(arr: readonly T[]): AsyncIter<T>;
401
+ /**
402
+ * Create an AsyncIter from an async generator function.
403
+ * Useful for creating custom lazy async sequences.
404
+ *
405
+ * @example
406
+ * const pages = asyncIterFromGenerator(async function* () {
407
+ * let page = 1;
408
+ * while (true) {
409
+ * const data = await fetchPage(page++);
410
+ * if (data.length === 0) break;
411
+ * yield data;
412
+ * }
413
+ * });
414
+ */
415
+ declare function asyncIterFromGenerator<T>(gen: () => AsyncGenerator<T>): AsyncIter<T>;
416
+ declare const AsyncIter: {
417
+ /**
418
+ * Create an AsyncIter from an async iterator or async iterable source.
419
+ */
420
+ readonly from: typeof asyncIter;
421
+ /**
422
+ * Create an AsyncIter from a sync iterable.
423
+ */
424
+ readonly fromIterable: typeof asyncIterFromIterable;
425
+ /**
426
+ * Create an AsyncIter from an array.
427
+ */
428
+ readonly fromArray: typeof asyncIterFromArray;
429
+ /**
430
+ * Create an AsyncIter from an async generator function.
431
+ */
432
+ readonly fromGenerator: typeof asyncIterFromGenerator;
433
+ /**
434
+ * Create an empty async iterator.
435
+ */
436
+ readonly empty: <T>() => AsyncIter<T>;
437
+ /**
438
+ * Create an async iterator that yields a single value.
439
+ */
440
+ readonly once: <T>(value: T) => AsyncIter<T>;
441
+ /**
442
+ * Create an async iterator that repeats a value n times.
443
+ */
444
+ readonly repeat: <T>(value: T, n: number) => AsyncIter<T>;
445
+ /**
446
+ * Create an async iterator over a range of numbers.
447
+ */
448
+ readonly range: (start: number, end: number, step?: number) => AsyncIter<number>;
449
+ /**
450
+ * Sum all numbers in an async iterator.
451
+ */
452
+ readonly sum: (iterator: AsyncIter<number>) => Promise<number>;
453
+ /**
454
+ * Multiply all numbers in an async iterator.
455
+ */
456
+ readonly product: (iterator: AsyncIter<number>) => Promise<number>;
457
+ /**
458
+ * Return the minimum value, or None for empty iterators.
459
+ */
460
+ readonly min: (iterator: AsyncIter<number>) => Promise<Option<number>>;
461
+ /**
462
+ * Return the maximum value, or None for empty iterators.
463
+ */
464
+ readonly max: (iterator: AsyncIter<number>) => Promise<Option<number>>;
465
+ };
466
+ //#endregion
467
+ export { Some as _, asyncIterFromGenerator as a, isOk as b, PeekableIter as c, iterFromGenerator as d, Err as f, Result as g, Option as h, asyncIterFromArray as i, iter as l, Ok as m, PeekableAsyncIter as n, asyncIterFromIterable as o, None as p, asyncIter as r, Iter as s, AsyncIter as t, iterFromArray as u, isErr as v, isSome as x, isNone as y };
468
+ //# sourceMappingURL=async-iter-1OXm1ncF.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-iter-1OXm1ncF.d.mts","names":[],"sources":["../src/core.ts","../src/iter.ts","../src/async-iter.ts"],"mappings":"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"}