-
Notifications
You must be signed in to change notification settings - Fork 615
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft: Implement formatRange and formatRangeToParts on Apple and Android platforms #1219
Open
ewlsh
wants to merge
12
commits into
facebook:main
Choose a base branch
from
modernhealth:evanmh-intl-datetimeformat-format-range
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Draft: Implement formatRange and formatRangeToParts on Apple and Android platforms #1219
ewlsh
wants to merge
12
commits into
facebook:main
from
modernhealth:evanmh-intl-datetimeformat-format-range
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Many tests which use "const" are not actually testing the behavior of the "const" keyword, they are just using it as it is standard practice in newer JavaScript versions. This allows allowlisting individual tests or directories which use "const". This commit additionally updates the skiplist for ECMA-402 2024
Also update the Android test262 runner to print the individual testcases for debugging and visibility.
In DateTimeFormat the switch statement for the fractionalSecondDigits skeleton currently is missing "break" statements - leading to incorrect skeleton strings (e.g. SSSSSSS)
I'm working on breaking apart our internal work into distinct MRs, this is currently rebased on #1218 but I may drop those commits soon. |
b2168d8
to
a692325
Compare
- Add support for canonicalizing timezone names - Add support for "backward" link timezone names - Support timezone offset strings - Expose "locale data" by mapping keys to NS APIs
a692325
to
1ccd29a
Compare
ewlsh
commented
Dec 12, 2023
@@ -0,0 +1,11 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
note: drop
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
We want to support
formatRange
andformatRangeToParts
forIntl.DateTimeFormat
on Android and iOS. Our company uses the Android implementation internally and will use the iOS implementation once we move iOS to Hermes.I've added a basic fallback for older Android versions, we don't use this internally but I'll test it.
For Apple this introduces support for
formatToParts
using the skeleton string to "build" each part - formatting the parts individually. This is expensive but can be avoided in the future if we move the implementation to Swift and utilize Swift'sAttributedString
. Apple has been working on Swift/C++ cmake interop.For Android and Apple this introduces support for
formatRange
uses the respective interval formatters on both platforms.Test Plan
Adding support for existing test262 tests and porting some tests to the internal testsuite where the data won't align to do limitations in the Apple implementation