diff --git a/Userland/Libraries/LibJS/Runtime/Intl/DurationFormat.cpp b/Userland/Libraries/LibJS/Runtime/Intl/DurationFormat.cpp index 51798da666..ca557736e9 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/DurationFormat.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/DurationFormat.cpp @@ -305,7 +305,7 @@ static String convert_number_format_pattern_to_duration_format_template(Unicode: } // 1.1.7 PartitionDurationFormatPattern ( durationFormat, duration ), https://tc39.es/proposal-intl-duration-format/#sec-partitiondurationformatpattern -ThrowCompletionOr> partition_duration_format_pattern(VM& vm, DurationFormat const& duration_format, Temporal::DurationRecord const& duration) +Vector partition_duration_format_pattern(VM& vm, DurationFormat const& duration_format, Temporal::DurationRecord const& duration) { auto& realm = *vm.current_realm(); @@ -491,8 +491,8 @@ ThrowCompletionOr> partition_duration_format_pattern(VM } } - // 4. Let lf be ? Construct(%ListFormat%, « durationFormat.[[Locale]] »). - auto* list_format = static_cast(TRY(construct(vm, *realm.intrinsics().intl_list_format_constructor(), js_string(vm, duration_format.locale())))); + // 4. Let lf be ! Construct(%ListFormat%, « durationFormat.[[Locale]] »). + auto* list_format = static_cast(MUST(construct(vm, *realm.intrinsics().intl_list_format_constructor(), js_string(vm, duration_format.locale())))); // FIXME: CreatePartsFromList expects a list of strings and creates a list of Pattern Partition records, but we already created a list of Pattern Partition records // so we try to hack something together from it that looks mostly right diff --git a/Userland/Libraries/LibJS/Runtime/Intl/DurationFormat.h b/Userland/Libraries/LibJS/Runtime/Intl/DurationFormat.h index f16f4a72a6..612c4dfde2 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/DurationFormat.h +++ b/Userland/Libraries/LibJS/Runtime/Intl/DurationFormat.h @@ -224,6 +224,6 @@ ThrowCompletionOr to_duration_record(VM&, Value input) i8 duration_sign(Temporal::DurationRecord const&); bool is_valid_duration_record(Temporal::DurationRecord const&); ThrowCompletionOr get_duration_unit_options(VM&, String const& unit, Object const& options, StringView base_style, Span styles_list, StringView digital_base, StringView previous_style); -ThrowCompletionOr> partition_duration_format_pattern(VM&, DurationFormat const&, Temporal::DurationRecord const& duration); +Vector partition_duration_format_pattern(VM&, DurationFormat const&, Temporal::DurationRecord const& duration); } diff --git a/Userland/Libraries/LibJS/Runtime/Intl/DurationFormatPrototype.cpp b/Userland/Libraries/LibJS/Runtime/Intl/DurationFormatPrototype.cpp index 2ebb5f178d..2acf895745 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/DurationFormatPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/DurationFormatPrototype.cpp @@ -1,5 +1,6 @@ /* * Copyright (c) 2022, Idan Horowitz + * Copyright (c) 2022, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ @@ -45,8 +46,8 @@ JS_DEFINE_NATIVE_FUNCTION(DurationFormatPrototype::format) if (!is_valid_duration_record(record)) return vm.throw_completion(ErrorType::TemporalInvalidDurationLikeObject); - // 5. Let formatted be ? PartitionDurationFormatPattern(df, record). - auto formatted = TRY(partition_duration_format_pattern(vm, *duration_format, record)); + // 5. Let formatted be ! PartitionDurationFormatPattern(df, record). + auto formatted = partition_duration_format_pattern(vm, *duration_format, record); // 6. Let result be a new empty String. StringBuilder result; @@ -77,8 +78,8 @@ JS_DEFINE_NATIVE_FUNCTION(DurationFormatPrototype::format_to_parts) if (!is_valid_duration_record(record)) return vm.throw_completion(ErrorType::TemporalInvalidDurationLikeObject); - // 5. Let formatted be ? PartitionDurationFormatPattern(df, record). - auto formatted = TRY(partition_duration_format_pattern(vm, *duration_format, record)); + // 5. Let formatted be ! PartitionDurationFormatPattern(df, record). + auto formatted = partition_duration_format_pattern(vm, *duration_format, record); // 6. Let result be ! ArrayCreate(0). auto* result = MUST(Array::create(realm, 0));