@burglekitt/gmt
Version:
Temporal-based date and time utilities with timezone support and polyfill integration
20 lines (19 loc) • 1.03 kB
TypeScript
/**
* Return true if `start` and `end` form a valid UTC interval — both parseable as
* ISO UTC datetime strings and the instant at `start` is <= the instant at `end`.
*
* - Both inputs must be ISO 8601 UTC datetime strings (e.g. `"2024-01-01T10:00:00Z"`).
* - Equal `start === end` is valid.
* - Leap-second strings return `false`.
* - Invalid input or malformed strings return `false`.
*
* @param start ISO 8601 UTC datetime string (interval start)
* @param end ISO 8601 UTC datetime string (interval end)
* @returns true if start and end form a valid UTC interval, or false on invalid input
*
* @example isValidUtcInterval("2024-01-01T10:00:00Z", "2024-12-31T23:59:59Z") // true
* @example isValidUtcInterval("2024-01-01T10:00:00Z", "2024-01-01T10:00:00Z") // true
* @example isValidUtcInterval("2024-12-31T23:59:59Z", "2024-01-01T10:00:00Z") // false
* @example isValidUtcInterval("invalid", "2024-12-31T23:59:59Z") // false
*/
export declare function isValidUtcInterval(start: string, end: string): boolean;