LGTM2

On Thu, Apr 18, 2019 at 4:21 PM Sathya Gunasekaran <gsat...@chromium.org>
wrote:

> LGTM
>
> On Thu, Apr 18, 2019 at 4:02 PM Frank Tang <ft...@chromium.org> wrote:
>
>> *Intend to Ship: Locale sensitive BigInt.prototype.toLocaleString & allow
>> Intl.NumberFormat format/formatToParts to take BigInt*
>>
>>
>> Spec
>>
>> https://github.com/tc39/ecma402/pull/236
>>
>>
>> Summary
>>
>> A Stage 3 Pull Request to change the ECMA402 that support locale
>> sensitive BigInt.prototype.toLocaleString to format the BigInt and also
>> allow Intl.NumberFormat.prototype.format and
>> Intl.NumberFormat.prototype.formatToParts to take BigInt as value.
>> Example
>>
>> BigInt(12345678901234567890).toLocaleString("de")
>> // "12.345.678.901.234.567.168"
>>
>> 12345678901234567890n.toLocaleString("en")
>>
>> // "12,345,678,901,234,567,168"
>>
>> 12345678901234567890n.toLocaleString("hi")
>>
>> // "1,23,45,67,89,01,23,45,67,168"
>>
>> 12345678901234567890n.toLocaleString("fa")
>>
>> // "۱۲٬۳۴۵٬۶۷۸٬۹۰۱٬۲۳۴٬۵۶۷٬۱۶۸"
>>
>> 12345678901234567890n.toLocaleString("fr")
>>
>> // "12 345 678 901 234 567 168"
>>
>> 12345678901234567890n.toLocaleString("th-Thai")
>>
>> // "12,345,678,901,234,567,168"
>>
>> 12345678901234567890n.toLocaleString("th-u-nu-Thai")
>>
>> // "๑๒,๓๔๕,๖๗๘,๙๐๑,๒๓๔,๕๖๗,๑๖๘"
>>
>> let nf = new Intl.NumberFormat("hi");
>>
>> nf.format(12345678901234567890n);
>>
>> // "1,23,45,67,89,01,23,45,67,168"
>>
>> nf.formatToParts(12345678901234567890n);
>>
>> // [{type: "integer", value: "1"},
>> //  {type: "group", value: ","},
>> //  {type: "integer", value: "23"},
>> //  {type: "group", value: ","}
>> //  {type: "integer", value: "45"},
>> //  {type: "group", value: ","},
>> //  {type: "integer", value: "67"},
>> //  {type: "group", value: ","},
>> //  {type: "integer", value: "89"},
>> //  {type: "group", value: ","},
>> //  {type: "integer", value: "01"},
>> //  {type: "group", value: ","},
>> //  {type: "integer", value: "23"},
>> //  {type: "group", value: ","},
>> //  {type: "integer", value: "45"},
>> //  {type: "group", value: ","},
>> //  {type: "integer", value: "67"},
>> //  {type: "group", value: ","},
>> //  {type: "integer", value: "890"}]
>>
>> Interoperability and compatibility risk
>>
>> The BigInt.prototype.toLocaleString was implemented as
>> BigInt.prototype.toString. This launch will make it return string
>> differently, based on the cultural conventions of the locale. Code
>> expecting the BigInt.prototype.toLocaleString behavior the same as
>> BigInt.prototype.toString will break but the chance is very low since the
>> ECMA262 specification already make it clear the toLocaleString is
>> delegating to the ECMA402 specification to specify. The
>> Intl.NumberFormat.prototype.format and formatToParts now take BigInt as
>> value instead of throwing exception.
>>
>>
>>
>>    -
>>
>>    Firefox:No public signals
>>    -
>>
>>    Edge: No public signals
>>    -
>>
>>    Safari:No public signals
>>    -
>>
>>    Web Developers:No signals
>>
>>
>> Is this feature fully tested?
>>
>> Yes; our implementation passes our own V8 tests for all the features as
>> well as tests under test262.
>>
>>    -
>>
>>    intl402/BigInt/prototype/toLocaleString
>>    
>> <https://github.com/tc39/test262/tree/master/test/intl402/BigInt/prototype/toLocaleString>
>>    -
>>
>>    test/intl/bigint/
>>    <https://cs.chromium.org/chromium/src/v8/test/intl/bigint/>
>>
>>
>> Tracking bug
>>
>> https://crbug.com/v8/8699
>>
>>
>>
>> Design Doc:
>>
>> https://goo.gl/qpRwFo
>>
>>
>>
>> Link to entry on the Chrome Platform Status dashboard
>>
>> https://www.chromestatus.com/feature/5742274625404928
>>
>> Requesting approval to ship?
>>
>> Yes. Note that since this is a V8/JS feature, this post is just an FYI to
>> blink-dev — no signoff from Blink API owners is required.
>>
>>
>>
>>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
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 v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to