From edea4118f20db522588c222a189349ddf4bf7efb Mon Sep 17 00:00:00 2001 From: Craig Harshbarger Date: Wed, 3 Jan 2024 13:54:45 -0600 Subject: [PATCH] Add type guard for date range around unit --- src/types/dateRange.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/types/dateRange.ts b/src/types/dateRange.ts index 14cb874fa..44ff4f724 100644 --- a/src/types/dateRange.ts +++ b/src/types/dateRange.ts @@ -20,7 +20,12 @@ export function isDateRangeSelectPeriod(value: unknown): value is DateRangeSelec return dateRangeSelectPeriod.includes(value as DateRangeSelectPeriod) } -export type DateRangeSelectAroundUnit = 'second' | 'minute' | 'hour' | 'day' +const dateRangeSelectAroundUnit = ['second', 'minute', 'hour', 'day'] as const +export type DateRangeSelectAroundUnit = typeof dateRangeSelectAroundUnit[number] export type DateRangeSelectAroundValue = DateRangeValue<'around', { date: Date, quantity: number, unit: DateRangeSelectAroundUnit }> +export function isDateRangeSelectAroundUnit(value: unknown): value is DateRangeSelectAroundUnit { + return dateRangeSelectAroundUnit.includes(value as DateRangeSelectAroundUnit) +} + export type DateRangeSelectValue = DateRangeSelectSpanValue | DateRangeSelectRangeValue | DateRangeSelectAroundValue | DateRangeSelectPeriodValue | null | undefined \ No newline at end of file