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