Brought in another asset for Ray's eye form: moment
[openemr.git] / public / assets / moment-2-13-0 / src / lib / create / valid.js
blob4c621168cad8a71f15f34fee4d14d3903de21583
1 import extend from '../utils/extend';
2 import { createUTC } from './utc';
3 import getParsingFlags from '../create/parsing-flags';
4 import some from '../utils/some';
6 export function isValid(m) {
7     if (m._isValid == null) {
8         var flags = getParsingFlags(m);
9         var parsedParts = some.call(flags.parsedDateParts, function (i) {
10             return i != null;
11         });
12         m._isValid = !isNaN(m._d.getTime()) &&
13             flags.overflow < 0 &&
14             !flags.empty &&
15             !flags.invalidMonth &&
16             !flags.invalidWeekday &&
17             !flags.nullInput &&
18             !flags.invalidFormat &&
19             !flags.userInvalidated &&
20             (!flags.meridiem || (flags.meridiem && parsedParts));
22         if (m._strict) {
23             m._isValid = m._isValid &&
24                 flags.charsLeftOver === 0 &&
25                 flags.unusedTokens.length === 0 &&
26                 flags.bigHour === undefined;
27         }
28     }
29     return m._isValid;
32 export function createInvalid (flags) {
33     var m = createUTC(NaN);
34     if (flags != null) {
35         extend(getParsingFlags(m), flags);
36     }
37     else {
38         getParsingFlags(m).userInvalidated = true;
39     }
41     return m;