arrow-fx / arrow.fx / Schedule / ScheduleFor

ScheduleFor

interface ScheduleFor<M>

Interface with all above methods partially applied to some monad M for convenience.

Functions

collect open fun <A> collect(): Schedule<M, A, List<A>>
decision open fun <A> decision(): Schedule<M, A, Boolean>
delay open fun <A> delay(): Schedule<M, A, Duration>
delayed open fun <S, A> delayed(delaySchedule: Schedule<M, A, Duration>): Schedule<M, A, Duration>
doUntil open fun <A> doUntil(f: (A) -> Boolean): Schedule<M, A, A>
doWhile open fun <A> doWhile(f: (A) -> Boolean): Schedule<M, A, A>
exponential open fun <A> exponential(base: Duration, factor: Double = 2.0): Schedule<M, A, Duration>
fibonacci open fun <A> fibonacci(one: Duration): Schedule<M, A, Duration>
forever open fun <A> forever(): Schedule<M, A, Int>
identity open fun <A> identity(): Schedule<M, A, A>
linear open fun <A> linear(base: Duration): Schedule<M, A, Duration>
logInput open fun <A> logInput(f: (A) -> Kind<M, Unit>): Schedule<M, A, A>
logOutput open fun <A> logOutput(f: (A) -> Kind<M, Unit>): Schedule<M, A, A>
MM abstract fun MM(): Monad<M>
once open fun <A> once(): Schedule<M, A, Unit>
recurs open fun <A> recurs(n: Int): Schedule<M, A, Int>
spaced open fun <A> spaced(interval: Duration): Schedule<M, A, Int>
unfold open fun <A, I> unfold(c: A, f: (A) -> A): Schedule<M, I, A>
unfoldM open fun <A, I> unfoldM(c: Kind<M, A>, f: (A) -> Kind<M, A>): Schedule<M, I, A>
unit open fun <A> unit(): Schedule<M, A, Unit>

Do you like Arrow?

Arrow Org
<