| import "day"; | |
| import "interval"; | |
| import "time"; | |
| import "year"; | |
| ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"].forEach(function(day, i) { | |
| i = 7 - i; | |
| var interval = d3_time[day] = d3_time_interval(function(date) { | |
| (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7); | |
| return date; | |
| }, function(date, offset) { | |
| date.setDate(date.getDate() + Math.floor(offset) * 7); | |
| }, function(date) { | |
| var day = d3_time.year(date).getDay(); | |
| return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i); | |
| }); | |
| d3_time[day + "s"] = interval.range; | |
| d3_time[day + "s"].utc = interval.utc.range; | |
| d3_time[day + "OfYear"] = function(date) { | |
| var day = d3_time.year(date).getDay(); | |
| return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7); | |
| }; | |
| }); | |
| d3_time.week = d3_time.sunday; | |
| d3_time.weeks = d3_time.sunday.range; | |
| d3_time.weeks.utc = d3_time.sunday.utc.range; | |
| d3_time.weekOfYear = d3_time.sundayOfYear; |