UNPKG

@date-vir/duration

Version:

Durations units an utils for date-vir.

33 lines (32 loc) 1.26 kB
import { DurationUnitSelection, type DurationBySelection } from './duration-selection.js'; import { AnyDuration } from './duration.js'; import type { RoundOptions } from './round-options.js'; /** * Convert a duration from any combination of units into the selected units. * * @category Duration * @example * * ```ts * import {convertDuration} from 'date-vir'; * * convertDuration({seconds: 5, milliseconds: 5}, {minutes: true}); // `{minutes: 0.25}` * convertDuration({seconds: 5_356_800}, {weeks: true, seconds: true}); // `{weeks: 8, seconds: 518_400}` * ``` */ export declare function convertDuration<const SelectedUnits extends Readonly<DurationUnitSelection>>(duration: Readonly<AnyDuration>, /** Select which duration units to convert to. */ units: SelectedUnits, rawOptions?: RoundOptions): DurationBySelection<SelectedUnits>; /** * Round every unit in a given duration to the given number of decimal points. * * @category Duration * @example * * ```ts * import {roundDuration} from 'date-vir'; * * roundDuration({days: 1.002, minutes: 0.125}, 2); // `{days: 1, minutes: 0.13}` * ``` */ export declare function roundDuration<InputDuration extends AnyDuration>(duration: Readonly<InputDuration>, options: RoundOptions): InputDuration;