diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp index 0a86a2373b..26ddd60b17 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp @@ -876,7 +876,7 @@ ThrowCompletionOr parse_temporal_date_string(GlobalObject& global_ } // 13.39 ParseTemporalDateTimeString ( isoString ), https://tc39.es/proposal-temporal/#sec-temporal-parsetemporaldatetimestring -Optional parse_temporal_date_time_string(GlobalObject& global_object, String const& iso_string) +ThrowCompletionOr parse_temporal_date_time_string(GlobalObject& global_object, String const& iso_string) { // 1. Assert: Type(isoString) is String. @@ -885,7 +885,7 @@ Optional parse_temporal_date_time_string(GlobalObject& global_objec // TODO // 3. Let result be ? ParseISODateTime(isoString). - auto result = TRY_OR_DISCARD(parse_iso_date_time(global_object, iso_string)); + auto result = TRY(parse_iso_date_time(global_object, iso_string)); // 4. Return result. return result; diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.h b/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.h index 1af0f62b2e..6076bad97d 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.h +++ b/Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.h @@ -107,7 +107,7 @@ ThrowCompletionOr parse_iso_date_time(GlobalObject&, String const& ThrowCompletionOr parse_temporal_instant_string(GlobalObject&, String const& iso_string); ThrowCompletionOr parse_temporal_calendar_string(GlobalObject&, String const& iso_string); ThrowCompletionOr parse_temporal_date_string(GlobalObject&, String const& iso_string); -Optional parse_temporal_date_time_string(GlobalObject&, String const& iso_string); +ThrowCompletionOr parse_temporal_date_time_string(GlobalObject&, String const& iso_string); Optional parse_temporal_duration_string(GlobalObject&, String const& iso_string); Optional parse_temporal_time_string(GlobalObject&, String const& iso_string); Optional parse_temporal_time_zone_string(GlobalObject&, String const& iso_string); diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTime.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTime.cpp index 7e9555651c..25c3c3beea 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTime.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainDateTime.cpp @@ -204,10 +204,7 @@ PlainDateTime* to_temporal_date_time(GlobalObject& global_object, Value item, Ob return {}; // c. Let result be ? ParseTemporalDateTimeString(string). - auto maybe_result = parse_temporal_date_time_string(global_object, string); - if (vm.exception()) - return {}; - result = move(*maybe_result); + result = TRY_OR_DISCARD(parse_temporal_date_time_string(global_object, string)); // d. Assert: ! IsValidISODate(result.[[Year]], result.[[Month]], result.[[Day]]) is true. VERIFY(is_valid_iso_date(result.year, result.month, result.day));