Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion tsc/internal/bundled/libs/lib.esnext.temporal.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,8 @@ declare namespace Temporal {
timeZoneName?: "auto" | "never" | "critical" | undefined;
}

interface ZonedDateTimeToLocaleStringOptions extends Omit<Intl.DateTimeFormatOptions, "timeZone"> {}

interface ZonedDateTimeFromOptions extends OverflowOptions, DisambiguationOptions {
offset?: "use" | "ignore" | "prefer" | "reject" | undefined;
}
Expand Down Expand Up @@ -317,7 +319,7 @@ declare namespace Temporal {
round(roundTo: RoundingOptions<"day" | TimeUnit>): ZonedDateTime;
equals(other: ZonedDateTimeLike): boolean;
toString(options?: ZonedDateTimeToStringOptions): string;
toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;
toLocaleString(locales?: Intl.LocalesArgument, options?: ZonedDateTimeToLocaleStringOptions): string;
toJSON(): string;
valueOf(): never;
startOfDay(): ZonedDateTime;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
temporal.ts(25,13): error TS2339: Property 'year' does not exist on type 'Instant'.
temporal.ts(594,47): error TS2353: Object literal may only specify known properties, and 'timeZone' does not exist in type 'Omit<DateTimeFormatOptions, "timeZone">'.
temporal.ts(1504,8): error TS2339: Property 'month' does not exist on type 'PlainMonthDay'.
temporal.ts(1514,8): error TS2339: Property 'month' does not exist on type 'PlainMonthDay'.
temporal.ts(1520,8): error TS2339: Property 'month' does not exist on type 'PlainMonthDay'.


==== temporal.ts (4 errors) ====
==== temporal.ts (5 errors) ====
/**
* Test cases derived from documentation at tc39/proposal-temporal,
* under the following license:
Expand Down Expand Up @@ -601,6 +602,8 @@ temporal.ts(1520,8): error TS2339: Property 'month' does not exist on type 'Plai
const options = { weekday: "long", year: "numeric", month: "long", day: "numeric" } as const;
zdt.toLocaleString("de-DE", options); // => 'Sonntag, 1. Dezember 2019'
/* WRONG */ zdt.toLocaleString("de-DE", { timeZone: "Pacific/Auckland" });
~~~~~~~~
!!! error TS2353: Object literal may only specify known properties, and 'timeZone' does not exist in type 'Omit<DateTimeFormatOptions, "timeZone">'.
// => RangeError: Time zone option Pacific/Auckland does not match actual time zone Europe/Berlin
zdt.withTimeZone("Pacific/Auckland").toLocaleString("de-DE"); // => '2.12.2019, 0:00:00 GMT+13'
zdt.toLocaleString("en-US-u-nu-fullwide-hc-h12"); // => '12/1/2019, 12:00:00 PM GMT+1'
Expand Down
28 changes: 14 additions & 14 deletions tsc/testdata/baselines/reference/compiler/temporal.types
Original file line number Diff line number Diff line change
Expand Up @@ -1598,9 +1598,9 @@
>zdt => zdt.toLocaleString("en", { month: "long" }) : (zdt: Temporal.ZonedDateTime) => string
>zdt : Temporal.ZonedDateTime
>zdt.toLocaleString("en", { month: "long" }) : string
>zdt.toLocaleString : (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string
>zdt.toLocaleString : (locales?: Intl.LocalesArgument, options?: Temporal.ZonedDateTimeToLocaleStringOptions) => string
>zdt : Temporal.ZonedDateTime
>toLocaleString : (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string
>toLocaleString : (locales?: Intl.LocalesArgument, options?: Temporal.ZonedDateTimeToLocaleStringOptions) => string
>"en" : "en"
>{ month: "long" } : { month: "long"; }
>month : "long"
Expand Down Expand Up @@ -2604,15 +2604,15 @@

zdt.toLocaleString(); // example output: 12/1/2019, 12:00:00 PM
>zdt.toLocaleString() : string
>zdt.toLocaleString : (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string
>zdt.toLocaleString : (locales?: Intl.LocalesArgument, options?: Temporal.ZonedDateTimeToLocaleStringOptions) => string
>zdt : Temporal.ZonedDateTime
>toLocaleString : (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string
>toLocaleString : (locales?: Intl.LocalesArgument, options?: Temporal.ZonedDateTimeToLocaleStringOptions) => string

zdt.toLocaleString("de-DE"); // => '1.12.2019, 12:00:00 MEZ'
>zdt.toLocaleString("de-DE") : string
>zdt.toLocaleString : (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string
>zdt.toLocaleString : (locales?: Intl.LocalesArgument, options?: Temporal.ZonedDateTimeToLocaleStringOptions) => string
>zdt : Temporal.ZonedDateTime
>toLocaleString : (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string
>toLocaleString : (locales?: Intl.LocalesArgument, options?: Temporal.ZonedDateTimeToLocaleStringOptions) => string
>"de-DE" : "de-DE"

const options = { weekday: "long", year: "numeric", month: "long", day: "numeric" } as const;
Expand All @@ -2630,17 +2630,17 @@

zdt.toLocaleString("de-DE", options); // => 'Sonntag, 1. Dezember 2019'
>zdt.toLocaleString("de-DE", options) : string
>zdt.toLocaleString : (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string
>zdt.toLocaleString : (locales?: Intl.LocalesArgument, options?: Temporal.ZonedDateTimeToLocaleStringOptions) => string
>zdt : Temporal.ZonedDateTime
>toLocaleString : (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string
>toLocaleString : (locales?: Intl.LocalesArgument, options?: Temporal.ZonedDateTimeToLocaleStringOptions) => string
>"de-DE" : "de-DE"
>options : { readonly weekday: "long"; readonly year: "numeric"; readonly month: "long"; readonly day: "numeric"; }

/* WRONG */ zdt.toLocaleString("de-DE", { timeZone: "Pacific/Auckland" });
>zdt.toLocaleString("de-DE", { timeZone: "Pacific/Auckland" }) : string
>zdt.toLocaleString : (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string
>zdt.toLocaleString : (locales?: Intl.LocalesArgument, options?: Temporal.ZonedDateTimeToLocaleStringOptions) => string
>zdt : Temporal.ZonedDateTime
>toLocaleString : (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string
>toLocaleString : (locales?: Intl.LocalesArgument, options?: Temporal.ZonedDateTimeToLocaleStringOptions) => string
>"de-DE" : "de-DE"
>{ timeZone: "Pacific/Auckland" } : { timeZone: string; }
>timeZone : string
Expand All @@ -2649,20 +2649,20 @@
// => RangeError: Time zone option Pacific/Auckland does not match actual time zone Europe/Berlin
zdt.withTimeZone("Pacific/Auckland").toLocaleString("de-DE"); // => '2.12.2019, 0:00:00 GMT+13'
>zdt.withTimeZone("Pacific/Auckland").toLocaleString("de-DE") : string
>zdt.withTimeZone("Pacific/Auckland").toLocaleString : (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string
>zdt.withTimeZone("Pacific/Auckland").toLocaleString : (locales?: Intl.LocalesArgument, options?: Temporal.ZonedDateTimeToLocaleStringOptions) => string
>zdt.withTimeZone("Pacific/Auckland") : Temporal.ZonedDateTime
>zdt.withTimeZone : (timeZone: Temporal.TimeZoneLike) => Temporal.ZonedDateTime
>zdt : Temporal.ZonedDateTime
>withTimeZone : (timeZone: Temporal.TimeZoneLike) => Temporal.ZonedDateTime
>"Pacific/Auckland" : "Pacific/Auckland"
>toLocaleString : (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string
>toLocaleString : (locales?: Intl.LocalesArgument, options?: Temporal.ZonedDateTimeToLocaleStringOptions) => string
>"de-DE" : "de-DE"

zdt.toLocaleString("en-US-u-nu-fullwide-hc-h12"); // => '12/1/2019, 12:00:00 PM GMT+1'
>zdt.toLocaleString("en-US-u-nu-fullwide-hc-h12") : string
>zdt.toLocaleString : (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string
>zdt.toLocaleString : (locales?: Intl.LocalesArgument, options?: Temporal.ZonedDateTimeToLocaleStringOptions) => string
>zdt : Temporal.ZonedDateTime
>toLocaleString : (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions) => string
>toLocaleString : (locales?: Intl.LocalesArgument, options?: Temporal.ZonedDateTimeToLocaleStringOptions) => string
>"en-US-u-nu-fullwide-hc-h12" : "en-US-u-nu-fullwide-hc-h12"
}

Expand Down