Class ScheduleImpl<F extends Kind<F,?>,S,A,B>
java.lang.Object
com.github.tonivade.purefun.typeclasses.ScheduleImpl<F,S,A,B>
- All Implemented Interfaces:
Kind<Schedule<F,,A, ?>, B> Schedule<F,,A, B> Schedule.Extract<A,,S, B> Schedule.Update<F,,S, A> ScheduleOf<F,A, B>
final class ScheduleImpl<F extends Kind<F,?>,S,A,B>
extends Object
implements Schedule<F,A,B>, Schedule.Update<F,S,A>, Schedule.Extract<A,S,B>
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.github.tonivade.purefun.typeclasses.Schedule
Schedule.Extract<A,S, B>, Schedule.Of<F extends Kind<F, ?>>, Schedule.Update<F extends Kind<F, ?>, S, A> -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateScheduleImpl(MonadDefer<F> monad, Kind<F, S> initial, Schedule.Update<F, S, A> update, Schedule.Extract<A, S, B> extract) -
Method Summary
Modifier and TypeMethodDescriptionandThenEither(Schedule<F, A, C> next) doAndThenEither(ScheduleImpl<F, T, A, C> other) private <T,C> ScheduleImpl <F, Tuple2<S, T>, A, C> doCompose(ScheduleImpl<F, T, B, C> other) doZip(ScheduleImpl<F, T, A, C> other) initial()static <F extends Kind<F,?>, S, A, B>
ScheduleImpl<F, S, A, B> of(MonadDefer<F> monad, Kind<F, S> initial, Schedule.Update<F, S, A> update, Schedule.Extract<A, S, B> extract) private ScheduleImpl<F, S, A, B> updated(Function1<Schedule.Update<F, S, A>, Schedule.Update<F, S, A>> update) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.github.tonivade.purefun.typeclasses.Schedule
addDelay, as, collectAll, dimap, fold, unit, untilInput, untilOutput, whileInput, whileInputM, whileOutput, whileOutputM, zipLeft, zipRight
-
Field Details
-
monad
-
initial
-
update
-
extract
-
-
Constructor Details
-
ScheduleImpl
private ScheduleImpl(MonadDefer<F> monad, Kind<F, S> initial, Schedule.Update<F, S, A> update, Schedule.Extract<A, S, B> extract)
-
-
Method Details
-
initial
-
update
-
extract
-
monadDefer
-
map
-
contramap
-
andThen
-
andThenEither
-
zip
-
compose
-
foldM
-
addDelayM
-
untilInputM
-
untilOutputM
-
check
-
doAndThenEither
private <T,C> ScheduleImpl<F,Either<S, doAndThenEitherT>, A, Either<B, C>> (ScheduleImpl<F, T, A, C> other) -
doZip
-
doCompose
-
updated
private ScheduleImpl<F,S, updatedA, B> (Function1<Schedule.Update<F, S, A>, Schedule.Update<F, S, A>> update) -
of
public static <F extends Kind<F,?>, ScheduleImpl<F,S, A, B> S, ofA, B> (MonadDefer<F> monad, Kind<F, S> initial, Schedule.Update<F, S, A> update, Schedule.Extract<A, S, B> extract)
-