diff options
Diffstat (limited to 'bin/wiki/ImportarDesdeURL/node_modules/moment/src/lib/duration/valid.js')
-rw-r--r-- | bin/wiki/ImportarDesdeURL/node_modules/moment/src/lib/duration/valid.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/bin/wiki/ImportarDesdeURL/node_modules/moment/src/lib/duration/valid.js b/bin/wiki/ImportarDesdeURL/node_modules/moment/src/lib/duration/valid.js new file mode 100644 index 00000000..033fd5b0 --- /dev/null +++ b/bin/wiki/ImportarDesdeURL/node_modules/moment/src/lib/duration/valid.js @@ -0,0 +1,36 @@ +import toInt from '../utils/to-int'; +import indexOf from '../utils/index-of'; +import {Duration} from './constructor'; +import {createDuration} from './create'; + +var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond']; + +export default function isDurationValid(m) { + for (var key in m) { + if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) { + return false; + } + } + + var unitHasDecimal = false; + for (var i = 0; i < ordering.length; ++i) { + if (m[ordering[i]]) { + if (unitHasDecimal) { + return false; // only allow non-integers for smallest unit + } + if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { + unitHasDecimal = true; + } + } + } + + return true; +} + +export function isValid() { + return this._isValid; +} + +export function createInvalid() { + return createDuration(NaN); +} |