/** * @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" /** * @since 2.0.0 * @category Models */ export type Take = NonEmptyReadonlyArray | Exit.Exit /** * @since 4.0.0 * @category Conversions */ export const toPull = (take: Take): Pull.Pull, E, Done> => Exit.isExit(take) ? Exit.isSuccess(take) ? Cause.done(take.value) : (take as Exit.Exit) : Effect.succeed(take)