From fd898bb43dc4f34883ed53bf28b867279d2320a4 Mon Sep 17 00:00:00 2001 From: Kanit Wongsuphasawat Date: Wed, 28 Jun 2023 12:28:50 -0700 Subject: [PATCH] fix: add utc --- src/timeunit.ts | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/src/timeunit.ts b/src/timeunit.ts index 62b8db8d32d..0d55dfbf0ed 100644 --- a/src/timeunit.ts +++ b/src/timeunit.ts @@ -87,7 +87,7 @@ export const LOCAL_MULTI_TIMEUNIT_INDEX = { export type LocalMultiTimeUnit = keyof typeof LOCAL_MULTI_TIMEUNIT_INDEX; -const BINNED_TIMEUNIT_INDEX = { +const LOCAL_BINNED_TIMEUNIT_INDEX = { binnedyear: 1, binnedyearquarter: 1, binnedyearquartermonth: 1, @@ -107,7 +107,31 @@ const BINNED_TIMEUNIT_INDEX = { binnedyeardayofyear: 1 } as const; -export type BinnedTimeUnit = keyof typeof BINNED_TIMEUNIT_INDEX; +export type LocalBinnedTimeUnit = keyof typeof LOCAL_BINNED_TIMEUNIT_INDEX; + +const BINNED_UTC_TIMEUNIT_INDEX = { + binnedutcyear: 1, + binnedutcyearquarter: 1, + binnedutcyearquartermonth: 1, + + binnedutcyearmonth: 1, + binnedutcyearmonthdate: 1, + binnedutcyearmonthdatehours: 1, + binnedutcyearmonthdatehoursminutes: 1, + binnedutcyearmonthdatehoursminutesseconds: 1, + + binnedutcyearweek: 1, + binnedutcyearweekday: 1, + binnedutcyearweekdayhours: 1, + binnedutcyearweekdayhoursminutes: 1, + binnedutcyearweekdayhoursminutesseconds: 1, + + binnedutcyeardayofyear: 1 +}; + +export type UtcBinnedTimeUnit = keyof typeof BINNED_UTC_TIMEUNIT_INDEX; + +export type BinnedTimeUnit = LocalBinnedTimeUnit | UtcBinnedTimeUnit; export function isBinnedTimeUnit( timeUnit: TimeUnit | BinnedTimeUnit | TimeUnitParams | undefined @@ -122,10 +146,6 @@ export function isBinnedTimeUnitString(timeUnit: TimeUnit | BinnedTimeUnit | und return timeUnit && timeUnit.startsWith('binned'); } -export function getLocalTimeUnitFromBinnedTimeUnit(timeUnit: BinnedTimeUnit): LocalTimeUnit { - return timeUnit.substring(6) as LocalTimeUnit; -} - export const UTC_MULTI_TIMEUNIT_INDEX = { utcyearquarter: 1, utcyearquartermonth: 1, @@ -348,7 +368,7 @@ export function normalizeTimeUnit(timeUnit: TimeUnit | BinnedTimeUnit | TimeUnit if (isString(timeUnit)) { if (isBinnedTimeUnitString(timeUnit)) { params = { - unit: getLocalTimeUnitFromBinnedTimeUnit(timeUnit), + unit: timeUnit.substring(6) as TimeUnit, binned: true }; } else {