Timothy Flynn
9b5696fee7
LibJS: Implement Intl.NumberFormat.prototype.resolvedOptions
2021-09-11 11:05:50 +01:00
Timothy Flynn
071e193d92
LibJS: Implement Intl.NumberFormat.supportedLocalesOf
2021-09-11 11:05:50 +01:00
Timothy Flynn
e42ba7f748
LibJS: Implement the Intl.NumberFormat constructor
2021-09-11 11:05:50 +01:00
Timothy Flynn
07f12b108b
LibJS: Implement a nearly empty Intl.NumberFormat object
...
This adds plumbing for the Intl.NumberFormat object, constructor, and
prototype.
2021-09-11 11:05:50 +01:00
Timothy Flynn
ef94c73a01
LibJS: Implement Intl.ListFormat.prototype.resolvedOptions
2021-09-06 23:49:56 +01:00
Timothy Flynn
5c06a91dfa
LibJS: Implement Intl.ListFormat.prototype.formatToParts
2021-09-06 23:49:56 +01:00
Timothy Flynn
cdba40f7ea
LibJS: Implement Intl.ListFormat.prototype.format
2021-09-06 23:49:56 +01:00
Timothy Flynn
3b410742ab
LibJS: Implement Intl.ListFormat.supportedLocalesOf
2021-09-06 23:49:56 +01:00
Timothy Flynn
eacc8bef47
LibJS: Implement the Intl.ListFormat constructor
2021-09-06 23:49:56 +01:00
Timothy Flynn
8e75e5fabb
LibJS: Implement a nearly empty Intl.ListFormat object
...
This adds plumbing for the Intl.ListFormat object, constructor, and
prototype.
2021-09-06 23:49:56 +01:00
Linus Groh
0094259d72
LibJS: Implement Intl.DisplayNames.supportedLocalesOf()
2021-09-04 19:08:18 +01:00
Timothy Flynn
90971673c7
LibJS: Implement Intl.Locale.prototype.minimize
2021-09-04 13:51:40 +01:00
Timothy Flynn
0b1f5118d5
LibJS: Implement Intl.Locale.prototype.maximize
2021-09-04 13:51:40 +01:00
Timothy Flynn
32825107de
LibJS: Implement Intl.Locale.prototype.region
2021-09-02 17:56:42 +01:00
Timothy Flynn
349fd06b86
LibJS: Implement Intl.Locale.prototype.script
2021-09-02 17:56:42 +01:00
Timothy Flynn
c3b6f43641
LibJS: Implement Intl.Locale.prototype.language
2021-09-02 17:56:42 +01:00
Timothy Flynn
bdf36575c8
LibJS: Implement Intl.Locale.prototype.numeric
2021-09-02 17:56:42 +01:00
Timothy Flynn
d7825f3680
LibJS: Implement most Intl.Locale.Prototype.<<keyword>> properties
...
The keyword accessors all have the same function body in the spec,
except for the Intl.Locale method they invoke. This generates those
properties in the same manner as RegExp.prototype.
Intl.Locale.prototype.calendar
Intl.Locale.prototype.caseFirst
Intl.Locale.prototype.collation
Intl.Locale.prototype.hourCycle
Intl.Locale.prototype.numberingSystem
The exception is Intl.Locale.prototype.numeric, which will be defined
separately because it is a boolean value.
2021-09-02 17:56:42 +01:00
Timothy Flynn
21b3c5edba
LibJS: Implement Intl.Locale.prototype.baseName
2021-09-02 17:56:42 +01:00
Timothy Flynn
27fc3cfe75
LibJS: Handle existing Intl.Locale objects in CanonicalizeLocaleList
2021-09-02 17:56:42 +01:00
Timothy Flynn
4de05faa8a
LibJS: Add test cases for Intl.Locale.prototype.toString
...
Intl.Locale.prototype.toString wasn't testable before the constructor
was implemented.
2021-09-02 17:56:42 +01:00
Timothy Flynn
17639a42ae
LibJS: Implement the Intl.Locale constructor
2021-09-02 17:56:42 +01:00
Timothy Flynn
990dd037d2
LibJS: Implement Intl.Locale.prototype.toString()
...
This isn't particularly testable yet without the Intl.Locale constructor
but having this defined will make testing the constructor possible. So
more specific tests for this prototype will come later.
2021-09-02 17:56:42 +01:00
Timothy Flynn
940c023e09
LibJS: Compare Unicode locale variants using case-insensitive matching
...
In the IsStructurallyValidLanguageTag AO, we of course cannot assume the
variants are canonicalized to lower-case yet, because canonicalization
hasn't happened yet.
2021-09-02 17:56:42 +01:00
Timothy Flynn
fdedb3ab33
LibJS: Remove duplicated error message from ErrorTypes.h
...
ErrorType::IntlInvalidCode has almost exactly the same message as
ErrorType::OptionIsNotValidValue. Remove it, as all uses of the former
are semantically interchangeable with the latter.
2021-09-02 17:56:42 +01:00
Timothy Flynn
2c10e9fdd3
LibJS: Implement a nearly empty Intl.Locale object
...
This adds plumbing for the Intl.Locale object, constructor, and
prototype.
2021-09-02 17:56:42 +01:00
Timothy Flynn
6f5fb87d3b
LibJS: Handle Unicode locale extensions in LookupMatcher AO
2021-09-01 14:14:47 +01:00
Timothy Flynn
a2f0eeff7a
LibJS: Canonicalize Unicode locale extension attributes and keywords
2021-08-30 19:42:40 +01:00
Timothy Flynn
94e66f500c
LibJS: Reject structurally invalid Unicode locale extensions
2021-08-30 19:42:40 +01:00
Timothy Flynn
86b99fd9a6
LibJS: Extend Intl.DisplayNames.of to support currency tags
2021-08-27 12:32:24 +01:00
Timothy Flynn
a029e3d38a
LibJS: Extend Intl.DisplayNames.of to support script tags
2021-08-27 12:32:24 +01:00
Timothy Flynn
ca77a7c573
LibJS: Extend Intl.DisplayNames.of to support language tags
2021-08-27 12:32:24 +01:00
Timothy Flynn
a061d874c9
LibJS: Implement Intl.DisplayNames.prototype.resolvedOptions
2021-08-26 22:04:09 +01:00
Timothy Flynn
17bb652775
LibJS: Implement Intl.DisplayNames.prototype.of
...
Note that only option type=region is really implemented. Other types
will resort to the fallback option. This prototype method will be able
to implement other type options once LibUnicode supports more.
2021-08-26 22:04:09 +01:00
Timothy Flynn
38d29a40dc
LibJS: Implement Intl.getCanonicalLocales
2021-08-26 22:04:09 +01:00
Timothy Flynn
e8dd2eea74
LibJS: Implement the Intl.DisplayNames constructor
...
There is notably FIXME notations in this commit regarding Unicode locale
extensions. We are not parsing extensions (or private use extensions) at
all yet.
2021-08-26 22:04:09 +01:00
Timothy Flynn
0fb4e8b749
LibJS: Implement a nearly empty Intl.DisplayNames object
...
This adds plumbing for the Intl.DisplayNames object, constructor, and
prototype.
2021-08-26 22:04:09 +01:00
Linus Groh
97010d4903
LibJS: Implement Intl[@@toStringTag]
2021-08-08 20:14:59 +01:00