Add mucus shift detection

This commit is contained in:
Julia Friesel
2018-07-03 11:14:40 +02:00
parent e4bae38d13
commit 2f8054c1fa
3 changed files with 73 additions and 0 deletions
+5
View File
@@ -4,4 +4,9 @@ import getMucusStatus from './mucus'
export default function (cycleDays) {
const temperatureStatus = getTemperatureStatus(cycleDays)
const mucusStatus = getMucusStatus(cycleDays)
return {
assumeFertility: true,
temperatureStatus,
mucusStatus
}
}
+19
View File
@@ -0,0 +1,19 @@
export default function (cycleDays) {
const mucusDays = cycleDays.filter(day => day.mucus && !day.mucus.exclude)
const bestQuality = Math.max(...mucusDays.map(day => day.mucus.value))
const mucusPeak = mucusDays.find((day, i) => {
if (day.mucus.value !== bestQuality) return false
const threeFollowingDays = cycleDays.slice(i + 1, i + 4)
if (threeFollowingDays.length < 3) return false
return threeFollowingDays.every(day => day.mucus.value < bestQuality)
})
if (!mucusPeak) return { detected: false }
return {
detected: true,
mucusPeak
}
}