@date-vir/duration
Version:
Durations units an utils for date-vir.
84 lines (83 loc) • 2.42 kB
JavaScript
/**
* All duration units supported by date-vir.
*
* @category Unit
*/
export var DurationUnit;
(function (DurationUnit) {
DurationUnit["Years"] = "years";
DurationUnit["Quarters"] = "quarters";
DurationUnit["Months"] = "months";
DurationUnit["Weeks"] = "weeks";
DurationUnit["Days"] = "days";
DurationUnit["Hours"] = "hours";
DurationUnit["Minutes"] = "minutes";
DurationUnit["Seconds"] = "seconds";
DurationUnit["Milliseconds"] = "milliseconds";
})(DurationUnit || (DurationUnit = {}));
/**
* A mapping of {@link DurationUnit} to to all of its values' singular duration names in English.
*
* @category Internal
*/
export const singularDurationUnitNames = {
[]: 'year',
[]: 'quarter',
[]: 'month',
[]: 'week',
[]: 'day',
[]: 'hour',
[]: 'minute',
[]: 'second',
[]: 'millisecond',
};
/**
* A mapping of {@link DurationUnit} to to all of its values' abbreviations in English.
*
* @category Internal
*/
export const durationUnitNameAbbreviations = {
[]: 'yr',
[]: 'q',
[]: 'mo',
[]: 'wk',
[]: 'd',
[]: 'hr',
[]: 'min',
[]: 'sec',
[]: 'ms',
};
/**
* Array of sorted {@link DurationUnit} possibilities: from smallest unit (milliseconds at index 0)
* to longest unit (years).
*
* @category Internal
*/
export const orderedDurationUnits = [
DurationUnit.Milliseconds,
DurationUnit.Seconds,
DurationUnit.Minutes,
DurationUnit.Hours,
DurationUnit.Days,
DurationUnit.Weeks,
DurationUnit.Months,
DurationUnit.Quarters,
DurationUnit.Years,
];
/**
* The maximum value, exclusive, for each duration unit before it should roll-over into the next
* duration unit.
*
* @category Internal
*/
export const maxDurations = {
[]: 1000,
[]: 60,
[]: 60,
[]: 24,
[]: 30,
[]: 4,
[]: 12,
[]: 4,
[]: Infinity,
};