import { LocalDate } from 'js-joda' import getNfpStatus from './index' export default function (previousCycles) { const fhms = previousCycles .map(cycle => { const status = getNfpStatus({ cycle }) if (status.temperatureShift) { const day = status.temperatureShift.firstHighMeasurementDay const firstCycleDayDate = LocalDate.parse(cycle[0].date) const fhmDate = LocalDate.parse(day.date) return fhmDate.compareTo(firstCycleDayDate) + 1 } return null }) .filter(val => typeof val === 'number') const preOvuLength = Math.min(...fhms) - 8 // pre ovu length may only be lengthened if we have more than 12 previous fhms // if pre ovu length is less than 5, it shortened even with fewer prev fhms if (preOvuLength < 5) return preOvuLength if (fhms.length >= 12) return preOvuLength return null }