(config)
| 16825 | } |
| 16826 | |
| 16827 | function dayOfYearFromWeekInfo(config) { |
| 16828 | var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow; |
| 16829 | |
| 16830 | w = config._w; |
| 16831 | if (w.GG != null || w.W != null || w.E != null) { |
| 16832 | dow = 1; |
| 16833 | doy = 4; |
| 16834 | |
| 16835 | // TODO: We need to take the current isoWeekYear, but that depends on |
| 16836 | // how we interpret now (local, utc, fixed offset). So create |
| 16837 | // a now version of current config (take local/utc/offset flags, and |
| 16838 | // create now). |
| 16839 | weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year); |
| 16840 | week = defaults(w.W, 1); |
| 16841 | weekday = defaults(w.E, 1); |
| 16842 | if (weekday < 1 || weekday > 7) { |
| 16843 | weekdayOverflow = true; |
| 16844 | } |
| 16845 | } else { |
| 16846 | dow = config._locale._week.dow; |
| 16847 | doy = config._locale._week.doy; |
| 16848 | |
| 16849 | var curWeek = weekOfYear(createLocal(), dow, doy); |
| 16850 | |
| 16851 | weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); |
| 16852 | |
| 16853 | // Default to current week. |
| 16854 | week = defaults(w.w, curWeek.week); |
| 16855 | |
| 16856 | if (w.d != null) { |
| 16857 | // weekday -- low day numbers are considered next week |
| 16858 | weekday = w.d; |
| 16859 | if (weekday < 0 || weekday > 6) { |
| 16860 | weekdayOverflow = true; |
| 16861 | } |
| 16862 | } else if (w.e != null) { |
| 16863 | // local weekday -- counting starts from beginning of week |
| 16864 | weekday = w.e + dow; |
| 16865 | if (w.e < 0 || w.e > 6) { |
| 16866 | weekdayOverflow = true; |
| 16867 | } |
| 16868 | } else { |
| 16869 | // default to beginning of week |
| 16870 | weekday = dow; |
| 16871 | } |
| 16872 | } |
| 16873 | if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { |
| 16874 | getParsingFlags(config)._overflowWeeks = true; |
| 16875 | } else if (weekdayOverflow != null) { |
| 16876 | getParsingFlags(config)._overflowWeekday = true; |
| 16877 | } else { |
| 16878 | temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); |
| 16879 | config._a[YEAR] = temp.year; |
| 16880 | config._dayOfYear = temp.dayOfYear; |
| 16881 | } |
| 16882 | } |
| 16883 | |
| 16884 | // iso 8601 regex |
no test coverage detected