pomeranian-durations
Version:
An immutable duration library based on the ISO-8601 format for durations.
53 lines (45 loc) • 3.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.UNITS = exports.DATE_UNITS = exports.TIME_UNITS = exports.UNIT_ORDER = exports.UNIT_NAMES = exports.UNIT_NAMES_LIST = exports.INVALID_DURATION = exports.DURATION_DESIGNATOR = exports.TIME_DESIGNATOR = exports.ZERO = exports.ONE_DAY = exports.ONE_HOUR = exports.ONE_MINUTE = exports.ONE_SECOND = exports.ONE_MILLISECOND = exports.ONE_MICROSECOND = void 0;
var _TIME_UNITS, _DATE_UNITS;
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var ONE_MICROSECOND = 1;
exports.ONE_MICROSECOND = ONE_MICROSECOND;
var ONE_MILLISECOND = ONE_MICROSECOND * 1000;
exports.ONE_MILLISECOND = ONE_MILLISECOND;
var ONE_SECOND = ONE_MILLISECOND * 1000;
exports.ONE_SECOND = ONE_SECOND;
var ONE_MINUTE = ONE_SECOND * 60;
exports.ONE_MINUTE = ONE_MINUTE;
var ONE_HOUR = ONE_MINUTE * 60;
exports.ONE_HOUR = ONE_HOUR;
var ONE_DAY = ONE_HOUR * 24;
exports.ONE_DAY = ONE_DAY;
var ZERO = 'P';
exports.ZERO = ZERO;
var TIME_DESIGNATOR = 'T';
exports.TIME_DESIGNATOR = TIME_DESIGNATOR;
var DURATION_DESIGNATOR = 'P';
exports.DURATION_DESIGNATOR = DURATION_DESIGNATOR;
var INVALID_DURATION = 'Invalid Duration';
exports.INVALID_DURATION = INVALID_DURATION;
var UNIT_NAMES_LIST = ['microseconds', 'milliseconds', 'seconds', 'minutes', 'hours', 'days', 'weeks', 'months', 'years'];
exports.UNIT_NAMES_LIST = UNIT_NAMES_LIST;
var UNIT_NAMES = UNIT_NAMES_LIST.reduce(function (result, unitName) {
// eslint-disable-next-line no-param-reassign
result[unitName] = unitName;
return result;
}, {});
exports.UNIT_NAMES = UNIT_NAMES;
var UNIT_ORDER = [UNIT_NAMES.microseconds, UNIT_NAMES.milliseconds, UNIT_NAMES.seconds, UNIT_NAMES.minutes, UNIT_NAMES.hours, UNIT_NAMES.days, UNIT_NAMES.weeks, UNIT_NAMES.months, UNIT_NAMES.years];
exports.UNIT_ORDER = UNIT_ORDER;
var TIME_UNITS = (_TIME_UNITS = {}, _defineProperty(_TIME_UNITS, UNIT_NAMES.seconds, 'S'), _defineProperty(_TIME_UNITS, UNIT_NAMES.minutes, 'M'), _defineProperty(_TIME_UNITS, UNIT_NAMES.hours, 'H'), _TIME_UNITS);
exports.TIME_UNITS = TIME_UNITS;
var DATE_UNITS = (_DATE_UNITS = {}, _defineProperty(_DATE_UNITS, UNIT_NAMES.days, 'D'), _defineProperty(_DATE_UNITS, UNIT_NAMES.weeks, 'W'), _defineProperty(_DATE_UNITS, UNIT_NAMES.months, 'M'), _defineProperty(_DATE_UNITS, UNIT_NAMES.years, 'Y'), _DATE_UNITS);
exports.DATE_UNITS = DATE_UNITS;
var UNITS = _objectSpread(_objectSpread({}, TIME_UNITS), DATE_UNITS);
exports.UNITS = UNITS;