microsoft / microsoft/TypeScript
Intl.NumberFormat does not model required properties when `style` is set to `currency`
Aperta
Bug
Domain: lib.d.ts
Help Wanted
Needs Human Review
- Lingua principale
- Go
- Stelle
- 111k
- Fork
- 14.3k
- Merge medio
- 1g 19h
- PR unite (30g)
- 117
Descrizione
⚙ Compilation target
ESNext
⚙ Library
ESNext
Missing / Incorrect Definition
According to the MDN docs, when style is set to currency, then the currency property must be provided.
This could be achieved through a discriminating union on the style property e.g.
interface NumberFormatParamsStyleDecimal {
style: "decimal"
}
interface NumberFormatParamsStyleCurrency {
style: "currency"
currency: string
}
type NumberFormatParams = NumberFormatParamsStyleDecimal | NumberFormatParamsStyleCurrency;
const numberFormat = (params: NumberFormatParams) => {};
numberFormat({
style: "decimal",
})
numberFormat({
style: "currency",
currency: "USD"
})
Sample Code
This fails at runtime, but does not fail compilation:
new Intl.NumberFormat("en", {
style: "currency",
currency: undefined
});
VM159:1 Uncaught TypeError: Currency code is required with currency style.
at new NumberFormat (<anonymous>)
at <anonymous>:1:1
Documentation Link
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Valutazione
Questa issue non è ancora stata valutata.