diff --git a/frontend/src/types/org.ts b/frontend/src/types/org.ts index 45c6e5ff..890ab5c0 100644 --- a/frontend/src/types/org.ts +++ b/frontend/src/types/org.ts @@ -10,6 +10,7 @@ export const AccessCode: Record = { owner: 40, } as const; +/** `${4-digit year}-${2-digit month}` */ export type YearMonth = `${number}-${Range<0, 2>}${Range<0, 10>}`; export type OrgData = { @@ -18,26 +19,11 @@ export type OrgData = { slug: string; quotas?: Record; bytesStored: number; - usage: { - // Keyed by {4-digit year}-{2-digit month} - [key: YearMonth]: number; - } | null; - crawlExecSeconds?: { - // Keyed by {4-digit year}-{2-digit month} - [key: YearMonth]: number; - }; - monthlyExecSeconds?: { - // Keyed by {4-digit year}-{2-digit month} - [key: YearMonth]: number; - }; - extraExecSeconds?: { - // Keyed by {4-digit year}-{2-digit month} - [key: YearMonth]: number; - }; - giftedExecSeconds?: { - // Keyed by {4-digit year}-{2-digit month} - [key: YearMonth]: number; - }; + usage: { [key: YearMonth]: number } | null; + crawlExecSeconds?: { [key: YearMonth]: number }; + monthlyExecSeconds?: { [key: YearMonth]: number }; + extraExecSeconds?: { [key: YearMonth]: number }; + giftedExecSeconds?: { [key: YearMonth]: number }; extraExecSecondsAvailable: number; giftedExecSecondsAvailable: number; storageQuotaReached?: boolean; diff --git a/frontend/src/types/utils.ts b/frontend/src/types/utils.ts index 6a146b99..35df30e3 100644 --- a/frontend/src/types/utils.ts +++ b/frontend/src/types/utils.ts @@ -16,6 +16,7 @@ type Enumerate< ? Acc[number] : Enumerate; +/** Number literal range from `F` to `T` (exclusive) */ export type Range = Exclude< Enumerate, Enumerate