microsoft / microsoft/TypeScript
Intl.Collator#compare method type does not match spec
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 2 T. 4 Std.
- Gemergte PRs (30 T.)
- 132
Beschreibung
### ⚙ Compilation target
ES2022
### ⚙ Library
N/A
### Missing / Incorrect Definition
The [Intl.Collator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Collator) object has a `compare` method which is declared as `compare(x: string, y: string): number;` but according to [the relevant spec](https://tc39.es/ecma402/#sec-intl.collator.prototype.compare) is actually `get compare(): (this: void, x: string, y: string) => number`. Importantly, the spec states that
> The returned function is bound to `collator` so that it can be passed directly to `Array.prototype.sort` or other functions
### Sample Code
I'm having trouble putting together a Playground example that cares about the difference (which is admittedly subtle!) but it's the cause of https://github.com/typescript-eslint/typescript-eslint/issues/7098
### Documentation Link
[Collator#compare spec](https://tc39.es/ecma402/#sec-intl.collator.prototype.compare)
[MDN docs on compare method](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Collator/compare#using_compare_for_array_sort)
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Bewertung
Dieses Issue wurde noch nicht bewertet.