typescript - Intl.supportedValuesOf Egenskapen 'supportedValuesOf' finnes ikke på typen 'typeof Intl'
Jeg bruker dayJS som mitt dato-tidsbibliotek og vil presentere en liste over alle tidssoner.
Jeg prøvde å bruke Intl-objektet:
Intl.supportedValuesOf("timeZone")
men jeg får en Typescript-feil:
TS2339: Property 'supportedValuesOf' does not exist on type 'typeof Intl'.
Jeg kan få verdiene, men jeg vil unngå å bruke @ts-ignore-notasjonen
Hvordan kan jeg legge til de oppdaterte typene for Intl-objektet?
Svar #1
Se https://github.com/microsoft/TypeScript/issues/49231
«endringen blir ikke levert før Typescript 5.1»
Svar #2
Jeg støtte akkurat på dette problemet også. Jeg vil utdype svarene som allerede er gitt.
Hvis du vil få tilgang til metoden Intl.supportedValuesOf() i Typescript-versjoner før Typescript 5.1, kan du lage en fil Intl.d.ts (jeg tror navnet egentlig er vilkårlig) og kopiere følgende inn i filen:
declare namespace Intl {
type Key = "calendar" | "collation" | "currency" | "numberingSystem" | "timeZone" | "unit";
function supportedValuesOf(input: Key): string[];
}
Deretter, i tsconfig.json-filen, legg til den relative banen til Intl.d.ts-filen vi nettopp opprettet i "include"-egenskapen, som følger:
{
"compilerOptions": {
...
},
"include": ["/types/Intl.d.ts"]
}
Du må kanskje starte applikasjonen på nytt for å se endringene
