weeks = {
const days = d3.timeDay.range(birthday, endDate, 1)
const birthYear = +d3.timeFormat("%Y")(birthday)
const birthWeek = +d3.timeFormat("%U")(birthday)
const daysObj = days.map(d => ({date: d}))
const weekIntervals = daysObj.filter((d,i) => i % 7 == 0)
return T.tidy(
weekIntervals,
T.mutate({
date: (d) => d3.utcDay(d.date),
weekday: (d) => +d3.timeFormat("%u")(d.date),
week: (d) => +d3.timeFormat("%U")(d.date),
year: (d) => d3.timeFormat("%Y")(d.date) - birthYear,
past: (d) => d.date < today,
}),
)
}