Skip to content

Commit 8792fdf

Browse files
committed
LibJS: Convert reject_temporal_calendar_type() to ThrowCompletionOr
1 parent 8dd45a1 commit 8792fdf

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,7 @@ Optional<u16> maximum_temporal_duration_rounding_increment(StringView unit)
563563
}
564564

565565
// 13.26 RejectTemporalCalendarType ( object ), https://tc39.es/proposal-temporal/#sec-temporal-rejecttemporalcalendartype
566-
void reject_temporal_calendar_type(GlobalObject& global_object, Object& object)
566+
ThrowCompletionOr<void> reject_temporal_calendar_type(GlobalObject& global_object, Object& object)
567567
{
568568
auto& vm = global_object.vm();
569569

@@ -572,8 +572,10 @@ void reject_temporal_calendar_type(GlobalObject& global_object, Object& object)
572572
// 2. If object has an [[InitializedTemporalDate]], [[InitializedTemporalDateTime]], [[InitializedTemporalMonthDay]], [[InitializedTemporalTime]], [[InitializedTemporalYearMonth]], or [[InitializedTemporalZonedDateTime]] internal slot, then
573573
if (is<PlainDate>(object) || is<PlainDateTime>(object) || is<PlainMonthDay>(object) || is<PlainTime>(object) || is<PlainYearMonth>(object) || is<ZonedDateTime>(object)) {
574574
// a. Throw a TypeError exception.
575-
vm.throw_exception<TypeError>(global_object, ErrorType::TemporalPlainTimeWithArgumentMustNotHave, "calendar or timeZone");
575+
return vm.throw_completion<TypeError>(global_object, ErrorType::TemporalPlainTimeWithArgumentMustNotHave, "calendar or timeZone");
576576
}
577+
578+
return {};
577579
}
578580

579581
// 13.27 FormatSecondsStringPart ( second, millisecond, microsecond, nanosecond, precision ), https://tc39.es/proposal-temporal/#sec-temporal-formatsecondsstringpart

Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ ThrowCompletionOr<Optional<String>> to_smallest_temporal_unit(GlobalObject&, Obj
9999
ThrowCompletionOr<void> validate_temporal_unit_range(GlobalObject&, StringView largest_unit, StringView smallest_unit);
100100
String larger_of_two_temporal_units(StringView, StringView);
101101
Optional<u16> maximum_temporal_duration_rounding_increment(StringView unit);
102-
void reject_temporal_calendar_type(GlobalObject&, Object&);
102+
ThrowCompletionOr<void> reject_temporal_calendar_type(GlobalObject&, Object&);
103103
String format_seconds_string_part(u8 second, u16 millisecond, u16 microsecond, u16 nanosecond, Variant<StringView, u8> const& precision);
104104
double constrain_to_range(double x, double minimum, double maximum);
105105
BigInt* round_number_to_increment(GlobalObject&, BigInt const&, u64 increment, StringView rounding_mode);

Userland/Libraries/LibJS/Runtime/Temporal/PlainTimePrototype.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,7 @@ JS_DEFINE_NATIVE_FUNCTION(PlainTimePrototype::with)
160160
auto& temporal_time_like = temporal_time_like_argument.as_object();
161161

162162
// 4. Perform ? RejectTemporalCalendarType(temporalTimeLike).
163-
reject_temporal_calendar_type(global_object, temporal_time_like);
164-
if (vm.exception())
165-
return {};
163+
TRY_OR_DISCARD(reject_temporal_calendar_type(global_object, temporal_time_like));
166164

167165
// 5. Let calendarProperty be ? Get(temporalTimeLike, "calendar").
168166
auto calendar_property = temporal_time_like.get(vm.names.calendar);

0 commit comments

Comments
 (0)