(config)
| 2664 | } |
| 2665 | |
| 2666 | function dayOfYearFromWeekInfo(config) { |
| 2667 | var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek; |
| 2668 | |
| 2669 | w = config._w; |
| 2670 | if (w.GG != null || w.W != null || w.E != null) { |
| 2671 | dow = 1; |
| 2672 | doy = 4; |
| 2673 | |
| 2674 | // TODO: We need to take the current isoWeekYear, but that depends on |
| 2675 | // how we interpret now (local, utc, fixed offset). So create |
| 2676 | // a now version of current config (take local/utc/offset flags, and |
| 2677 | // create now). |
| 2678 | weekYear = defaults( |
| 2679 | w.GG, |
| 2680 | config._a[YEAR], |
| 2681 | weekOfYear(createLocal(), 1, 4).year |
| 2682 | ); |
| 2683 | week = defaults(w.W, 1); |
| 2684 | weekday = defaults(w.E, 1); |
| 2685 | if (weekday < 1 || weekday > 7) { |
| 2686 | weekdayOverflow = true; |
| 2687 | } |
| 2688 | } else { |
| 2689 | dow = config._locale._week.dow; |
| 2690 | doy = config._locale._week.doy; |
| 2691 | |
| 2692 | curWeek = weekOfYear(createLocal(), dow, doy); |
| 2693 | |
| 2694 | weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); |
| 2695 | |
| 2696 | // Default to current week. |
| 2697 | week = defaults(w.w, curWeek.week); |
| 2698 | |
| 2699 | if (w.d != null) { |
| 2700 | // weekday -- low day numbers are considered next week |
| 2701 | weekday = w.d; |
| 2702 | if (weekday < 0 || weekday > 6) { |
| 2703 | weekdayOverflow = true; |
| 2704 | } |
| 2705 | } else if (w.e != null) { |
| 2706 | // local weekday -- counting starts from beginning of week |
| 2707 | weekday = w.e + dow; |
| 2708 | if (w.e < 0 || w.e > 6) { |
| 2709 | weekdayOverflow = true; |
| 2710 | } |
| 2711 | } else { |
| 2712 | // default to beginning of week |
| 2713 | weekday = dow; |
| 2714 | } |
| 2715 | } |
| 2716 | if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { |
| 2717 | getParsingFlags(config)._overflowWeeks = true; |
| 2718 | } else if (weekdayOverflow != null) { |
| 2719 | getParsingFlags(config)._overflowWeekday = true; |
| 2720 | } else { |
| 2721 | temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); |
| 2722 | config._a[YEAR] = temp.year; |
| 2723 | config._dayOfYear = temp.dayOfYear; |
no test coverage detected