date-vir 8.4.0 → 8.5.1
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.
- package/dist/date-operations/calculate-relative-date.d.ts +1 -2
- package/dist/date-operations/combine-dates.d.ts +8 -9
- package/dist/date-operations/date-position.d.ts +2 -3
- package/dist/extra-utils/has-date-props.d.ts +2 -3
- package/dist/extra-utils/now.d.ts +2 -2
- package/dist/extra-utils/override-date.d.ts +1 -2
- package/dist/extra-utils/zero.d.ts +2 -3
- package/dist/full-date/create-full-date.d.ts +3 -3
- package/dist/full-date/date-like.d.ts +1 -2
- package/dist/full-date/full-date-shape.d.ts +7 -8
- package/dist/full-date/full-date-shape.js +4 -4
- package/dist/full-date/is-valid-full-date.d.ts +1 -2
- package/dist/full-date/luxon-date-time-conversion.d.ts +1 -2
- package/dist/full-date/maybe-create-date.d.ts +1 -2
- package/dist/full-date/parsing.d.ts +2 -3
- package/dist/full-date/string-parsing.d.ts +1 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/timezone/timezone-checks.d.ts +4 -5
- package/dist/timezone/timezone-checks.js +25 -12
- package/dist/timezone/timezone-names.d.ts +3 -3
- package/dist/timezone/timezone-names.js +2 -10
- package/dist/timezone/timezone-shape.d.ts +12 -0
- package/dist/timezone/timezone-shape.js +22 -0
- package/dist/timezone/timezones.d.ts +1 -1
- package/package.json +8 -8
|
@@ -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
|
|
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
|
|
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
|
|
19
|
-
export declare function combineDateParts<const SpecificTimezone extends
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
62
|
+
timezone: string;
|
|
64
63
|
} & {
|
|
65
64
|
year: number;
|
|
66
65
|
month: MonthNumber;
|
|
67
66
|
day: DayOfMonth;
|
|
68
|
-
timezone:
|
|
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
|
|
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,
|
|
3
|
-
import {
|
|
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:
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
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
|
-
*
|
|
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
|
|
10
|
+
export declare function isValidTimezone(potentialTimezone: string): boolean;
|
|
12
11
|
/**
|
|
13
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
|
13
|
-
if (
|
|
14
|
-
|
|
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
|
-
*
|
|
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
|
|
27
|
-
|
|
28
|
-
|
|
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
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* All valid timezone names.
|
|
3
3
|
*
|
|
4
|
-
* The list of timezone names was generated from Firefox 106.0.2 (which gave me the
|
|
5
|
-
* of all the browsers I had available to me) with the following code:
|
|
4
|
+
* The list of timezone names was originally generated from Firefox 106.0.2 (which gave me the
|
|
5
|
+
* longest list out of all the browsers I had available to me) with the following code:
|
|
6
6
|
*
|
|
7
7
|
* ```ts
|
|
8
8
|
* Intl.supportedValuesOf('timeZone')
|
|
@@ -12,4 +12,4 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @category Timezone
|
|
14
14
|
*/
|
|
15
|
-
export declare const allTimezoneNames: readonly ["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", "
|
|
15
|
+
export declare const allTimezoneNames: readonly ["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", "EST", "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", "MST", "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"];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* All valid timezone names.
|
|
3
3
|
*
|
|
4
|
-
* The list of timezone names was generated from Firefox 106.0.2 (which gave me the
|
|
5
|
-
* of all the browsers I had available to me) with the following code:
|
|
4
|
+
* The list of timezone names was originally generated from Firefox 106.0.2 (which gave me the
|
|
5
|
+
* longest list out of all the browsers I had available to me) with the following code:
|
|
6
6
|
*
|
|
7
7
|
* ```ts
|
|
8
8
|
* Intl.supportedValuesOf('timeZone')
|
|
@@ -335,11 +335,7 @@ export const allTimezoneNames = [
|
|
|
335
335
|
'Australia/Melbourne',
|
|
336
336
|
'Australia/Perth',
|
|
337
337
|
'Australia/Sydney',
|
|
338
|
-
'CET',
|
|
339
|
-
'CST6CDT',
|
|
340
|
-
'EET',
|
|
341
338
|
'EST',
|
|
342
|
-
'EST5EDT',
|
|
343
339
|
'Etc/GMT+1',
|
|
344
340
|
'Etc/GMT+10',
|
|
345
341
|
'Etc/GMT+11',
|
|
@@ -434,10 +430,7 @@ export const allTimezoneNames = [
|
|
|
434
430
|
'Indian/Mauritius',
|
|
435
431
|
'Indian/Mayotte',
|
|
436
432
|
'Indian/Reunion',
|
|
437
|
-
'MET',
|
|
438
433
|
'MST',
|
|
439
|
-
'MST7MDT',
|
|
440
|
-
'PST8PDT',
|
|
441
434
|
'Pacific/Apia',
|
|
442
435
|
'Pacific/Auckland',
|
|
443
436
|
'Pacific/Bougainville',
|
|
@@ -479,5 +472,4 @@ export const allTimezoneNames = [
|
|
|
479
472
|
'Pacific/Wake',
|
|
480
473
|
'Pacific/Wallis',
|
|
481
474
|
'UTC',
|
|
482
|
-
'WET',
|
|
483
475
|
];
|
|
@@ -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
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "date-vir",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.5.1",
|
|
4
4
|
"description": "Easy and explicit dates and times.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"date",
|
|
@@ -34,16 +34,16 @@
|
|
|
34
34
|
"test:docs": "virmator docs check"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@augment-vir/assert": "^31.
|
|
38
|
-
"@augment-vir/common": "^31.
|
|
39
|
-
"@date-vir/duration": "^8.
|
|
37
|
+
"@augment-vir/assert": "^31.73.1",
|
|
38
|
+
"@augment-vir/common": "^31.73.1",
|
|
39
|
+
"@date-vir/duration": "^8.5.1",
|
|
40
40
|
"@types/luxon": "^3.7.1",
|
|
41
41
|
"luxon": "^3.7.2",
|
|
42
|
-
"object-shape-tester": "^6.
|
|
43
|
-
"type-fest": "^5.
|
|
42
|
+
"object-shape-tester": "^6.14.0",
|
|
43
|
+
"type-fest": "^5.7.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@augment-vir/test": "^31.
|
|
46
|
+
"@augment-vir/test": "^31.73.1",
|
|
47
47
|
"@web/dev-server-esbuild": "^1.0.5",
|
|
48
48
|
"@web/test-runner": "^0.20.2",
|
|
49
49
|
"@web/test-runner-commands": "^0.9.0",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"istanbul-smart-text-reporter": "^1.1.5",
|
|
54
54
|
"markdown-code-example-inserter": "^3.0.5",
|
|
55
55
|
"typedoc": "^0.28.19",
|
|
56
|
-
"typescript": "^
|
|
56
|
+
"typescript": "^6.0.3"
|
|
57
57
|
},
|
|
58
58
|
"engines": {
|
|
59
59
|
"node": ">=22"
|