computeScheduleFromCardState method
dynamic
computeScheduleFromCardState
(CardState state, DateTime now)
Implementation
static computeScheduleFromCardState(CardState state, DateTime now) {
if (state.mode == "lapsed" || state.mode == "learning") {
return "learning";
} else if (state.mode == "reviewing") {
var diff = dateDiffInDays(calculateDueDate(state), now);
if (diff < 0) {
return "later";
} else if (diff >= 0 && diff < 1) {
return "due";
} else if (diff >= 1) {
return "overdue";
}
}
throw Exception("Issue with mode and calculation of a cardState");
}