@burglekitt/gmt
Version:
Temporal-based date and time utilities with timezone support and polyfill integration
24 lines (23 loc) • 1.24 kB
TypeScript
import type { DateTimeDurationUnit, Overflow } from "../../types/index.js";
/**
* Subtract a temporal amount from a UTC datetime string and return a new UTC Instant string.
*
* - Uses Temporal.Instant.from to parse, subtracts duration, returns new Instant.
* - Validates duration units and values.
* - Returns "" for invalid input.
*
* `overflow` ("constrain" (default) | "reject") controls out-of-range results, e.g. subtracting
* 1 month from Mar 31: "constrain" clamps to Feb 29/28, "reject" throws (resulting in "").
*
* @param value ISO UTC datetime string (e.g. "2024-03-10T12:00:00Z")
* @param units Partial<Record<DateTimeDurationUnit, number>> object specifying units to subtract
* @param options optional: overflow ("constrain" | "reject")
* @returns UTC Instant string after subtraction, or "" on invalid input
*
* @example subtractUtc("2024-03-15T12:00:00Z", { days: 5 }) // "2024-03-10T12:00:00Z"
* @example subtractUtc("2024-03-15T12:00:00Z", { months: 1, years: 1 }) // "2023-02-15T12:00:00Z"
* @example subtractUtc("invalid", { days: 5 }) // ""
*/
export declare function subtractUtc(value: string, units: Partial<Record<DateTimeDurationUnit, number>>, options?: {
overflow?: Overflow;
}): string;