Brought in another asset for Ray's eye form: moment
[openemr.git] / public / assets / moment-2-13-0 / src / lib / create / check-overflow.js
blob41b539fb7338e18325d9d422a56a86baf172c2d6
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';
5 export default function checkOverflow (m) {
6     var overflow;
7     var a = m._a;
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;
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         }
29         getParsingFlags(m).overflow = overflow;
30     }
32     return m;