UNPKG

@burglekitt/gmt

Version:

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

22 lines (21 loc) 1.11 kB
/** * Combine two ISO 8601 duration strings by subtraction. * * - Uses Temporal.Duration.from and .subtract to combine, then .toString() to re-emit. * - Temporal.Duration.prototype.subtract 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. * - The result may be negative (e.g. subtracting a larger duration from a smaller one). * - 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 subtractDuration("P1D", "PT2H") // "PT22H" * @example subtractDuration("PT1H", "PT2H") // "-PT1H" * @example subtractDuration("P1Y", "P1M") // "" (calendar units need relativeTo, unsupported) * @example subtractDuration("P1D", "not a duration") // "" */ export declare function subtractDuration(a: string, b: string): string;