@rimbu/stream
Version:
Efficient structure representing a sequence of elements, with powerful operations for TypeScript
22 lines (18 loc) • 613 B
text/typescript
import type { AsyncStream, AsyncStreamable } from '@rimbu/stream/async';
import type { StreamSource } from '@rimbu/stream';
import type { MaybePromise } from '@rimbu/common';
export type AsyncStreamSource<T> =
| undefined
| AsyncStreamSource.NonEmpty<T>
| AsyncStream<T>
| (() => MaybePromise<AsyncStreamSource<T>>)
| AsyncStreamable<T>
| StreamSource<T>
| AsyncIterable<T>;
export namespace AsyncStreamSource {
export type NonEmpty<T> =
| AsyncStream.NonEmpty<T>
| AsyncStreamable.NonEmpty<T>
| StreamSource.NonEmpty<T>
| (() => MaybePromise<AsyncStreamSource.NonEmpty<T>>);
}