import * as tsplus_module_1 from "@tsplus/stdlib/data/Maybe/definition";
import * as tsplus_module_2 from "@effect/core/io/Schedule/operations/identity";
import * as tsplus_module_3 from "@effect/core/io/Schedule/operations/map";
import * as tsplus_module_4 from "@effect/core/io/Schedule/operations/untilOutput";
/**
 * A schedule that recurs for until the input value becomes applicable to
 * partial function and then map that value with given function.
 *
 * @tsplus static ets/Schedule/Ops recurUntilMaybe
 */

export function recurUntilMaybe(pf) {
  return tsplus_module_4.untilOutput_(tsplus_module_3.map_(tsplus_module_2.identity(), pf), _ => tsplus_module_1.isSome(_));
}
//# sourceMappingURL=recurUntilMaybe.mjs.map