Change getCycleDayNumber signature and some PR improvements

This commit is contained in:
Julia Friesel
2018-06-11 14:03:45 +02:00
parent f98a60192b
commit ab1ed96966
5 changed files with 21 additions and 23 deletions
+6 -6
View File
@@ -1,15 +1,15 @@
import * as joda from 'js-joda'
import { bleedingDaysSortedByDate as bleedingDaysSortedByDateView} from './db'
const LocalDate = joda.LocalDate
export default function config(bleedingDaysSortedByDateView, opts) {
opts = opts || {
maxBreakInBleeding: 1
}
export default function config(opts = {}) {
const bleedingDaysSortedByDate = opts.bleedingDaysSortedByDate || bleedingDaysSortedByDateView
const maxBreakInBleeding = opts.maxBreakInBleeding || 1
return function getCycleDayNumber(targetDateString) {
const targetDate = LocalDate.parse(targetDateString)
const withWrappedDates = bleedingDaysSortedByDateView
const withWrappedDates = bleedingDaysSortedByDate
.filter(day => !day.bleeding.exclude)
.map(day => {
day.wrappedDate = LocalDate.parse(day.date)
@@ -21,7 +21,7 @@ export default function config(bleedingDaysSortedByDateView, opts) {
const previousBleedingDays = withWrappedDates.slice(firstBleedingDayBeforeTargetDayIndex)
const lastPeriodStart = previousBleedingDays.find((day, i) => {
return thereIsNoPreviousBleedingDayWithinTheThreshold(day, previousBleedingDays.slice(i + 1), opts.maxBreakInBleeding)
return thereIsNoPreviousBleedingDayWithinTheThreshold(day, previousBleedingDays.slice(i + 1), maxBreakInBleeding)
})
const diffInDays = lastPeriodStart.wrappedDate.until(targetDate, joda.ChronoUnit.DAYS)