const fileName_1 = "(@effect/core) _src/io/Schedule/operations/untilInputEffect.ts";
import * as tsplus_module_1 from "@effect/core/io/Effect/operations/negate";
import * as tsplus_module_2 from "@effect/core/io/Schedule/operations/checkEffect";
/**
 * Returns a new schedule that continues until the specified effectful
 * predicate on the input evaluates to true.
 *
 * @tsplus fluent ets/Schedule untilInputEffect
 * @tsplus fluent ets/Schedule/WithState untilInputEffect
 */

export function untilInputEffect_(self, f) {
  return tsplus_module_2.checkEffect_(self, (input, _) => tsplus_module_1.negate(f(input), fileName_1 + ":12:56"));
}
/**
 * Returns a new schedule that continues until the specified effectful
 * predicate on the input evaluates to true.
 *
 * @tsplus static ets/Schedule/Aspects untilInputEffect
 */

export const untilInputEffect = f => self => untilInputEffect_(self, f);
//# sourceMappingURL=untilInputEffect.mjs.map