Files
drip/lib/sympto-adapter.js
T
2018-07-16 18:39:40 +02:00

36 lines
970 B
JavaScript

import getFertilityStatus from './sympto'
import cycleModule from './cycle'
import { fertilityStatus } from '../labels/labels'
const { getCycleDaysBeforeDay, getPreviousCycles } = cycleModule()
export default function (dateString) {
const cycle = getCycleDaysBeforeDay(dateString)
if (!cycle) return fertilityStatus.unknown
const previousCycles = getPreviousCycles(cycle[0])
const status = getFertilityStatus({
cycle: formatCycleForSympto(cycle),
previousCycles: previousCycles.map(formatCycleForSympto)
})
if (status.phases.postOvulatory) {
const phase = status.phases.postOvulatory
if (phase.start.date === dateString) {
return fertilityStatus.fertileUntilEvening
}
}
if (status.assumeFertility) {
return fertilityStatus.fertile
} else {
return fertilityStatus.infertile
}
}
function formatCycleForSympto(cycle) {
// we get earliest last, but sympto wants earliest first
cycle.reverse()
return cycle
}