Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | 6x 6x 6x 220x 1680x 1680x 6x 133x 6x 109x 6x 6x 6x 6x 6x 6x 6x | import { DurationInput } from './types'; import { parse } from './parse'; import { UNITS_META, UNITS_META_MAP } from './lib/units'; /** * Convert the input value to milliseconds represented by a duration object. * If a number is passed this is returned verbatim as the number * of milliseconds. * * @example toMilliseconds({ days: 1 }) // 86400000 */ export const toMilliseconds = (duration: DurationInput): number => { const parsed = parse(duration); return UNITS_META.reduce((total, { unit, milliseconds }) => { return total + (parsed[unit] * milliseconds); }, 0); }; /** * Convert the input value to the specificed unit. * @example toUnit({ minutes: 2 }, 'seconds') // 120 */ export const toUnit = ( duration: DurationInput, unit: keyof typeof UNITS_META_MAP, ): number => { return toMilliseconds(duration) / UNITS_META_MAP[unit].milliseconds; }; const createDurationConverter = (unit: keyof typeof UNITS_META_MAP) => { return (duration: DurationInput): number => toUnit(duration, unit); }; /** * Convert the input value to seconds. * @example toSeconds({ minutes: 2 }) // 120 */ export const toSeconds = createDurationConverter('seconds'); /** * Convert the input value to minutes. * @example toMinutes({ hours: 1, minutes: 10 }) // 70 */ export const toMinutes = createDurationConverter('minutes'); /** * Convert the input value to hours. * @example toHours({ days: 1 }) // 24 */ export const toHours = createDurationConverter('hours'); /** * Convert the input value to days. * @example toDays({ hours: 12 }) // 0.5 */ export const toDays = createDurationConverter('days'); /** * Convert the input value to weeks. * @example toWeeks({ days: 14 }) // 2 */ export const toWeeks = createDurationConverter('weeks'); /** * Convert the input value to months. * Note, this is a rough approximation as the length of a month is variable. * * @example toMonths({ months: 10, days: 365 }) // 11 */ export const toMonths = createDurationConverter('months'); /** * Convert the input value to years. * Note, this is a rough approximation as the length of a year is variable. * * @example toYears({ years: 10, days: 365 }) // 11 */ export const toYears = createDurationConverter('years'); |