date-vir 8.4.0 → 8.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,5 @@
1
1
  import { type AnyDuration } from '@date-vir/duration';
2
2
  import { type FullDate } from '../full-date/full-date-shape.js';
3
- import { type Timezone } from '../timezone/timezones.js';
4
3
  /**
5
4
  * Calculates a new date starting at the given fullDate and adding the given offsets. Offsets can be
6
5
  * negative to go backwards in time.
@@ -14,4 +13,4 @@ import { type Timezone } from '../timezone/timezones.js';
14
13
  * calculateRelativeDate(getNowInUserTimezone(), {days: 2});
15
14
  * ```
16
15
  */
17
- export declare function calculateRelativeDate<const SpecificTimezone extends Timezone>(fullDate: Readonly<FullDate<SpecificTimezone>>, offset: Readonly<AnyDuration>): FullDate<SpecificTimezone>;
16
+ export declare function calculateRelativeDate<const SpecificTimezone extends string>(fullDate: Readonly<FullDate<SpecificTimezone>>, offset: Readonly<AnyDuration>): FullDate<SpecificTimezone>;
@@ -1,12 +1,11 @@
1
1
  import { type FullDatePart } from '../full-date/full-date-parts.js';
2
2
  import { type DatePart, type FullDate, type TimePart } from '../full-date/full-date-shape.js';
3
- import { type Timezone } from '../timezone/timezones.js';
4
3
  /**
5
4
  * An object containing date and/or time parts or neither. Used for {@link combineDateParts}
6
5
  *
7
6
  * @category Internal
8
7
  */
