import * as plugins from './smarttime.plugins.js'; export let units = { years: (timesArg = 1): number => { return timesArg * 3.154e10; }, months: (timesArg = 1): number => { return timesArg * 2.628e9; }, weeks: (timesArg = 1) => { return timesArg * 6.048e8; }, days: (timesArg = 1) => { return timesArg * 8.64e7; }, hours: (timesArg = 1) => { return timesArg * 3.6e6; }, minutes: (timesArg = 1) => { return timesArg * 60000; }, seconds: (timesArg = 1) => { return timesArg * 1000; }, }; export interface IUnitCombinationArg { years?: number; months?: number; weeks?: number; days?: number; hours?: number; minutes?: number; seconds?: number; } export let getMilliSecondsFromUnits = (combinationArg: IUnitCombinationArg) => { let timeInMilliseconds = 0; let addMilliSeconds = (milliSecondsArg: number) => { timeInMilliseconds = timeInMilliseconds + milliSecondsArg; }; if (combinationArg.years) { addMilliSeconds(units.years(combinationArg.years)); } if (combinationArg.months) { addMilliSeconds(units.months(combinationArg.months)); } if (combinationArg.weeks) { addMilliSeconds(units.weeks(combinationArg.weeks)); } if (combinationArg.days) { addMilliSeconds(units.days(combinationArg.days)); } if (combinationArg.hours) { addMilliSeconds(units.hours(combinationArg.hours)); } if (combinationArg.minutes) { addMilliSeconds(units.minutes(combinationArg.minutes)); } if (combinationArg.seconds) { addMilliSeconds(units.seconds(combinationArg.seconds)); } return timeInMilliseconds; }; export const getMilliSecondsAsHumanReadableString = (milliSecondsArg: number): string => { return plugins.prettyMs(milliSecondsArg); };