corrade-nucleus-nucleons – Blame information for rev 38

Subversion Repositories:
Rev:
Rev Author Line No. Line
38 office 1 import { daysInMonth } from '../units/month';
2 import { YEAR, MONTH, DATE, HOUR, MINUTE, SECOND, MILLISECOND, WEEK, WEEKDAY } from '../units/constants';
3 import getParsingFlags from '../create/parsing-flags';
4  
5 export default function checkOverflow (m) {
6 var overflow;
7 var a = m._a;
8  
9 if (a && getParsingFlags(m).overflow === -2) {
10 overflow =
11 a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :
12 a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :
13 a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :
14 a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :
15 a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :
16 a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :
17 -1;
18  
19 if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
20 overflow = DATE;
21 }
22 if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
23 overflow = WEEK;
24 }
25 if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
26 overflow = WEEKDAY;
27 }
28  
29 getParsingFlags(m).overflow = overflow;
30 }
31  
32 return m;
33 }
34