@burglekitt/gmt
Version:
Temporal-based date and time utilities with timezone support and polyfill integration
18 lines (17 loc) • 1.36 kB
TypeScript
/**
* Sort an array of ZonedDateTime values in ascending or descending order.
*
* - Invalid dates are filtered out.
* - Defaults to ascending order (earliest first).
* - Returns empty array if no valid dates.
*
* @param zonedDateTimes Array of ISO ZonedDateTime strings
* @param order "asc" for ascending (earliest first) | "desc" for descending (latest first)
* @returns Sorted array of zoned datetime strings
*
* @example sortZoned(["2024-03-10T12:00:00[America/New_York]", "2024-01-01T08:00:00[America/New_York]", "2024-02-15T15:30:00[America/New_York]"]) // ["2024-01-01T08:00:00-05:00[America/New_York]", "2024-02-15T15:30:00-05:00[America/New_York]", "2024-03-10T12:00:00-04:00[America/New_York]"]
* @example sortZoned(["2024-03-10T12:00:00[America/New_York]", "2024-01-01T08:00:00[America/New_York]", "2024-02-15T15:30:00[America/New_York]"], "desc") // ["2024-03-10T12:00:00-04:00[America/New_York]", "2024-02-15T15:30:00-05:00[America/New_York]", "2024-01-01T08:00:00-05:00[America/New_York]"]
* @example sortZoned(["invalid", "2024-01-01T08:00:00[America/New_York]", "2024-02-15T15:30:00[America/New_York]"]) // ["2024-01-01T08:00:00-05:00[America/New_York]", "2024-02-15T15:30:00-05:00[America/New_York]"]
* @example sortZoned([]) // []
*/
export declare function sortZoned(zonedDateTimes: string[], order?: "asc" | "desc"): string[];