(Probably an overkill, but here it goes)

Contact emails

[email protected]

Explainer

No explainer, a specification exists already.

Spec
https://tc39.github.io/ecma402/#sec-partitiondatetimepattern

Summary

This change corrects a non-compliant type value in the formatToParts
implementation.


> new Intl.DateTimeFormat("en-us", {hour12: true, hour:
"numeric"}).formatToParts()

[{"type": "hour", "value": "6"}, {"type": "literal", "value": " "},
{"type": "day*p*eriod", "value": "PM"}]


Will change to -

[{"type": "hour", "value": "6"}, {"type": "literal", "value": " "},
{"type": "day*P*eriod", "value": "PM"}]


Motivation

Compliance with the standards and other browsers and likely most of the
code that is already out there.


Risks

Interoperability and Compatibility

Compatibility risk - small to medium at worst.


Searched GitHub (not exhaustive, but some indication) for dayperiod instances
-
https://github.com/search?l=&p=1&q=formatToParts+dayperiod+language%3AJavaScript&type=Code

The vast majority are polyfills that use dayPeriod already, or code that
uses type.toLowerCase() to bridge over the differences.


Sent pull requests to the few cases that were plain wrong -
https://github.com/sensu/sensu-go/pull/1852
https://github.com/brave/browser-laptop/pull/14790
https://github.com/ray007/js-misc/pull/1
https://github.com/OriginalNexus/venture/pull/1
https://github.com/ua9msn/datetime/pull/9


Interoperability risk - none.


Edge: No signals

Firefox: Shipped

Safari: Shipped

Web developers: No signals.


Alternatives for web developers

Either check for type === "dayPeriod" || type === "dayperiod", or
type.toLowerCase()
=== "dayperiod".

Ergonomics

Irrelevant.

Activation

Irrelevant.

Debuggability

Already debuggable.


Will this feature be supported on all six Blink platforms (Windows, Mac,
Linux, Chrome OS, Android, and Android WebView)?

Yes.

Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
?

Nope, but it is tested by test262, though not this case (which is
apparently why the interoperability issue exists).

*I submitted a test262 pull request to maintain interoperability -*
*https://github.com/tc39/test262/pull/1645
<https://github.com/tc39/test262/pull/1645>*


Bug and proposed change list -

https://crbug.com/865351

https://chromium-review.googlesource.com/c/v8/v8/+/1145304


Link to entry on the feature dashboard <https://www.chromestatus.com/>
https://www.chromestatus.com/features/5252265900244992

Requesting approval to ship?

Yes. I think so. Do you think a deprecation period is warranted? There is
no (public?) use counter for formatToParts.


☆*PhistucK*

-- 
-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to