-
Notifications
You must be signed in to change notification settings - Fork 113
Open
Labels
c: datetimeComponent: dates, times, timezonesComponent: dates, times, timezoness: in progressStatus: the issue has an active proposalStatus: the issue has an active proposal
Description
I found this while I try to implement PR 989 and 1019
see https://chromium-review.googlesource.com/c/v8/v8/+/7047379
In https://github.com/tc39/ecma402/pull/1019/files we added "compactDisplay" for PluralRules.
But somehow we unconditionally call
Set pluralRules.[[CompactDisplay]] to compactDisplay.
If we look at the NumberFormat, we set it only if notation is "compact"
18. If notation is "compact", then
a. Set numberFormat.[[CompactDisplay]] to compactDisplay.
So if we have the following code
let nf1 = new Intl.NumberFormat("fr-FR", { compactDisplay: "long" })
let nf2= new Intl.NumberFormat("fr-FR", { notation:"standard", compactDisplay: "long" })
let nf3 = new Intl.NumberFormat("fr-FR", { notation:"scientific", compactDisplay: "long" })
let nf4 = new Intl.NumberFormat("fr-FR", { notation:"engineering", compactDisplay: "long" })
let p1 = new Intl.PluralRules("fr-FR", { compactDisplay: "long" })
let p2= new Intl.PluralRules("fr-FR", { notation:"standard", compactDisplay: "long" })
let p3 = new Intl.PluralRules("fr-FR", { notation:"scientific", compactDisplay: "long" })
let p4 = new Intl.PluralRules("fr-FR", { notation:"engineering", compactDisplay: "long" })
then nf1.resolvedOptions().compactDisplay is undefined as well as nf2, nf3, nf4
but by the current spec p1.resolvedOptions().compactDisplay is somehow "long", as well as p2, p3, p4
I think compactDisplay for p1... p4 should also be undefined. It will make the v8 implementation much easier
Metadata
Metadata
Assignees
Labels
c: datetimeComponent: dates, times, timezonesComponent: dates, times, timezoness: in progressStatus: the issue has an active proposalStatus: the issue has an active proposal