Tristan MARIE
07/08/2020, 2:00 PMraulraja
07/08/2020, 2:32 PMsimon.vergauwen
07/08/2020, 3:16 PMA? to Either<E, A>. Where you have to supply a fallback E value. You can find it as rightIfNull there are runnable examples on the website.
https://arrow-kt.io/docs/0.10/apidocs/arrow-core-data/arrow.core/-either/#syntaxfteychene
07/08/2020, 3:19 PMpost("...") {
    val dayToAdd: Either<ServerError, String> = ...
    val year: Either<ServerError, Int> = ...
    val month: Either<ServerError, String> = ...
    dayToAdd.product(year).product(month)
        .flatMap{ (dayToAdd, year, month) ->
            PlanningService.getOrCreate(year, month)
                .map { planning -> PlanningService.addDayToPlanning(planning, dayToAdd) }
        }
        .fold(
            { /* Respond Error */ println(it) },
            { /* Respond */ println("Success") }
        )
}
If i'm wrong please let me know 😅