mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 07:17:35 +00:00
LibJS: Convert get_number_option() to ThrowCompletionOr
This commit is contained in:
parent
6d3de03549
commit
407cf04884
3 changed files with 8 additions and 7 deletions
|
@ -683,18 +683,18 @@ ThrowCompletionOr<Optional<int>> default_number_option(GlobalObject& global_obje
|
||||||
}
|
}
|
||||||
|
|
||||||
// 9.2.15 GetNumberOption ( options, property, minimum, maximum, fallback ), https://tc39.es/ecma402/#sec-getnumberoption
|
// 9.2.15 GetNumberOption ( options, property, minimum, maximum, fallback ), https://tc39.es/ecma402/#sec-getnumberoption
|
||||||
Optional<int> get_number_option(GlobalObject& global_object, Object const& options, PropertyName const& property, int minimum, int maximum, Optional<int> fallback)
|
ThrowCompletionOr<Optional<int>> get_number_option(GlobalObject& global_object, Object const& options, PropertyName const& property, int minimum, int maximum, Optional<int> fallback)
|
||||||
{
|
{
|
||||||
auto& vm = global_object.vm();
|
auto& vm = global_object.vm();
|
||||||
|
|
||||||
// 1. Assert: Type(options) is Object.
|
// 1. Assert: Type(options) is Object.
|
||||||
// 2. Let value be ? Get(options, property).
|
// 2. Let value be ? Get(options, property).
|
||||||
auto value = options.get(property);
|
auto value = options.get(property);
|
||||||
if (vm.exception())
|
if (auto* exception = vm.exception())
|
||||||
return {};
|
return throw_completion(exception->value());
|
||||||
|
|
||||||
// 3. Return ? DefaultNumberOption(value, minimum, maximum, fallback).
|
// 3. Return ? DefaultNumberOption(value, minimum, maximum, fallback).
|
||||||
return TRY_OR_DISCARD(default_number_option(global_object, value, minimum, maximum, move(fallback)));
|
return default_number_option(global_object, value, minimum, maximum, move(fallback));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 9.2.16 PartitionPattern ( pattern ), https://tc39.es/ecma402/#sec-partitionpattern
|
// 9.2.16 PartitionPattern ( pattern ), https://tc39.es/ecma402/#sec-partitionpattern
|
||||||
|
|
|
@ -48,7 +48,7 @@ ThrowCompletionOr<Array*> supported_locales(GlobalObject&, Vector<String> const&
|
||||||
ThrowCompletionOr<Object*> coerce_options_to_object(GlobalObject& global_object, Value options);
|
ThrowCompletionOr<Object*> coerce_options_to_object(GlobalObject& global_object, Value options);
|
||||||
ThrowCompletionOr<Value> get_option(GlobalObject& global_object, Object const& options, PropertyName const& property, Value::Type type, Vector<StringView> const& values, Fallback fallback);
|
ThrowCompletionOr<Value> get_option(GlobalObject& global_object, Object const& options, PropertyName const& property, Value::Type type, Vector<StringView> const& values, Fallback fallback);
|
||||||
ThrowCompletionOr<Optional<int>> default_number_option(GlobalObject& global_object, Value value, int minimum, int maximum, Optional<int> fallback);
|
ThrowCompletionOr<Optional<int>> default_number_option(GlobalObject& global_object, Value value, int minimum, int maximum, Optional<int> fallback);
|
||||||
Optional<int> get_number_option(GlobalObject& global_object, Object const& options, PropertyName const& property, int minimum, int maximum, Optional<int> fallback);
|
ThrowCompletionOr<Optional<int>> get_number_option(GlobalObject& global_object, Object const& options, PropertyName const& property, int minimum, int maximum, Optional<int> fallback);
|
||||||
Vector<PatternPartition> partition_pattern(StringView pattern);
|
Vector<PatternPartition> partition_pattern(StringView pattern);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -249,9 +249,10 @@ void set_number_format_digit_options(GlobalObject& global_object, NumberFormat&
|
||||||
// 4. Assert: Type(mxfdDefault) is Number.
|
// 4. Assert: Type(mxfdDefault) is Number.
|
||||||
|
|
||||||
// 5. Let mnid be ? GetNumberOption(options, "minimumIntegerDigits,", 1, 21, 1).
|
// 5. Let mnid be ? GetNumberOption(options, "minimumIntegerDigits,", 1, 21, 1).
|
||||||
auto min_integer_digits = get_number_option(global_object, options, vm.names.minimumIntegerDigits, 1, 21, 1);
|
auto min_integer_digits_or_error = get_number_option(global_object, options, vm.names.minimumIntegerDigits, 1, 21, 1);
|
||||||
if (vm.exception())
|
if (min_integer_digits_or_error.is_error())
|
||||||
return;
|
return;
|
||||||
|
auto min_integer_digits = min_integer_digits_or_error.release_value();
|
||||||
|
|
||||||
// 6. Let mnfd be ? Get(options, "minimumFractionDigits").
|
// 6. Let mnfd be ? Get(options, "minimumFractionDigits").
|
||||||
auto min_fraction_digits = options.get(vm.names.minimumFractionDigits);
|
auto min_fraction_digits = options.get(vm.names.minimumFractionDigits);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue