/** * Repeats this effect while its value satisfies the specified effectful * predicate or until the first failure. * * @tsplus static effect/core/io/Effect.Aspects repeatWhile * @tsplus pipeable effect/core/io/Effect repeatWhile */ export function repeatWhile(f: Predicate) { return (self: Effect): Effect => self.repeatWhileEffect((a) => Effect.sync(f(a))) }