Sha256: 858494671204004c83ab2c082155a8876798597abab19f64afaa8ec9fb6f8ff1
Contents?: true
Size: 941 Bytes
Versions: 5
Compression:
Stored size: 941 Bytes
Contents
import toInt from '../utils/to-int'; 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 (!(ordering.indexOf(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); }
Version data entries
5 entries across 5 versions & 3 rubygems