1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 18:47:34 +00:00

LibJS+js: Parse new constructor options from Intl.NumberFormat V3

This contains minimal changes to parse newly added and modified options
from the Intl.NumberFormat V3 proposal, while maintaining main spec
behavior in Intl.NumberFormat.prototype.format. The parsed options are
reflected only in Intl.NumberFormat.prototype.resolvedOptions and the js
REPL.
This commit is contained in:
Timothy Flynn 2022-07-12 13:18:23 -04:00 committed by Linus Groh
parent cd8bcd06c6
commit 33698b9615
11 changed files with 589 additions and 75 deletions

View file

@ -747,9 +747,13 @@ static void print_intl_number_format(JS::Intl::NumberFormat const& number_format
print_value(JS::Value(number_format.max_significant_digits()), seen_objects);
}
js_out("\n useGrouping: ");
print_value(JS::Value(number_format.use_grouping()), seen_objects);
print_value(number_format.use_grouping_to_value(number_format.global_object()), seen_objects);
js_out("\n roundingType: ");
print_value(js_string(number_format.vm(), number_format.rounding_type_string()), seen_objects);
js_out("\n roundingMode: ");
print_value(js_string(number_format.vm(), number_format.rounding_mode_string()), seen_objects);
js_out("\n roundingIncrement: ");
print_value(JS::Value(number_format.rounding_increment()), seen_objects);
js_out("\n notation: ");
print_value(js_string(number_format.vm(), number_format.notation_string()), seen_objects);
if (number_format.has_compact_display()) {
@ -758,6 +762,8 @@ static void print_intl_number_format(JS::Intl::NumberFormat const& number_format
}
js_out("\n signDisplay: ");
print_value(js_string(number_format.vm(), number_format.sign_display_string()), seen_objects);
js_out("\n trailingZeroDisplay: ");
print_value(js_string(number_format.vm(), number_format.trailing_zero_display_string()), seen_objects);
}
static void print_intl_date_time_format(JS::Intl::DateTimeFormat& date_time_format, HashTable<JS::Object*>& seen_objects)