mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-21 03:55:24 +00:00
LibJS: Make ToDateDurationRecordWithoutTime infallible
This is an editorial change in the Temporal proposal. See: https://github.com/tc39/proposal-temporal/commit/05017b9
This commit is contained in:
parent
4f07cddb2d
commit
4cbb5661d0
Notes:
github-actions[bot]
2024-12-05 21:07:00 +00:00
Author: https://github.com/trflynn89 Commit: https://github.com/LadybirdBrowser/ladybird/commit/4cbb5661d00 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2790 Reviewed-by: https://github.com/gmta ✅
4 changed files with 8 additions and 8 deletions
|
@ -110,7 +110,7 @@ InternalDuration to_internal_duration_record_with_24_hour_days(VM& vm, Duration
|
|||
}
|
||||
|
||||
// 7.5.7 ToDateDurationRecordWithoutTime ( duration ), https://tc39.es/proposal-temporal/#sec-temporal-todatedurationrecordwithouttime
|
||||
ThrowCompletionOr<DateDuration> to_date_duration_record_without_time(VM& vm, Duration const& duration)
|
||||
DateDuration to_date_duration_record_without_time(VM& vm, Duration const& duration)
|
||||
{
|
||||
// 1. Let internalDuration be ToInternalDurationRecordWith24HourDays(duration).
|
||||
auto internal_duration = to_internal_duration_record_with_24_hour_days(vm, duration);
|
||||
|
@ -118,8 +118,8 @@ ThrowCompletionOr<DateDuration> to_date_duration_record_without_time(VM& vm, Dur
|
|||
// 2. Let days be truncate(internalDuration.[[Time]] / nsPerDay).
|
||||
auto days = internal_duration.time.divided_by(NANOSECONDS_PER_DAY).quotient;
|
||||
|
||||
// 3. Return ? CreateDateDurationRecord(internalDuration.[[Date]].[[Years]], internalDuration.[[Date]].[[Months]], internalDuration.[[Date]].[[Weeks]], days).
|
||||
return TRY(create_date_duration_record(vm, duration.years(), duration.months(), duration.weeks(), days.to_double()));
|
||||
// 3. Return ! CreateDateDurationRecord(internalDuration.[[Date]].[[Years]], internalDuration.[[Date]].[[Months]], internalDuration.[[Date]].[[Weeks]], days).
|
||||
return MUST(create_date_duration_record(vm, duration.years(), duration.months(), duration.weeks(), days.to_double()));
|
||||
}
|
||||
|
||||
// 7.5.8 TemporalDurationFromInternal ( internalDuration, largestUnit ), https://tc39.es/proposal-temporal/#sec-temporal-temporaldurationfrominternal
|
||||
|
|
|
@ -112,7 +112,7 @@ struct CalendarNudgeResult {
|
|||
DateDuration zero_date_duration(VM&);
|
||||
InternalDuration to_internal_duration_record(VM&, Duration const&);
|
||||
InternalDuration to_internal_duration_record_with_24_hour_days(VM&, Duration const&);
|
||||
ThrowCompletionOr<DateDuration> to_date_duration_record_without_time(VM&, Duration const&);
|
||||
DateDuration to_date_duration_record_without_time(VM&, Duration const&);
|
||||
ThrowCompletionOr<GC::Ref<Duration>> temporal_duration_from_internal(VM&, InternalDuration const&, Unit largest_unit);
|
||||
ThrowCompletionOr<DateDuration> create_date_duration_record(VM&, double years, double months, double weeks, double days);
|
||||
ThrowCompletionOr<DateDuration> adjust_date_duration_record(VM&, DateDuration const&, double days, Optional<double> weeks = {}, Optional<double> months = {});
|
||||
|
|
|
@ -407,8 +407,8 @@ ThrowCompletionOr<GC::Ref<PlainDate>> add_duration_to_date(VM& vm, ArithmeticOpe
|
|||
if (operation == ArithmeticOperation::Subtract)
|
||||
duration = create_negated_temporal_duration(vm, duration);
|
||||
|
||||
// 4. Let dateDuration be ? ToDateDurationRecordWithoutTime(duration).
|
||||
auto date_duration = TRY(to_date_duration_record_without_time(vm, duration));
|
||||
// 4. Let dateDuration be ToDateDurationRecordWithoutTime(duration).
|
||||
auto date_duration = to_date_duration_record_without_time(vm, duration);
|
||||
|
||||
// 5. Let resolvedOptions be ? GetOptionsObject(options).
|
||||
auto resolved_options = TRY(get_options_object(vm, options));
|
||||
|
|
|
@ -323,8 +323,8 @@ ThrowCompletionOr<GC::Ref<PlainYearMonth>> add_duration_to_year_month(VM& vm, Ar
|
|||
date = intermediate_date;
|
||||
}
|
||||
|
||||
// 12. Let durationToAdd be ? ToDateDurationRecordWithoutTime(duration).
|
||||
auto duration_to_add = TRY(to_date_duration_record_without_time(vm, duration));
|
||||
// 12. Let durationToAdd be ToDateDurationRecordWithoutTime(duration).
|
||||
auto duration_to_add = to_date_duration_record_without_time(vm, duration);
|
||||
|
||||
// 13. Let addedDate be ? CalendarDateAdd(calendar, date, durationToAdd, overflow).
|
||||
auto added_date = TRY(calendar_date_add(vm, calendar, date, duration_to_add, overflow));
|
||||
|
|
Loading…
Add table
Reference in a new issue