date-vir 5.3.2 → 6.0.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/LICENSE-MIT +1 -1
- package/README.md +28 -28
- package/dist/date-operations/calculate-relative-date.d.ts +17 -0
- package/dist/{esm/date-operations → date-operations}/calculate-relative-date.js +10 -1
- package/dist/date-operations/combine-dates.d.ts +43 -0
- package/dist/{esm/date-operations → date-operations}/combine-dates.js +6 -4
- package/dist/date-operations/diff-dates.d.ts +95 -0
- package/dist/date-operations/diff-dates.js +124 -0
- package/dist/extra-utils/has-date-props.d.ts +35 -0
- package/dist/extra-utils/has-date-props.js +46 -0
- package/dist/extra-utils/js-date-conversion.d.ts +26 -0
- package/dist/extra-utils/js-date-conversion.js +28 -0
- package/dist/extra-utils/now.d.ts +56 -0
- package/dist/extra-utils/now.js +68 -0
- package/dist/extra-utils/override-date.d.ts +27 -0
- package/dist/extra-utils/override-date.js +27 -0
- package/dist/extra-utils/zero.d.ts +99 -0
- package/dist/extra-utils/zero.js +94 -0
- package/dist/formatting/formatted-string.d.ts +58 -0
- package/dist/formatting/formatted-string.js +73 -0
- package/dist/formatting/html-input.d.ts +30 -0
- package/dist/formatting/html-input.js +47 -0
- package/dist/formatting/relative-string.d.ts +53 -0
- package/dist/formatting/relative-string.js +93 -0
- package/dist/formatting/simple-strings.d.ts +187 -0
- package/dist/formatting/simple-strings.js +120 -0
- package/dist/formatting/string-format-types.d.ts +59 -0
- package/dist/formatting/string-format-types.js +19 -0
- package/dist/formatting/timestamp.d.ts +51 -0
- package/dist/formatting/timestamp.js +61 -0
- package/dist/full-date/create-full-date.d.ts +91 -0
- package/dist/full-date/create-full-date.js +142 -0
- package/dist/full-date/date-like.d.ts +9 -0
- package/dist/{esm/full-date → full-date}/format-presets.d.ts +4 -2
- package/dist/{esm/full-date → full-date}/format-presets.js +4 -2
- package/dist/full-date/full-date-parts.d.ts +48 -0
- package/dist/full-date/full-date-parts.js +45 -0
- package/dist/full-date/full-date-shape.d.ts +106 -0
- package/dist/{esm/full-date → full-date}/full-date-shape.js +15 -22
- package/dist/full-date/is-valid-full-date.d.ts +21 -0
- package/dist/full-date/is-valid-full-date.js +38 -0
- package/dist/full-date/luxon-date-time-conversion.d.ts +19 -0
- package/dist/{esm/full-date → full-date}/luxon-date-time-conversion.js +10 -6
- package/dist/full-date/parsing.d.ts +33 -0
- package/dist/full-date/parsing.js +47 -0
- package/dist/full-date/string-parsing.d.ts +9 -0
- package/dist/{esm/full-date → full-date}/string-parsing.js +6 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.js +27 -0
- package/dist/locales.d.ts +6 -0
- package/dist/locales.js +7 -0
- package/dist/timezone/timezone-checks.d.ts +21 -0
- package/dist/timezone/timezone-checks.js +34 -0
- package/dist/{esm/timezone → timezone}/timezone-names.d.ts +11 -5
- package/dist/{esm/timezone → timezone}/timezone-names.js +11 -3
- package/dist/timezone/timezones.d.ts +42 -0
- package/dist/timezone/timezones.js +31 -0
- package/package.json +30 -48
- package/cspell.config.cjs +0 -13
- package/dist/cjs/date-operations/calculate-relative-date.js +0 -12
- package/dist/cjs/date-operations/combine-dates.js +0 -50
- package/dist/cjs/date-operations/diff-dates.js +0 -105
- package/dist/cjs/duration/duration-unit.js +0 -41
- package/dist/cjs/duration/duration-utils.js +0 -42
- package/dist/cjs/duration/duration.js +0 -2
- package/dist/cjs/extra-utils/date-transforms.js +0 -8
- package/dist/cjs/extra-utils/has-date-props.js +0 -25
- package/dist/cjs/extra-utils/js-date-conversion.js +0 -8
- package/dist/cjs/extra-utils/now.js +0 -22
- package/dist/cjs/extra-utils/zero.js +0 -31
- package/dist/cjs/formatting/formatted-string.js +0 -34
- package/dist/cjs/formatting/html-input.js +0 -37
- package/dist/cjs/formatting/relative-string.js +0 -77
- package/dist/cjs/formatting/simple-strings.js +0 -58
- package/dist/cjs/formatting/string-format-types.js +0 -9
- package/dist/cjs/formatting/timestamp.js +0 -21
- package/dist/cjs/full-date/create-full-date.js +0 -81
- package/dist/cjs/full-date/date-like.js +0 -2
- package/dist/cjs/full-date/format-presets.js +0 -32
- package/dist/cjs/full-date/full-date-shape.js +0 -54
- package/dist/cjs/full-date/is-valid-full-date.js +0 -28
- package/dist/cjs/full-date/luxon-date-time-conversion.js +0 -43
- package/dist/cjs/full-date/parsing.js +0 -48
- package/dist/cjs/full-date/string-parsing.js +0 -33
- package/dist/cjs/index.js +0 -44
- package/dist/cjs/locales.js +0 -5
- package/dist/cjs/timezone/timezone-checks.js +0 -34
- package/dist/cjs/timezone/timezone-names.js +0 -479
- package/dist/cjs/timezone/timezones.js +0 -14
- package/dist/esm/date-operations/calculate-relative-date.d.ts +0 -8
- package/dist/esm/date-operations/combine-dates.d.ts +0 -35
- package/dist/esm/date-operations/diff-dates.d.ts +0 -66
- package/dist/esm/date-operations/diff-dates.js +0 -100
- package/dist/esm/duration/duration-unit.d.ts +0 -27
- package/dist/esm/duration/duration-unit.js +0 -38
- package/dist/esm/duration/duration-utils.d.ts +0 -11
- package/dist/esm/duration/duration-utils.js +0 -37
- package/dist/esm/duration/duration.d.ts +0 -32
- package/dist/esm/duration/duration.js +0 -1
- package/dist/esm/extra-utils/date-transforms.d.ts +0 -4
- package/dist/esm/extra-utils/date-transforms.js +0 -4
- package/dist/esm/extra-utils/has-date-props.d.ts +0 -9
- package/dist/esm/extra-utils/has-date-props.js +0 -20
- package/dist/esm/extra-utils/js-date-conversion.d.ts +0 -2
- package/dist/esm/extra-utils/js-date-conversion.js +0 -4
- package/dist/esm/extra-utils/now.d.ts +0 -6
- package/dist/esm/extra-utils/now.js +0 -16
- package/dist/esm/extra-utils/zero.d.ts +0 -31
- package/dist/esm/extra-utils/zero.js +0 -26
- package/dist/esm/formatting/formatted-string.d.ts +0 -14
- package/dist/esm/formatting/formatted-string.js +0 -29
- package/dist/esm/formatting/html-input.d.ts +0 -19
- package/dist/esm/formatting/html-input.js +0 -33
- package/dist/esm/formatting/relative-string.d.ts +0 -31
- package/dist/esm/formatting/relative-string.js +0 -73
- package/dist/esm/formatting/simple-strings.d.ts +0 -71
- package/dist/esm/formatting/simple-strings.js +0 -51
- package/dist/esm/formatting/string-format-types.d.ts +0 -7
- package/dist/esm/formatting/string-format-types.js +0 -5
- package/dist/esm/formatting/timestamp.d.ts +0 -6
- package/dist/esm/formatting/timestamp.js +0 -16
- package/dist/esm/full-date/create-full-date.d.ts +0 -21
- package/dist/esm/full-date/create-full-date.js +0 -73
- package/dist/esm/full-date/date-like.d.ts +0 -5
- package/dist/esm/full-date/full-date-shape.d.ts +0 -80
- package/dist/esm/full-date/is-valid-full-date.d.ts +0 -5
- package/dist/esm/full-date/is-valid-full-date.js +0 -22
- package/dist/esm/full-date/luxon-date-time-conversion.d.ts +0 -15
- package/dist/esm/full-date/parsing.d.ts +0 -27
- package/dist/esm/full-date/parsing.js +0 -43
- package/dist/esm/full-date/string-parsing.d.ts +0 -3
- package/dist/esm/index.d.ts +0 -28
- package/dist/esm/index.js +0 -28
- package/dist/esm/locales.d.ts +0 -1
- package/dist/esm/locales.js +0 -2
- package/dist/esm/timezone/timezone-checks.d.ts +0 -17
- package/dist/esm/timezone/timezone-checks.js +0 -29
- package/dist/esm/timezone/timezones.d.ts +0 -480
- package/dist/esm/timezone/timezones.js +0 -11
- package/public/index.css +0 -7
- /package/dist/{esm/full-date → full-date}/date-like.js +0 -0
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { mapObjectValues, round } from '@augment-vir/common';
|
|
2
|
-
import { isJsonEqual } from 'run-time-assertions';
|
|
3
|
-
import { DiffType, diffDates } from '../date-operations/diff-dates';
|
|
4
|
-
import { DurationUnit, orderedDurationUnits, singularDurationUnitNames, } from '../duration/duration-unit';
|
|
5
|
-
const maxDurations = {
|
|
6
|
-
[DurationUnit.Milliseconds]: 1000,
|
|
7
|
-
[DurationUnit.Seconds]: 60,
|
|
8
|
-
[DurationUnit.Minutes]: 60,
|
|
9
|
-
[DurationUnit.Hours]: 24,
|
|
10
|
-
[DurationUnit.Days]: 30,
|
|
11
|
-
[DurationUnit.Weeks]: 4,
|
|
12
|
-
[DurationUnit.Months]: 12,
|
|
13
|
-
[DurationUnit.Quarters]: 4,
|
|
14
|
-
[DurationUnit.Years]: Infinity,
|
|
15
|
-
};
|
|
16
|
-
export function toRelativeString({ fullDate, relativeTo, options = {}, }) {
|
|
17
|
-
const roundingDigits = options.decimalDigitCount || 0;
|
|
18
|
-
const allUnitDiffs = diffDates({
|
|
19
|
-
start: fullDate,
|
|
20
|
-
end: relativeTo,
|
|
21
|
-
units: orderedDurationUnits,
|
|
22
|
-
diffType: DiffType.EquivalentUnits,
|
|
23
|
-
});
|
|
24
|
-
const unitsWithinBounds = mapObjectValues(allUnitDiffs, (durationUnit, duration) => {
|
|
25
|
-
const roundedDuration = Math.floor(Math.abs(round({ digits: 1, number: duration })));
|
|
26
|
-
const isAboveZero = roundedDuration > 0;
|
|
27
|
-
const isBelowMax = options.limitUnitMax
|
|
28
|
-
? roundedDuration < maxDurations[durationUnit]
|
|
29
|
-
: true;
|
|
30
|
-
return isAboveZero && isBelowMax;
|
|
31
|
-
});
|
|
32
|
-
const unitToUse = orderedDurationUnits.reduce((chosenUnit, currentUnit) => {
|
|
33
|
-
const isUnitAllowed = !options.blockedRelativeUnits?.includes(currentUnit);
|
|
34
|
-
if (isUnitAllowed && unitsWithinBounds[currentUnit]) {
|
|
35
|
-
return currentUnit;
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
return chosenUnit;
|
|
39
|
-
}
|
|
40
|
-
}, undefined);
|
|
41
|
-
const shouldUseJustNow = options.blockJustNow
|
|
42
|
-
? false
|
|
43
|
-
: (unitToUse == undefined && allUnitDiffs.minutes < 2) ||
|
|
44
|
-
isJsonEqual(fullDate, relativeTo) ||
|
|
45
|
-
(unitToUse === DurationUnit.Minutes &&
|
|
46
|
-
options.blockedRelativeUnits?.includes(DurationUnit.Seconds) &&
|
|
47
|
-
allUnitDiffs.minutes < 2) ||
|
|
48
|
-
(unitToUse === DurationUnit.Seconds &&
|
|
49
|
-
options.blockedRelativeUnits?.includes(DurationUnit.Milliseconds) &&
|
|
50
|
-
allUnitDiffs.seconds < 11) ||
|
|
51
|
-
(unitToUse === DurationUnit.Milliseconds && allUnitDiffs.milliseconds < 710);
|
|
52
|
-
/** Some short circuits. */
|
|
53
|
-
if (shouldUseJustNow) {
|
|
54
|
-
return 'just now';
|
|
55
|
-
}
|
|
56
|
-
else if (unitToUse == undefined) {
|
|
57
|
-
return undefined;
|
|
58
|
-
}
|
|
59
|
-
const duration = allUnitDiffs[unitToUse];
|
|
60
|
-
const roundedAbsoluteDuration = Math.abs(round({ digits: roundingDigits, number: duration }));
|
|
61
|
-
const isDurationSingular = roundedAbsoluteDuration === 1;
|
|
62
|
-
const unitName = [
|
|
63
|
-
singularDurationUnitNames[unitToUse],
|
|
64
|
-
isDurationSingular ? '' : 's',
|
|
65
|
-
].join('');
|
|
66
|
-
const value = isDurationSingular ? 'a' : roundedAbsoluteDuration;
|
|
67
|
-
if (duration < 0) {
|
|
68
|
-
return `in ${value} ${unitName}`;
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
return `${value} ${unitName} ago`;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { FullDate } from '../full-date/full-date-shape';
|
|
2
|
-
import { JustDateString, JustTimeString, JustTimeWithSecondsString } from './string-format-types';
|
|
3
|
-
/**
|
|
4
|
-
* Create a string based on just the date parts of a FullDate.
|
|
5
|
-
*
|
|
6
|
-
* CAUTION: this does not user locale setting and should therefore not be used for user-facing date
|
|
7
|
-
* formatting. Prefer using `toLocaleString` instead for user-facing strings.
|
|
8
|
-
*
|
|
9
|
-
* Example output: `'2023-12-05'`
|
|
10
|
-
*/
|
|
11
|
-
export declare function toSimpleDatePartString(fullDate: Pick<FullDate, 'year' | 'month' | 'day'>): JustDateString;
|
|
12
|
-
/**
|
|
13
|
-
* Creates a string based on just the time parts of a FullDate.
|
|
14
|
-
*
|
|
15
|
-
* CAUTION: this does not user locale setting and should therefore not be used for user-facing date
|
|
16
|
-
* formatting. Prefer using `toLocaleString` instead for user-facing strings.
|
|
17
|
-
*
|
|
18
|
-
* Example output: `'05:32:21'`
|
|
19
|
-
*/
|
|
20
|
-
export declare function toSimpleTimePartString(fullDate: Pick<FullDate, 'hour' | 'minute' | 'second'>, includeSeconds: true): JustTimeWithSecondsString;
|
|
21
|
-
export declare function toSimpleTimePartString(fullDate: Pick<FullDate, 'hour' | 'minute'>, includeSeconds: false): JustTimeString;
|
|
22
|
-
export declare function toSimpleTimePartString(fullDate: Pick<FullDate, 'hour' | 'minute' | 'second'> | Pick<FullDate, 'hour' | 'minute'>, includeSeconds: boolean): JustTimeWithSecondsString | JustTimeString;
|
|
23
|
-
export type FullDateForParts = Omit<FullDate, 'millisecond'>;
|
|
24
|
-
/**
|
|
25
|
-
* Splits a FullDate up into multiple formatted string representations.
|
|
26
|
-
*
|
|
27
|
-
* CAUTION: this does not user locale setting and should therefore not be used for user-facing date
|
|
28
|
-
* formatting. Prefer using `toLocaleString` instead for user-facing strings.
|
|
29
|
-
*
|
|
30
|
-
* This does not expand month names into the full names, it just uses numbers for everything. The
|
|
31
|
-
* output of this will look like:
|
|
32
|
-
*
|
|
33
|
-
* ```typescript
|
|
34
|
-
* {
|
|
35
|
-
* "date": "2012-12-05",
|
|
36
|
-
* "time": "05:32:21",
|
|
37
|
-
* "timezone": "UTC"
|
|
38
|
-
* }
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
export declare function toSimplePartStrings(fullDate: FullDateForParts, options: {
|
|
42
|
-
includeSeconds: true;
|
|
43
|
-
}): {
|
|
44
|
-
date: JustDateString;
|
|
45
|
-
time: JustTimeWithSecondsString;
|
|
46
|
-
timezone: string;
|
|
47
|
-
};
|
|
48
|
-
export declare function toSimplePartStrings(fullDate: FullDateForParts, options: {
|
|
49
|
-
includeSeconds: false;
|
|
50
|
-
}): {
|
|
51
|
-
date: JustDateString;
|
|
52
|
-
time: JustTimeString;
|
|
53
|
-
timezone: string;
|
|
54
|
-
};
|
|
55
|
-
export declare function toSimplePartStrings(fullDate: FullDateForParts, options: {
|
|
56
|
-
includeSeconds: boolean;
|
|
57
|
-
}): {
|
|
58
|
-
date: JustDateString;
|
|
59
|
-
time: JustTimeWithSecondsString | JustTimeString;
|
|
60
|
-
timezone: string;
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* Converts a date into a simple, unambiguous date string.
|
|
64
|
-
*
|
|
65
|
-
* CAUTION: this does not user locale setting and should therefore not be used for user-facing date
|
|
66
|
-
* formatting. Prefer using `toLocaleString` instead for user-facing strings.
|
|
67
|
-
*/
|
|
68
|
-
export declare function toSimpleString(fullDate: FullDateForParts, options: {
|
|
69
|
-
includeSeconds: boolean;
|
|
70
|
-
includeTimezone: boolean;
|
|
71
|
-
}): string;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { isTruthy, typedHasProperty } from '@augment-vir/common';
|
|
2
|
-
/**
|
|
3
|
-
* Create a string based on just the date parts of a FullDate.
|
|
4
|
-
*
|
|
5
|
-
* CAUTION: this does not user locale setting and should therefore not be used for user-facing date
|
|
6
|
-
* formatting. Prefer using `toLocaleString` instead for user-facing strings.
|
|
7
|
-
*
|
|
8
|
-
* Example output: `'2023-12-05'`
|
|
9
|
-
*/
|
|
10
|
-
export function toSimpleDatePartString(fullDate) {
|
|
11
|
-
const dateParts = [
|
|
12
|
-
String(Math.abs(fullDate.year)).padStart(4, '0'),
|
|
13
|
-
String(Math.abs(fullDate.month)).padStart(2, '0'),
|
|
14
|
-
String(Math.abs(fullDate.day)).padStart(2, '0'),
|
|
15
|
-
];
|
|
16
|
-
const dateString = dateParts.join('-');
|
|
17
|
-
return dateString;
|
|
18
|
-
}
|
|
19
|
-
export function toSimpleTimePartString(fullDate, includeSeconds) {
|
|
20
|
-
const seconds = typedHasProperty(fullDate, 'second') && includeSeconds
|
|
21
|
-
? String(Math.abs(fullDate.second)).padStart(2, '0')
|
|
22
|
-
: undefined;
|
|
23
|
-
const timeParts = [
|
|
24
|
-
String(Math.abs(fullDate.hour)).padStart(2, '0'),
|
|
25
|
-
String(Math.abs(fullDate.minute)).padStart(2, '0'),
|
|
26
|
-
seconds,
|
|
27
|
-
].filter(isTruthy);
|
|
28
|
-
return timeParts.join(':');
|
|
29
|
-
}
|
|
30
|
-
export function toSimplePartStrings(fullDate, options) {
|
|
31
|
-
return {
|
|
32
|
-
date: toSimpleDatePartString(fullDate),
|
|
33
|
-
time: toSimpleTimePartString(fullDate, options.includeSeconds),
|
|
34
|
-
timezone: fullDate.timezone,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Converts a date into a simple, unambiguous date string.
|
|
39
|
-
*
|
|
40
|
-
* CAUTION: this does not user locale setting and should therefore not be used for user-facing date
|
|
41
|
-
* formatting. Prefer using `toLocaleString` instead for user-facing strings.
|
|
42
|
-
*/
|
|
43
|
-
export function toSimpleString(fullDate, options) {
|
|
44
|
-
const parts = toSimplePartStrings(fullDate, options);
|
|
45
|
-
const stringParts = [
|
|
46
|
-
parts.date,
|
|
47
|
-
parts.time,
|
|
48
|
-
options.includeTimezone && `(${parts.timezone})`,
|
|
49
|
-
].filter(isTruthy);
|
|
50
|
-
return stringParts.join(' ');
|
|
51
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export type JustDateString = `${number}-${number}-${number}`;
|
|
2
|
-
export type JustTimeWithSecondsString = `${number}:${number}:${number}`;
|
|
3
|
-
export type JustTimeString = `${number}:${number}`;
|
|
4
|
-
export type DateTimeWithSeconds = `${JustDateString}T${JustTimeWithSecondsString}`;
|
|
5
|
-
export type DateTimeString = `${JustDateString}T${JustTimeString}`;
|
|
6
|
-
export type UtcIsoString = `${JustDateString}T${JustTimeWithSecondsString}.${number}Z`;
|
|
7
|
-
export declare function isValidIsoString(input: unknown): input is UtcIsoString;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { FullDate } from '../full-date/full-date-shape';
|
|
2
|
-
import { UtcIsoString } from './string-format-types';
|
|
3
|
-
/** Convert a FullDate into a unix timestamp with milliseconds. */
|
|
4
|
-
export declare function toTimestamp(fullDate: FullDate): number;
|
|
5
|
-
/** Convert a FullDate into an ISO string in UTC; always ends in Z. */
|
|
6
|
-
export declare function toIsoString(fullDate: FullDate): UtcIsoString;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { toLuxonDateTime } from '../full-date/luxon-date-time-conversion';
|
|
2
|
-
import { utcTimezone } from '../timezone/timezones';
|
|
3
|
-
/** Convert a FullDate into a unix timestamp with milliseconds. */
|
|
4
|
-
export function toTimestamp(fullDate) {
|
|
5
|
-
return toLuxonDateTime(fullDate).toMillis();
|
|
6
|
-
}
|
|
7
|
-
/** Convert a FullDate into an ISO string in UTC; always ends in Z. */
|
|
8
|
-
export function toIsoString(fullDate) {
|
|
9
|
-
const isoString = toLuxonDateTime(fullDate).setZone(utcTimezone).toISO();
|
|
10
|
-
/** Ignore this edge case in the types and idk how to trigger it. */
|
|
11
|
-
/* c8 ignore next 3 */
|
|
12
|
-
if (!isoString) {
|
|
13
|
-
throw new Error(`Unable to get ISO string for '${JSON.stringify(fullDate)}'`);
|
|
14
|
-
}
|
|
15
|
-
return isoString;
|
|
16
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Timezone } from '../timezone/timezone-names';
|
|
2
|
-
import { UtcTimezone } from '../timezone/timezones';
|
|
3
|
-
import { DateLike } from './date-like';
|
|
4
|
-
import { FullDate } from './full-date-shape';
|
|
5
|
-
export declare function createFullDateInUserTimezone(dateLike: Readonly<DateLike>): FullDate;
|
|
6
|
-
export declare function createUtcFullDate(dateLike: Readonly<DateLike>): FullDate<UtcTimezone>;
|
|
7
|
-
/**
|
|
8
|
-
* Parses the given dateLike and then reads the fullDate properties from that parsed value as if it
|
|
9
|
-
* were in the given timezone.
|
|
10
|
-
*/
|
|
11
|
-
export declare function createFullDate<const SpecificTimezone extends Timezone>(
|
|
12
|
-
/** The original date representation to be converted into a FullDate. */
|
|
13
|
-
dateLike: Readonly<DateLike>,
|
|
14
|
-
/** The timezone that this date/time is meant for / originated from. */
|
|
15
|
-
timezone: SpecificTimezone): FullDate<SpecificTimezone>;
|
|
16
|
-
/**
|
|
17
|
-
* Creates and returns a new FullDate object with its values shifted to be the same original time
|
|
18
|
-
* but represented in a new timezone.
|
|
19
|
-
*/
|
|
20
|
-
export declare function toNewTimezone<const SpecificTimezone extends Timezone>(fullDate: Readonly<FullDate>, timezone: SpecificTimezone): FullDate<SpecificTimezone>;
|
|
21
|
-
export declare function getNowFullDate<const SpecificTimezone extends Timezone>(timezone: SpecificTimezone): FullDate<SpecificTimezone>;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { DateTime } from 'luxon';
|
|
2
|
-
import { isRunTimeType } from 'run-time-assertions';
|
|
3
|
-
import { userTimezone, utcTimezone } from '../timezone/timezones';
|
|
4
|
-
import { isValidFullDate } from './is-valid-full-date';
|
|
5
|
-
import { parseLuxonDateTime, toLuxonDateTime } from './luxon-date-time-conversion';
|
|
6
|
-
import { parseDateString } from './string-parsing';
|
|
7
|
-
export function createFullDateInUserTimezone(dateLike) {
|
|
8
|
-
return createFullDate(dateLike, userTimezone);
|
|
9
|
-
}
|
|
10
|
-
export function createUtcFullDate(dateLike) {
|
|
11
|
-
return createFullDate(dateLike, utcTimezone);
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Parses the given dateLike and then reads the fullDate properties from that parsed value as if it
|
|
15
|
-
* were in the given timezone.
|
|
16
|
-
*/
|
|
17
|
-
export function createFullDate(
|
|
18
|
-
/** The original date representation to be converted into a FullDate. */
|
|
19
|
-
dateLike,
|
|
20
|
-
/** The timezone that this date/time is meant for / originated from. */
|
|
21
|
-
timezone) {
|
|
22
|
-
const dateTime = convertDateLikeToLuxonDateTime(dateLike, timezone);
|
|
23
|
-
if (!dateTime || !dateTime.isValid) {
|
|
24
|
-
throw new Error(`Failed to parse date input '${dateLike}'`);
|
|
25
|
-
}
|
|
26
|
-
return parseLuxonDateTime(dateTime, timezone);
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Creates and returns a new FullDate object with its values shifted to be the same original time
|
|
30
|
-
* but represented in a new timezone.
|
|
31
|
-
*/
|
|
32
|
-
export function toNewTimezone(fullDate, timezone) {
|
|
33
|
-
if (fullDate.timezone === timezone) {
|
|
34
|
-
return fullDate;
|
|
35
|
-
}
|
|
36
|
-
return createFullDate(fullDate, timezone);
|
|
37
|
-
}
|
|
38
|
-
function lastDitchConversion(dateLike) {
|
|
39
|
-
DateTime.fromFormat;
|
|
40
|
-
/** As any cast for last ditch effort to convert the dateLike into a date. */
|
|
41
|
-
const dateTime = DateTime.fromJSDate(new Date(dateLike));
|
|
42
|
-
if (dateTime.isValid) {
|
|
43
|
-
return dateTime;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
return undefined;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
function convertDateLikeToLuxonDateTime(dateLike, timezone) {
|
|
50
|
-
if (isValidFullDate(dateLike)) {
|
|
51
|
-
dateLike = toLuxonDateTime(dateLike).toMillis();
|
|
52
|
-
}
|
|
53
|
-
if (DateTime.isDateTime(dateLike)) {
|
|
54
|
-
return dateLike.setZone(timezone);
|
|
55
|
-
}
|
|
56
|
-
else if (isRunTimeType(dateLike, 'number')) {
|
|
57
|
-
return DateTime.fromMillis(dateLike, { zone: utcTimezone }).setZone(timezone);
|
|
58
|
-
}
|
|
59
|
-
else if (isRunTimeType(dateLike, 'string')) {
|
|
60
|
-
const parsedStringDate = parseDateString(dateLike, timezone);
|
|
61
|
-
if (parsedStringDate) {
|
|
62
|
-
return parsedStringDate;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
else if (dateLike instanceof Date) {
|
|
66
|
-
const dateTime = DateTime.fromJSDate(dateLike);
|
|
67
|
-
return dateTime.setZone(timezone);
|
|
68
|
-
}
|
|
69
|
-
return lastDitchConversion(dateLike);
|
|
70
|
-
}
|
|
71
|
-
export function getNowFullDate(timezone) {
|
|
72
|
-
return createFullDate(Date.now(), timezone);
|
|
73
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { DateTime } from 'luxon';
|
|
2
|
-
import { Timezone } from '../timezone/timezone-names';
|
|
3
|
-
import { FullDate } from './full-date-shape';
|
|
4
|
-
/** Types that can be converted into dates. */
|
|
5
|
-
export type DateLike<SpecificTimezone extends Timezone = Timezone> = string | Date | number | DateTime | FullDate<SpecificTimezone>;
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { ArrayElement, Overwrite, RequiredBy } from '@augment-vir/common';
|
|
2
|
-
import { Timezone } from '../timezone/timezone-names';
|
|
3
|
-
/**
|
|
4
|
-
* Represents various parts of a FullDate. Each value is also a valid "type" attribute for an
|
|
5
|
-
* <input> HTML element.
|
|
6
|
-
*/
|
|
7
|
-
export declare enum FullDatePartEnum {
|
|
8
|
-
Date = "date",
|
|
9
|
-
Time = "time",
|
|
10
|
-
DateTime = "datetime-local"
|
|
11
|
-
}
|
|
12
|
-
export declare const timeFullDateKeys: readonly ["hour", "minute", "second", "millisecond"];
|
|
13
|
-
export type TimeFullDateKeys = ArrayElement<typeof timeFullDateKeys>;
|
|
14
|
-
export declare const dateFullDateKeys: readonly ["year", "month", "day"];
|
|
15
|
-
export type DateFullDateKeys = ArrayElement<typeof dateFullDateKeys>;
|
|
16
|
-
export declare const timePartShape: import("object-shape-tester").ShapeDefinition<{
|
|
17
|
-
/** Hour of the day in 24 time: 0-23 */
|
|
18
|
-
hour: number;
|
|
19
|
-
/** Minute of the hour: 0-59 */
|
|
20
|
-
minute: number;
|
|
21
|
-
/** Second of the minute: 0-59 */
|
|
22
|
-
second: number;
|
|
23
|
-
/** Millisecond of the second: 0-999 */
|
|
24
|
-
millisecond: number;
|
|
25
|
-
/** The timezone that this date/time is meant for / originated from. */
|
|
26
|
-
timezone: "Africa/Abidjan" | "Africa/Accra" | "Africa/Addis_Ababa" | "Africa/Algiers" | "Africa/Asmara" | "Africa/Bamako" | "Africa/Bangui" | "Africa/Banjul" | "Africa/Bissau" | "Africa/Blantyre" | "Africa/Brazzaville" | "Africa/Bujumbura" | "Africa/Cairo" | "Africa/Casablanca" | "Africa/Ceuta" | "Africa/Conakry" | "Africa/Dakar" | "Africa/Dar_es_Salaam" | "Africa/Djibouti" | "Africa/Douala" | "Africa/El_Aaiun" | "Africa/Freetown" | "Africa/Gaborone" | "Africa/Harare" | "Africa/Johannesburg" | "Africa/Juba" | "Africa/Kampala" | "Africa/Khartoum" | "Africa/Kigali" | "Africa/Kinshasa" | "Africa/Lagos" | "Africa/Libreville" | "Africa/Lome" | "Africa/Luanda" | "Africa/Lubumbashi" | "Africa/Lusaka" | "Africa/Malabo" | "Africa/Maputo" | "Africa/Maseru" | "Africa/Mbabane" | "Africa/Mogadishu" | "Africa/Monrovia" | "Africa/Nairobi" | "Africa/Ndjamena" | "Africa/Niamey" | "Africa/Nouakchott" | "Africa/Ouagadougou" | "Africa/Porto-Novo" | "Africa/Sao_Tome" | "Africa/Timbuktu" | "Africa/Tripoli" | "Africa/Tunis" | "Africa/Windhoek" | "America/Adak" | "America/Anchorage" | "America/Anguilla" | "America/Antigua" | "America/Araguaina" | "America/Argentina/Buenos_Aires" | "America/Argentina/Catamarca" | "America/Argentina/ComodRivadavia" | "America/Argentina/Cordoba" | "America/Argentina/Jujuy" | "America/Argentina/La_Rioja" | "America/Argentina/Mendoza" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Salta" | "America/Argentina/San_Juan" | "America/Argentina/San_Luis" | "America/Argentina/Tucuman" | "America/Argentina/Ushuaia" | "America/Aruba" | "America/Asuncion" | "America/Atikokan" | "America/Bahia" | "America/Bahia_Banderas" | "America/Barbados" | "America/Belem" | "America/Belize" | "America/Blanc-Sablon" | "America/Boa_Vista" | "America/Bogota" | "America/Boise" | "America/Cambridge_Bay" | "America/Campo_Grande" | "America/Cancun" | "America/Caracas" | "America/Cayenne" | "America/Cayman" | "America/Chicago" | "America/Chihuahua" | "America/Coral_Harbour" | "America/Costa_Rica" | "America/Creston" | "America/Cuiaba" | "America/Curacao" | "America/Danmarkshavn" | "America/Dawson" | "America/Dawson_Creek" | "America/Denver" | "America/Detroit" | "America/Dominica" | "America/Edmonton" | "America/Eirunepe" | "America/El_Salvador" | "America/Ensenada" | "America/Fort_Nelson" | "America/Fortaleza" | "America/Glace_Bay" | "America/Goose_Bay" | "America/Grand_Turk" | "America/Grenada" | "America/Guadeloupe" | "America/Guatemala" | "America/Guayaquil" | "America/Guyana" | "America/Halifax" | "America/Havana" | "America/Hermosillo" | "America/Indiana/Indianapolis" | "America/Indiana/Knox" | "America/Indiana/Marengo" | "America/Indiana/Petersburg" | "America/Indiana/Tell_City" | "America/Indiana/Vevay" | "America/Indiana/Vincennes" | "America/Indiana/Winamac" | "America/Inuvik" | "America/Iqaluit" | "America/Jamaica" | "America/Juneau" | "America/Kentucky/Louisville" | "America/Kentucky/Monticello" | "America/La_Paz" | "America/Lima" | "America/Los_Angeles" | "America/Maceio" | "America/Managua" | "America/Manaus" | "America/Martinique" | "America/Matamoros" | "America/Mazatlan" | "America/Menominee" | "America/Merida" | "America/Metlakatla" | "America/Mexico_City" | "America/Miquelon" | "America/Moncton" | "America/Monterrey" | "America/Montevideo" | "America/Montreal" | "America/Montserrat" | "America/Nassau" | "America/New_York" | "America/Nipigon" | "America/Nome" | "America/Noronha" | "America/North_Dakota/Beulah" | "America/North_Dakota/Center" | "America/North_Dakota/New_Salem" | "America/Nuuk" | "America/Ojinaga" | "America/Panama" | "America/Pangnirtung" | "America/Paramaribo" | "America/Phoenix" | "America/Port-au-Prince" | "America/Port_of_Spain" | "America/Porto_Velho" | "America/Puerto_Rico" | "America/Punta_Arenas" | "America/Rainy_River" | "America/Rankin_Inlet" | "America/Recife" | "America/Regina" | "America/Resolute" | "America/Rio_Branco" | "America/Rosario" | "America/Santarem" | "America/Santiago" | "America/Santo_Domingo" | "America/Sao_Paulo" | "America/Scoresbysund" | "America/Sitka" | "America/St_Johns" | "America/St_Kitts" | "America/St_Lucia" | "America/St_Thomas" | "America/St_Vincent" | "America/Swift_Current" | "America/Tegucigalpa" | "America/Thule" | "America/Thunder_Bay" | "America/Tijuana" | "America/Toronto" | "America/Tortola" | "America/Vancouver" | "America/Whitehorse" | "America/Winnipeg" | "America/Yakutat" | "America/Yellowknife" | "Antarctica/Casey" | "Antarctica/Davis" | "Antarctica/DumontDUrville" | "Antarctica/Macquarie" | "Antarctica/Mawson" | "Antarctica/McMurdo" | "Antarctica/Palmer" | "Antarctica/Rothera" | "Antarctica/Syowa" | "Antarctica/Troll" | "Antarctica/Vostok" | "Asia/Aden" | "Asia/Almaty" | "Asia/Amman" | "Asia/Anadyr" | "Asia/Aqtau" | "Asia/Aqtobe" | "Asia/Ashgabat" | "Asia/Atyrau" | "Asia/Baghdad" | "Asia/Bahrain" | "Asia/Baku" | "Asia/Bangkok" | "Asia/Barnaul" | "Asia/Beirut" | "Asia/Bishkek" | "Asia/Brunei" | "Asia/Chita" | "Asia/Choibalsan" | "Asia/Chongqing" | "Asia/Colombo" | "Asia/Damascus" | "Asia/Dhaka" | "Asia/Dili" | "Asia/Dubai" | "Asia/Dushanbe" | "Asia/Famagusta" | "Asia/Gaza" | "Asia/Harbin" | "Asia/Hebron" | "Asia/Ho_Chi_Minh" | "Asia/Hong_Kong" | "Asia/Hovd" | "Asia/Irkutsk" | "Asia/Jakarta" | "Asia/Jayapura" | "Asia/Jerusalem" | "Asia/Kabul" | "Asia/Kamchatka" | "Asia/Karachi" | "Asia/Kashgar" | "Asia/Kathmandu" | "Asia/Khandyga" | "Asia/Kolkata" | "Asia/Krasnoyarsk" | "Asia/Kuala_Lumpur" | "Asia/Kuching" | "Asia/Kuwait" | "Asia/Macau" | "Asia/Magadan" | "Asia/Makassar" | "Asia/Manila" | "Asia/Muscat" | "Asia/Nicosia" | "Asia/Novokuznetsk" | "Asia/Novosibirsk" | "Asia/Omsk" | "Asia/Oral" | "Asia/Phnom_Penh" | "Asia/Pontianak" | "Asia/Pyongyang" | "Asia/Qatar" | "Asia/Qostanay" | "Asia/Qyzylorda" | "Asia/Riyadh" | "Asia/Sakhalin" | "Asia/Samarkand" | "Asia/Seoul" | "Asia/Shanghai" | "Asia/Singapore" | "Asia/Srednekolymsk" | "Asia/Taipei" | "Asia/Tashkent" | "Asia/Tbilisi" | "Asia/Tehran" | "Asia/Tel_Aviv" | "Asia/Thimphu" | "Asia/Tokyo" | "Asia/Tomsk" | "Asia/Ulaanbaatar" | "Asia/Urumqi" | "Asia/Ust-Nera" | "Asia/Vientiane" | "Asia/Vladivostok" | "Asia/Yakutsk" | "Asia/Yangon" | "Asia/Yekaterinburg" | "Asia/Yerevan" | "Atlantic/Azores" | "Atlantic/Bermuda" | "Atlantic/Canary" | "Atlantic/Cape_Verde" | "Atlantic/Faroe" | "Atlantic/Jan_Mayen" | "Atlantic/Madeira" | "Atlantic/Reykjavik" | "Atlantic/South_Georgia" | "Atlantic/St_Helena" | "Atlantic/Stanley" | "Australia/Adelaide" | "Australia/Brisbane" | "Australia/Broken_Hill" | "Australia/Currie" | "Australia/Darwin" | "Australia/Eucla" | "Australia/Hobart" | "Australia/Lindeman" | "Australia/Lord_Howe" | "Australia/Melbourne" | "Australia/Perth" | "Australia/Sydney" | "CET" | "CST6CDT" | "EET" | "EST" | "EST5EDT" | "Etc/GMT+1" | "Etc/GMT+10" | "Etc/GMT+11" | "Etc/GMT+12" | "Etc/GMT+2" | "Etc/GMT+3" | "Etc/GMT+4" | "Etc/GMT+5" | "Etc/GMT+6" | "Etc/GMT+7" | "Etc/GMT+8" | "Etc/GMT+9" | "Etc/GMT-1" | "Etc/GMT-10" | "Etc/GMT-11" | "Etc/GMT-12" | "Etc/GMT-13" | "Etc/GMT-14" | "Etc/GMT-2" | "Etc/GMT-3" | "Etc/GMT-4" | "Etc/GMT-5" | "Etc/GMT-6" | "Etc/GMT-7" | "Etc/GMT-8" | "Etc/GMT-9" | "Europe/Amsterdam" | "Europe/Andorra" | "Europe/Astrakhan" | "Europe/Athens" | "Europe/Belfast" | "Europe/Belgrade" | "Europe/Berlin" | "Europe/Brussels" | "Europe/Bucharest" | "Europe/Budapest" | "Europe/Chisinau" | "Europe/Copenhagen" | "Europe/Dublin" | "Europe/Gibraltar" | "Europe/Guernsey" | "Europe/Helsinki" | "Europe/Isle_of_Man" | "Europe/Istanbul" | "Europe/Jersey" | "Europe/Kaliningrad" | "Europe/Kirov" | "Europe/Kyiv" | "Europe/Lisbon" | "Europe/Ljubljana" | "Europe/London" | "Europe/Luxembourg" | "Europe/Madrid" | "Europe/Malta" | "Europe/Minsk" | "Europe/Monaco" | "Europe/Moscow" | "Europe/Oslo" | "Europe/Paris" | "Europe/Prague" | "Europe/Riga" | "Europe/Rome" | "Europe/Samara" | "Europe/Sarajevo" | "Europe/Saratov" | "Europe/Simferopol" | "Europe/Skopje" | "Europe/Sofia" | "Europe/Stockholm" | "Europe/Tallinn" | "Europe/Tirane" | "Europe/Tiraspol" | "Europe/Ulyanovsk" | "Europe/Uzhgorod" | "Europe/Vaduz" | "Europe/Vienna" | "Europe/Vilnius" | "Europe/Volgograd" | "Europe/Warsaw" | "Europe/Zagreb" | "Europe/Zaporozhye" | "Europe/Zurich" | "Factory" | "HST" | "Indian/Antananarivo" | "Indian/Chagos" | "Indian/Christmas" | "Indian/Cocos" | "Indian/Comoro" | "Indian/Kerguelen" | "Indian/Mahe" | "Indian/Maldives" | "Indian/Mauritius" | "Indian/Mayotte" | "Indian/Reunion" | "MET" | "MST" | "MST7MDT" | "PST8PDT" | "Pacific/Apia" | "Pacific/Auckland" | "Pacific/Bougainville" | "Pacific/Chatham" | "Pacific/Chuuk" | "Pacific/Easter" | "Pacific/Efate" | "Pacific/Enderbury" | "Pacific/Fakaofo" | "Pacific/Fiji" | "Pacific/Funafuti" | "Pacific/Galapagos" | "Pacific/Gambier" | "Pacific/Guadalcanal" | "Pacific/Guam" | "Pacific/Honolulu" | "Pacific/Johnston" | "Pacific/Kanton" | "Pacific/Kiritimati" | "Pacific/Kosrae" | "Pacific/Kwajalein" | "Pacific/Majuro" | "Pacific/Marquesas" | "Pacific/Midway" | "Pacific/Nauru" | "Pacific/Niue" | "Pacific/Norfolk" | "Pacific/Noumea" | "Pacific/Pago_Pago" | "Pacific/Palau" | "Pacific/Pitcairn" | "Pacific/Pohnpei" | "Pacific/Port_Moresby" | "Pacific/Rarotonga" | "Pacific/Saipan" | "Pacific/Tahiti" | "Pacific/Tarawa" | "Pacific/Tongatapu" | "Pacific/Wake" | "Pacific/Wallis" | "UTC" | "WET";
|
|
27
|
-
}, false>;
|
|
28
|
-
export type TimePart<SpecificTimezone extends Timezone = Timezone> = RequiredBy<Partial<FullDate<SpecificTimezone>>, keyof (typeof timePartShape)['runTimeType']>;
|
|
29
|
-
export declare const datePartShape: import("object-shape-tester").ShapeDefinition<{
|
|
30
|
-
/**
|
|
31
|
-
* The full, four digit year.
|
|
32
|
-
*
|
|
33
|
-
* @example
|
|
34
|
-
* 2023;
|
|
35
|
-
*/
|
|
36
|
-
year: number;
|
|
37
|
-
/** A month of the year: 1-12 */
|
|
38
|
-
month: number;
|
|
39
|
-
/** A day of the month: 1-31 depending on the month */
|
|
40
|
-
day: number;
|
|
41
|
-
/** The timezone that this date/time is meant for / originated from. */
|
|
42
|
-
timezone: "Africa/Abidjan" | "Africa/Accra" | "Africa/Addis_Ababa" | "Africa/Algiers" | "Africa/Asmara" | "Africa/Bamako" | "Africa/Bangui" | "Africa/Banjul" | "Africa/Bissau" | "Africa/Blantyre" | "Africa/Brazzaville" | "Africa/Bujumbura" | "Africa/Cairo" | "Africa/Casablanca" | "Africa/Ceuta" | "Africa/Conakry" | "Africa/Dakar" | "Africa/Dar_es_Salaam" | "Africa/Djibouti" | "Africa/Douala" | "Africa/El_Aaiun" | "Africa/Freetown" | "Africa/Gaborone" | "Africa/Harare" | "Africa/Johannesburg" | "Africa/Juba" | "Africa/Kampala" | "Africa/Khartoum" | "Africa/Kigali" | "Africa/Kinshasa" | "Africa/Lagos" | "Africa/Libreville" | "Africa/Lome" | "Africa/Luanda" | "Africa/Lubumbashi" | "Africa/Lusaka" | "Africa/Malabo" | "Africa/Maputo" | "Africa/Maseru" | "Africa/Mbabane" | "Africa/Mogadishu" | "Africa/Monrovia" | "Africa/Nairobi" | "Africa/Ndjamena" | "Africa/Niamey" | "Africa/Nouakchott" | "Africa/Ouagadougou" | "Africa/Porto-Novo" | "Africa/Sao_Tome" | "Africa/Timbuktu" | "Africa/Tripoli" | "Africa/Tunis" | "Africa/Windhoek" | "America/Adak" | "America/Anchorage" | "America/Anguilla" | "America/Antigua" | "America/Araguaina" | "America/Argentina/Buenos_Aires" | "America/Argentina/Catamarca" | "America/Argentina/ComodRivadavia" | "America/Argentina/Cordoba" | "America/Argentina/Jujuy" | "America/Argentina/La_Rioja" | "America/Argentina/Mendoza" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Salta" | "America/Argentina/San_Juan" | "America/Argentina/San_Luis" | "America/Argentina/Tucuman" | "America/Argentina/Ushuaia" | "America/Aruba" | "America/Asuncion" | "America/Atikokan" | "America/Bahia" | "America/Bahia_Banderas" | "America/Barbados" | "America/Belem" | "America/Belize" | "America/Blanc-Sablon" | "America/Boa_Vista" | "America/Bogota" | "America/Boise" | "America/Cambridge_Bay" | "America/Campo_Grande" | "America/Cancun" | "America/Caracas" | "America/Cayenne" | "America/Cayman" | "America/Chicago" | "America/Chihuahua" | "America/Coral_Harbour" | "America/Costa_Rica" | "America/Creston" | "America/Cuiaba" | "America/Curacao" | "America/Danmarkshavn" | "America/Dawson" | "America/Dawson_Creek" | "America/Denver" | "America/Detroit" | "America/Dominica" | "America/Edmonton" | "America/Eirunepe" | "America/El_Salvador" | "America/Ensenada" | "America/Fort_Nelson" | "America/Fortaleza" | "America/Glace_Bay" | "America/Goose_Bay" | "America/Grand_Turk" | "America/Grenada" | "America/Guadeloupe" | "America/Guatemala" | "America/Guayaquil" | "America/Guyana" | "America/Halifax" | "America/Havana" | "America/Hermosillo" | "America/Indiana/Indianapolis" | "America/Indiana/Knox" | "America/Indiana/Marengo" | "America/Indiana/Petersburg" | "America/Indiana/Tell_City" | "America/Indiana/Vevay" | "America/Indiana/Vincennes" | "America/Indiana/Winamac" | "America/Inuvik" | "America/Iqaluit" | "America/Jamaica" | "America/Juneau" | "America/Kentucky/Louisville" | "America/Kentucky/Monticello" | "America/La_Paz" | "America/Lima" | "America/Los_Angeles" | "America/Maceio" | "America/Managua" | "America/Manaus" | "America/Martinique" | "America/Matamoros" | "America/Mazatlan" | "America/Menominee" | "America/Merida" | "America/Metlakatla" | "America/Mexico_City" | "America/Miquelon" | "America/Moncton" | "America/Monterrey" | "America/Montevideo" | "America/Montreal" | "America/Montserrat" | "America/Nassau" | "America/New_York" | "America/Nipigon" | "America/Nome" | "America/Noronha" | "America/North_Dakota/Beulah" | "America/North_Dakota/Center" | "America/North_Dakota/New_Salem" | "America/Nuuk" | "America/Ojinaga" | "America/Panama" | "America/Pangnirtung" | "America/Paramaribo" | "America/Phoenix" | "America/Port-au-Prince" | "America/Port_of_Spain" | "America/Porto_Velho" | "America/Puerto_Rico" | "America/Punta_Arenas" | "America/Rainy_River" | "America/Rankin_Inlet" | "America/Recife" | "America/Regina" | "America/Resolute" | "America/Rio_Branco" | "America/Rosario" | "America/Santarem" | "America/Santiago" | "America/Santo_Domingo" | "America/Sao_Paulo" | "America/Scoresbysund" | "America/Sitka" | "America/St_Johns" | "America/St_Kitts" | "America/St_Lucia" | "America/St_Thomas" | "America/St_Vincent" | "America/Swift_Current" | "America/Tegucigalpa" | "America/Thule" | "America/Thunder_Bay" | "America/Tijuana" | "America/Toronto" | "America/Tortola" | "America/Vancouver" | "America/Whitehorse" | "America/Winnipeg" | "America/Yakutat" | "America/Yellowknife" | "Antarctica/Casey" | "Antarctica/Davis" | "Antarctica/DumontDUrville" | "Antarctica/Macquarie" | "Antarctica/Mawson" | "Antarctica/McMurdo" | "Antarctica/Palmer" | "Antarctica/Rothera" | "Antarctica/Syowa" | "Antarctica/Troll" | "Antarctica/Vostok" | "Asia/Aden" | "Asia/Almaty" | "Asia/Amman" | "Asia/Anadyr" | "Asia/Aqtau" | "Asia/Aqtobe" | "Asia/Ashgabat" | "Asia/Atyrau" | "Asia/Baghdad" | "Asia/Bahrain" | "Asia/Baku" | "Asia/Bangkok" | "Asia/Barnaul" | "Asia/Beirut" | "Asia/Bishkek" | "Asia/Brunei" | "Asia/Chita" | "Asia/Choibalsan" | "Asia/Chongqing" | "Asia/Colombo" | "Asia/Damascus" | "Asia/Dhaka" | "Asia/Dili" | "Asia/Dubai" | "Asia/Dushanbe" | "Asia/Famagusta" | "Asia/Gaza" | "Asia/Harbin" | "Asia/Hebron" | "Asia/Ho_Chi_Minh" | "Asia/Hong_Kong" | "Asia/Hovd" | "Asia/Irkutsk" | "Asia/Jakarta" | "Asia/Jayapura" | "Asia/Jerusalem" | "Asia/Kabul" | "Asia/Kamchatka" | "Asia/Karachi" | "Asia/Kashgar" | "Asia/Kathmandu" | "Asia/Khandyga" | "Asia/Kolkata" | "Asia/Krasnoyarsk" | "Asia/Kuala_Lumpur" | "Asia/Kuching" | "Asia/Kuwait" | "Asia/Macau" | "Asia/Magadan" | "Asia/Makassar" | "Asia/Manila" | "Asia/Muscat" | "Asia/Nicosia" | "Asia/Novokuznetsk" | "Asia/Novosibirsk" | "Asia/Omsk" | "Asia/Oral" | "Asia/Phnom_Penh" | "Asia/Pontianak" | "Asia/Pyongyang" | "Asia/Qatar" | "Asia/Qostanay" | "Asia/Qyzylorda" | "Asia/Riyadh" | "Asia/Sakhalin" | "Asia/Samarkand" | "Asia/Seoul" | "Asia/Shanghai" | "Asia/Singapore" | "Asia/Srednekolymsk" | "Asia/Taipei" | "Asia/Tashkent" | "Asia/Tbilisi" | "Asia/Tehran" | "Asia/Tel_Aviv" | "Asia/Thimphu" | "Asia/Tokyo" | "Asia/Tomsk" | "Asia/Ulaanbaatar" | "Asia/Urumqi" | "Asia/Ust-Nera" | "Asia/Vientiane" | "Asia/Vladivostok" | "Asia/Yakutsk" | "Asia/Yangon" | "Asia/Yekaterinburg" | "Asia/Yerevan" | "Atlantic/Azores" | "Atlantic/Bermuda" | "Atlantic/Canary" | "Atlantic/Cape_Verde" | "Atlantic/Faroe" | "Atlantic/Jan_Mayen" | "Atlantic/Madeira" | "Atlantic/Reykjavik" | "Atlantic/South_Georgia" | "Atlantic/St_Helena" | "Atlantic/Stanley" | "Australia/Adelaide" | "Australia/Brisbane" | "Australia/Broken_Hill" | "Australia/Currie" | "Australia/Darwin" | "Australia/Eucla" | "Australia/Hobart" | "Australia/Lindeman" | "Australia/Lord_Howe" | "Australia/Melbourne" | "Australia/Perth" | "Australia/Sydney" | "CET" | "CST6CDT" | "EET" | "EST" | "EST5EDT" | "Etc/GMT+1" | "Etc/GMT+10" | "Etc/GMT+11" | "Etc/GMT+12" | "Etc/GMT+2" | "Etc/GMT+3" | "Etc/GMT+4" | "Etc/GMT+5" | "Etc/GMT+6" | "Etc/GMT+7" | "Etc/GMT+8" | "Etc/GMT+9" | "Etc/GMT-1" | "Etc/GMT-10" | "Etc/GMT-11" | "Etc/GMT-12" | "Etc/GMT-13" | "Etc/GMT-14" | "Etc/GMT-2" | "Etc/GMT-3" | "Etc/GMT-4" | "Etc/GMT-5" | "Etc/GMT-6" | "Etc/GMT-7" | "Etc/GMT-8" | "Etc/GMT-9" | "Europe/Amsterdam" | "Europe/Andorra" | "Europe/Astrakhan" | "Europe/Athens" | "Europe/Belfast" | "Europe/Belgrade" | "Europe/Berlin" | "Europe/Brussels" | "Europe/Bucharest" | "Europe/Budapest" | "Europe/Chisinau" | "Europe/Copenhagen" | "Europe/Dublin" | "Europe/Gibraltar" | "Europe/Guernsey" | "Europe/Helsinki" | "Europe/Isle_of_Man" | "Europe/Istanbul" | "Europe/Jersey" | "Europe/Kaliningrad" | "Europe/Kirov" | "Europe/Kyiv" | "Europe/Lisbon" | "Europe/Ljubljana" | "Europe/London" | "Europe/Luxembourg" | "Europe/Madrid" | "Europe/Malta" | "Europe/Minsk" | "Europe/Monaco" | "Europe/Moscow" | "Europe/Oslo" | "Europe/Paris" | "Europe/Prague" | "Europe/Riga" | "Europe/Rome" | "Europe/Samara" | "Europe/Sarajevo" | "Europe/Saratov" | "Europe/Simferopol" | "Europe/Skopje" | "Europe/Sofia" | "Europe/Stockholm" | "Europe/Tallinn" | "Europe/Tirane" | "Europe/Tiraspol" | "Europe/Ulyanovsk" | "Europe/Uzhgorod" | "Europe/Vaduz" | "Europe/Vienna" | "Europe/Vilnius" | "Europe/Volgograd" | "Europe/Warsaw" | "Europe/Zagreb" | "Europe/Zaporozhye" | "Europe/Zurich" | "Factory" | "HST" | "Indian/Antananarivo" | "Indian/Chagos" | "Indian/Christmas" | "Indian/Cocos" | "Indian/Comoro" | "Indian/Kerguelen" | "Indian/Mahe" | "Indian/Maldives" | "Indian/Mauritius" | "Indian/Mayotte" | "Indian/Reunion" | "MET" | "MST" | "MST7MDT" | "PST8PDT" | "Pacific/Apia" | "Pacific/Auckland" | "Pacific/Bougainville" | "Pacific/Chatham" | "Pacific/Chuuk" | "Pacific/Easter" | "Pacific/Efate" | "Pacific/Enderbury" | "Pacific/Fakaofo" | "Pacific/Fiji" | "Pacific/Funafuti" | "Pacific/Galapagos" | "Pacific/Gambier" | "Pacific/Guadalcanal" | "Pacific/Guam" | "Pacific/Honolulu" | "Pacific/Johnston" | "Pacific/Kanton" | "Pacific/Kiritimati" | "Pacific/Kosrae" | "Pacific/Kwajalein" | "Pacific/Majuro" | "Pacific/Marquesas" | "Pacific/Midway" | "Pacific/Nauru" | "Pacific/Niue" | "Pacific/Norfolk" | "Pacific/Noumea" | "Pacific/Pago_Pago" | "Pacific/Palau" | "Pacific/Pitcairn" | "Pacific/Pohnpei" | "Pacific/Port_Moresby" | "Pacific/Rarotonga" | "Pacific/Saipan" | "Pacific/Tahiti" | "Pacific/Tarawa" | "Pacific/Tongatapu" | "Pacific/Wake" | "Pacific/Wallis" | "UTC" | "WET";
|
|
43
|
-
}, false>;
|
|
44
|
-
export type DatePart<SpecificTimezone extends Timezone = Timezone> = RequiredBy<Partial<FullDate<SpecificTimezone>>, keyof (typeof datePartShape)['runTimeType']>;
|
|
45
|
-
export declare const fullDateShape: import("object-shape-tester").ShapeDefinition<import("object-shape-tester").ShapeAnd<[import("object-shape-tester").ShapeDefinition<{
|
|
46
|
-
/**
|
|
47
|
-
* The full, four digit year.
|
|
48
|
-
*
|
|
49
|
-
* @example
|
|
50
|
-
* 2023;
|
|
51
|
-
*/
|
|
52
|
-
year: number;
|
|
53
|
-
/** A month of the year: 1-12 */
|
|
54
|
-
month: number;
|
|
55
|
-
/** A day of the month: 1-31 depending on the month */
|
|
56
|
-
day: number;
|
|
57
|
-
/** The timezone that this date/time is meant for / originated from. */
|
|
58
|
-
timezone: "Africa/Abidjan" | "Africa/Accra" | "Africa/Addis_Ababa" | "Africa/Algiers" | "Africa/Asmara" | "Africa/Bamako" | "Africa/Bangui" | "Africa/Banjul" | "Africa/Bissau" | "Africa/Blantyre" | "Africa/Brazzaville" | "Africa/Bujumbura" | "Africa/Cairo" | "Africa/Casablanca" | "Africa/Ceuta" | "Africa/Conakry" | "Africa/Dakar" | "Africa/Dar_es_Salaam" | "Africa/Djibouti" | "Africa/Douala" | "Africa/El_Aaiun" | "Africa/Freetown" | "Africa/Gaborone" | "Africa/Harare" | "Africa/Johannesburg" | "Africa/Juba" | "Africa/Kampala" | "Africa/Khartoum" | "Africa/Kigali" | "Africa/Kinshasa" | "Africa/Lagos" | "Africa/Libreville" | "Africa/Lome" | "Africa/Luanda" | "Africa/Lubumbashi" | "Africa/Lusaka" | "Africa/Malabo" | "Africa/Maputo" | "Africa/Maseru" | "Africa/Mbabane" | "Africa/Mogadishu" | "Africa/Monrovia" | "Africa/Nairobi" | "Africa/Ndjamena" | "Africa/Niamey" | "Africa/Nouakchott" | "Africa/Ouagadougou" | "Africa/Porto-Novo" | "Africa/Sao_Tome" | "Africa/Timbuktu" | "Africa/Tripoli" | "Africa/Tunis" | "Africa/Windhoek" | "America/Adak" | "America/Anchorage" | "America/Anguilla" | "America/Antigua" | "America/Araguaina" | "America/Argentina/Buenos_Aires" | "America/Argentina/Catamarca" | "America/Argentina/ComodRivadavia" | "America/Argentina/Cordoba" | "America/Argentina/Jujuy" | "America/Argentina/La_Rioja" | "America/Argentina/Mendoza" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Salta" | "America/Argentina/San_Juan" | "America/Argentina/San_Luis" | "America/Argentina/Tucuman" | "America/Argentina/Ushuaia" | "America/Aruba" | "America/Asuncion" | "America/Atikokan" | "America/Bahia" | "America/Bahia_Banderas" | "America/Barbados" | "America/Belem" | "America/Belize" | "America/Blanc-Sablon" | "America/Boa_Vista" | "America/Bogota" | "America/Boise" | "America/Cambridge_Bay" | "America/Campo_Grande" | "America/Cancun" | "America/Caracas" | "America/Cayenne" | "America/Cayman" | "America/Chicago" | "America/Chihuahua" | "America/Coral_Harbour" | "America/Costa_Rica" | "America/Creston" | "America/Cuiaba" | "America/Curacao" | "America/Danmarkshavn" | "America/Dawson" | "America/Dawson_Creek" | "America/Denver" | "America/Detroit" | "America/Dominica" | "America/Edmonton" | "America/Eirunepe" | "America/El_Salvador" | "America/Ensenada" | "America/Fort_Nelson" | "America/Fortaleza" | "America/Glace_Bay" | "America/Goose_Bay" | "America/Grand_Turk" | "America/Grenada" | "America/Guadeloupe" | "America/Guatemala" | "America/Guayaquil" | "America/Guyana" | "America/Halifax" | "America/Havana" | "America/Hermosillo" | "America/Indiana/Indianapolis" | "America/Indiana/Knox" | "America/Indiana/Marengo" | "America/Indiana/Petersburg" | "America/Indiana/Tell_City" | "America/Indiana/Vevay" | "America/Indiana/Vincennes" | "America/Indiana/Winamac" | "America/Inuvik" | "America/Iqaluit" | "America/Jamaica" | "America/Juneau" | "America/Kentucky/Louisville" | "America/Kentucky/Monticello" | "America/La_Paz" | "America/Lima" | "America/Los_Angeles" | "America/Maceio" | "America/Managua" | "America/Manaus" | "America/Martinique" | "America/Matamoros" | "America/Mazatlan" | "America/Menominee" | "America/Merida" | "America/Metlakatla" | "America/Mexico_City" | "America/Miquelon" | "America/Moncton" | "America/Monterrey" | "America/Montevideo" | "America/Montreal" | "America/Montserrat" | "America/Nassau" | "America/New_York" | "America/Nipigon" | "America/Nome" | "America/Noronha" | "America/North_Dakota/Beulah" | "America/North_Dakota/Center" | "America/North_Dakota/New_Salem" | "America/Nuuk" | "America/Ojinaga" | "America/Panama" | "America/Pangnirtung" | "America/Paramaribo" | "America/Phoenix" | "America/Port-au-Prince" | "America/Port_of_Spain" | "America/Porto_Velho" | "America/Puerto_Rico" | "America/Punta_Arenas" | "America/Rainy_River" | "America/Rankin_Inlet" | "America/Recife" | "America/Regina" | "America/Resolute" | "America/Rio_Branco" | "America/Rosario" | "America/Santarem" | "America/Santiago" | "America/Santo_Domingo" | "America/Sao_Paulo" | "America/Scoresbysund" | "America/Sitka" | "America/St_Johns" | "America/St_Kitts" | "America/St_Lucia" | "America/St_Thomas" | "America/St_Vincent" | "America/Swift_Current" | "America/Tegucigalpa" | "America/Thule" | "America/Thunder_Bay" | "America/Tijuana" | "America/Toronto" | "America/Tortola" | "America/Vancouver" | "America/Whitehorse" | "America/Winnipeg" | "America/Yakutat" | "America/Yellowknife" | "Antarctica/Casey" | "Antarctica/Davis" | "Antarctica/DumontDUrville" | "Antarctica/Macquarie" | "Antarctica/Mawson" | "Antarctica/McMurdo" | "Antarctica/Palmer" | "Antarctica/Rothera" | "Antarctica/Syowa" | "Antarctica/Troll" | "Antarctica/Vostok" | "Asia/Aden" | "Asia/Almaty" | "Asia/Amman" | "Asia/Anadyr" | "Asia/Aqtau" | "Asia/Aqtobe" | "Asia/Ashgabat" | "Asia/Atyrau" | "Asia/Baghdad" | "Asia/Bahrain" | "Asia/Baku" | "Asia/Bangkok" | "Asia/Barnaul" | "Asia/Beirut" | "Asia/Bishkek" | "Asia/Brunei" | "Asia/Chita" | "Asia/Choibalsan" | "Asia/Chongqing" | "Asia/Colombo" | "Asia/Damascus" | "Asia/Dhaka" | "Asia/Dili" | "Asia/Dubai" | "Asia/Dushanbe" | "Asia/Famagusta" | "Asia/Gaza" | "Asia/Harbin" | "Asia/Hebron" | "Asia/Ho_Chi_Minh" | "Asia/Hong_Kong" | "Asia/Hovd" | "Asia/Irkutsk" | "Asia/Jakarta" | "Asia/Jayapura" | "Asia/Jerusalem" | "Asia/Kabul" | "Asia/Kamchatka" | "Asia/Karachi" | "Asia/Kashgar" | "Asia/Kathmandu" | "Asia/Khandyga" | "Asia/Kolkata" | "Asia/Krasnoyarsk" | "Asia/Kuala_Lumpur" | "Asia/Kuching" | "Asia/Kuwait" | "Asia/Macau" | "Asia/Magadan" | "Asia/Makassar" | "Asia/Manila" | "Asia/Muscat" | "Asia/Nicosia" | "Asia/Novokuznetsk" | "Asia/Novosibirsk" | "Asia/Omsk" | "Asia/Oral" | "Asia/Phnom_Penh" | "Asia/Pontianak" | "Asia/Pyongyang" | "Asia/Qatar" | "Asia/Qostanay" | "Asia/Qyzylorda" | "Asia/Riyadh" | "Asia/Sakhalin" | "Asia/Samarkand" | "Asia/Seoul" | "Asia/Shanghai" | "Asia/Singapore" | "Asia/Srednekolymsk" | "Asia/Taipei" | "Asia/Tashkent" | "Asia/Tbilisi" | "Asia/Tehran" | "Asia/Tel_Aviv" | "Asia/Thimphu" | "Asia/Tokyo" | "Asia/Tomsk" | "Asia/Ulaanbaatar" | "Asia/Urumqi" | "Asia/Ust-Nera" | "Asia/Vientiane" | "Asia/Vladivostok" | "Asia/Yakutsk" | "Asia/Yangon" | "Asia/Yekaterinburg" | "Asia/Yerevan" | "Atlantic/Azores" | "Atlantic/Bermuda" | "Atlantic/Canary" | "Atlantic/Cape_Verde" | "Atlantic/Faroe" | "Atlantic/Jan_Mayen" | "Atlantic/Madeira" | "Atlantic/Reykjavik" | "Atlantic/South_Georgia" | "Atlantic/St_Helena" | "Atlantic/Stanley" | "Australia/Adelaide" | "Australia/Brisbane" | "Australia/Broken_Hill" | "Australia/Currie" | "Australia/Darwin" | "Australia/Eucla" | "Australia/Hobart" | "Australia/Lindeman" | "Australia/Lord_Howe" | "Australia/Melbourne" | "Australia/Perth" | "Australia/Sydney" | "CET" | "CST6CDT" | "EET" | "EST" | "EST5EDT" | "Etc/GMT+1" | "Etc/GMT+10" | "Etc/GMT+11" | "Etc/GMT+12" | "Etc/GMT+2" | "Etc/GMT+3" | "Etc/GMT+4" | "Etc/GMT+5" | "Etc/GMT+6" | "Etc/GMT+7" | "Etc/GMT+8" | "Etc/GMT+9" | "Etc/GMT-1" | "Etc/GMT-10" | "Etc/GMT-11" | "Etc/GMT-12" | "Etc/GMT-13" | "Etc/GMT-14" | "Etc/GMT-2" | "Etc/GMT-3" | "Etc/GMT-4" | "Etc/GMT-5" | "Etc/GMT-6" | "Etc/GMT-7" | "Etc/GMT-8" | "Etc/GMT-9" | "Europe/Amsterdam" | "Europe/Andorra" | "Europe/Astrakhan" | "Europe/Athens" | "Europe/Belfast" | "Europe/Belgrade" | "Europe/Berlin" | "Europe/Brussels" | "Europe/Bucharest" | "Europe/Budapest" | "Europe/Chisinau" | "Europe/Copenhagen" | "Europe/Dublin" | "Europe/Gibraltar" | "Europe/Guernsey" | "Europe/Helsinki" | "Europe/Isle_of_Man" | "Europe/Istanbul" | "Europe/Jersey" | "Europe/Kaliningrad" | "Europe/Kirov" | "Europe/Kyiv" | "Europe/Lisbon" | "Europe/Ljubljana" | "Europe/London" | "Europe/Luxembourg" | "Europe/Madrid" | "Europe/Malta" | "Europe/Minsk" | "Europe/Monaco" | "Europe/Moscow" | "Europe/Oslo" | "Europe/Paris" | "Europe/Prague" | "Europe/Riga" | "Europe/Rome" | "Europe/Samara" | "Europe/Sarajevo" | "Europe/Saratov" | "Europe/Simferopol" | "Europe/Skopje" | "Europe/Sofia" | "Europe/Stockholm" | "Europe/Tallinn" | "Europe/Tirane" | "Europe/Tiraspol" | "Europe/Ulyanovsk" | "Europe/Uzhgorod" | "Europe/Vaduz" | "Europe/Vienna" | "Europe/Vilnius" | "Europe/Volgograd" | "Europe/Warsaw" | "Europe/Zagreb" | "Europe/Zaporozhye" | "Europe/Zurich" | "Factory" | "HST" | "Indian/Antananarivo" | "Indian/Chagos" | "Indian/Christmas" | "Indian/Cocos" | "Indian/Comoro" | "Indian/Kerguelen" | "Indian/Mahe" | "Indian/Maldives" | "Indian/Mauritius" | "Indian/Mayotte" | "Indian/Reunion" | "MET" | "MST" | "MST7MDT" | "PST8PDT" | "Pacific/Apia" | "Pacific/Auckland" | "Pacific/Bougainville" | "Pacific/Chatham" | "Pacific/Chuuk" | "Pacific/Easter" | "Pacific/Efate" | "Pacific/Enderbury" | "Pacific/Fakaofo" | "Pacific/Fiji" | "Pacific/Funafuti" | "Pacific/Galapagos" | "Pacific/Gambier" | "Pacific/Guadalcanal" | "Pacific/Guam" | "Pacific/Honolulu" | "Pacific/Johnston" | "Pacific/Kanton" | "Pacific/Kiritimati" | "Pacific/Kosrae" | "Pacific/Kwajalein" | "Pacific/Majuro" | "Pacific/Marquesas" | "Pacific/Midway" | "Pacific/Nauru" | "Pacific/Niue" | "Pacific/Norfolk" | "Pacific/Noumea" | "Pacific/Pago_Pago" | "Pacific/Palau" | "Pacific/Pitcairn" | "Pacific/Pohnpei" | "Pacific/Port_Moresby" | "Pacific/Rarotonga" | "Pacific/Saipan" | "Pacific/Tahiti" | "Pacific/Tarawa" | "Pacific/Tongatapu" | "Pacific/Wake" | "Pacific/Wallis" | "UTC" | "WET";
|
|
59
|
-
}, false>, import("object-shape-tester").ShapeDefinition<{
|
|
60
|
-
/** Hour of the day in 24 time: 0-23 */
|
|
61
|
-
hour: number;
|
|
62
|
-
/** Minute of the hour: 0-59 */
|
|
63
|
-
minute: number;
|
|
64
|
-
/** Second of the minute: 0-59 */
|
|
65
|
-
second: number;
|
|
66
|
-
/** Millisecond of the second: 0-999 */
|
|
67
|
-
millisecond: number;
|
|
68
|
-
/** The timezone that this date/time is meant for / originated from. */
|
|
69
|
-
timezone: "Africa/Abidjan" | "Africa/Accra" | "Africa/Addis_Ababa" | "Africa/Algiers" | "Africa/Asmara" | "Africa/Bamako" | "Africa/Bangui" | "Africa/Banjul" | "Africa/Bissau" | "Africa/Blantyre" | "Africa/Brazzaville" | "Africa/Bujumbura" | "Africa/Cairo" | "Africa/Casablanca" | "Africa/Ceuta" | "Africa/Conakry" | "Africa/Dakar" | "Africa/Dar_es_Salaam" | "Africa/Djibouti" | "Africa/Douala" | "Africa/El_Aaiun" | "Africa/Freetown" | "Africa/Gaborone" | "Africa/Harare" | "Africa/Johannesburg" | "Africa/Juba" | "Africa/Kampala" | "Africa/Khartoum" | "Africa/Kigali" | "Africa/Kinshasa" | "Africa/Lagos" | "Africa/Libreville" | "Africa/Lome" | "Africa/Luanda" | "Africa/Lubumbashi" | "Africa/Lusaka" | "Africa/Malabo" | "Africa/Maputo" | "Africa/Maseru" | "Africa/Mbabane" | "Africa/Mogadishu" | "Africa/Monrovia" | "Africa/Nairobi" | "Africa/Ndjamena" | "Africa/Niamey" | "Africa/Nouakchott" | "Africa/Ouagadougou" | "Africa/Porto-Novo" | "Africa/Sao_Tome" | "Africa/Timbuktu" | "Africa/Tripoli" | "Africa/Tunis" | "Africa/Windhoek" | "America/Adak" | "America/Anchorage" | "America/Anguilla" | "America/Antigua" | "America/Araguaina" | "America/Argentina/Buenos_Aires" | "America/Argentina/Catamarca" | "America/Argentina/ComodRivadavia" | "America/Argentina/Cordoba" | "America/Argentina/Jujuy" | "America/Argentina/La_Rioja" | "America/Argentina/Mendoza" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Salta" | "America/Argentina/San_Juan" | "America/Argentina/San_Luis" | "America/Argentina/Tucuman" | "America/Argentina/Ushuaia" | "America/Aruba" | "America/Asuncion" | "America/Atikokan" | "America/Bahia" | "America/Bahia_Banderas" | "America/Barbados" | "America/Belem" | "America/Belize" | "America/Blanc-Sablon" | "America/Boa_Vista" | "America/Bogota" | "America/Boise" | "America/Cambridge_Bay" | "America/Campo_Grande" | "America/Cancun" | "America/Caracas" | "America/Cayenne" | "America/Cayman" | "America/Chicago" | "America/Chihuahua" | "America/Coral_Harbour" | "America/Costa_Rica" | "America/Creston" | "America/Cuiaba" | "America/Curacao" | "America/Danmarkshavn" | "America/Dawson" | "America/Dawson_Creek" | "America/Denver" | "America/Detroit" | "America/Dominica" | "America/Edmonton" | "America/Eirunepe" | "America/El_Salvador" | "America/Ensenada" | "America/Fort_Nelson" | "America/Fortaleza" | "America/Glace_Bay" | "America/Goose_Bay" | "America/Grand_Turk" | "America/Grenada" | "America/Guadeloupe" | "America/Guatemala" | "America/Guayaquil" | "America/Guyana" | "America/Halifax" | "America/Havana" | "America/Hermosillo" | "America/Indiana/Indianapolis" | "America/Indiana/Knox" | "America/Indiana/Marengo" | "America/Indiana/Petersburg" | "America/Indiana/Tell_City" | "America/Indiana/Vevay" | "America/Indiana/Vincennes" | "America/Indiana/Winamac" | "America/Inuvik" | "America/Iqaluit" | "America/Jamaica" | "America/Juneau" | "America/Kentucky/Louisville" | "America/Kentucky/Monticello" | "America/La_Paz" | "America/Lima" | "America/Los_Angeles" | "America/Maceio" | "America/Managua" | "America/Manaus" | "America/Martinique" | "America/Matamoros" | "America/Mazatlan" | "America/Menominee" | "America/Merida" | "America/Metlakatla" | "America/Mexico_City" | "America/Miquelon" | "America/Moncton" | "America/Monterrey" | "America/Montevideo" | "America/Montreal" | "America/Montserrat" | "America/Nassau" | "America/New_York" | "America/Nipigon" | "America/Nome" | "America/Noronha" | "America/North_Dakota/Beulah" | "America/North_Dakota/Center" | "America/North_Dakota/New_Salem" | "America/Nuuk" | "America/Ojinaga" | "America/Panama" | "America/Pangnirtung" | "America/Paramaribo" | "America/Phoenix" | "America/Port-au-Prince" | "America/Port_of_Spain" | "America/Porto_Velho" | "America/Puerto_Rico" | "America/Punta_Arenas" | "America/Rainy_River" | "America/Rankin_Inlet" | "America/Recife" | "America/Regina" | "America/Resolute" | "America/Rio_Branco" | "America/Rosario" | "America/Santarem" | "America/Santiago" | "America/Santo_Domingo" | "America/Sao_Paulo" | "America/Scoresbysund" | "America/Sitka" | "America/St_Johns" | "America/St_Kitts" | "America/St_Lucia" | "America/St_Thomas" | "America/St_Vincent" | "America/Swift_Current" | "America/Tegucigalpa" | "America/Thule" | "America/Thunder_Bay" | "America/Tijuana" | "America/Toronto" | "America/Tortola" | "America/Vancouver" | "America/Whitehorse" | "America/Winnipeg" | "America/Yakutat" | "America/Yellowknife" | "Antarctica/Casey" | "Antarctica/Davis" | "Antarctica/DumontDUrville" | "Antarctica/Macquarie" | "Antarctica/Mawson" | "Antarctica/McMurdo" | "Antarctica/Palmer" | "Antarctica/Rothera" | "Antarctica/Syowa" | "Antarctica/Troll" | "Antarctica/Vostok" | "Asia/Aden" | "Asia/Almaty" | "Asia/Amman" | "Asia/Anadyr" | "Asia/Aqtau" | "Asia/Aqtobe" | "Asia/Ashgabat" | "Asia/Atyrau" | "Asia/Baghdad" | "Asia/Bahrain" | "Asia/Baku" | "Asia/Bangkok" | "Asia/Barnaul" | "Asia/Beirut" | "Asia/Bishkek" | "Asia/Brunei" | "Asia/Chita" | "Asia/Choibalsan" | "Asia/Chongqing" | "Asia/Colombo" | "Asia/Damascus" | "Asia/Dhaka" | "Asia/Dili" | "Asia/Dubai" | "Asia/Dushanbe" | "Asia/Famagusta" | "Asia/Gaza" | "Asia/Harbin" | "Asia/Hebron" | "Asia/Ho_Chi_Minh" | "Asia/Hong_Kong" | "Asia/Hovd" | "Asia/Irkutsk" | "Asia/Jakarta" | "Asia/Jayapura" | "Asia/Jerusalem" | "Asia/Kabul" | "Asia/Kamchatka" | "Asia/Karachi" | "Asia/Kashgar" | "Asia/Kathmandu" | "Asia/Khandyga" | "Asia/Kolkata" | "Asia/Krasnoyarsk" | "Asia/Kuala_Lumpur" | "Asia/Kuching" | "Asia/Kuwait" | "Asia/Macau" | "Asia/Magadan" | "Asia/Makassar" | "Asia/Manila" | "Asia/Muscat" | "Asia/Nicosia" | "Asia/Novokuznetsk" | "Asia/Novosibirsk" | "Asia/Omsk" | "Asia/Oral" | "Asia/Phnom_Penh" | "Asia/Pontianak" | "Asia/Pyongyang" | "Asia/Qatar" | "Asia/Qostanay" | "Asia/Qyzylorda" | "Asia/Riyadh" | "Asia/Sakhalin" | "Asia/Samarkand" | "Asia/Seoul" | "Asia/Shanghai" | "Asia/Singapore" | "Asia/Srednekolymsk" | "Asia/Taipei" | "Asia/Tashkent" | "Asia/Tbilisi" | "Asia/Tehran" | "Asia/Tel_Aviv" | "Asia/Thimphu" | "Asia/Tokyo" | "Asia/Tomsk" | "Asia/Ulaanbaatar" | "Asia/Urumqi" | "Asia/Ust-Nera" | "Asia/Vientiane" | "Asia/Vladivostok" | "Asia/Yakutsk" | "Asia/Yangon" | "Asia/Yekaterinburg" | "Asia/Yerevan" | "Atlantic/Azores" | "Atlantic/Bermuda" | "Atlantic/Canary" | "Atlantic/Cape_Verde" | "Atlantic/Faroe" | "Atlantic/Jan_Mayen" | "Atlantic/Madeira" | "Atlantic/Reykjavik" | "Atlantic/South_Georgia" | "Atlantic/St_Helena" | "Atlantic/Stanley" | "Australia/Adelaide" | "Australia/Brisbane" | "Australia/Broken_Hill" | "Australia/Currie" | "Australia/Darwin" | "Australia/Eucla" | "Australia/Hobart" | "Australia/Lindeman" | "Australia/Lord_Howe" | "Australia/Melbourne" | "Australia/Perth" | "Australia/Sydney" | "CET" | "CST6CDT" | "EET" | "EST" | "EST5EDT" | "Etc/GMT+1" | "Etc/GMT+10" | "Etc/GMT+11" | "Etc/GMT+12" | "Etc/GMT+2" | "Etc/GMT+3" | "Etc/GMT+4" | "Etc/GMT+5" | "Etc/GMT+6" | "Etc/GMT+7" | "Etc/GMT+8" | "Etc/GMT+9" | "Etc/GMT-1" | "Etc/GMT-10" | "Etc/GMT-11" | "Etc/GMT-12" | "Etc/GMT-13" | "Etc/GMT-14" | "Etc/GMT-2" | "Etc/GMT-3" | "Etc/GMT-4" | "Etc/GMT-5" | "Etc/GMT-6" | "Etc/GMT-7" | "Etc/GMT-8" | "Etc/GMT-9" | "Europe/Amsterdam" | "Europe/Andorra" | "Europe/Astrakhan" | "Europe/Athens" | "Europe/Belfast" | "Europe/Belgrade" | "Europe/Berlin" | "Europe/Brussels" | "Europe/Bucharest" | "Europe/Budapest" | "Europe/Chisinau" | "Europe/Copenhagen" | "Europe/Dublin" | "Europe/Gibraltar" | "Europe/Guernsey" | "Europe/Helsinki" | "Europe/Isle_of_Man" | "Europe/Istanbul" | "Europe/Jersey" | "Europe/Kaliningrad" | "Europe/Kirov" | "Europe/Kyiv" | "Europe/Lisbon" | "Europe/Ljubljana" | "Europe/London" | "Europe/Luxembourg" | "Europe/Madrid" | "Europe/Malta" | "Europe/Minsk" | "Europe/Monaco" | "Europe/Moscow" | "Europe/Oslo" | "Europe/Paris" | "Europe/Prague" | "Europe/Riga" | "Europe/Rome" | "Europe/Samara" | "Europe/Sarajevo" | "Europe/Saratov" | "Europe/Simferopol" | "Europe/Skopje" | "Europe/Sofia" | "Europe/Stockholm" | "Europe/Tallinn" | "Europe/Tirane" | "Europe/Tiraspol" | "Europe/Ulyanovsk" | "Europe/Uzhgorod" | "Europe/Vaduz" | "Europe/Vienna" | "Europe/Vilnius" | "Europe/Volgograd" | "Europe/Warsaw" | "Europe/Zagreb" | "Europe/Zaporozhye" | "Europe/Zurich" | "Factory" | "HST" | "Indian/Antananarivo" | "Indian/Chagos" | "Indian/Christmas" | "Indian/Cocos" | "Indian/Comoro" | "Indian/Kerguelen" | "Indian/Mahe" | "Indian/Maldives" | "Indian/Mauritius" | "Indian/Mayotte" | "Indian/Reunion" | "MET" | "MST" | "MST7MDT" | "PST8PDT" | "Pacific/Apia" | "Pacific/Auckland" | "Pacific/Bougainville" | "Pacific/Chatham" | "Pacific/Chuuk" | "Pacific/Easter" | "Pacific/Efate" | "Pacific/Enderbury" | "Pacific/Fakaofo" | "Pacific/Fiji" | "Pacific/Funafuti" | "Pacific/Galapagos" | "Pacific/Gambier" | "Pacific/Guadalcanal" | "Pacific/Guam" | "Pacific/Honolulu" | "Pacific/Johnston" | "Pacific/Kanton" | "Pacific/Kiritimati" | "Pacific/Kosrae" | "Pacific/Kwajalein" | "Pacific/Majuro" | "Pacific/Marquesas" | "Pacific/Midway" | "Pacific/Nauru" | "Pacific/Niue" | "Pacific/Norfolk" | "Pacific/Noumea" | "Pacific/Pago_Pago" | "Pacific/Palau" | "Pacific/Pitcairn" | "Pacific/Pohnpei" | "Pacific/Port_Moresby" | "Pacific/Rarotonga" | "Pacific/Saipan" | "Pacific/Tahiti" | "Pacific/Tarawa" | "Pacific/Tongatapu" | "Pacific/Wake" | "Pacific/Wallis" | "UTC" | "WET";
|
|
70
|
-
}, false>]>, false>;
|
|
71
|
-
/**
|
|
72
|
-
* A easily serializable (it fits into plain JSON) object that completely defines how a date is to
|
|
73
|
-
* be represented with minimal data.
|
|
74
|
-
*/
|
|
75
|
-
export type FullDate<SpecificTimezone extends Timezone = Timezone> = Overwrite<(typeof fullDateShape)['runTimeType'], {
|
|
76
|
-
timezone: SpecificTimezone;
|
|
77
|
-
}>;
|
|
78
|
-
export type OnlyDatePart = Omit<DatePart, 'timezone'>;
|
|
79
|
-
export type OnlyHourMinutePart = Pick<Partial<FullDate>, 'hour' | 'minute'>;
|
|
80
|
-
export type OnlyHourMinuteSecondPart = Pick<Partial<FullDate>, 'hour' | 'minute' | 'second'>;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { Timezone } from '../timezone/timezone-names';
|
|
2
|
-
import { FullDate } from './full-date-shape';
|
|
3
|
-
export declare function assertIsValidFullDate(input: unknown): asserts input is FullDate;
|
|
4
|
-
export declare function isValidFullDate(input: unknown): input is FullDate;
|
|
5
|
-
export declare function hasTimezone<const SpecificTimezone extends Timezone>(input: FullDate, timezone: SpecificTimezone): input is FullDate<SpecificTimezone>;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { assertValidShape } from 'object-shape-tester';
|
|
2
|
-
import { assertValidTimezone } from '../timezone/timezone-checks';
|
|
3
|
-
import { fullDateShape } from './full-date-shape';
|
|
4
|
-
import { toLuxonDateTime } from './luxon-date-time-conversion';
|
|
5
|
-
export function assertIsValidFullDate(input) {
|
|
6
|
-
assertValidShape(input, fullDateShape);
|
|
7
|
-
assertValidTimezone(input.timezone);
|
|
8
|
-
/** Check that the input can be converted to a luxon date correctly. */
|
|
9
|
-
toLuxonDateTime(input);
|
|
10
|
-
}
|
|
11
|
-
export function isValidFullDate(input) {
|
|
12
|
-
try {
|
|
13
|
-
assertIsValidFullDate(input);
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
catch (error) {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
export function hasTimezone(input, timezone) {
|
|
21
|
-
return input.timezone === timezone;
|
|
22
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { DateTime } from 'luxon';
|
|
2
|
-
import { Timezone } from '../timezone/timezone-names';
|
|
3
|
-
import { FullDate } from './full-date-shape';
|
|
4
|
-
/**
|
|
5
|
-
* Converts a FullDate object into a Luxon DateTime library. This is only needed if you need complex
|
|
6
|
-
* operations on dates. It does, however, internally power a lot of the date-vir functionality as it
|
|
7
|
-
* uses the Luxon library for conversions between timezones.
|
|
8
|
-
*/
|
|
9
|
-
export declare function toLuxonDateTime(fullDateInput: FullDate): DateTime;
|
|
10
|
-
/**
|
|
11
|
-
* Convert a Luxon DateTime object into a DateTime object. Used internally inside of date-vir, but
|
|
12
|
-
* could be helpful if you need it. Usually you should prefer using the createFullDate function
|
|
13
|
-
* instead.
|
|
14
|
-
*/
|
|
15
|
-
export declare function parseLuxonDateTime<const SpecificTimezone extends Timezone>(dateTimeInput: DateTime, forcedTimezone?: SpecificTimezone): FullDate<SpecificTimezone>;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Timezone } from '../timezone/timezone-names';
|
|
2
|
-
import { FullDate } from './full-date-shape';
|
|
3
|
-
/**
|
|
4
|
-
* Parses any strangely formatted dateString using the given formatString and timezone.
|
|
5
|
-
*
|
|
6
|
-
* This is much more flexible than createFullDate but createFullDate should be preferred in
|
|
7
|
-
* situations where it works.
|
|
8
|
-
*
|
|
9
|
-
* The formatString input is passed to Luxon. All format options are listed here:
|
|
10
|
-
* https://moment.github.io/luxon/#/parsing?id=table-of-tokens
|
|
11
|
-
*/
|
|
12
|
-
export declare function parseStrangeString<const SpecificTimezone extends Timezone>({ dateString, formatString, timezone, }: {
|
|
13
|
-
/** The date string to be parsed. */
|
|
14
|
-
dateString: string;
|
|
15
|
-
/**
|
|
16
|
-
* The format string that should match Luxon's expectations here:
|
|
17
|
-
* https://moment.github.io/luxon/#/parsing?id=table-of-tokens
|
|
18
|
-
*/
|
|
19
|
-
formatString: string;
|
|
20
|
-
/** The timezone that this date/time is meant for / originated from. */
|
|
21
|
-
timezone: SpecificTimezone;
|
|
22
|
-
}): FullDate<SpecificTimezone>;
|
|
23
|
-
/**
|
|
24
|
-
* Read either an HTMLInputElement's value directly, or the value string retrieved from an
|
|
25
|
-
* HTMLInputElement. Handles both type="date" and type="time" <input> elements.
|
|
26
|
-
*/
|
|
27
|
-
export declare function parseInputElementValue<const SpecificTimezone extends Timezone>(elementOrValue: HTMLInputElement | string | null | undefined, timezone: SpecificTimezone): FullDate<SpecificTimezone> | undefined;
|