UNPKG

biorhythm-calculator

Version:

Comprehensive set of functions and helpers to check multiple biorhythm-related data

60 lines (54 loc) 1.32 kB
const {differenceInDays, addDays, subDays} = require('date-fns'); /** * Calculates difference in days between two dates * * @param {Date} dateLeft Bigger date * @param {Date} dateRight Smaller date * @returns {number} Difference in days between dates */ function getDifferenceInDays(dateLeft, dateRight) { return differenceInDays(dateLeft, dateRight); } /** * Gets next day * * @param {Date} day Day to find next day of * @returns {Date} Next day */ function getNextDay(day) { return addDays(day, 1); } /** * Gets previous day * * @param {Date} day Day to find previous day of * @returns {Date} Previous day */ function getPreviousDay(day) { return subDays(day, 1); } /** * Gets date range given amount of days before/after * * @param {Date} dateToAnalyze Day to consider as center * @param {number} amountOfDays Amount of days before / after * @returns {Date[]} Resulting date range array */ function getDateRange(dateToAnalyze, amountOfDays) { const dates = []; // Days prior for (let i = amountOfDays; i > 0; i--) { dates.push(subDays(dateToAnalyze, i)); } // Days after for (let i = 0; i <= amountOfDays; i++) { dates.push(addDays(dateToAnalyze, i)); } return dates; } module.exports = { getNextDay, getPreviousDay, getDifferenceInDays, getDateRange, };