import { SinkInternal } from "@effect/core/stream/Sink/operations/_internal/SinkInternal" /** * @tsplus static effect/core/stream/Sink.Ops dropWhile */ export function dropWhile(p: Predicate): Sink { const loop: Channel< never, never, Chunk, unknown, never, Chunk, unknown > = Channel.readWith( (chunk: Chunk) => { const leftover = chunk.dropWhile(p) const more = leftover.isEmpty return more ? loop : Channel.write(leftover).flatMap(() => Channel.identity, unknown>()) }, (err) => Channel.fail(err), () => Channel.unit ) return new SinkInternal(loop) }