9
- export type MaybeDateParts<SpecificTimezone extends Timezone> = Partial<{
8
+ export type MaybeDateParts<SpecificTimezone extends string> = Partial<{
10
9
  [FullDatePart.Date]: DatePart<SpecificTimezone> | undefined | Partial<FullDate<SpecificTimezone>>;
11
10
  [FullDatePart.Time]: TimePart<SpecificTimezone> | undefined | Partial<FullDate<SpecificTimezone>>;
12
11
  }>;
@@ -15,8 +14,8 @@ export type MaybeDateParts<SpecificTimezone extends Timezone> = Partial<{
15
14
  *
16
15
  * @category Internal
17
16
  */
18
- export type MaybeDatePart<SpecificTimezone extends Timezone> = FullDate<SpecificTimezone> | Partial<FullDate<SpecificTimezone>> | DatePart<SpecificTimezone> | TimePart<SpecificTimezone> | undefined;
19
- export declare function combineDateParts<const SpecificTimezone extends Timezone>(maybeDateParts: {
17
+ export type MaybeDatePart<SpecificTimezone extends string> = FullDate<SpecificTimezone> | Partial<FullDate<SpecificTimezone>> | DatePart<SpecificTimezone> | TimePart<SpecificTimezone> | undefined;
18
+ export declare function combineDateParts<const SpecificTimezone extends string>(maybeDateParts: {
20
19
  [FullDatePart.Date]: DatePart<SpecificTimezone>;
21
20
  [FullDatePart.Time]: TimePart<SpecificTimezone>;
22
21
  }): FullDate<SpecificTimezone>;
@@ -24,20 +23,20 @@ export declare function combineDateParts(maybeDateParts: {
24
23
  [FullDatePart.Date]?: undefined;
25
24
  [FullDatePart.Time]?: undefined;
26
25
  }): undefined;
27
- export declare function combineDateParts<const SpecificTimezone extends Timezone>(maybeDateParts: {
26
+ export declare function combineDateParts<const SpecificTimezone extends string>(maybeDateParts: {
28
27
  [FullDatePart.Date]: DatePart<SpecificTimezone>;
29
28
  [FullDatePart.Time]?: undefined;
30
29
  }): DatePart<SpecificTimezone>;
31
- export declare function combineDateParts<const SpecificTimezone extends Timezone>(maybeDateParts: {
30
+ export declare function combineDateParts<const SpecificTimezone extends string>(maybeDateParts: {
32
31
  [FullDatePart.Date]: DatePart<SpecificTimezone>;
33
32
  [FullDatePart.Time]?: TimePart<SpecificTimezone> | undefined | Partial<FullDate<SpecificTimezone>>;
34
33
  }): FullDate<SpecificTimezone> | DatePart<SpecificTimezone>;
35
- export declare function combineDateParts<const SpecificTimezone extends Timezone>(maybeDateParts: {
34
+ export declare function combineDateParts<const SpecificTimezone extends string>(maybeDateParts: {
36
35
  [FullDatePart.Date]?: undefined;
37
36
  [FullDatePart.Time]: TimePart<SpecificTimezone>;
38
37
  }): TimePart<SpecificTimezone>;
39
- export declare function combineDateParts<const SpecificTimezone extends Timezone>(maybeDateParts: {
38
+ export declare function combineDateParts<const SpecificTimezone extends string>(maybeDateParts: {
40
39
  [FullDatePart.Date]?: DatePart<SpecificTimezone> | undefined | Partial<FullDate<SpecificTimezone>>;
41
40
  [FullDatePart.Time]: TimePart<SpecificTimezone>;
42
41
  }): FullDate<SpecificTimezone> | TimePart<SpecificTimezone>;
43
- export declare function combineDateParts<const SpecificTimezone extends Timezone>(maybeDateParts: MaybeDateParts<SpecificTimezone>): MaybeDatePart<SpecificTimezone>;
42
+ export declare function combineDateParts<const SpecificTimezone extends string>(maybeDateParts: MaybeDateParts<SpecificTimezone>): MaybeDatePart<SpecificTimezone>;
@@ -1,6 +1,5 @@
1
1
  import { DateUnit } from '@date-vir/duration';
2
2
  import { type FullDate } from '../full-date/full-date-shape.js';
3
- import { type Timezone } from '../timezone/timezones.js';
4
3
  /**
5
4
  * Get the {@link DateUnit} value of a {@link FullDate}.
6
5
  *
@@ -54,7 +53,7 @@ export declare function getDateUnit(date: Readonly<FullDate>, unit: DateUnit): n
54
53
  * ); // outputs {year: 2024, month: 11, day: 1, hour: 0, minute: 0, second: 0, millisecond: 0, timezone: utcTimezone}
55
54
  * ```
56
55
  */
57
- export declare function getStartDate<const SpecificTimezone extends Timezone>(date: Readonly<FullDate<SpecificTimezone>>, unit: DateUnit): FullDate<SpecificTimezone>;
56
+ export declare function getStartDate<const SpecificTimezone extends string>(date: Readonly<FullDate<SpecificTimezone>>, unit: DateUnit): FullDate<SpecificTimezone>;
58
57
  /**
59
58
  * Get the end date of a specific {@link DateUnit} based on a given {@link FullDate}.
60
59
  *
@@ -81,7 +80,7 @@ export declare function getStartDate<const SpecificTimezone extends Timezone>(da
81
80
  * ); // outputs {year: 2024, month: 11, day: 30, hour: 23, minute: 59, second: 59, millisecond: 999, timezone: utcTimezone}
82
81
  * ```
83
82
  */
84
- export declare function getEndDate<const SpecificTimezone extends Timezone>(date: Readonly<FullDate<SpecificTimezone>>, unit: DateUnit): FullDate<SpecificTimezone>;
83
+ export declare function getEndDate<const SpecificTimezone extends string>(date: Readonly<FullDate<SpecificTimezone>>, unit: DateUnit): FullDate<SpecificTimezone>;
85
84
  /**
86
85
  * Shape definition for all valid date position calculations. Used for {@link calculateDatePosition}.
87
86
  *
@@ -1,6 +1,5 @@
1
1
  import { type PartialWithUndefined, type SetRequiredAndNotNull } from '@augment-vir/common';
2
2
  import { type FullDate } from '../full-date/full-date-shape.js';
3
- import { type Timezone } from '../timezone/timezones.js';
4
3
  /**
5
4
  * Checks that the input has all the requested {@link FullDate} keys.
6
5
  *
@@ -14,7 +13,7 @@ import { type Timezone } from '../timezone/timezones.js';
14
13
  * hasFullDateKeys({year: 2024}, ['day']); // `false`
15
14
  * ```
16
15
  */
17
- export declare function hasFullDateKeys<SpecificTimezone extends Timezone, PartialFullDate extends PartialWithUndefined<FullDate<SpecificTimezone>>,
16
+ export declare function hasFullDateKeys<SpecificTimezone extends string, PartialFullDate extends PartialWithUndefined<FullDate<SpecificTimezone>>,
18
17
  /** A union of strings. */
19
18
  RequiredKeys extends keyof FullDate<SpecificTimezone>>(partialFullDate: PartialWithUndefined<FullDate<SpecificTimezone>>, keys: ReadonlyArray<RequiredKeys>): partialFullDate is SetRequiredAndNotNull<PartialFullDate, RequiredKeys>;
20
19
  /**
@@ -30,6 +29,6 @@ RequiredKeys extends keyof FullDate<SpecificTimezone>>(partialFullDate: PartialW
30
29
  * assertHasFullDateKeys({year: 2024}, ['day']); // fails
31
30
  * ```
32
31
  */
33
- export declare function assertHasFullDateKeys<SpecificTimezone extends Timezone, PartialFullDate extends PartialWithUndefined<FullDate<SpecificTimezone>>,
32
+ export declare function assertHasFullDateKeys<SpecificTimezone extends string, PartialFullDate extends PartialWithUndefined<FullDate<SpecificTimezone>>,
34
33
  /** A union of strings. */
35
34
  RequiredKeys extends keyof FullDate<SpecificTimezone>>(partialFullDate: PartialWithUndefined<FullDate<SpecificTimezone>>, keys: ReadonlyArray<RequiredKeys>): asserts partialFullDate is SetRequiredAndNotNull<PartialFullDate, RequiredKeys>;
@@ -1,6 +1,6 @@
1
1
  import { type UtcIsoString } from '../formatting/string-format-types.js';
2
2
  import { type FullDate } from '../full-date/full-date-shape.js';
3
- import { type Timezone, type UtcTimezone } from '../timezone/timezones.js';
3
+ import { type UtcTimezone } from '../timezone/timezones.js';
4
4
  /**
5
5
  * Get the time right now as a UTC ISO.
6
6
  *
@@ -53,4 +53,4 @@ export declare function getNowInUtcTimezone(): FullDate<UtcTimezone>;
53
53
  * getNowFullDate(timezones['Australia/Brisbane']);
54
54
  * ```
55
55
  */
56
- export declare function getNowFullDate<const SpecificTimezone extends Timezone>(timezone: SpecificTimezone): FullDate<SpecificTimezone>;
56
+ export declare function getNowFullDate<const SpecificTimezone extends string>(timezone: SpecificTimezone): FullDate<SpecificTimezone>;
@@ -1,5 +1,4 @@
1
1
  import { type FullDate } from '../full-date/full-date-shape.js';
2
- import { type Timezone } from '../timezone/timezones.js';
3
2
  /**
4
3
  * Override the initial provided FullDate with all subsequent FullDate parts.
5
4
  *
@@ -24,4 +23,4 @@ import { type Timezone } from '../timezone/timezones.js';
24
23
  * // `{year: 2024, month: 1, day: 20, hour: 1, minute: 1, second: 10, millisecond: 1, timezone: 'UTC'}`
25
24
  * ```
26
25
  */
27
- export declare function overrideDateParts<const SpecificTimezone extends Timezone>(date: FullDate<SpecificTimezone>, ...overrides: Partial<FullDate<SpecificTimezone>>[]): FullDate<SpecificTimezone>;
26
+ export declare function overrideDateParts<const SpecificTimezone extends string>(date: FullDate<SpecificTimezone>, ...overrides: Partial<FullDate<SpecificTimezone>>[]): FullDate<SpecificTimezone>;
@@ -1,6 +1,5 @@
1
1
  import { TimeKey } from '../full-date/full-date-parts.js';
2
2
  import { type FullDate } from '../full-date/full-date-shape.js';
3
- import { type Timezone } from '../timezone/timezones.js';
4
3
  /**
5
4
  * A {@link FullDate} instance that has the lowest, valid, non-negative, value for each property.
6
5
  *
@@ -68,7 +67,7 @@ export declare const zeroTime: Pick<{
68
67
  * // `{year: 2024, month: 1, day: 5, hour: 0, minute: 0, second: 0, millisecond: 0, timezone: 'UTC'}`
69
68
  * ```
70
69
  */
71
- export declare function clearTime<const SpecificTimezone extends Timezone>(inputFullDate: Readonly<FullDate<SpecificTimezone>>): FullDate<SpecificTimezone>;
70
+ export declare function clearTime<const SpecificTimezone extends string>(inputFullDate: Readonly<FullDate<SpecificTimezone>>): FullDate<SpecificTimezone>;
72
71
  /**
73
72
  * Clear all the selected parts of {@link FullDate} by setting them each to their lowest, valid
74
73
  * value. See {@link zeroDate} for the lowest valid values for each property.
@@ -97,7 +96,7 @@ export declare function clearTime<const SpecificTimezone extends Timezone>(input
97
96
  * // `{year: 0, month: 1, day: 1, hour: 1, minute: 1, second: 1, millisecond: 1, timezone: 'UTC'}`
98
97
  * ```
99
98
  */
100
- export declare function clearParts<const SpecificTimezone extends Timezone>(inputFullDate: Readonly<FullDate<SpecificTimezone>>, parts: ReadonlyArray<Exclude<keyof FullDate, 'timezone'>>): {
99
+ export declare function clearParts<const SpecificTimezone extends string>(inputFullDate: Readonly<FullDate<SpecificTimezone>>, parts: ReadonlyArray<Exclude<keyof FullDate, 'timezone'>>): {
101
100
  year: number;
102
101
  month: import("@date-vir/duration").MonthNumber;
103
102
  day: import("@date-vir/duration").DayOfMonth;
@@ -1,4 +1,4 @@
1
- import { type Timezone, type UtcTimezone } from '../timezone/timezones.js';
1
+ import { type UtcTimezone } from '../timezone/timezones.js';
2
2
  import { type DateLike } from './date-like.js';
3
3
  import { type FullDate } from './full-date-shape.js';
4
4
  /**
@@ -54,7 +54,7 @@ export declare function createUtcFullDate(dateLike: Readonly<DateLike>): FullDat
54
54
  *
55
55
  * @throws Error: if a valid date cannot be created.
56
56
  */
57
- export declare function createFullDate<const SpecificTimezone extends Timezone>(
57
+ export declare function createFullDate<const SpecificTimezone extends string>(
58
58
  /** The original date representation to be converted into a FullDate. */
59
59
  dateLike: Readonly<DateLike>,
60
60
  /** The timezone that this date/time is meant for / originated from. */
@@ -94,4 +94,4 @@ timezone: SpecificTimezone): FullDate<SpecificTimezone>;
94
94
  * };
95
95
  * ```
96
96
  */
97
- export declare function toNewTimezone<const SpecificTimezone extends Timezone>(fullDate: Readonly<FullDate>, timezone: SpecificTimezone): FullDate<SpecificTimezone>;
97
+ export declare function toNewTimezone<const SpecificTimezone extends string>(fullDate: Readonly<FullDate>, timezone: SpecificTimezone): FullDate<SpecificTimezone>;
@@ -1,9 +1,8 @@
1
1
  import { type DateTime } from 'luxon';
2
- import { type Timezone } from '../timezone/timezones.js';
3
2
  import { type FullDate } from './full-date-shape.js';
4
3
  /**
5
4
  * Types that can be converted into {@link FullDate} instances.
6
5
  *
7
6
  * @category Internal
8
7
  */
9
- export type DateLike<SpecificTimezone extends Timezone = Timezone> = string | Date | number | DateTime | FullDate<SpecificTimezone>;
8
+ export type DateLike<SpecificTimezone extends string = string> = string | Date | number | DateTime | FullDate<SpecificTimezone>;
@@ -1,7 +1,6 @@
1
1
  import { type Overwrite, type SetRequired } from '@augment-vir/common';
2
2
  import { type DayOfMonth, type Hour, type Minute, type MonthNumber, type Second } from '@date-vir/duration';
3
3
  import { type Simplify } from 'type-fest';
4
- import { Timezone } from '../timezone/timezones.js';
5
4
  /**
6
5
  * Time part of {@link FullDate} represented in a shape definition.
7
6
  *
@@ -17,14 +16,14 @@ export declare const timePartShape: import("object-shape-tester").Shape<{
17
16
  /** Millisecond of the second: 0-999 */
18
17
  millisecond: import("object-shape-tester").Shape<import("@sinclair/typebox").TUnsafe<number>>;
19
18
  /** The timezone that this date/time is meant for / originated from. */
20
- timezone: import("object-shape-tester").Shape<import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TLiteral<"Africa/Abidjan"> | import("@sinclair/typebox").TLiteral<"Africa/Accra"> | import("@sinclair/typebox").TLiteral<"Africa/Addis_Ababa"> | import("@sinclair/typebox").TLiteral<"Africa/Algiers"> | import("@sinclair/typebox").TLiteral<"Africa/Asmara"> | import("@sinclair/typebox").TLiteral<"Africa/Bamako"> | import("@sinclair/typebox").TLiteral<"Africa/Bangui"> | import("@sinclair/typebox").TLiteral<"Africa/Banjul"> | import("@sinclair/typebox").TLiteral<"Africa/Bissau"> | import("@sinclair/typebox").TLiteral<"Africa/Blantyre"> | import("@sinclair/typebox").TLiteral<"Africa/Brazzaville"> | import("@sinclair/typebox").TLiteral<"Africa/Bujumbura"> | import("@sinclair/typebox").TLiteral<"Africa/Cairo"> | import("@sinclair/typebox").TLiteral<"Africa/Casablanca"> | import("@sinclair/typebox").TLiteral<"Africa/Ceuta"> | import("@sinclair/typebox").TLiteral<"Africa/Conakry"> | import("@sinclair/typebox").TLiteral<"Africa/Dakar"> | import("@sinclair/typebox").TLiteral<"Africa/Dar_es_Salaam"> | import("@sinclair/typebox").TLiteral<"Africa/Djibouti"> | import("@sinclair/typebox").TLiteral<"Africa/Douala"> | import("@sinclair/typebox").TLiteral<"Africa/El_Aaiun"> | import("@sinclair/typebox").TLiteral<"Africa/Freetown"> | import("@sinclair/typebox").TLiteral<"Africa/Gaborone"> | import("@sinclair/typebox").TLiteral<"Africa/Harare"> | import("@sinclair/typebox").TLiteral<"Africa/Johannesburg"> | import("@sinclair/typebox").TLiteral<"Africa/Juba"> | import("@sinclair/typebox").TLiteral<"Africa/Kampala"> | import("@sinclair/typebox").TLiteral<"Africa/Khartoum"> | import("@sinclair/typebox").TLiteral<"Africa/Kigali"> | import("@sinclair/typebox").TLiteral<"Africa/Kinshasa"> | import("@sinclair/typebox").TLiteral<"Africa/Lagos"> | import("@sinclair/typebox").TLiteral<"Africa/Libreville"> | import("@sinclair/typebox").TLiteral<"Africa/Lome"> | import("@sinclair/typebox").TLiteral<"Africa/Luanda"> | import("@sinclair/typebox").TLiteral<"Africa/Lubumbashi"> | import("@sinclair/typebox").TLiteral<"Africa/Lusaka"> | import("@sinclair/typebox").TLiteral<"Africa/Malabo"> | import("@sinclair/typebox").TLiteral<"Africa/Maputo"> | import("@sinclair/typebox").TLiteral<"Africa/Maseru"> | import("@sinclair/typebox").TLiteral<"Africa/Mbabane"> | import("@sinclair/typebox").TLiteral<"Africa/Mogadishu"> | import("@sinclair/typebox").TLiteral<"Africa/Monrovia"> | import("@sinclair/typebox").TLiteral<"Africa/Nairobi"> | import("@sinclair/typebox").TLiteral<"Africa/Ndjamena"> | import("@sinclair/typebox").TLiteral<"Africa/Niamey"> | import("@sinclair/typebox").TLiteral<"Africa/Nouakchott"> | import("@sinclair/typebox").TLiteral<"Africa/Ouagadougou"> | import("@sinclair/typebox").TLiteral<"Africa/Porto-Novo"> | import("@sinclair/typebox").TLiteral<"Africa/Sao_Tome"> | import("@sinclair/typebox").TLiteral<"Africa/Timbuktu"> | import("@sinclair/typebox").TLiteral<"Africa/Tripoli"> | import("@sinclair/typebox").TLiteral<"Africa/Tunis"> | import("@sinclair/typebox").TLiteral<"Africa/Windhoek"> | import("@sinclair/typebox").TLiteral<"America/Adak"> | import("@sinclair/typebox").TLiteral<"America/Anchorage"> | import("@sinclair/typebox").TLiteral<"America/Anguilla"> | import("@sinclair/typebox").TLiteral<"America/Antigua"> | import("@sinclair/typebox").TLiteral<"America/Araguaina"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Buenos_Aires"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Catamarca"> | import("@sinclair/typebox").TLiteral<"America/Argentina/ComodRivadavia"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Cordoba"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Jujuy"> | import("@sinclair/typebox").TLiteral<"America/Argentina/La_Rioja"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Mendoza"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Rio_Gallegos"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Salta"> | import("@sinclair/typebox").TLiteral<"America/Argentina/San_Juan"> | import("@sinclair/typebox").TLiteral<"America/Argentina/San_Luis"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Tucuman"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Ushuaia"> | import("@sinclair/typebox").TLiteral<"America/Aruba"> | import("@sinclair/typebox").TLiteral<"America/Asuncion"> | import("@sinclair/typebox").TLiteral<"America/Atikokan"> | import("@sinclair/typebox").TLiteral<"America/Bahia"> | import("@sinclair/typebox").TLiteral<"America/Bahia_Banderas"> | import("@sinclair/typebox").TLiteral<"America/Barbados"> | import("@sinclair/typebox").TLiteral<"America/Belem"> | import("@sinclair/typebox").TLiteral<"America/Belize"> | import("@sinclair/typebox").TLiteral<"America/Blanc-Sablon"> | import("@sinclair/typebox").TLiteral<"America/Boa_Vista"> | import("@sinclair/typebox").TLiteral<"America/Bogota"> | import("@sinclair/typebox").TLiteral<"America/Boise"> | import("@sinclair/typebox").TLiteral<"America/Cambridge_Bay"> | import("@sinclair/typebox").TLiteral<"America/Campo_Grande"> | import("@sinclair/typebox").TLiteral<"America/Cancun"> | import("@sinclair/typebox").TLiteral<"America/Caracas"> | import("@sinclair/typebox").TLiteral<"America/Cayenne"> | import("@sinclair/typebox").TLiteral<"America/Cayman"> | import("@sinclair/typebox").TLiteral<"America/Chicago"> | import("@sinclair/typebox").TLiteral<"America/Chihuahua"> | import("@sinclair/typebox").TLiteral<"America/Coral_Harbour"> | import("@sinclair/typebox").TLiteral<"America/Costa_Rica"> | import("@sinclair/typebox").TLiteral<"America/Creston"> | import("@sinclair/typebox").TLiteral<"America/Cuiaba"> | import("@sinclair/typebox").TLiteral<"America/Curacao"> | import("@sinclair/typebox").TLiteral<"America/Danmarkshavn"> | import("@sinclair/typebox").TLiteral<"America/Dawson"> | import("@sinclair/typebox").TLiteral<"America/Dawson_Creek"> | import("@sinclair/typebox").TLiteral<"America/Denver"> | import("@sinclair/typebox").TLiteral<"America/Detroit"> | import("@sinclair/typebox").TLiteral<"America/Dominica"> | import("@sinclair/typebox").TLiteral<"America/Edmonton"> | import("@sinclair/typebox").TLiteral<"America/Eirunepe"> | import("@sinclair/typebox").TLiteral<"America/El_Salvador"> | import("@sinclair/typebox").TLiteral<"America/Ensenada"> | import("@sinclair/typebox").TLiteral<"America/Fort_Nelson"> | import("@sinclair/typebox").TLiteral<"America/Fortaleza"> | import("@sinclair/typebox").TLiteral<"America/Glace_Bay"> | import("@sinclair/typebox").TLiteral<"America/Goose_Bay"> | import("@sinclair/typebox").TLiteral<"America/Grand_Turk"> | import("@sinclair/typebox").TLiteral<"America/Grenada"> | import("@sinclair/typebox").TLiteral<"America/Guadeloupe"> | import("@sinclair/typebox").TLiteral<"America/Guatemala"> | import("@sinclair/typebox").TLiteral<"America/Guayaquil"> | import("@sinclair/typebox").TLiteral<"America/Guyana"> | import("@sinclair/typebox").TLiteral<"America/Halifax"> | import("@sinclair/typebox").TLiteral<"America/Havana"> | import("@sinclair/typebox").TLiteral<"America/Hermosillo"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Indianapolis"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Knox"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Marengo"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Petersburg"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Tell_City"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Vevay"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Vincennes"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Winamac"> | import("@sinclair/typebox").TLiteral<"America/Inuvik"> | import("@sinclair/typebox").TLiteral<"America/Iqaluit"> | import("@sinclair/typebox").TLiteral<"America/Jamaica"> | import("@sinclair/typebox").TLiteral<"America/Juneau"> | import("@sinclair/typebox").TLiteral<"America/Kentucky/Louisville"> | import("@sinclair/typebox").TLiteral<"America/Kentucky/Monticello"> | import("@sinclair/typebox").TLiteral<"America/La_Paz"> | import("@sinclair/typebox").TLiteral<"America/Lima"> | import("@sinclair/typebox").TLiteral<"America/Los_Angeles"> | import("@sinclair/typebox").TLiteral<"America/Maceio"> | import("@sinclair/typebox").TLiteral<"America/Managua"> | import("@sinclair/typebox").TLiteral<"America/Manaus"> | import("@sinclair/typebox").TLiteral<"America/Martinique"> | import("@sinclair/typebox").TLiteral<"America/Matamoros"> | import("@sinclair/typebox").TLiteral<"America/Mazatlan"> | import("@sinclair/typebox").TLiteral<"America/Menominee"> | import("@sinclair/typebox").TLiteral<"America/Merida"> | import("@sinclair/typebox").TLiteral<"America/Metlakatla"> | import("@sinclair/typebox").TLiteral<"America/Mexico_City"> | import("@sinclair/typebox").TLiteral<"America/Miquelon"> | import("@sinclair/typebox").TLiteral<"America/Moncton"> | import("@sinclair/typebox").TLiteral<"America/Monterrey"> | import("@sinclair/typebox").TLiteral<"America/Montevideo"> | import("@sinclair/typebox").TLiteral<"America/Montreal"> | import("@sinclair/typebox").TLiteral<"America/Montserrat"> | import("@sinclair/typebox").TLiteral<"America/Nassau"> | import("@sinclair/typebox").TLiteral<"America/New_York"> | import("@sinclair/typebox").TLiteral<"America/Nipigon"> | import("@sinclair/typebox").TLiteral<"America/Nome"> | import("@sinclair/typebox").TLiteral<"America/Noronha"> | import("@sinclair/typebox").TLiteral<"America/North_Dakota/Beulah"> | import("@sinclair/typebox").TLiteral<"America/North_Dakota/Center"> | import("@sinclair/typebox").TLiteral<"America/North_Dakota/New_Salem"> | import("@sinclair/typebox").TLiteral<"America/Nuuk"> | import("@sinclair/typebox").TLiteral<"America/Ojinaga"> | import("@sinclair/typebox").TLiteral<"America/Panama"> | import("@sinclair/typebox").TLiteral<"America/Pangnirtung"> | import("@sinclair/typebox").TLiteral<"America/Paramaribo"> | import("@sinclair/typebox").TLiteral<"America/Phoenix"> | import("@sinclair/typebox").TLiteral<"America/Port-au-Prince"> | import("@sinclair/typebox").TLiteral<"America/Port_of_Spain"> | import("@sinclair/typebox").TLiteral<"America/Porto_Velho"> | import("@sinclair/typebox").TLiteral<"America/Puerto_Rico"> | import("@sinclair/typebox").TLiteral<"America/Punta_Arenas"> | import("@sinclair/typebox").TLiteral<"America/Rainy_River"> | import("@sinclair/typebox").TLiteral<"America/Rankin_Inlet"> | import("@sinclair/typebox").TLiteral<"America/Recife"> | import("@sinclair/typebox").TLiteral<"America/Regina"> | import("@sinclair/typebox").TLiteral<"America/Resolute"> | import("@sinclair/typebox").TLiteral<"America/Rio_Branco"> | import("@sinclair/typebox").TLiteral<"America/Rosario"> | import("@sinclair/typebox").TLiteral<"America/Santarem"> | import("@sinclair/typebox").TLiteral<"America/Santiago"> | import("@sinclair/typebox").TLiteral<"America/Santo_Domingo"> | import("@sinclair/typebox").TLiteral<"America/Sao_Paulo"> | import("@sinclair/typebox").TLiteral<"America/Scoresbysund"> | import("@sinclair/typebox").TLiteral<"America/Sitka"> | import("@sinclair/typebox").TLiteral<"America/St_Johns"> | import("@sinclair/typebox").TLiteral<"America/St_Kitts"> | import("@sinclair/typebox").TLiteral<"America/St_Lucia"> | import("@sinclair/typebox").TLiteral<"America/St_Thomas"> | import("@sinclair/typebox").TLiteral<"America/St_Vincent"> | import("@sinclair/typebox").TLiteral<"America/Swift_Current"> | import("@sinclair/typebox").TLiteral<"America/Tegucigalpa"> | import("@sinclair/typebox").TLiteral<"America/Thule"> | import("@sinclair/typebox").TLiteral<"America/Thunder_Bay"> | import("@sinclair/typebox").TLiteral<"America/Tijuana"> | import("@sinclair/typebox").TLiteral<"America/Toronto"> | import("@sinclair/typebox").TLiteral<"America/Tortola"> | import("@sinclair/typebox").TLiteral<"America/Vancouver"> | import("@sinclair/typebox").TLiteral<"America/Whitehorse"> | import("@sinclair/typebox").TLiteral<"America/Winnipeg"> | import("@sinclair/typebox").TLiteral<"America/Yakutat"> | import("@sinclair/typebox").TLiteral<"America/Yellowknife"> | import("@sinclair/typebox").TLiteral<"Antarctica/Casey"> | import("@sinclair/typebox").TLiteral<"Antarctica/Davis"> | import("@sinclair/typebox").TLiteral<"Antarctica/DumontDUrville"> | import("@sinclair/typebox").TLiteral<"Antarctica/Macquarie"> | import("@sinclair/typebox").TLiteral<"Antarctica/Mawson"> | import("@sinclair/typebox").TLiteral<"Antarctica/McMurdo"> | import("@sinclair/typebox").TLiteral<"Antarctica/Palmer"> | import("@sinclair/typebox").TLiteral<"Antarctica/Rothera"> | import("@sinclair/typebox").TLiteral<"Antarctica/Syowa"> | import("@sinclair/typebox").TLiteral<"Antarctica/Troll"> | import("@sinclair/typebox").TLiteral<"Antarctica/Vostok"> | import("@sinclair/typebox").TLiteral<"Asia/Aden"> | import("@sinclair/typebox").TLiteral<"Asia/Almaty"> | import("@sinclair/typebox").TLiteral<"Asia/Amman"> | import("@sinclair/typebox").TLiteral<"Asia/Anadyr"> | import("@sinclair/typebox").TLiteral<"Asia/Aqtau"> | import("@sinclair/typebox").TLiteral<"Asia/Aqtobe"> | import("@sinclair/typebox").TLiteral<"Asia/Ashgabat"> | import("@sinclair/typebox").TLiteral<"Asia/Atyrau"> | import("@sinclair/typebox").TLiteral<"Asia/Baghdad"> | import("@sinclair/typebox").TLiteral<"Asia/Bahrain"> | import("@sinclair/typebox").TLiteral<"Asia/Baku"> | import("@sinclair/typebox").TLiteral<"Asia/Bangkok"> | import("@sinclair/typebox").TLiteral<"Asia/Barnaul"> | import("@sinclair/typebox").TLiteral<"Asia/Beirut"> | import("@sinclair/typebox").TLiteral<"Asia/Bishkek"> | import("@sinclair/typebox").TLiteral<"Asia/Brunei"> | import("@sinclair/typebox").TLiteral<"Asia/Chita"> | import("@sinclair/typebox").TLiteral<"Asia/Choibalsan"> | import("@sinclair/typebox").TLiteral<"Asia/Chongqing"> | import("@sinclair/typebox").TLiteral<"Asia/Colombo"> | import("@sinclair/typebox").TLiteral<"Asia/Damascus"> | import("@sinclair/typebox").TLiteral<"Asia/Dhaka"> | import("@sinclair/typebox").TLiteral<"Asia/Dili"> | import("@sinclair/typebox").TLiteral<"Asia/Dubai"> | import("@sinclair/typebox").TLiteral<"Asia/Dushanbe"> | import("@sinclair/typebox").TLiteral<"Asia/Famagusta"> | import("@sinclair/typebox").TLiteral<"Asia/Gaza"> | import("@sinclair/typebox").TLiteral<"Asia/Harbin"> | import("@sinclair/typebox").TLiteral<"Asia/Hebron"> | import("@sinclair/typebox").TLiteral<"Asia/Ho_Chi_Minh"> | import("@sinclair/typebox").TLiteral<"Asia/Hong_Kong"> | import("@sinclair/typebox").TLiteral<"Asia/Hovd"> | import("@sinclair/typebox").TLiteral<"Asia/Irkutsk"> | import("@sinclair/typebox").TLiteral<"Asia/Jakarta"> | import("@sinclair/typebox").TLiteral<"Asia/Jayapura"> | import("@sinclair/typebox").TLiteral<"Asia/Jerusalem"> | import("@sinclair/typebox").TLiteral<"Asia/Kabul"> | import("@sinclair/typebox").TLiteral<"Asia/Kamchatka"> | import("@sinclair/typebox").TLiteral<"Asia/Karachi"> | import("@sinclair/typebox").TLiteral<"Asia/Kashgar"> | import("@sinclair/typebox").TLiteral<"Asia/Kathmandu"> | import("@sinclair/typebox").TLiteral<"Asia/Khandyga"> | import("@sinclair/typebox").TLiteral<"Asia/Kolkata"> | import("@sinclair/typebox").TLiteral<"Asia/Krasnoyarsk"> | import("@sinclair/typebox").TLiteral<"Asia/Kuala_Lumpur"> | import("@sinclair/typebox").TLiteral<"Asia/Kuching"> | import("@sinclair/typebox").TLiteral<"Asia/Kuwait"> | import("@sinclair/typebox").TLiteral<"Asia/Macau"> | import("@sinclair/typebox").TLiteral<"Asia/Magadan"> | import("@sinclair/typebox").TLiteral<"Asia/Makassar"> | import("@sinclair/typebox").TLiteral<"Asia/Manila"> | import("@sinclair/typebox").TLiteral<"Asia/Muscat"> | import("@sinclair/typebox").TLiteral<"Asia/Nicosia"> | import("@sinclair/typebox").TLiteral<"Asia/Novokuznetsk"> | import("@sinclair/typebox").TLiteral<"Asia/Novosibirsk"> | import("@sinclair/typebox").TLiteral<"Asia/Omsk"> | import("@sinclair/typebox").TLiteral<"Asia/Oral"> | import("@sinclair/typebox").TLiteral<"Asia/Phnom_Penh"> | import("@sinclair/typebox").TLiteral<"Asia/Pontianak"> | import("@sinclair/typebox").TLiteral<"Asia/Pyongyang"> | import("@sinclair/typebox").TLiteral<"Asia/Qatar"> | import("@sinclair/typebox").TLiteral<"Asia/Qostanay"> | import("@sinclair/typebox").TLiteral<"Asia/Qyzylorda"> | import("@sinclair/typebox").TLiteral<"Asia/Riyadh"> | import("@sinclair/typebox").TLiteral<"Asia/Sakhalin"> | import("@sinclair/typebox").TLiteral<"Asia/Samarkand"> | import("@sinclair/typebox").TLiteral<"Asia/Seoul"> | import("@sinclair/typebox").TLiteral<"Asia/Shanghai"> | import("@sinclair/typebox").TLiteral<"Asia/Singapore"> | import("@sinclair/typebox").TLiteral<"Asia/Srednekolymsk"> | import("@sinclair/typebox").TLiteral<"Asia/Taipei"> | import("@sinclair/typebox").TLiteral<"Asia/Tashkent"> | import("@sinclair/typebox").TLiteral<"Asia/Tbilisi"> | import("@sinclair/typebox").TLiteral<"Asia/Tehran"> | import("@sinclair/typebox").TLiteral<"Asia/Tel_Aviv"> | import("@sinclair/typebox").TLiteral<"Asia/Thimphu"> | import("@sinclair/typebox").TLiteral<"Asia/Tokyo"> | import("@sinclair/typebox").TLiteral<"Asia/Tomsk"> | import("@sinclair/typebox").TLiteral<"Asia/Ulaanbaatar"> | import("@sinclair/typebox").TLiteral<"Asia/Urumqi"> | import("@sinclair/typebox").TLiteral<"Asia/Ust-Nera"> | import("@sinclair/typebox").TLiteral<"Asia/Vientiane"> | import("@sinclair/typebox").TLiteral<"Asia/Vladivostok"> | import("@sinclair/typebox").TLiteral<"Asia/Yakutsk"> | import("@sinclair/typebox").TLiteral<"Asia/Yangon"> | import("@sinclair/typebox").TLiteral<"Asia/Yekaterinburg"> | import("@sinclair/typebox").TLiteral<"Asia/Yerevan"> | import("@sinclair/typebox").TLiteral<"Atlantic/Azores"> | import("@sinclair/typebox").TLiteral<"Atlantic/Bermuda"> | import("@sinclair/typebox").TLiteral<"Atlantic/Canary"> | import("@sinclair/typebox").TLiteral<"Atlantic/Cape_Verde"> | import("@sinclair/typebox").TLiteral<"Atlantic/Faroe"> | import("@sinclair/typebox").TLiteral<"Atlantic/Jan_Mayen"> | import("@sinclair/typebox").TLiteral<"Atlantic/Madeira"> | import("@sinclair/typebox").TLiteral<"Atlantic/Reykjavik"> | import("@sinclair/typebox").TLiteral<"Atlantic/South_Georgia"> | import("@sinclair/typebox").TLiteral<"Atlantic/St_Helena"> | import("@sinclair/typebox").TLiteral<"Atlantic/Stanley"> | import("@sinclair/typebox").TLiteral<"Australia/Adelaide"> | import("@sinclair/typebox").TLiteral<"Australia/Brisbane"> | import("@sinclair/typebox").TLiteral<"Australia/Broken_Hill"> | import("@sinclair/typebox").TLiteral<"Australia/Currie"> | import("@sinclair/typebox").TLiteral<"Australia/Darwin"> | import("@sinclair/typebox").TLiteral<"Australia/Eucla"> | import("@sinclair/typebox").TLiteral<"Australia/Hobart"> | import("@sinclair/typebox").TLiteral<"Australia/Lindeman"> | import("@sinclair/typebox").TLiteral<"Australia/Lord_Howe"> | import("@sinclair/typebox").TLiteral<"Australia/Melbourne"> | import("@sinclair/typebox").TLiteral<"Australia/Perth"> | import("@sinclair/typebox").TLiteral<"Australia/Sydney"> | import("@sinclair/typebox").TLiteral<"CET"> | import("@sinclair/typebox").TLiteral<"CST6CDT"> | import("@sinclair/typebox").TLiteral<"EET"> | import("@sinclair/typebox").TLiteral<"EST"> | import("@sinclair/typebox").TLiteral<"EST5EDT"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+1"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+10"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+11"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+12"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+2"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+3"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+4"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+5"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+6"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+7"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+8"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+9"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-1"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-10"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-11"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-12"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-13"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-14"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-2"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-3"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-4"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-5"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-6"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-7"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-8"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-9"> | import("@sinclair/typebox").TLiteral<"Europe/Amsterdam"> | import("@sinclair/typebox").TLiteral<"Europe/Andorra"> | import("@sinclair/typebox").TLiteral<"Europe/Astrakhan"> | import("@sinclair/typebox").TLiteral<"Europe/Athens"> | import("@sinclair/typebox").TLiteral<"Europe/Belfast"> | import("@sinclair/typebox").TLiteral<"Europe/Belgrade"> | import("@sinclair/typebox").TLiteral<"Europe/Berlin"> | import("@sinclair/typebox").TLiteral<"Europe/Brussels"> | import("@sinclair/typebox").TLiteral<"Europe/Bucharest"> | import("@sinclair/typebox").TLiteral<"Europe/Budapest"> | import("@sinclair/typebox").TLiteral<"Europe/Chisinau"> | import("@sinclair/typebox").TLiteral<"Europe/Copenhagen"> | import("@sinclair/typebox").TLiteral<"Europe/Dublin"> | import("@sinclair/typebox").TLiteral<"Europe/Gibraltar"> | import("@sinclair/typebox").TLiteral<"Europe/Guernsey"> | import("@sinclair/typebox").TLiteral<"Europe/Helsinki"> | import("@sinclair/typebox").TLiteral<"Europe/Isle_of_Man"> | import("@sinclair/typebox").TLiteral<"Europe/Istanbul"> | import("@sinclair/typebox").TLiteral<"Europe/Jersey"> | import("@sinclair/typebox").TLiteral<"Europe/Kaliningrad"> | import("@sinclair/typebox").TLiteral<"Europe/Kirov"> | import("@sinclair/typebox").TLiteral<"Europe/Kyiv"> | import("@sinclair/typebox").TLiteral<"Europe/Lisbon"> | import("@sinclair/typebox").TLiteral<"Europe/Ljubljana"> | import("@sinclair/typebox").TLiteral<"Europe/London"> | import("@sinclair/typebox").TLiteral<"Europe/Luxembourg"> | import("@sinclair/typebox").TLiteral<"Europe/Madrid"> | import("@sinclair/typebox").TLiteral<"Europe/Malta"> | import("@sinclair/typebox").TLiteral<"Europe/Minsk"> | import("@sinclair/typebox").TLiteral<"Europe/Monaco"> | import("@sinclair/typebox").TLiteral<"Europe/Moscow"> | import("@sinclair/typebox").TLiteral<"Europe/Oslo"> | import("@sinclair/typebox").TLiteral<"Europe/Paris"> | import("@sinclair/typebox").TLiteral<"Europe/Prague"> | import("@sinclair/typebox").TLiteral<"Europe/Riga"> | import("@sinclair/typebox").TLiteral<"Europe/Rome"> | import("@sinclair/typebox").TLiteral<"Europe/Samara"> | import("@sinclair/typebox").TLiteral<"Europe/Sarajevo"> | import("@sinclair/typebox").TLiteral<"Europe/Saratov"> | import("@sinclair/typebox").TLiteral<"Europe/Simferopol"> | import("@sinclair/typebox").TLiteral<"Europe/Skopje"> | import("@sinclair/typebox").TLiteral<"Europe/Sofia"> | import("@sinclair/typebox").TLiteral<"Europe/Stockholm"> | import("@sinclair/typebox").TLiteral<"Europe/Tallinn"> | import("@sinclair/typebox").TLiteral<"Europe/Tirane"> | import("@sinclair/typebox").TLiteral<"Europe/Tiraspol"> | import("@sinclair/typebox").TLiteral<"Europe/Ulyanovsk"> | import("@sinclair/typebox").TLiteral<"Europe/Uzhgorod"> | import("@sinclair/typebox").TLiteral<"Europe/Vaduz"> | import("@sinclair/typebox").TLiteral<"Europe/Vienna"> | import("@sinclair/typebox").TLiteral<"Europe/Vilnius"> | import("@sinclair/typebox").TLiteral<"Europe/Volgograd"> | import("@sinclair/typebox").TLiteral<"Europe/Warsaw"> | import("@sinclair/typebox").TLiteral<"Europe/Zagreb"> | import("@sinclair/typebox").TLiteral<"Europe/Zaporozhye"> | import("@sinclair/typebox").TLiteral<"Europe/Zurich"> | import("@sinclair/typebox").TLiteral<"HST"> | import("@sinclair/typebox").TLiteral<"Indian/Antananarivo"> | import("@sinclair/typebox").TLiteral<"Indian/Chagos"> | import("@sinclair/typebox").TLiteral<"Indian/Christmas"> | import("@sinclair/typebox").TLiteral<"Indian/Cocos"> | import("@sinclair/typebox").TLiteral<"Indian/Comoro"> | import("@sinclair/typebox").TLiteral<"Indian/Kerguelen"> | import("@sinclair/typebox").TLiteral<"Indian/Mahe"> | import("@sinclair/typebox").TLiteral<"Indian/Maldives"> | import("@sinclair/typebox").TLiteral<"Indian/Mauritius"> | import("@sinclair/typebox").TLiteral<"Indian/Mayotte"> | import("@sinclair/typebox").TLiteral<"Indian/Reunion"> | import("@sinclair/typebox").TLiteral<"MET"> | import("@sinclair/typebox").TLiteral<"MST"> | import("@sinclair/typebox").TLiteral<"MST7MDT"> | import("@sinclair/typebox").TLiteral<"PST8PDT"> | import("@sinclair/typebox").TLiteral<"Pacific/Apia"> | import("@sinclair/typebox").TLiteral<"Pacific/Auckland"> | import("@sinclair/typebox").TLiteral<"Pacific/Bougainville"> | import("@sinclair/typebox").TLiteral<"Pacific/Chatham"> | import("@sinclair/typebox").TLiteral<"Pacific/Chuuk"> | import("@sinclair/typebox").TLiteral<"Pacific/Easter"> | import("@sinclair/typebox").TLiteral<"Pacific/Efate"> | import("@sinclair/typebox").TLiteral<"Pacific/Enderbury"> | import("@sinclair/typebox").TLiteral<"Pacific/Fakaofo"> | import("@sinclair/typebox").TLiteral<"Pacific/Fiji"> | import("@sinclair/typebox").TLiteral<"Pacific/Funafuti"> | import("@sinclair/typebox").TLiteral<"Pacific/Galapagos"> | import("@sinclair/typebox").TLiteral<"Pacific/Gambier"> | import("@sinclair/typebox").TLiteral<"Pacific/Guadalcanal"> | import("@sinclair/typebox").TLiteral<"Pacific/Guam"> | import("@sinclair/typebox").TLiteral<"Pacific/Honolulu"> | import("@sinclair/typebox").TLiteral<"Pacific/Johnston"> | import("@sinclair/typebox").TLiteral<"Pacific/Kanton"> | import("@sinclair/typebox").TLiteral<"Pacific/Kiritimati"> | import("@sinclair/typebox").TLiteral<"Pacific/Kosrae"> | import("@sinclair/typebox").TLiteral<"Pacific/Kwajalein"> | import("@sinclair/typebox").TLiteral<"Pacific/Majuro"> | import("@sinclair/typebox").TLiteral<"Pacific/Marquesas"> | import("@sinclair/typebox").TLiteral<"Pacific/Midway"> | import("@sinclair/typebox").TLiteral<"Pacific/Nauru"> | import("@sinclair/typebox").TLiteral<"Pacific/Niue"> | import("@sinclair/typebox").TLiteral<"Pacific/Norfolk"> | import("@sinclair/typebox").TLiteral<"Pacific/Noumea"> | import("@sinclair/typebox").TLiteral<"Pacific/Pago_Pago"> | import("@sinclair/typebox").TLiteral<"Pacific/Palau"> | import("@sinclair/typebox").TLiteral<"Pacific/Pitcairn"> | import("@sinclair/typebox").TLiteral<"Pacific/Pohnpei"> | import("@sinclair/typebox").TLiteral<"Pacific/Port_Moresby"> | import("@sinclair/typebox").TLiteral<"Pacific/Rarotonga"> | import("@sinclair/typebox").TLiteral<"Pacific/Saipan"> | import("@sinclair/typebox").TLiteral<"Pacific/Tahiti"> | import("@sinclair/typebox").TLiteral<"Pacific/Tarawa"> | import("@sinclair/typebox").TLiteral<"Pacific/Tongatapu"> | import("@sinclair/typebox").TLiteral<"Pacific/Wake"> | import("@sinclair/typebox").TLiteral<"Pacific/Wallis"> | import("@sinclair/typebox").TLiteral<"UTC"> | import("@sinclair/typebox").TLiteral<"WET">)[]>>;
19
+ timezone: import("object-shape-tester").Shape<import("@sinclair/typebox").TUnsafe<string>>;
21
20
  }>;
22
21
  /**
23
22
  * Time part of a {@link FullDate}.
24
23
  *
25
24
  * @category Internal
26
25
  */
27
- export type TimePart<SpecificTimezone extends Timezone = Timezone> = SetRequired<Partial<FullDate<SpecificTimezone>>, keyof (typeof timePartShape)['runtimeType']>;
26
+ export type TimePart<SpecificTimezone extends string = string> = SetRequired<Partial<FullDate<SpecificTimezone>>, keyof (typeof timePartShape)['runtimeType']>;
28
27
  /**
29
28
  * Date part of {@link FullDate} represented in a shape definition.
30
29
  *
@@ -42,14 +41,14 @@ export declare const datePartShape: import("object-shape-tester").Shape<{
42
41
  /** A day of the month: 1-31 depending on the month */
43
42
  day: import("object-shape-tester").Shape<import("@sinclair/typebox").TUnsafe<DayOfMonth>>;
44
43
  /** The timezone that this date/time is meant for / originated from. */
45
- timezone: import("object-shape-tester").Shape<import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TLiteral<"Africa/Abidjan"> | import("@sinclair/typebox").TLiteral<"Africa/Accra"> | import("@sinclair/typebox").TLiteral<"Africa/Addis_Ababa"> | import("@sinclair/typebox").TLiteral<"Africa/Algiers"> | import("@sinclair/typebox").TLiteral<"Africa/Asmara"> | import("@sinclair/typebox").TLiteral<"Africa/Bamako"> | import("@sinclair/typebox").TLiteral<"Africa/Bangui"> | import("@sinclair/typebox").TLiteral<"Africa/Banjul"> | import("@sinclair/typebox").TLiteral<"Africa/Bissau"> | import("@sinclair/typebox").TLiteral<"Africa/Blantyre"> | import("@sinclair/typebox").TLiteral<"Africa/Brazzaville"> | import("@sinclair/typebox").TLiteral<"Africa/Bujumbura"> | import("@sinclair/typebox").TLiteral<"Africa/Cairo"> | import("@sinclair/typebox").TLiteral<"Africa/Casablanca"> | import("@sinclair/typebox").TLiteral<"Africa/Ceuta"> | import("@sinclair/typebox").TLiteral<"Africa/Conakry"> | import("@sinclair/typebox").TLiteral<"Africa/Dakar"> | import("@sinclair/typebox").TLiteral<"Africa/Dar_es_Salaam"> | import("@sinclair/typebox").TLiteral<"Africa/Djibouti"> | import("@sinclair/typebox").TLiteral<"Africa/Douala"> | import("@sinclair/typebox").TLiteral<"Africa/El_Aaiun"> | import("@sinclair/typebox").TLiteral<"Africa/Freetown"> | import("@sinclair/typebox").TLiteral<"Africa/Gaborone"> | import("@sinclair/typebox").TLiteral<"Africa/Harare"> | import("@sinclair/typebox").TLiteral<"Africa/Johannesburg"> | import("@sinclair/typebox").TLiteral<"Africa/Juba"> | import("@sinclair/typebox").TLiteral<"Africa/Kampala"> | import("@sinclair/typebox").TLiteral<"Africa/Khartoum"> | import("@sinclair/typebox").TLiteral<"Africa/Kigali"> | import("@sinclair/typebox").TLiteral<"Africa/Kinshasa"> | import("@sinclair/typebox").TLiteral<"Africa/Lagos"> | import("@sinclair/typebox").TLiteral<"Africa/Libreville"> | import("@sinclair/typebox").TLiteral<"Africa/Lome"> | import("@sinclair/typebox").TLiteral<"Africa/Luanda"> | import("@sinclair/typebox").TLiteral<"Africa/Lubumbashi"> | import("@sinclair/typebox").TLiteral<"Africa/Lusaka"> | import("@sinclair/typebox").TLiteral<"Africa/Malabo"> | import("@sinclair/typebox").TLiteral<"Africa/Maputo"> | import("@sinclair/typebox").TLiteral<"Africa/Maseru"> | import("@sinclair/typebox").TLiteral<"Africa/Mbabane"> | import("@sinclair/typebox").TLiteral<"Africa/Mogadishu"> | import("@sinclair/typebox").TLiteral<"Africa/Monrovia"> | import("@sinclair/typebox").TLiteral<"Africa/Nairobi"> | import("@sinclair/typebox").TLiteral<"Africa/Ndjamena"> | import("@sinclair/typebox").TLiteral<"Africa/Niamey"> | import("@sinclair/typebox").TLiteral<"Africa/Nouakchott"> | import("@sinclair/typebox").TLiteral<"Africa/Ouagadougou"> | import("@sinclair/typebox").TLiteral<"Africa/Porto-Novo"> | import("@sinclair/typebox").TLiteral<"Africa/Sao_Tome"> | import("@sinclair/typebox").TLiteral<"Africa/Timbuktu"> | import("@sinclair/typebox").TLiteral<"Africa/Tripoli"> | import("@sinclair/typebox").TLiteral<"Africa/Tunis"> | import("@sinclair/typebox").TLiteral<"Africa/Windhoek"> | import("@sinclair/typebox").TLiteral<"America/Adak"> | import("@sinclair/typebox").TLiteral<"America/Anchorage"> | import("@sinclair/typebox").TLiteral<"America/Anguilla"> | import("@sinclair/typebox").TLiteral<"America/Antigua"> | import("@sinclair/typebox").TLiteral<"America/Araguaina"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Buenos_Aires"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Catamarca"> | import("@sinclair/typebox").TLiteral<"America/Argentina/ComodRivadavia"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Cordoba"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Jujuy"> | import("@sinclair/typebox").TLiteral<"America/Argentina/La_Rioja"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Mendoza"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Rio_Gallegos"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Salta"> | import("@sinclair/typebox").TLiteral<"America/Argentina/San_Juan"> | import("@sinclair/typebox").TLiteral<"America/Argentina/San_Luis"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Tucuman"> | import("@sinclair/typebox").TLiteral<"America/Argentina/Ushuaia"> | import("@sinclair/typebox").TLiteral<"America/Aruba"> | import("@sinclair/typebox").TLiteral<"America/Asuncion"> | import("@sinclair/typebox").TLiteral<"America/Atikokan"> | import("@sinclair/typebox").TLiteral<"America/Bahia"> | import("@sinclair/typebox").TLiteral<"America/Bahia_Banderas"> | import("@sinclair/typebox").TLiteral<"America/Barbados"> | import("@sinclair/typebox").TLiteral<"America/Belem"> | import("@sinclair/typebox").TLiteral<"America/Belize"> | import("@sinclair/typebox").TLiteral<"America/Blanc-Sablon"> | import("@sinclair/typebox").TLiteral<"America/Boa_Vista"> | import("@sinclair/typebox").TLiteral<"America/Bogota"> | import("@sinclair/typebox").TLiteral<"America/Boise"> | import("@sinclair/typebox").TLiteral<"America/Cambridge_Bay"> | import("@sinclair/typebox").TLiteral<"America/Campo_Grande"> | import("@sinclair/typebox").TLiteral<"America/Cancun"> | import("@sinclair/typebox").TLiteral<"America/Caracas"> | import("@sinclair/typebox").TLiteral<"America/Cayenne"> | import("@sinclair/typebox").TLiteral<"America/Cayman"> | import("@sinclair/typebox").TLiteral<"America/Chicago"> | import("@sinclair/typebox").TLiteral<"America/Chihuahua"> | import("@sinclair/typebox").TLiteral<"America/Coral_Harbour"> | import("@sinclair/typebox").TLiteral<"America/Costa_Rica"> | import("@sinclair/typebox").TLiteral<"America/Creston"> | import("@sinclair/typebox").TLiteral<"America/Cuiaba"> | import("@sinclair/typebox").TLiteral<"America/Curacao"> | import("@sinclair/typebox").TLiteral<"America/Danmarkshavn"> | import("@sinclair/typebox").TLiteral<"America/Dawson"> | import("@sinclair/typebox").TLiteral<"America/Dawson_Creek"> | import("@sinclair/typebox").TLiteral<"America/Denver"> | import("@sinclair/typebox").TLiteral<"America/Detroit"> | import("@sinclair/typebox").TLiteral<"America/Dominica"> | import("@sinclair/typebox").TLiteral<"America/Edmonton"> | import("@sinclair/typebox").TLiteral<"America/Eirunepe"> | import("@sinclair/typebox").TLiteral<"America/El_Salvador"> | import("@sinclair/typebox").TLiteral<"America/Ensenada"> | import("@sinclair/typebox").TLiteral<"America/Fort_Nelson"> | import("@sinclair/typebox").TLiteral<"America/Fortaleza"> | import("@sinclair/typebox").TLiteral<"America/Glace_Bay"> | import("@sinclair/typebox").TLiteral<"America/Goose_Bay"> | import("@sinclair/typebox").TLiteral<"America/Grand_Turk"> | import("@sinclair/typebox").TLiteral<"America/Grenada"> | import("@sinclair/typebox").TLiteral<"America/Guadeloupe"> | import("@sinclair/typebox").TLiteral<"America/Guatemala"> | import("@sinclair/typebox").TLiteral<"America/Guayaquil"> | import("@sinclair/typebox").TLiteral<"America/Guyana"> | import("@sinclair/typebox").TLiteral<"America/Halifax"> | import("@sinclair/typebox").TLiteral<"America/Havana"> | import("@sinclair/typebox").TLiteral<"America/Hermosillo"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Indianapolis"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Knox"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Marengo"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Petersburg"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Tell_City"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Vevay"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Vincennes"> | import("@sinclair/typebox").TLiteral<"America/Indiana/Winamac"> | import("@sinclair/typebox").TLiteral<"America/Inuvik"> | import("@sinclair/typebox").TLiteral<"America/Iqaluit"> | import("@sinclair/typebox").TLiteral<"America/Jamaica"> | import("@sinclair/typebox").TLiteral<"America/Juneau"> | import("@sinclair/typebox").TLiteral<"America/Kentucky/Louisville"> | import("@sinclair/typebox").TLiteral<"America/Kentucky/Monticello"> | import("@sinclair/typebox").TLiteral<"America/La_Paz"> | import("@sinclair/typebox").TLiteral<"America/Lima"> | import("@sinclair/typebox").TLiteral<"America/Los_Angeles"> | import("@sinclair/typebox").TLiteral<"America/Maceio"> | import("@sinclair/typebox").TLiteral<"America/Managua"> | import("@sinclair/typebox").TLiteral<"America/Manaus"> | import("@sinclair/typebox").TLiteral<"America/Martinique"> | import("@sinclair/typebox").TLiteral<"America/Matamoros"> | import("@sinclair/typebox").TLiteral<"America/Mazatlan"> | import("@sinclair/typebox").TLiteral<"America/Menominee"> | import("@sinclair/typebox").TLiteral<"America/Merida"> | import("@sinclair/typebox").TLiteral<"America/Metlakatla"> | import("@sinclair/typebox").TLiteral<"America/Mexico_City"> | import("@sinclair/typebox").TLiteral<"America/Miquelon"> | import("@sinclair/typebox").TLiteral<"America/Moncton"> | import("@sinclair/typebox").TLiteral<"America/Monterrey"> | import("@sinclair/typebox").TLiteral<"America/Montevideo"> | import("@sinclair/typebox").TLiteral<"America/Montreal"> | import("@sinclair/typebox").TLiteral<"America/Montserrat"> | import("@sinclair/typebox").TLiteral<"America/Nassau"> | import("@sinclair/typebox").TLiteral<"America/New_York"> | import("@sinclair/typebox").TLiteral<"America/Nipigon"> | import("@sinclair/typebox").TLiteral<"America/Nome"> | import("@sinclair/typebox").TLiteral<"America/Noronha"> | import("@sinclair/typebox").TLiteral<"America/North_Dakota/Beulah"> | import("@sinclair/typebox").TLiteral<"America/North_Dakota/Center"> | import("@sinclair/typebox").TLiteral<"America/North_Dakota/New_Salem"> | import("@sinclair/typebox").TLiteral<"America/Nuuk"> | import("@sinclair/typebox").TLiteral<"America/Ojinaga"> | import("@sinclair/typebox").TLiteral<"America/Panama"> | import("@sinclair/typebox").TLiteral<"America/Pangnirtung"> | import("@sinclair/typebox").TLiteral<"America/Paramaribo"> | import("@sinclair/typebox").TLiteral<"America/Phoenix"> | import("@sinclair/typebox").TLiteral<"America/Port-au-Prince"> | import("@sinclair/typebox").TLiteral<"America/Port_of_Spain"> | import("@sinclair/typebox").TLiteral<"America/Porto_Velho"> | import("@sinclair/typebox").TLiteral<"America/Puerto_Rico"> | import("@sinclair/typebox").TLiteral<"America/Punta_Arenas"> | import("@sinclair/typebox").TLiteral<"America/Rainy_River"> | import("@sinclair/typebox").TLiteral<"America/Rankin_Inlet"> | import("@sinclair/typebox").TLiteral<"America/Recife"> | import("@sinclair/typebox").TLiteral<"America/Regina"> | import("@sinclair/typebox").TLiteral<"America/Resolute"> | import("@sinclair/typebox").TLiteral<"America/Rio_Branco"> | import("@sinclair/typebox").TLiteral<"America/Rosario"> | import("@sinclair/typebox").TLiteral<"America/Santarem"> | import("@sinclair/typebox").TLiteral<"America/Santiago"> | import("@sinclair/typebox").TLiteral<"America/Santo_Domingo"> | import("@sinclair/typebox").TLiteral<"America/Sao_Paulo"> | import("@sinclair/typebox").TLiteral<"America/Scoresbysund"> | import("@sinclair/typebox").TLiteral<"America/Sitka"> | import("@sinclair/typebox").TLiteral<"America/St_Johns"> | import("@sinclair/typebox").TLiteral<"America/St_Kitts"> | import("@sinclair/typebox").TLiteral<"America/St_Lucia"> | import("@sinclair/typebox").TLiteral<"America/St_Thomas"> | import("@sinclair/typebox").TLiteral<"America/St_Vincent"> | import("@sinclair/typebox").TLiteral<"America/Swift_Current"> | import("@sinclair/typebox").TLiteral<"America/Tegucigalpa"> | import("@sinclair/typebox").TLiteral<"America/Thule"> | import("@sinclair/typebox").TLiteral<"America/Thunder_Bay"> | import("@sinclair/typebox").TLiteral<"America/Tijuana"> | import("@sinclair/typebox").TLiteral<"America/Toronto"> | import("@sinclair/typebox").TLiteral<"America/Tortola"> | import("@sinclair/typebox").TLiteral<"America/Vancouver"> | import("@sinclair/typebox").TLiteral<"America/Whitehorse"> | import("@sinclair/typebox").TLiteral<"America/Winnipeg"> | import("@sinclair/typebox").TLiteral<"America/Yakutat"> | import("@sinclair/typebox").TLiteral<"America/Yellowknife"> | import("@sinclair/typebox").TLiteral<"Antarctica/Casey"> | import("@sinclair/typebox").TLiteral<"Antarctica/Davis"> | import("@sinclair/typebox").TLiteral<"Antarctica/DumontDUrville"> | import("@sinclair/typebox").TLiteral<"Antarctica/Macquarie"> | import("@sinclair/typebox").TLiteral<"Antarctica/Mawson"> | import("@sinclair/typebox").TLiteral<"Antarctica/McMurdo"> | import("@sinclair/typebox").TLiteral<"Antarctica/Palmer"> | import("@sinclair/typebox").TLiteral<"Antarctica/Rothera"> | import("@sinclair/typebox").TLiteral<"Antarctica/Syowa"> | import("@sinclair/typebox").TLiteral<"Antarctica/Troll"> | import("@sinclair/typebox").TLiteral<"Antarctica/Vostok"> | import("@sinclair/typebox").TLiteral<"Asia/Aden"> | import("@sinclair/typebox").TLiteral<"Asia/Almaty"> | import("@sinclair/typebox").TLiteral<"Asia/Amman"> | import("@sinclair/typebox").TLiteral<"Asia/Anadyr"> | import("@sinclair/typebox").TLiteral<"Asia/Aqtau"> | import("@sinclair/typebox").TLiteral<"Asia/Aqtobe"> | import("@sinclair/typebox").TLiteral<"Asia/Ashgabat"> | import("@sinclair/typebox").TLiteral<"Asia/Atyrau"> | import("@sinclair/typebox").TLiteral<"Asia/Baghdad"> | import("@sinclair/typebox").TLiteral<"Asia/Bahrain"> | import("@sinclair/typebox").TLiteral<"Asia/Baku"> | import("@sinclair/typebox").TLiteral<"Asia/Bangkok"> | import("@sinclair/typebox").TLiteral<"Asia/Barnaul"> | import("@sinclair/typebox").TLiteral<"Asia/Beirut"> | import("@sinclair/typebox").TLiteral<"Asia/Bishkek"> | import("@sinclair/typebox").TLiteral<"Asia/Brunei"> | import("@sinclair/typebox").TLiteral<"Asia/Chita"> | import("@sinclair/typebox").TLiteral<"Asia/Choibalsan"> | import("@sinclair/typebox").TLiteral<"Asia/Chongqing"> | import("@sinclair/typebox").TLiteral<"Asia/Colombo"> | import("@sinclair/typebox").TLiteral<"Asia/Damascus"> | import("@sinclair/typebox").TLiteral<"Asia/Dhaka"> | import("@sinclair/typebox").TLiteral<"Asia/Dili"> | import("@sinclair/typebox").TLiteral<"Asia/Dubai"> | import("@sinclair/typebox").TLiteral<"Asia/Dushanbe"> | import("@sinclair/typebox").TLiteral<"Asia/Famagusta"> | import("@sinclair/typebox").TLiteral<"Asia/Gaza"> | import("@sinclair/typebox").TLiteral<"Asia/Harbin"> | import("@sinclair/typebox").TLiteral<"Asia/Hebron"> | import("@sinclair/typebox").TLiteral<"Asia/Ho_Chi_Minh"> | import("@sinclair/typebox").TLiteral<"Asia/Hong_Kong"> | import("@sinclair/typebox").TLiteral<"Asia/Hovd"> | import("@sinclair/typebox").TLiteral<"Asia/Irkutsk"> | import("@sinclair/typebox").TLiteral<"Asia/Jakarta"> | import("@sinclair/typebox").TLiteral<"Asia/Jayapura"> | import("@sinclair/typebox").TLiteral<"Asia/Jerusalem"> | import("@sinclair/typebox").TLiteral<"Asia/Kabul"> | import("@sinclair/typebox").TLiteral<"Asia/Kamchatka"> | import("@sinclair/typebox").TLiteral<"Asia/Karachi"> | import("@sinclair/typebox").TLiteral<"Asia/Kashgar"> | import("@sinclair/typebox").TLiteral<"Asia/Kathmandu"> | import("@sinclair/typebox").TLiteral<"Asia/Khandyga"> | import("@sinclair/typebox").TLiteral<"Asia/Kolkata"> | import("@sinclair/typebox").TLiteral<"Asia/Krasnoyarsk"> | import("@sinclair/typebox").TLiteral<"Asia/Kuala_Lumpur"> | import("@sinclair/typebox").TLiteral<"Asia/Kuching"> | import("@sinclair/typebox").TLiteral<"Asia/Kuwait"> | import("@sinclair/typebox").TLiteral<"Asia/Macau"> | import("@sinclair/typebox").TLiteral<"Asia/Magadan"> | import("@sinclair/typebox").TLiteral<"Asia/Makassar"> | import("@sinclair/typebox").TLiteral<"Asia/Manila"> | import("@sinclair/typebox").TLiteral<"Asia/Muscat"> | import("@sinclair/typebox").TLiteral<"Asia/Nicosia"> | import("@sinclair/typebox").TLiteral<"Asia/Novokuznetsk"> | import("@sinclair/typebox").TLiteral<"Asia/Novosibirsk"> | import("@sinclair/typebox").TLiteral<"Asia/Omsk"> | import("@sinclair/typebox").TLiteral<"Asia/Oral"> | import("@sinclair/typebox").TLiteral<"Asia/Phnom_Penh"> | import("@sinclair/typebox").TLiteral<"Asia/Pontianak"> | import("@sinclair/typebox").TLiteral<"Asia/Pyongyang"> | import("@sinclair/typebox").TLiteral<"Asia/Qatar"> | import("@sinclair/typebox").TLiteral<"Asia/Qostanay"> | import("@sinclair/typebox").TLiteral<"Asia/Qyzylorda"> | import("@sinclair/typebox").TLiteral<"Asia/Riyadh"> | import("@sinclair/typebox").TLiteral<"Asia/Sakhalin"> | import("@sinclair/typebox").TLiteral<"Asia/Samarkand"> | import("@sinclair/typebox").TLiteral<"Asia/Seoul"> | import("@sinclair/typebox").TLiteral<"Asia/Shanghai"> | import("@sinclair/typebox").TLiteral<"Asia/Singapore"> | import("@sinclair/typebox").TLiteral<"Asia/Srednekolymsk"> | import("@sinclair/typebox").TLiteral<"Asia/Taipei"> | import("@sinclair/typebox").TLiteral<"Asia/Tashkent"> | import("@sinclair/typebox").TLiteral<"Asia/Tbilisi"> | import("@sinclair/typebox").TLiteral<"Asia/Tehran"> | import("@sinclair/typebox").TLiteral<"Asia/Tel_Aviv"> | import("@sinclair/typebox").TLiteral<"Asia/Thimphu"> | import("@sinclair/typebox").TLiteral<"Asia/Tokyo"> | import("@sinclair/typebox").TLiteral<"Asia/Tomsk"> | import("@sinclair/typebox").TLiteral<"Asia/Ulaanbaatar"> | import("@sinclair/typebox").TLiteral<"Asia/Urumqi"> | import("@sinclair/typebox").TLiteral<"Asia/Ust-Nera"> | import("@sinclair/typebox").TLiteral<"Asia/Vientiane"> | import("@sinclair/typebox").TLiteral<"Asia/Vladivostok"> | import("@sinclair/typebox").TLiteral<"Asia/Yakutsk"> | import("@sinclair/typebox").TLiteral<"Asia/Yangon"> | import("@sinclair/typebox").TLiteral<"Asia/Yekaterinburg"> | import("@sinclair/typebox").TLiteral<"Asia/Yerevan"> | import("@sinclair/typebox").TLiteral<"Atlantic/Azores"> | import("@sinclair/typebox").TLiteral<"Atlantic/Bermuda"> | import("@sinclair/typebox").TLiteral<"Atlantic/Canary"> | import("@sinclair/typebox").TLiteral<"Atlantic/Cape_Verde"> | import("@sinclair/typebox").TLiteral<"Atlantic/Faroe"> | import("@sinclair/typebox").TLiteral<"Atlantic/Jan_Mayen"> | import("@sinclair/typebox").TLiteral<"Atlantic/Madeira"> | import("@sinclair/typebox").TLiteral<"Atlantic/Reykjavik"> | import("@sinclair/typebox").TLiteral<"Atlantic/South_Georgia"> | import("@sinclair/typebox").TLiteral<"Atlantic/St_Helena"> | import("@sinclair/typebox").TLiteral<"Atlantic/Stanley"> | import("@sinclair/typebox").TLiteral<"Australia/Adelaide"> | import("@sinclair/typebox").TLiteral<"Australia/Brisbane"> | import("@sinclair/typebox").TLiteral<"Australia/Broken_Hill"> | import("@sinclair/typebox").TLiteral<"Australia/Currie"> | import("@sinclair/typebox").TLiteral<"Australia/Darwin"> | import("@sinclair/typebox").TLiteral<"Australia/Eucla"> | import("@sinclair/typebox").TLiteral<"Australia/Hobart"> | import("@sinclair/typebox").TLiteral<"Australia/Lindeman"> | import("@sinclair/typebox").TLiteral<"Australia/Lord_Howe"> | import("@sinclair/typebox").TLiteral<"Australia/Melbourne"> | import("@sinclair/typebox").TLiteral<"Australia/Perth"> | import("@sinclair/typebox").TLiteral<"Australia/Sydney"> | import("@sinclair/typebox").TLiteral<"CET"> | import("@sinclair/typebox").TLiteral<"CST6CDT"> | import("@sinclair/typebox").TLiteral<"EET"> | import("@sinclair/typebox").TLiteral<"EST"> | import("@sinclair/typebox").TLiteral<"EST5EDT"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+1"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+10"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+11"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+12"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+2"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+3"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+4"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+5"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+6"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+7"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+8"> | import("@sinclair/typebox").TLiteral<"Etc/GMT+9"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-1"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-10"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-11"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-12"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-13"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-14"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-2"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-3"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-4"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-5"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-6"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-7"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-8"> | import("@sinclair/typebox").TLiteral<"Etc/GMT-9"> | import("@sinclair/typebox").TLiteral<"Europe/Amsterdam"> | import("@sinclair/typebox").TLiteral<"Europe/Andorra"> | import("@sinclair/typebox").TLiteral<"Europe/Astrakhan"> | import("@sinclair/typebox").TLiteral<"Europe/Athens"> | import("@sinclair/typebox").TLiteral<"Europe/Belfast"> | import("@sinclair/typebox").TLiteral<"Europe/Belgrade"> | import("@sinclair/typebox").TLiteral<"Europe/Berlin"> | import("@sinclair/typebox").TLiteral<"Europe/Brussels"> | import("@sinclair/typebox").TLiteral<"Europe/Bucharest"> | import("@sinclair/typebox").TLiteral<"Europe/Budapest"> | import("@sinclair/typebox").TLiteral<"Europe/Chisinau"> | import("@sinclair/typebox").TLiteral<"Europe/Copenhagen"> | import("@sinclair/typebox").TLiteral<"Europe/Dublin"> | import("@sinclair/typebox").TLiteral<"Europe/Gibraltar"> | import("@sinclair/typebox").TLiteral<"Europe/Guernsey"> | import("@sinclair/typebox").TLiteral<"Europe/Helsinki"> | import("@sinclair/typebox").TLiteral<"Europe/Isle_of_Man"> | import("@sinclair/typebox").TLiteral<"Europe/Istanbul"> | import("@sinclair/typebox").TLiteral<"Europe/Jersey"> | import("@sinclair/typebox").TLiteral<"Europe/Kaliningrad"> | import("@sinclair/typebox").TLiteral<"Europe/Kirov"> | import("@sinclair/typebox").TLiteral<"Europe/Kyiv"> | import("@sinclair/typebox").TLiteral<"Europe/Lisbon"> | import("@sinclair/typebox").TLiteral<"Europe/Ljubljana"> | import("@sinclair/typebox").TLiteral<"Europe/London"> | import("@sinclair/typebox").TLiteral<"Europe/Luxembourg"> | import("@sinclair/typebox").TLiteral<"Europe/Madrid"> | import("@sinclair/typebox").TLiteral<"Europe/Malta"> | import("@sinclair/typebox").TLiteral<"Europe/Minsk"> | import("@sinclair/typebox").TLiteral<"Europe/Monaco"> | import("@sinclair/typebox").TLiteral<"Europe/Moscow"> | import("@sinclair/typebox").TLiteral<"Europe/Oslo"> | import("@sinclair/typebox").TLiteral<"Europe/Paris"> | import("@sinclair/typebox").TLiteral<"Europe/Prague"> | import("@sinclair/typebox").TLiteral<"Europe/Riga"> | import("@sinclair/typebox").TLiteral<"Europe/Rome"> | import("@sinclair/typebox").TLiteral<"Europe/Samara"> | import("@sinclair/typebox").TLiteral<"Europe/Sarajevo"> | import("@sinclair/typebox").TLiteral<"Europe/Saratov"> | import("@sinclair/typebox").TLiteral<"Europe/Simferopol"> | import("@sinclair/typebox").TLiteral<"Europe/Skopje"> | import("@sinclair/typebox").TLiteral<"Europe/Sofia"> | import("@sinclair/typebox").TLiteral<"Europe/Stockholm"> | import("@sinclair/typebox").TLiteral<"Europe/Tallinn"> | import("@sinclair/typebox").TLiteral<"Europe/Tirane"> | import("@sinclair/typebox").TLiteral<"Europe/Tiraspol"> | import("@sinclair/typebox").TLiteral<"Europe/Ulyanovsk"> | import("@sinclair/typebox").TLiteral<"Europe/Uzhgorod"> | import("@sinclair/typebox").TLiteral<"Europe/Vaduz"> | import("@sinclair/typebox").TLiteral<"Europe/Vienna"> | import("@sinclair/typebox").TLiteral<"Europe/Vilnius"> | import("@sinclair/typebox").TLiteral<"Europe/Volgograd"> | import("@sinclair/typebox").TLiteral<"Europe/Warsaw"> | import("@sinclair/typebox").TLiteral<"Europe/Zagreb"> | import("@sinclair/typebox").TLiteral<"Europe/Zaporozhye"> | import("@sinclair/typebox").TLiteral<"Europe/Zurich"> | import("@sinclair/typebox").TLiteral<"HST"> | import("@sinclair/typebox").TLiteral<"Indian/Antananarivo"> | import("@sinclair/typebox").TLiteral<"Indian/Chagos"> | import("@sinclair/typebox").TLiteral<"Indian/Christmas"> | import("@sinclair/typebox").TLiteral<"Indian/Cocos"> | import("@sinclair/typebox").TLiteral<"Indian/Comoro"> | import("@sinclair/typebox").TLiteral<"Indian/Kerguelen"> | import("@sinclair/typebox").TLiteral<"Indian/Mahe"> | import("@sinclair/typebox").TLiteral<"Indian/Maldives"> | import("@sinclair/typebox").TLiteral<"Indian/Mauritius"> | import("@sinclair/typebox").TLiteral<"Indian/Mayotte"> | import("@sinclair/typebox").TLiteral<"Indian/Reunion"> | import("@sinclair/typebox").TLiteral<"MET"> | import("@sinclair/typebox").TLiteral<"MST"> | import("@sinclair/typebox").TLiteral<"MST7MDT"> | import("@sinclair/typebox").TLiteral<"PST8PDT"> | import("@sinclair/typebox").TLiteral<"Pacific/Apia"> | import("@sinclair/typebox").TLiteral<"Pacific/Auckland"> | import("@sinclair/typebox").TLiteral<"Pacific/Bougainville"> | import("@sinclair/typebox").TLiteral<"Pacific/Chatham"> | import("@sinclair/typebox").TLiteral<"Pacific/Chuuk"> | import("@sinclair/typebox").TLiteral<"Pacific/Easter"> | import("@sinclair/typebox").TLiteral<"Pacific/Efate"> | import("@sinclair/typebox").TLiteral<"Pacific/Enderbury"> | import("@sinclair/typebox").TLiteral<"Pacific/Fakaofo"> | import("@sinclair/typebox").TLiteral<"Pacific/Fiji"> | import("@sinclair/typebox").TLiteral<"Pacific/Funafuti"> | import("@sinclair/typebox").TLiteral<"Pacific/Galapagos"> | import("@sinclair/typebox").TLiteral<"Pacific/Gambier"> | import("@sinclair/typebox").TLiteral<"Pacific/Guadalcanal"> | import("@sinclair/typebox").TLiteral<"Pacific/Guam"> | import("@sinclair/typebox").TLiteral<"Pacific/Honolulu"> | import("@sinclair/typebox").TLiteral<"Pacific/Johnston"> | import("@sinclair/typebox").TLiteral<"Pacific/Kanton"> | import("@sinclair/typebox").TLiteral<"Pacific/Kiritimati"> | import("@sinclair/typebox").TLiteral<"Pacific/Kosrae"> | import("@sinclair/typebox").TLiteral<"Pacific/Kwajalein"> | import("@sinclair/typebox").TLiteral<"Pacific/Majuro"> | import("@sinclair/typebox").TLiteral<"Pacific/Marquesas"> | import("@sinclair/typebox").TLiteral<"Pacific/Midway"> | import("@sinclair/typebox").TLiteral<"Pacific/Nauru"> | import("@sinclair/typebox").TLiteral<"Pacific/Niue"> | import("@sinclair/typebox").TLiteral<"Pacific/Norfolk"> | import("@sinclair/typebox").TLiteral<"Pacific/Noumea"> | import("@sinclair/typebox").TLiteral<"Pacific/Pago_Pago"> | import("@sinclair/typebox").TLiteral<"Pacific/Palau"> | import("@sinclair/typebox").TLiteral<"Pacific/Pitcairn"> | import("@sinclair/typebox").TLiteral<"Pacific/Pohnpei"> | import("@sinclair/typebox").TLiteral<"Pacific/Port_Moresby"> | import("@sinclair/typebox").TLiteral<"Pacific/Rarotonga"> | import("@sinclair/typebox").TLiteral<"Pacific/Saipan"> | import("@sinclair/typebox").TLiteral<"Pacific/Tahiti"> | import("@sinclair/typebox").TLiteral<"Pacific/Tarawa"> | import("@sinclair/typebox").TLiteral<"Pacific/Tongatapu"> | import("@sinclair/typebox").TLiteral<"Pacific/Wake"> | import("@sinclair/typebox").TLiteral<"Pacific/Wallis"> | import("@sinclair/typebox").TLiteral<"UTC"> | import("@sinclair/typebox").TLiteral<"WET">)[]>>;
44
+ timezone: import("object-shape-tester").Shape<import("@sinclair/typebox").TUnsafe<string>>;
46
45
  }>;
47
46
  /**
48
47
  * Date part of {@link FullDate}.
49
48
  *
50
49
  * @category Internal
51
50
  */
52
- export type DatePart<SpecificTimezone extends Timezone = Timezone> = SetRequired<Partial<FullDate<SpecificTimezone>>, keyof (typeof datePartShape)['runtimeType']>;
51
+ export type DatePart<SpecificTimezone extends string = string> = SetRequired<Partial<FullDate<SpecificTimezone>>, keyof (typeof datePartShape)['runtimeType']>;
53
52
  /**
54
53
  * The complete {@link FullDate} represented in a shape definition.
55
54
  *
@@ -60,12 +59,12 @@ export declare const fullDateShape: import("object-shape-tester").Shape<import("
60
59
  minute: Minute;
61
60
  second: Minute;
62
61
  millisecond: number;
63
- timezone: "Africa/Abidjan" | "Africa/Accra" | "Africa/Addis_Ababa" | "Africa/Algiers" | "Africa/Asmara" | "Africa/Bamako" | "Africa/Bangui" | "Africa/Banjul" | "Africa/Bissau" | "Africa/Blantyre" | "Africa/Brazzaville" | "Africa/Bujumbura" | "Africa/Cairo" | "Africa/Casablanca" | "Africa/Ceuta" | "Africa/Conakry" | "Africa/Dakar" | "Africa/Dar_es_Salaam" | "Africa/Djibouti" | "Africa/Douala" | "Africa/El_Aaiun" | "Africa/Freetown" | "Africa/Gaborone" | "Africa/Harare" | "Africa/Johannesburg" | "Africa/Juba" | "Africa/Kampala" | "Africa/Khartoum" | "Africa/Kigali" | "Africa/Kinshasa" | "Africa/Lagos" | "Africa/Libreville" | "Africa/Lome" | "Africa/Luanda" | "Africa/Lubumbashi" | "Africa/Lusaka" | "Africa/Malabo" | "Africa/Maputo" | "Africa/Maseru" | "Africa/Mbabane" | "Africa/Mogadishu" | "Africa/Monrovia" | "Africa/Nairobi" | "Africa/Ndjamena" | "Africa/Niamey" | "Africa/Nouakchott" | "Africa/Ouagadougou" | "Africa/Porto-Novo" | "Africa/Sao_Tome" | "Africa/Timbuktu" | "Africa/Tripoli" | "Africa/Tunis" | "Africa/Windhoek" | "America/Adak" | "America/Anchorage" | "America/Anguilla" | "America/Antigua" | "America/Araguaina" | "America/Argentina/Buenos_Aires" | "America/Argentina/Catamarca" | "America/Argentina/ComodRivadavia" | "America/Argentina/Cordoba" | "America/Argentina/Jujuy" | "America/Argentina/La_Rioja" | "America/Argentina/Mendoza" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Salta" | "America/Argentina/San_Juan" | "America/Argentina/San_Luis" | "America/Argentina/Tucuman" | "America/Argentina/Ushuaia" | "America/Aruba" | "America/Asuncion" | "America/Atikokan" | "America/Bahia" | "America/Bahia_Banderas" | "America/Barbados" | "America/Belem" | "America/Belize" | "America/Blanc-Sablon" | "America/Boa_Vista" | "America/Bogota" | "America/Boise" | "America/Cambridge_Bay" | "America/Campo_Grande" | "America/Cancun" | "America/Caracas" | "America/Cayenne" | "America/Cayman" | "America/Chicago" | "America/Chihuahua" | "America/Coral_Harbour" | "America/Costa_Rica" | "America/Creston" | "America/Cuiaba" | "America/Curacao" | "America/Danmarkshavn" | "America/Dawson" | "America/Dawson_Creek" | "America/Denver" | "America/Detroit" | "America/Dominica" | "America/Edmonton" | "America/Eirunepe" | "America/El_Salvador" | "America/Ensenada" | "America/Fort_Nelson" | "America/Fortaleza" | "America/Glace_Bay" | "America/Goose_Bay" | "America/Grand_Turk" | "America/Grenada" | "America/Guadeloupe" | "America/Guatemala" | "America/Guayaquil" | "America/Guyana" | "America/Halifax" | "America/Havana" | "America/Hermosillo" | "America/Indiana/Indianapolis" | "America/Indiana/Knox" | "America/Indiana/Marengo" | "America/Indiana/Petersburg" | "America/Indiana/Tell_City" | "America/Indiana/Vevay" | "America/Indiana/Vincennes" | "America/Indiana/Winamac" | "America/Inuvik" | "America/Iqaluit" | "America/Jamaica" | "America/Juneau" | "America/Kentucky/Louisville" | "America/Kentucky/Monticello" | "America/La_Paz" | "America/Lima" | "America/Los_Angeles" | "America/Maceio" | "America/Managua" | "America/Manaus" | "America/Martinique" | "America/Matamoros" | "America/Mazatlan" | "America/Menominee" | "America/Merida" | "America/Metlakatla" | "America/Mexico_City" | "America/Miquelon" | "America/Moncton" | "America/Monterrey" | "America/Montevideo" | "America/Montreal" | "America/Montserrat" | "America/Nassau" | "America/New_York" | "America/Nipigon" | "America/Nome" | "America/Noronha" | "America/North_Dakota/Beulah" | "America/North_Dakota/Center" | "America/North_Dakota/New_Salem" | "America/Nuuk" | "America/Ojinaga" | "America/Panama" | "America/Pangnirtung" | "America/Paramaribo" | "America/Phoenix" | "America/Port-au-Prince" | "America/Port_of_Spain" | "America/Porto_Velho" | "America/Puerto_Rico" | "America/Punta_Arenas" | "America/Rainy_River" | "America/Rankin_Inlet" | "America/Recife" | "America/Regina" | "America/Resolute" | "America/Rio_Branco" | "America/Rosario" | "America/Santarem" | "America/Santiago" | "America/Santo_Domingo" | "America/Sao_Paulo" | "America/Scoresbysund" | "America/Sitka" | "America/St_Johns" | "America/St_Kitts" | "America/St_Lucia" | "America/St_Thomas" | "America/St_Vincent" | "America/Swift_Current" | "America/Tegucigalpa" | "America/Thule" | "America/Thunder_Bay" | "America/Tijuana" | "America/Toronto" | "America/Tortola" | "America/Vancouver" | "America/Whitehorse" | "America/Winnipeg" | "America/Yakutat" | "America/Yellowknife" | "Antarctica/Casey" | "Antarctica/Davis" | "Antarctica/DumontDUrville" | "Antarctica/Macquarie" | "Antarctica/Mawson" | "Antarctica/McMurdo" | "Antarctica/Palmer" | "Antarctica/Rothera" | "Antarctica/Syowa" | "Antarctica/Troll" | "Antarctica/Vostok" | "Asia/Aden" | "Asia/Almaty" | "Asia/Amman" | "Asia/Anadyr" | "Asia/Aqtau" | "Asia/Aqtobe" | "Asia/Ashgabat" | "Asia/Atyrau" | "Asia/Baghdad" | "Asia/Bahrain" | "Asia/Baku" | "Asia/Bangkok" | "Asia/Barnaul" | "Asia/Beirut" | "Asia/Bishkek" | "Asia/Brunei" | "Asia/Chita" | "Asia/Choibalsan" | "Asia/Chongqing" | "Asia/Colombo" | "Asia/Damascus" | "Asia/Dhaka" | "Asia/Dili" | "Asia/Dubai" | "Asia/Dushanbe" | "Asia/Famagusta" | "Asia/Gaza" | "Asia/Harbin" | "Asia/Hebron" | "Asia/Ho_Chi_Minh" | "Asia/Hong_Kong" | "Asia/Hovd" | "Asia/Irkutsk" | "Asia/Jakarta" | "Asia/Jayapura" | "Asia/Jerusalem" | "Asia/Kabul" | "Asia/Kamchatka" | "Asia/Karachi" | "Asia/Kashgar" | "Asia/Kathmandu" | "Asia/Khandyga" | "Asia/Kolkata" | "Asia/Krasnoyarsk" | "Asia/Kuala_Lumpur" | "Asia/Kuching" | "Asia/Kuwait" | "Asia/Macau" | "Asia/Magadan" | "Asia/Makassar" | "Asia/Manila" | "Asia/Muscat" | "Asia/Nicosia" | "Asia/Novokuznetsk" | "Asia/Novosibirsk" | "Asia/Omsk" | "Asia/Oral" | "Asia/Phnom_Penh" | "Asia/Pontianak" | "Asia/Pyongyang" | "Asia/Qatar" | "Asia/Qostanay" | "Asia/Qyzylorda" | "Asia/Riyadh" | "Asia/Sakhalin" | "Asia/Samarkand" | "Asia/Seoul" | "Asia/Shanghai" | "Asia/Singapore" | "Asia/Srednekolymsk" | "Asia/Taipei" | "Asia/Tashkent" | "Asia/Tbilisi" | "Asia/Tehran" | "Asia/Tel_Aviv" | "Asia/Thimphu" | "Asia/Tokyo" | "Asia/Tomsk" | "Asia/Ulaanbaatar" | "Asia/Urumqi" | "Asia/Ust-Nera" | "Asia/Vientiane" | "Asia/Vladivostok" | "Asia/Yakutsk" | "Asia/Yangon" | "Asia/Yekaterinburg" | "Asia/Yerevan" | "Atlantic/Azores" | "Atlantic/Bermuda" | "Atlantic/Canary" | "Atlantic/Cape_Verde" | "Atlantic/Faroe" | "Atlantic/Jan_Mayen" | "Atlantic/Madeira" | "Atlantic/Reykjavik" | "Atlantic/South_Georgia" | "Atlantic/St_Helena" | "Atlantic/Stanley" | "Australia/Adelaide" | "Australia/Brisbane" | "Australia/Broken_Hill" | "Australia/Currie" | "Australia/Darwin" | "Australia/Eucla" | "Australia/Hobart" | "Australia/Lindeman" | "Australia/Lord_Howe" | "Australia/Melbourne" | "Australia/Perth" | "Australia/Sydney" | "CET" | "CST6CDT" | "EET" | "EST" | "EST5EDT" | "Etc/GMT+1" | "Etc/GMT+10" | "Etc/GMT+11" | "Etc/GMT+12" | "Etc/GMT+2" | "Etc/GMT+3" | "Etc/GMT+4" | "Etc/GMT+5" | "Etc/GMT+6" | "Etc/GMT+7" | "Etc/GMT+8" | "Etc/GMT+9" | "Etc/GMT-1" | "Etc/GMT-10" | "Etc/GMT-11" | "Etc/GMT-12" | "Etc/GMT-13" | "Etc/GMT-14" | "Etc/GMT-2" | "Etc/GMT-3" | "Etc/GMT-4" | "Etc/GMT-5" | "Etc/GMT-6" | "Etc/GMT-7" | "Etc/GMT-8" | "Etc/GMT-9" | "Europe/Amsterdam" | "Europe/Andorra" | "Europe/Astrakhan" | "Europe/Athens" | "Europe/Belfast" | "Europe/Belgrade" | "Europe/Berlin" | "Europe/Brussels" | "Europe/Bucharest" | "Europe/Budapest" | "Europe/Chisinau" | "Europe/Copenhagen" | "Europe/Dublin" | "Europe/Gibraltar" | "Europe/Guernsey" | "Europe/Helsinki" | "Europe/Isle_of_Man" | "Europe/Istanbul" | "Europe/Jersey" | "Europe/Kaliningrad" | "Europe/Kirov" | "Europe/Kyiv" | "Europe/Lisbon" | "Europe/Ljubljana" | "Europe/London" | "Europe/Luxembourg" | "Europe/Madrid" | "Europe/Malta" | "Europe/Minsk" | "Europe/Monaco" | "Europe/Moscow" | "Europe/Oslo" | "Europe/Paris" | "Europe/Prague" | "Europe/Riga" | "Europe/Rome" | "Europe/Samara" | "Europe/Sarajevo" | "Europe/Saratov" | "Europe/Simferopol" | "Europe/Skopje" | "Europe/Sofia" | "Europe/Stockholm" | "Europe/Tallinn" | "Europe/Tirane" | "Europe/Tiraspol" | "Europe/Ulyanovsk" | "Europe/Uzhgorod" | "Europe/Vaduz" | "Europe/Vienna" | "Europe/Vilnius" | "Europe/Volgograd" | "Europe/Warsaw" | "Europe/Zagreb" | "Europe/Zaporozhye" | "Europe/Zurich" | "HST" | "Indian/Antananarivo" | "Indian/Chagos" | "Indian/Christmas" | "Indian/Cocos" | "Indian/Comoro" | "Indian/Kerguelen" | "Indian/Mahe" | "Indian/Maldives" | "Indian/Mauritius" | "Indian/Mayotte" | "Indian/Reunion" | "MET" | "MST" | "MST7MDT" | "PST8PDT" | "Pacific/Apia" | "Pacific/Auckland" | "Pacific/Bougainville" | "Pacific/Chatham" | "Pacific/Chuuk" | "Pacific/Easter" | "Pacific/Efate" | "Pacific/Enderbury" | "Pacific/Fakaofo" | "Pacific/Fiji" | "Pacific/Funafuti" | "Pacific/Galapagos" | "Pacific/Gambier" | "Pacific/Guadalcanal" | "Pacific/Guam" | "Pacific/Honolulu" | "Pacific/Johnston" | "Pacific/Kanton" | "Pacific/Kiritimati" | "Pacific/Kosrae" | "Pacific/Kwajalein" | "Pacific/Majuro" | "Pacific/Marquesas" | "Pacific/Midway" | "Pacific/Nauru" | "Pacific/Niue" | "Pacific/Norfolk" | "Pacific/Noumea" | "Pacific/Pago_Pago" | "Pacific/Palau" | "Pacific/Pitcairn" | "Pacific/Pohnpei" | "Pacific/Port_Moresby" | "Pacific/Rarotonga" | "Pacific/Saipan" | "Pacific/Tahiti" | "Pacific/Tarawa" | "Pacific/Tongatapu" | "Pacific/Wake" | "Pacific/Wallis" | "UTC" | "WET";
62
+ timezone: string;
64
63
  } & {
65
64
  year: number;
66
65
  month: MonthNumber;
67
66
  day: DayOfMonth;
68
- timezone: "Africa/Abidjan" | "Africa/Accra" | "Africa/Addis_Ababa" | "Africa/Algiers" | "Africa/Asmara" | "Africa/Bamako" | "Africa/Bangui" | "Africa/Banjul" | "Africa/Bissau" | "Africa/Blantyre" | "Africa/Brazzaville" | "Africa/Bujumbura" | "Africa/Cairo" | "Africa/Casablanca" | "Africa/Ceuta" | "Africa/Conakry" | "Africa/Dakar" | "Africa/Dar_es_Salaam" | "Africa/Djibouti" | "Africa/Douala" | "Africa/El_Aaiun" | "Africa/Freetown" | "Africa/Gaborone" | "Africa/Harare" | "Africa/Johannesburg" | "Africa/Juba" | "Africa/Kampala" | "Africa/Khartoum" | "Africa/Kigali" | "Africa/Kinshasa" | "Africa/Lagos" | "Africa/Libreville" | "Africa/Lome" | "Africa/Luanda" | "Africa/Lubumbashi" | "Africa/Lusaka" | "Africa/Malabo" | "Africa/Maputo" | "Africa/Maseru" | "Africa/Mbabane" | "Africa/Mogadishu" | "Africa/Monrovia" | "Africa/Nairobi" | "Africa/Ndjamena" | "Africa/Niamey" | "Africa/Nouakchott" | "Africa/Ouagadougou" | "Africa/Porto-Novo" | "Africa/Sao_Tome" | "Africa/Timbuktu" | "Africa/Tripoli" | "Africa/Tunis" | "Africa/Windhoek" | "America/Adak" | "America/Anchorage" | "America/Anguilla" | "America/Antigua" | "America/Araguaina" | "America/Argentina/Buenos_Aires" | "America/Argentina/Catamarca" | "America/Argentina/ComodRivadavia" | "America/Argentina/Cordoba" | "America/Argentina/Jujuy" | "America/Argentina/La_Rioja" | "America/Argentina/Mendoza" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Salta" | "America/Argentina/San_Juan" | "America/Argentina/San_Luis" | "America/Argentina/Tucuman" | "America/Argentina/Ushuaia" | "America/Aruba" | "America/Asuncion" | "America/Atikokan" | "America/Bahia" | "America/Bahia_Banderas" | "America/Barbados" | "America/Belem" | "America/Belize" | "America/Blanc-Sablon" | "America/Boa_Vista" | "America/Bogota" | "America/Boise" | "America/Cambridge_Bay" | "America/Campo_Grande" | "America/Cancun" | "America/Caracas" | "America/Cayenne" | "America/Cayman" | "America/Chicago" | "America/Chihuahua" | "America/Coral_Harbour" | "America/Costa_Rica" | "America/Creston" | "America/Cuiaba" | "America/Curacao" | "America/Danmarkshavn" | "America/Dawson" | "America/Dawson_Creek" | "America/Denver" | "America/Detroit" | "America/Dominica" | "America/Edmonton" | "America/Eirunepe" | "America/El_Salvador" | "America/Ensenada" | "America/Fort_Nelson" | "America/Fortaleza" | "America/Glace_Bay" | "America/Goose_Bay" | "America/Grand_Turk" | "America/Grenada" | "America/Guadeloupe" | "America/Guatemala" | "America/Guayaquil" | "America/Guyana" | "America/Halifax" | "America/Havana" | "America/Hermosillo" | "America/Indiana/Indianapolis" | "America/Indiana/Knox" | "America/Indiana/Marengo" | "America/Indiana/Petersburg" | "America/Indiana/Tell_City" | "America/Indiana/Vevay" | "America/Indiana/Vincennes" | "America/Indiana/Winamac" | "America/Inuvik" | "America/Iqaluit" | "America/Jamaica" | "America/Juneau" | "America/Kentucky/Louisville" | "America/Kentucky/Monticello" | "America/La_Paz" | "America/Lima" | "America/Los_Angeles" | "America/Maceio" | "America/Managua" | "America/Manaus" | "America/Martinique" | "America/Matamoros" | "America/Mazatlan" | "America/Menominee" | "America/Merida" | "America/Metlakatla" | "America/Mexico_City" | "America/Miquelon" | "America/Moncton" | "America/Monterrey" | "America/Montevideo" | "America/Montreal" | "America/Montserrat" | "America/Nassau" | "America/New_York" | "America/Nipigon" | "America/Nome" | "America/Noronha" | "America/North_Dakota/Beulah" | "America/North_Dakota/Center" | "America/North_Dakota/New_Salem" | "America/Nuuk" | "America/Ojinaga" | "America/Panama" | "America/Pangnirtung" | "America/Paramaribo" | "America/Phoenix" | "America/Port-au-Prince" | "America/Port_of_Spain" | "America/Porto_Velho" | "America/Puerto_Rico" | "America/Punta_Arenas" | "America/Rainy_River" | "America/Rankin_Inlet" | "America/Recife" | "America/Regina" | "America/Resolute" | "America/Rio_Branco" | "America/Rosario" | "America/Santarem" | "America/Santiago" | "America/Santo_Domingo" | "America/Sao_Paulo" | "America/Scoresbysund" | "America/Sitka" | "America/St_Johns" | "America/St_Kitts" | "America/St_Lucia" | "America/St_Thomas" | "America/St_Vincent" | "America/Swift_Current" | "America/Tegucigalpa" | "America/Thule" | "America/Thunder_Bay" | "America/Tijuana" | "America/Toronto" | "America/Tortola" | "America/Vancouver" | "America/Whitehorse" | "America/Winnipeg" | "America/Yakutat" | "America/Yellowknife" | "Antarctica/Casey" | "Antarctica/Davis" | "Antarctica/DumontDUrville" | "Antarctica/Macquarie" | "Antarctica/Mawson" | "Antarctica/McMurdo" | "Antarctica/Palmer" | "Antarctica/Rothera" | "Antarctica/Syowa" | "Antarctica/Troll" | "Antarctica/Vostok" | "Asia/Aden" | "Asia/Almaty" | "Asia/Amman" | "Asia/Anadyr" | "Asia/Aqtau" | "Asia/Aqtobe" | "Asia/Ashgabat" | "Asia/Atyrau" | "Asia/Baghdad" | "Asia/Bahrain" | "Asia/Baku" | "Asia/Bangkok" | "Asia/Barnaul" | "Asia/Beirut" | "Asia/Bishkek" | "Asia/Brunei" | "Asia/Chita" | "Asia/Choibalsan" | "Asia/Chongqing" | "Asia/Colombo" | "Asia/Damascus" | "Asia/Dhaka" | "Asia/Dili" | "Asia/Dubai" | "Asia/Dushanbe" | "Asia/Famagusta" | "Asia/Gaza" | "Asia/Harbin" | "Asia/Hebron" | "Asia/Ho_Chi_Minh" | "Asia/Hong_Kong" | "Asia/Hovd" | "Asia/Irkutsk" | "Asia/Jakarta" | "Asia/Jayapura" | "Asia/Jerusalem" | "Asia/Kabul" | "Asia/Kamchatka" | "Asia/Karachi" | "Asia/Kashgar" | "Asia/Kathmandu" | "Asia/Khandyga" | "Asia/Kolkata" | "Asia/Krasnoyarsk" | "Asia/Kuala_Lumpur" | "Asia/Kuching" | "Asia/Kuwait" | "Asia/Macau" | "Asia/Magadan" | "Asia/Makassar" | "Asia/Manila" | "Asia/Muscat" | "Asia/Nicosia" | "Asia/Novokuznetsk" | "Asia/Novosibirsk" | "Asia/Omsk" | "Asia/Oral" | "Asia/Phnom_Penh" | "Asia/Pontianak" | "Asia/Pyongyang" | "Asia/Qatar" | "Asia/Qostanay" | "Asia/Qyzylorda" | "Asia/Riyadh" | "Asia/Sakhalin" | "Asia/Samarkand" | "Asia/Seoul" | "Asia/Shanghai" | "Asia/Singapore" | "Asia/Srednekolymsk" | "Asia/Taipei" | "Asia/Tashkent" | "Asia/Tbilisi" | "Asia/Tehran" | "Asia/Tel_Aviv" | "Asia/Thimphu" | "Asia/Tokyo" | "Asia/Tomsk" | "Asia/Ulaanbaatar" | "Asia/Urumqi" | "Asia/Ust-Nera" | "Asia/Vientiane" | "Asia/Vladivostok" | "Asia/Yakutsk" | "Asia/Yangon" | "Asia/Yekaterinburg" | "Asia/Yerevan" | "Atlantic/Azores" | "Atlantic/Bermuda" | "Atlantic/Canary" | "Atlantic/Cape_Verde" | "Atlantic/Faroe" | "Atlantic/Jan_Mayen" | "Atlantic/Madeira" | "Atlantic/Reykjavik" | "Atlantic/South_Georgia" | "Atlantic/St_Helena" | "Atlantic/Stanley" | "Australia/Adelaide" | "Australia/Brisbane" | "Australia/Broken_Hill" | "Australia/Currie" | "Australia/Darwin" | "Australia/Eucla" | "Australia/Hobart" | "Australia/Lindeman" | "Australia/Lord_Howe" | "Australia/Melbourne" | "Australia/Perth" | "Australia/Sydney" | "CET" | "CST6CDT" | "EET" | "EST" | "EST5EDT" | "Etc/GMT+1" | "Etc/GMT+10" | "Etc/GMT+11" | "Etc/GMT+12" | "Etc/GMT+2" | "Etc/GMT+3" | "Etc/GMT+4" | "Etc/GMT+5" | "Etc/GMT+6" | "Etc/GMT+7" | "Etc/GMT+8" | "Etc/GMT+9" | "Etc/GMT-1" | "Etc/GMT-10" | "Etc/GMT-11" | "Etc/GMT-12" | "Etc/GMT-13" | "Etc/GMT-14" | "Etc/GMT-2" | "Etc/GMT-3" | "Etc/GMT-4" | "Etc/GMT-5" | "Etc/GMT-6" | "Etc/GMT-7" | "Etc/GMT-8" | "Etc/GMT-9" | "Europe/Amsterdam" | "Europe/Andorra" | "Europe/Astrakhan" | "Europe/Athens" | "Europe/Belfast" | "Europe/Belgrade" | "Europe/Berlin" | "Europe/Brussels" | "Europe/Bucharest" | "Europe/Budapest" | "Europe/Chisinau" | "Europe/Copenhagen" | "Europe/Dublin" | "Europe/Gibraltar" | "Europe/Guernsey" | "Europe/Helsinki" | "Europe/Isle_of_Man" | "Europe/Istanbul" | "Europe/Jersey" | "Europe/Kaliningrad" | "Europe/Kirov" | "Europe/Kyiv" | "Europe/Lisbon" | "Europe/Ljubljana" | "Europe/London" | "Europe/Luxembourg" | "Europe/Madrid" | "Europe/Malta" | "Europe/Minsk" | "Europe/Monaco" | "Europe/Moscow" | "Europe/Oslo" | "Europe/Paris" | "Europe/Prague" | "Europe/Riga" | "Europe/Rome" | "Europe/Samara" | "Europe/Sarajevo" | "Europe/Saratov" | "Europe/Simferopol" | "Europe/Skopje" | "Europe/Sofia" | "Europe/Stockholm" | "Europe/Tallinn" | "Europe/Tirane" | "Europe/Tiraspol" | "Europe/Ulyanovsk" | "Europe/Uzhgorod" | "Europe/Vaduz" | "Europe/Vienna" | "Europe/Vilnius" | "Europe/Volgograd" | "Europe/Warsaw" | "Europe/Zagreb" | "Europe/Zaporozhye" | "Europe/Zurich" | "HST" | "Indian/Antananarivo" | "Indian/Chagos" | "Indian/Christmas" | "Indian/Cocos" | "Indian/Comoro" | "Indian/Kerguelen" | "Indian/Mahe" | "Indian/Maldives" | "Indian/Mauritius" | "Indian/Mayotte" | "Indian/Reunion" | "MET" | "MST" | "MST7MDT" | "PST8PDT" | "Pacific/Apia" | "Pacific/Auckland" | "Pacific/Bougainville" | "Pacific/Chatham" | "Pacific/Chuuk" | "Pacific/Easter" | "Pacific/Efate" | "Pacific/Enderbury" | "Pacific/Fakaofo" | "Pacific/Fiji" | "Pacific/Funafuti" | "Pacific/Galapagos" | "Pacific/Gambier" | "Pacific/Guadalcanal" | "Pacific/Guam" | "Pacific/Honolulu" | "Pacific/Johnston" | "Pacific/Kanton" | "Pacific/Kiritimati" | "Pacific/Kosrae" | "Pacific/Kwajalein" | "Pacific/Majuro" | "Pacific/Marquesas" | "Pacific/Midway" | "Pacific/Nauru" | "Pacific/Niue" | "Pacific/Norfolk" | "Pacific/Noumea" | "Pacific/Pago_Pago" | "Pacific/Palau" | "Pacific/Pitcairn" | "Pacific/Pohnpei" | "Pacific/Port_Moresby" | "Pacific/Rarotonga" | "Pacific/Saipan" | "Pacific/Tahiti" | "Pacific/Tarawa" | "Pacific/Tongatapu" | "Pacific/Wake" | "Pacific/Wallis" | "UTC" | "WET";
67
+ timezone: string;
69
68
  }>>>;
70
69
  /**
71
70
  * A serializable object that completely specifies how any given date should be represented,
@@ -92,7 +91,7 @@ export declare const fullDateShape: import("object-shape-tester").Shape<import("
92
91
  * };
93
92
  * ```
94
93
  */
95
- export type FullDate<SpecificTimezone extends Timezone = Timezone> = Simplify<Overwrite<(typeof fullDateShape)['runtimeType'], {
94
+ export type FullDate<SpecificTimezone extends string = string> = Simplify<Overwrite<(typeof fullDateShape)['runtimeType'], {
96
95
  second: Second;
97
96
  timezone: SpecificTimezone;
98
97
  }>>;
@@ -1,6 +1,6 @@
1
1
  import { dayOfMonthBounds, hourBounds, millisecondsBounds, minuteBounds, monthNumberBounds, secondBounds, } from '@date-vir/duration';
2
- import { defineShape, enumShape, intersectShape, rangeShape } from 'object-shape-tester';
3
- import { Timezone, utcTimezone } from '../timezone/timezones.js';
2
+ import { defineShape, intersectShape, rangeShape } from 'object-shape-tester';
3
+ import { timezoneShape } from '../timezone/timezone-shape.js';
4
4
  /**
5
5
  * Time part of {@link FullDate} represented in a shape definition.
6
6
  *
@@ -28,7 +28,7 @@ export const timePartShape = defineShape({
28
28
  default: millisecondsBounds.min,
29
29
  }),
30
30
  /** The timezone that this date/time is meant for / originated from. */
31
- timezone: enumShape(Timezone, utcTimezone),
31
+ timezone: timezoneShape(),
32
32
  });
33
33
  /**
34
34
  * Date part of {@link FullDate} represented in a shape definition.
@@ -53,7 +53,7 @@ export const datePartShape = defineShape({
53
53
  default: dayOfMonthBounds.min,
54
54
  }),
55
55
  /** The timezone that this date/time is meant for / originated from. */
56
- timezone: enumShape(Timezone, utcTimezone),
56
+ timezone: timezoneShape(),
57
57
  });
58
58
  /**
59
59
  * The complete {@link FullDate} represented in a shape definition.
@@ -1,4 +1,3 @@
1
- import { type Timezone } from '../timezone/timezones.js';
2
1
  import { type FullDate } from './full-date-shape.js';
3
2
  /**
4
3
  * Asserts that the input is a valid {@link FullDate}.
@@ -18,4 +17,4 @@ export declare function isValidFullDate(input: unknown): input is FullDate;
18
17
  *
19
18
  * @category Assertion
20
19
  */
21
- export declare function hasTimezone<const SpecificTimezone extends Timezone>(input: FullDate, timezone: SpecificTimezone): input is FullDate<SpecificTimezone>;
20
+ export declare function hasTimezone<const SpecificTimezone extends string>(input: FullDate, timezone: SpecificTimezone): input is FullDate<SpecificTimezone>;
@@ -1,5 +1,4 @@
1
1
  import { DateTime } from 'luxon';
2
- import { type Timezone } from '../timezone/timezones.js';
3
2
  import { type FullDate } from './full-date-shape.js';
4
3
  /**
5
4
  * Converts a {@link FullDate} object into a Luxon DateTime library. This is only needed if you need
@@ -16,4 +15,4 @@ export declare function toLuxonDateTime(fullDateInput: Readonly<FullDate>): Date
16
15
  *
17
16
  * @category Internal
18
17
  */
19
- export declare function parseLuxonDateTime<const SpecificTimezone extends Timezone>(dateTimeInput: Readonly<DateTime>, forcedTimezone?: SpecificTimezone): FullDate<SpecificTimezone>;
18
+ export declare function parseLuxonDateTime<const SpecificTimezone extends string>(dateTimeInput: Readonly<DateTime>, forcedTimezone?: SpecificTimezone): FullDate<SpecificTimezone>;
@@ -1,4 +1,3 @@
1
- import { type Timezone } from '../timezone/timezones.js';
2
1
  import { type DateLike } from './date-like.js';
3
2
  import { type FullDate } from './full-date-shape.js';
4
3
  /**
@@ -6,7 +5,7 @@ import { type FullDate } from './full-date-shape.js';
6
5
  * timezone. If the conversion fails or the input {@link DateLike} is empty, `undefined` is
7
6
  * returned.
8
7
  */
9
- export declare function maybeCreateFullDate<const SpecificTimezone extends Timezone>(
8
+ export declare function maybeCreateFullDate<const SpecificTimezone extends string>(
10
9
  /** The original date representation to be converted into a FullDate. */
11
10
  dateLike: Readonly<DateLike> | undefined | null,
12
11
  /** The timezone that this date/time is meant for / originated from. */
@@ -1,4 +1,3 @@
1
- import { type Timezone } from '../timezone/timezones.js';
2
1
  import { type FullDate } from './full-date-shape.js';
3
2
  /**
4
3
  * Parses any date string into a {@link FullDate} using the specified pattern and timezone. Prefer
@@ -12,7 +11,7 @@ import { type FullDate } from './full-date-shape.js';
12
11
  *
13
12
  * @category FullDate
14
13
  */
15
- export declare function parseDateStringWithPattern<const SpecificTimezone extends Timezone>({ dateString, formatString, timezone, }: {
14
+ export declare function parseDateStringWithPattern<const SpecificTimezone extends string>({ dateString, formatString, timezone, }: {
16
15
  /** The date string to be parsed. */
17
16
  dateString: string;
18
17
  /**
@@ -30,4 +29,4 @@ export declare function parseDateStringWithPattern<const SpecificTimezone extend
30
29
  * @category FullDate
31
30
  * @category HTML
32
31
  */
33
- export declare function parseInputElementValue<const SpecificTimezone extends Timezone>(elementOrValue: Readonly<Pick<HTMLInputElement, 'value'>> | string | null | undefined, timezone: SpecificTimezone): FullDate<SpecificTimezone> | undefined;
32
+ export declare function parseInputElementValue<const SpecificTimezone extends string>(elementOrValue: Readonly<Pick<HTMLInputElement, 'value'>> | string | null | undefined, timezone: SpecificTimezone): FullDate<SpecificTimezone> | undefined;
@@ -1,9 +1,8 @@
1
1
  import { DateTime } from 'luxon';
2
- import { type Timezone } from '../timezone/timezones.js';
3
2
  /**
4
3
  * Tries extra known formats for parsing date strings, even those that browsers do not natively
5
4
  * support.
6
5
  *
7
6
  * @category Internal
8
7
  */
9
- export declare function parseDateString(dateString: string, timezone: Timezone): DateTime | undefined;
8
+ export declare function parseDateString(dateString: string, timezone: string): DateTime | undefined;
package/dist/index.d.ts CHANGED
@@ -26,5 +26,6 @@ export * from './full-date/maybe-create-date.js';
26
26
  export * from './full-date/parsing.js';
27
27
  export * from './timezone/timezone-checks.js';
28
28
  export * from './timezone/timezone-names.js';
29
+ export * from './timezone/timezone-shape.js';
29
30
  export * from './timezone/timezones.js';
30
31
  export * from '@date-vir/duration';
package/dist/index.js CHANGED
@@ -26,5 +26,6 @@ export * from './full-date/maybe-create-date.js';
26
26
  export * from './full-date/parsing.js';
27
27
  export * from './timezone/timezone-checks.js';
28
28
  export * from './timezone/timezone-names.js';
29
+ export * from './timezone/timezone-shape.js';
29
30
  export * from './timezone/timezones.js';
30
31
  export * from '@date-vir/duration';
@@ -1,6 +1,5 @@
1
- import { type Timezone } from './timezones.js';
2
1
  /**
3
- * Asserts that the given input is a valid timezone name.
2
+ * Checks that the given timezone is valid.
4
3
  *
5
4
  * Note that this may actually allow names beyond what is currently in the exact {@link Timezone}
6
5
  * type, because this function checks to see if the given timezone can be used to construct a date,
@@ -8,9 +7,9 @@ import { type Timezone } from './timezones.js';
8
7
  *
9
8
  * @category Assertion
10
9
  */
11
- export declare function assertValidTimezone(potentialTimezone: string, userMessage?: string | undefined): asserts potentialTimezone is Timezone;
10
+ export declare function isValidTimezone(potentialTimezone: string): boolean;
12
11
  /**
13
- * Checks that the given timezone is valid.
12
+ * Asserts that the given input is a valid timezone name.
14
13
  *
15
14
  * Note that this may actually allow names beyond what is currently in the exact {@link Timezone}
16
15
  * type, because this function checks to see if the given timezone can be used to construct a date,
@@ -18,4 +17,4 @@ export declare function assertValidTimezone(potentialTimezone: string, userMessa
18
17
  *
19
18
  * @category Assertion
20
19
  */
21
- export declare function isValidTimezone(potentialTimezone: string): potentialTimezone is Timezone;
20
+ export declare function assertValidTimezone(potentialTimezone: string, userMessage?: string | undefined): void;
@@ -1,7 +1,17 @@
1
1
  import { AssertionError } from '@augment-vir/assert';
2
2
  import { Info } from 'luxon';
3
+ import { allTimezoneNames } from './timezone-names.js';
4
+ /** The typed {@link Timezone} names, for O(1) membership checks before the expensive IANA lookup. */
5
+ const knownTimezones = new Set(allTimezoneNames);
3
6
  /**
4
- * Asserts that the given input is a valid timezone name.
7
+ * Caches the result of the {@link Info.isValidIANAZone} fallback. That call constructs an
8
+ * `Intl.DateTimeFormat` every time (~30µs), so memoizing it keeps repeated checks of the same
9
+ * string (a legacy alias or an invalid value) cheap. Only strings outside the typed
10
+ * {@link knownTimezones} set ever land here, so the cache stays small in practice.
11
+ */
12
+ const ianaValidityCache = new Map();
13
+ /**
14
+ * Checks that the given timezone is valid.
5
15
  *
6
16
  * Note that this may actually allow names beyond what is currently in the exact {@link Timezone}
7
17
  * type, because this function checks to see if the given timezone can be used to construct a date,
@@ -9,13 +19,20 @@ import { Info } from 'luxon';
9
19
  *
10
20
  * @category Assertion
11
21
  */
12
- export function assertValidTimezone(potentialTimezone, userMessage) {
13
- if (!Info.isValidIANAZone(potentialTimezone)) {
14
- throw new AssertionError(`'${potentialTimezone}' is not a valid time zone`, userMessage);
22
+ export function isValidTimezone(potentialTimezone) {
23
+ if (knownTimezones.has(potentialTimezone)) {
24
+ return true;
15
25
  }
26
+ const cached = ianaValidityCache.get(potentialTimezone);
27
+ if (cached != undefined) {
28
+ return cached;
29
+ }
30
+ const isValid = Info.isValidIANAZone(potentialTimezone);
31
+ ianaValidityCache.set(potentialTimezone, isValid);
32
+ return isValid;
16
33
  }
17
34
  /**
18
- * Checks that the given timezone is valid.
35
+ * Asserts that the given input is a valid timezone name.
19
36
  *
20
37
  * Note that this may actually allow names beyond what is currently in the exact {@link Timezone}
21
38
  * type, because this function checks to see if the given timezone can be used to construct a date,
@@ -23,12 +40,8 @@ export function assertValidTimezone(potentialTimezone, userMessage) {
23
40
  *
24
41
  * @category Assertion
25
42
  */
26
- export function isValidTimezone(potentialTimezone) {
27
- try {
28
- assertValidTimezone(potentialTimezone);
29
- return true;
30
- }
31
- catch {
32
- return false;
43
+ export function assertValidTimezone(potentialTimezone, userMessage) {
44
+ if (!isValidTimezone(potentialTimezone)) {
45
+ throw new AssertionError(`'${potentialTimezone}' is not a valid time zone`, userMessage);
33
46
  }
34
47
  }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * A shape for a timezone value.
3
+ *
4
+ * Unlike a strict enum check against the typed {@link Timezone} list, this validates at runtime via
5
+ * {@link isValidTimezone} (i.e. any valid IANA zone name). It therefore accepts valid IANA names
6
+ * that aren't in the typed list, such as legacy aliases like `'America/Indianapolis'` that some
7
+ * environments (notably Safari) still report from `Intl`. The static type is `string` so that
8
+ * timezone inputs are not restricted to the {@link Timezone} enum.
9
+ *
10
+ * @category Shape
11
+ */
12
+ export declare const timezoneShape: (defaultValue?: string | undefined) => import("object-shape-tester").Shape<import("@sinclair/typebox").TUnsafe<string>>;
@@ -0,0 +1,22 @@
1
+ import { check } from '@augment-vir/assert';
2
+ import { createCustomShape } from 'object-shape-tester';
3
+ import { isValidTimezone } from './timezone-checks.js';
4
+ import { utcTimezone } from './timezones.js';
5
+ /**
6
+ * A shape for a timezone value.
7
+ *
8
+ * Unlike a strict enum check against the typed {@link Timezone} list, this validates at runtime via
9
+ * {@link isValidTimezone} (i.e. any valid IANA zone name). It therefore accepts valid IANA names
10
+ * that aren't in the typed list, such as legacy aliases like `'America/Indianapolis'` that some
11
+ * environments (notably Safari) still report from `Intl`. The static type is `string` so that
12
+ * timezone inputs are not restricted to the {@link Timezone} enum.
13
+ *
14
+ * @category Shape
15
+ */
16
+ export const timezoneShape = createCustomShape({
17
+ default: utcTimezone,
18
+ name: 'Timezone',
19
+ checkValue(value) {
20
+ return check.isString(value) && isValidTimezone(value);
21
+ },
22
+ });
@@ -27,7 +27,7 @@ export declare const Timezone: Readonly<{
27
27
  *
28
28
  * @category Timezone
29
29
  */
30
- export declare const userTimezone: Timezone;
30
+ export declare const userTimezone: string;
31
31
  /**
32
32
  * The UTC timezone.
33
33
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "date-vir",
3
- "version": "8.4.0",
3
+ "version": "8.5.0",
4
4
  "description": "Easy and explicit dates and times.",
5
5
  "keywords": [
6
6
  "date",
@@ -36,7 +36,7 @@
36
36
  "dependencies": {
37
37
  "@augment-vir/assert": "^31.69.0",
38
38
  "@augment-vir/common": "^31.68.4",
39
- "@date-vir/duration": "^8.4.0",
39
+ "@date-vir/duration": "^8.5.0",
40
40
  "@types/luxon": "^3.7.1",
41
41
  "luxon": "^3.7.2",
42
42
  "object-shape-tester": "^6.13.0",