| /** | |
| * The `Take` module provides the stored representation of one pull result from | |
| * a stream-like producer. A `Take<A, E, Done>` is either a non-empty batch of | |
| * emitted values, a failed `Exit`, or a successful `Exit` carrying the | |
| * completion value. | |
| * | |
| * @since 2.0.0 | |
| */ | |
| import type { NonEmptyReadonlyArray } from "./Array.ts" | |
| import * as Cause from "./Cause.ts" | |
| import * as Effect from "./Effect.ts" | |
| import * as Exit from "./Exit.ts" | |
| import type * as Pull from "./Pull.ts" | |
| /** | |
| * Represents one pull result: either a non-empty batch of values, a failure | |
| * `Exit`, or a successful `Exit` that signals completion with a `Done` value. | |
| * | |
| * **When to use** | |
| * | |
| * Use to store, transfer, or interpret pull results later while preserving | |
| * emitted values, failures, and normal completion. | |
| * | |
| * @see {@link toPull} for interpreting a `Take` as a `Pull` step | |
| * | |
| * @category models | |
| * @since 2.0.0 | |
| */ | |
| export type Take<A, E = never, Done = void> = NonEmptyReadonlyArray<A> | Exit.Exit<Done, E> | |
| /** | |
| * Converts a `Take` into a `Pull`, succeeding with value batches, failing with | |
| * failure exits, and translating successful exits into pull completion. | |
| * | |
| * **When to use** | |
| * | |
| * Use to interpret a stored or transferred `Take` as a `Pull` step while | |
| * preserving emitted batches, ordinary failures, and completion values. | |
| * | |
| * @category converting | |
| * @since 4.0.0 | |
| */ | |
| export const toPull = <A, E, Done>(take: Take<A, E, Done>): Pull.Pull<NonEmptyReadonlyArray<A>, E, Done> => | |
| Exit.isExit(take) | |
| ? Exit.isSuccess(take) ? Cause.done(take.value) : (take as Exit.Exit<never, E>) | |
| : Effect.succeed(take) | |
Xet Storage Details
- Size:
- 1.62 kB
- Xet hash:
- 357364998ce1fb0d9f0944321c2d2ebc36bfbfacd41fdb804e3aa4b72c76eb6c
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.