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

LibJS: Implement the required AOs for Temporal.Duration.compare

This commit is contained in:
Luke Wilde 2021-11-09 17:19:28 +00:00 committed by Linus Groh
parent 98b9a75591
commit 29072f4b09
9 changed files with 413 additions and 5 deletions

View file

@ -397,7 +397,7 @@ ThrowCompletionOr<TemporalDuration> difference_iso_date_time(GlobalObject& globa
auto* until_options = TRY(merge_largest_unit_option(global_object, *options, move(date_largest_unit)));
// 12. Let dateDifference be ? CalendarDateUntil(calendar, date1, date2, untilOptions).
auto* date_difference = TRY(calendar_date_until(global_object, calendar, *date1, *date2, *until_options));
auto* date_difference = TRY(calendar_date_until(global_object, calendar, date1, date2, *until_options));
// 13. Let balanceResult be ? BalanceDuration(dateDifference.[[Days]], timeDifference.[[Hours]], timeDifference.[[Minutes]], timeDifference.[[Seconds]], timeDifference.[[Milliseconds]], timeDifference.[[Microseconds]], timeDifference.[[Nanoseconds]], largestUnit).
auto balance_result_ = TRY(balance_duration(global_object, date_difference->days(), time_difference.hours, time_difference.minutes, time_difference.seconds, time_difference.milliseconds, time_difference.microseconds, *js_bigint(vm, { (i32)time_difference.nanoseconds }), largest_unit));