UNPKG

@date-vir/duration

Version:

Durations units an utils for date-vir.

27 lines (26 loc) 836 B
import { convertDuration } from './convert-duration.js'; import { orderedDurationUnits } from './units/duration-unit.js'; /** * Set each selected duration unit to the full value of the full given duration. * * @category Duration * @example * * ```ts * import {equalizeDuration} from 'date-vir'; * * equalizeDuration({seconds: 5_356_800}, {weeks: true, seconds: true}); * // `{weeks: 8, seconds: 518_400}` * ``` */ export function equalizeDuration(duration, /** Select which duration units to equalize to. */ units, options) { const equalizedDurations = {}; orderedDurationUnits.forEach((durationUnit) => { if (units[durationUnit]) { equalizedDurations[durationUnit] = convertDuration(duration, { [durationUnit]: true }, options)[durationUnit]; } }); return equalizedDurations; }