Jelajahi Sumber

LibJS: Convert parse_temporal_duration_string() to ThrowCompletionOr

Linus Groh 3 tahun lalu
induk
melakukan
f86fa12deb

+ 1 - 1
Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp

@@ -892,7 +892,7 @@ ThrowCompletionOr<ISODateTime> parse_temporal_date_time_string(GlobalObject& glo
 }
 
 // 13.40 ParseTemporalDurationString ( isoString ), https://tc39.es/proposal-temporal/#sec-temporal-parsetemporaldurationstring
-Optional<TemporalDuration> parse_temporal_duration_string(GlobalObject& global_object, String const& iso_string)
+ThrowCompletionOr<TemporalDuration> parse_temporal_duration_string(GlobalObject& global_object, String const& iso_string)
 {
     (void)global_object;
     (void)iso_string;

+ 1 - 1
Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.h

@@ -108,7 +108,7 @@ ThrowCompletionOr<TemporalInstant> parse_temporal_instant_string(GlobalObject&,
 ThrowCompletionOr<String> parse_temporal_calendar_string(GlobalObject&, String const& iso_string);
 ThrowCompletionOr<TemporalDate> parse_temporal_date_string(GlobalObject&, String const& iso_string);
 ThrowCompletionOr<ISODateTime> parse_temporal_date_time_string(GlobalObject&, String const& iso_string);
-Optional<TemporalDuration> parse_temporal_duration_string(GlobalObject&, String const& iso_string);
+ThrowCompletionOr<TemporalDuration> parse_temporal_duration_string(GlobalObject&, String const& iso_string);
 Optional<TemporalTime> parse_temporal_time_string(GlobalObject&, String const& iso_string);
 Optional<TemporalTimeZone> parse_temporal_time_zone_string(GlobalObject&, String const& iso_string);
 Optional<TemporalYearMonth> parse_temporal_year_month_string(GlobalObject&, String const& iso_string);

+ 2 - 6
Userland/Libraries/LibJS/Runtime/Temporal/Duration.cpp

@@ -57,9 +57,7 @@ Duration* to_temporal_duration(GlobalObject& global_object, Value item)
             return {};
 
         // b. Let result be ? ParseTemporalDurationString(string).
-        result = parse_temporal_duration_string(global_object, string);
-        if (vm.exception())
-            return {};
+        result = TRY_OR_DISCARD(parse_temporal_duration_string(global_object, string));
     }
 
     // 3. Return ? CreateTemporalDuration(result.[[Years]], result.[[Months]], result.[[Weeks]], result.[[Days]], result.[[Hours]], result.[[Minutes]], result.[[Seconds]], result.[[Milliseconds]], result.[[Microseconds]], result.[[Nanoseconds]]).
@@ -469,9 +467,7 @@ Optional<TemporalDuration> to_limited_temporal_duration(GlobalObject& global_obj
             return {};
 
         // b. Let duration be ? ParseTemporalDurationString(str).
-        duration = parse_temporal_duration_string(global_object, str);
-        if (vm.exception())
-            return {};
+        duration = TRY_OR_DISCARD(parse_temporal_duration_string(global_object, str));
     }
     // 2. Else,
     else {