ngx-bootstrap
Version:
Native Angular Bootstrap Components
45 lines • 1.37 kB
JavaScript
import { toInt } from '../utils/type-checks';
var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hours', 'minutes', 'seconds', 'milliseconds'];
var ɵ0 = function (mem, order) {
mem[order] = true;
return mem;
};
var orderingHash = ordering.reduce(ɵ0, {});
export function isDurationValid(duration) {
var durationKeys = Object.keys(duration);
if (durationKeys
.some(function (key) {
return (key in orderingHash)
&& duration[key] === null
|| isNaN(duration[key]);
})) {
return false;
}
// for (let key in duration) {
// if (!(indexOf.call(ordering, key) !== -1 && (duration[key] == null || !isNaN(duration[key])))) {
// return false;
// }
// }
var unitHasDecimal = false;
for (var i = 0; i < ordering.length; ++i) {
if (duration[ordering[i]]) {
// only allow non-integers for smallest unit
if (unitHasDecimal) {
return false;
}
if (duration[ordering[i]] !== toInt(duration[ordering[i]])) {
unitHasDecimal = true;
}
}
}
return true;
}
// export function isValid() {
// return this._isValid;
// }
//
// export function createInvalid(): Duration {
// return createDuration(NaN);
// }
export { ɵ0 };
//# sourceMappingURL=valid.js.map