UNPKG

@burglekitt/gmt

Version:

Temporal-based date and time utilities with timezone support and polyfill integration

21 lines (20 loc) 987 B
/** * Combine two ISO 8601 duration strings by addition. * * - Uses Temporal.Duration.from and .add to combine, then .toString() to re-emit. * - Temporal.Duration.prototype.add has no `relativeTo` option, so combining any pair * where either operand has a nonzero years/months/weeks component throws and * results in "" — calendar-unit duration arithmetic needs a reference point that * this function does not accept. * - Returns "" if either operand is not a valid ISO 8601 duration string. * * @param a ISO 8601 duration string * @param b ISO 8601 duration string * @returns ISO 8601 duration string representing a + b, or "" on invalid input * * @example addDuration("P1D", "PT2H") // "P1DT2H" * @example addDuration("PT1H", "-PT2H") // "-PT1H" * @example addDuration("P1Y", "P1M") // "" (calendar units need relativeTo, unsupported) * @example addDuration("P1D", "not a duration") // "" */ export declare function addDuration(a: string, b: string): string;