Hook up fertility temp status to app

This commit is contained in:
Julia Friesel
2018-07-02 16:55:20 +02:00
parent 03a0f1fb75
commit 1c791df5ad
6 changed files with 57 additions and 25 deletions
+18 -8
View File
@@ -1,16 +1,21 @@
import * as joda from 'js-joda'
const LocalDate = joda.LocalDate
export default function config(opts = {}) {
export default function config(opts) {
let bleedingDaysSortedByDate
if (!opts.bleedingDaysSortedByDate) {
let temperatureDaysSortedByDate
let maxBreakInBleeding
if (!opts) {
// we only want to require (and run) the db module when not running the tests
bleedingDaysSortedByDate = require('../db').bleedingDaysSortedByDate
temperatureDaysSortedByDate = require('../db').temperatureDaysSortedByDate
maxBreakInBleeding = 1
} else {
bleedingDaysSortedByDate = opts.bleedingDaysSortedByDate
bleedingDaysSortedByDate = opts.bleedingDaysSortedByDate || []
temperatureDaysSortedByDate = opts.temperatureDaysSortedByDate || []
maxBreakInBleeding = opts.maxBreakInBleeding || 1
}
const maxBreakInBleeding = opts.maxBreakInBleeding || 1
function getLastMensesStart(targetDateString) {
const targetDate = LocalDate.parse(targetDateString)
@@ -53,13 +58,18 @@ export default function config(opts = {}) {
return diffInDays + 1
}
function getPreviousDaysInCycle() {
return []
function getPreviousTemperaturesInCycle(targetDateString, lastMensesStart) {
const startIndex = temperatureDaysSortedByDate.findIndex(day => day.date <= targetDateString)
const previousTemperaturesInCycle = temperatureDaysSortedByDate.slice(startIndex)
const endIndex = previousTemperaturesInCycle.findIndex(day => day.date < lastMensesStart.date)
return previousTemperaturesInCycle
.slice(0, endIndex)
.map(day => day.temperature.value)
}
return {
getCycleDayNumber,
getLastMensesStart,
getPreviousDaysInCycle
getPreviousTemperaturesInCycle
}
}