diff options
Diffstat (limited to 'src/client/react/lib')
| -rw-r--r-- | src/client/react/lib/extractSchedule.js | 10 | ||||
| -rw-r--r-- | src/client/react/lib/purifyWeek.js | 9 | 
2 files changed, 19 insertions, 0 deletions
| diff --git a/src/client/react/lib/extractSchedule.js b/src/client/react/lib/extractSchedule.js new file mode 100644 index 0000000..e74411b --- /dev/null +++ b/src/client/react/lib/extractSchedule.js @@ -0,0 +1,10 @@ +export default function extractSchedule(schedules, user, week) { +  const scheduleExists = +    schedules.hasOwnProperty(user) && schedules[user].hasOwnProperty(week); + +  if (!scheduleExists) { +    return { state: 'NOT_REQUESTED' }; +  } + +  return schedules[user][week]; +} diff --git a/src/client/react/lib/purifyWeek.js b/src/client/react/lib/purifyWeek.js new file mode 100644 index 0000000..939f5af --- /dev/null +++ b/src/client/react/lib/purifyWeek.js @@ -0,0 +1,9 @@ +import moment from 'moment'; + +export default function purifyWeek(week) { +  // This ensures that week 0 will become week 52 and that week 53 will become +  // week 1. This also accounts for leap years. Because date logic can be so +  // complicated we off load it to moment.js so that we can be sure it's bug +  // free. +  return moment().week(week).week(); +} | 
