microsoft / microsoft/TypeScript

The `options` arg of `Temporal.ZonedDateTime.prototype.toLocaleString()` currently accepts "illegal" option `timeZone`

Đang mở
#64,227 1 bình luận 1 reaction 2 người được giao Được @RyanCavanaugh nhận Xem trên GitHub
Bug Domain: lib.d.ts Help Wanted Needs Human Review
Ngôn ngữ chính
Go
Star
111k
Fork
14.3k
Merge trung bình
2 ngày 4 giờ
Pull request đã merge (30 ngày)
132

Mô tả

### ⚙ Compilation target

ESNext

### ⚙ Library

ESNext

### Missing / Incorrect Definition

https://github.com/microsoft/TypeScript/blob/0b832e12235cc3db14a4be6501827c2f8a8a8569/tsc/internal/bundled/libs/lib.esnext.temporal.d.ts#L320

### Sample Code

TypeScript allows the following code, when it should not.

```TypeScript
Temporal.Now.zonedDateTimeISO("America/Chicago").toLocaleString(undefined, { timeZone: "Europe/Berlin" });
```

#### Result

| Engine | Error |
| -------------- | ------------------------------------------------------------------------------------------------------------------ |
| JavaScriptCore | `TypeError: ZonedDateTime.toLocaleString does not accept a timeZone option; the ZonedDateTime's time zone is used` |
| SpiderMonkey | `TypeError: can't set option timeZone when Temporal.ZonedDateTime.toLocaleString is used` |
| V8 | `TypeError: Invalid time zone specified: America/Chicago` |

### Documentation Link

According to [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/ZonedDateTime/toLocaleString#options):

> The timeZone option must not be provided, as it is automatically set to be the date-time's [timeZoneId](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/ZonedDateTime/timeZoneId).

The type definitions should be changed to

```typescript
declare namespace Temporal {
// ...
interface ZonedDateTimeToLocaleStringOptions extends Omit {}
// ...
interface ZonedDateTime {
// ...
toLocaleString(locales?: Intl.LocalesArgument, options?: ZonedDateTimeToLocaleStringOptions): string;
}
}
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.