Newer
Older
import { LocalDate } from "js-joda"
const startDate = LocalDate.parse(cycle[0].date)
const fiveDayEndDate = startDate.plusDays(4).toString()
const fiveDayRuleDays = cycle.slice(0, 5).filter(d => d.date <= fiveDayEndDate)
const preOvulatoryDays = getDaysUntilFertileMucus(fiveDayRuleDays)
return {
cycleDays: preOvulatoryDays,
start: {
date: preOvulatoryDays[0].date
},
end: {
date: fiveDayEndDate
}
}
}
function getDaysUntilFertileMucus(days) {
const firstFertileMucusDayIndex = days.findIndex(day => day.mucus && day.mucus.value > 1)
if (firstFertileMucusDayIndex > -1) {
return days.slice(0, firstFertileMucusDayIndex)
}
return days
}