// ets_tracing: off import type * as T from "../../../../Effect/index.js" import * as SK from "../../Sink/index.js" import type * as C from "../core.js" import * as PipeThrough from "./pipeThrough.js" /** * Drops all elements of the stream for as long as the specified predicate * produces an effect that evalutates to `true` * * @see `dropWhile` */ export function dropWhileEffect_( self: C.Stream, f: (a: A) => T.Effect ): C.Stream { return PipeThrough.pipeThrough(self, SK.dropWhileEffect(f)) } /** * Drops all elements of the stream for as long as the specified predicate * produces an effect that evalutates to `true` * * @see `dropWhile` * * @ets_data_first dropWhileEffect_ */ export function dropWhileEffect(f: (a: A) => T.Effect) { return (self: C.Stream) => dropWhileEffect_(self, f) }