1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 03:27:45 +00:00

LibJS: Convert parse_temporal_date_time_string() to ThrowCompletionOr

This commit is contained in:
Linus Groh 2021-09-16 17:52:57 +01:00
parent 4cb6eaf588
commit 3c530dec5a
3 changed files with 4 additions and 7 deletions

View file

@ -876,7 +876,7 @@ ThrowCompletionOr<TemporalDate> parse_temporal_date_string(GlobalObject& global_
} }
// 13.39 ParseTemporalDateTimeString ( isoString ), https://tc39.es/proposal-temporal/#sec-temporal-parsetemporaldatetimestring // 13.39 ParseTemporalDateTimeString ( isoString ), https://tc39.es/proposal-temporal/#sec-temporal-parsetemporaldatetimestring
Optional<ISODateTime> parse_temporal_date_time_string(GlobalObject& global_object, String const& iso_string) ThrowCompletionOr<ISODateTime> parse_temporal_date_time_string(GlobalObject& global_object, String const& iso_string)
{ {
// 1. Assert: Type(isoString) is String. // 1. Assert: Type(isoString) is String.
@ -885,7 +885,7 @@ Optional<ISODateTime> parse_temporal_date_time_string(GlobalObject& global_objec
// TODO // TODO
// 3. Let result be ? ParseISODateTime(isoString). // 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. // 4. Return result.
return result; return result;

View file

@ -107,7 +107,7 @@ ThrowCompletionOr<ISODateTime> parse_iso_date_time(GlobalObject&, String const&
ThrowCompletionOr<TemporalInstant> parse_temporal_instant_string(GlobalObject&, String const& iso_string); ThrowCompletionOr<TemporalInstant> parse_temporal_instant_string(GlobalObject&, String const& iso_string);
ThrowCompletionOr<String> parse_temporal_calendar_string(GlobalObject&, String const& iso_string); ThrowCompletionOr<String> parse_temporal_calendar_string(GlobalObject&, String const& iso_string);
ThrowCompletionOr<TemporalDate> parse_temporal_date_string(GlobalObject&, String const& iso_string); ThrowCompletionOr<TemporalDate> parse_temporal_date_string(GlobalObject&, String const& iso_string);
Optional<ISODateTime> parse_temporal_date_time_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); Optional<TemporalDuration> parse_temporal_duration_string(GlobalObject&, String const& iso_string);
Optional<TemporalTime> parse_temporal_time_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<TemporalTimeZone> parse_temporal_time_zone_string(GlobalObject&, String const& iso_string);

View file

@ -204,10 +204,7 @@ PlainDateTime* to_temporal_date_time(GlobalObject& global_object, Value item, Ob
return {}; return {};
// c. Let result be ? ParseTemporalDateTimeString(string). // c. Let result be ? ParseTemporalDateTimeString(string).
auto maybe_result = parse_temporal_date_time_string(global_object, string); result = TRY_OR_DISCARD(parse_temporal_date_time_string(global_object, string));
if (vm.exception())
return {};
result = move(*maybe_result);
// d. Assert: ! IsValidISODate(result.[[Year]], result.[[Month]], result.[[Day]]) is true. // d. Assert: ! IsValidISODate(result.[[Year]], result.[[Month]], result.[[Day]]) is true.
VERIFY(is_valid_iso_date(result.year, result.month, result.day)); VERIFY(is_valid_iso_date(result.year, result.month, result.day));