ladybird/Userland/Libraries/LibJS/Runtime/Temporal
Shannon Booth a7316d3641 LibJS: Update Temporal RoundDuration AO to some spec changes
This commit effectively just does a bulk update of this function to the
spec. Since there have been so many spec changes, no specific change was
made in mind, and many FIXMEs have been left for where we are still out
of date.

These changes also appear to include a normative change to the temporal
spec which was previously resulting in timeouts for some tests, and is
now resulting in a timeout.

Furthermore, this also resolves some crashes by protecting against
division by zero, instead throwing a RangeError. This can only happen
when a custom calender is provided which returns funky values. See:

https://github.com/tc39/proposal-temporal/commit/ed85e9

Diff Tests:
    +8     -4 💀    -4 💥
2024-01-14 16:08:52 -07:00
..
AbstractOperations.cpp
AbstractOperations.h
Calendar.cpp LibJS: Improve const-correctness of CalendarDateUntil 2024-01-14 16:08:52 -07:00
Calendar.h LibJS: Improve const-correctness of CalendarDateUntil 2024-01-14 16:08:52 -07:00
CalendarConstructor.cpp
CalendarConstructor.h
CalendarPrototype.cpp
CalendarPrototype.h
Duration.cpp LibJS: Update Temporal RoundDuration AO to some spec changes 2024-01-14 16:08:52 -07:00
Duration.h LibJS: Update Temporal RoundDuration AO to some spec changes 2024-01-14 16:08:52 -07:00
DurationConstructor.cpp LibJS+LibWeb: Add missing JS_DEFINE_ALLOCATOR() for a bunch of classes 2023-12-23 23:02:10 +01:00
DurationConstructor.h
DurationPrototype.cpp LibJS: Update Temporal RoundDuration AO to some spec changes 2024-01-14 16:08:52 -07:00
DurationPrototype.h
Instant.cpp
Instant.h
InstantConstructor.cpp
InstantConstructor.h
InstantPrototype.cpp
InstantPrototype.h
ISO8601.cpp
ISO8601.h
Now.cpp
Now.h
PlainDate.cpp LibJS: Implement Temporal AO DifferenceDate 2024-01-14 16:08:52 -07:00
PlainDate.h LibJS: Implement Temporal AO DifferenceDate 2024-01-14 16:08:52 -07:00
PlainDateConstructor.cpp
PlainDateConstructor.h
PlainDatePrototype.cpp
PlainDatePrototype.h
PlainDateTime.cpp
PlainDateTime.h
PlainDateTimeConstructor.cpp
PlainDateTimeConstructor.h
PlainDateTimePrototype.cpp
PlainDateTimePrototype.h
PlainMonthDay.cpp
PlainMonthDay.h
PlainMonthDayConstructor.cpp
PlainMonthDayConstructor.h
PlainMonthDayPrototype.cpp
PlainMonthDayPrototype.h
PlainTime.cpp
PlainTime.h
PlainTimeConstructor.cpp
PlainTimeConstructor.h
PlainTimePrototype.cpp
PlainTimePrototype.h
PlainYearMonth.cpp LibJS: Catch up DifferenceTemporalPlainYearMonth somewhat to the spec 2024-01-14 16:08:52 -07:00
PlainYearMonth.h
PlainYearMonthConstructor.cpp
PlainYearMonthConstructor.h
PlainYearMonthPrototype.cpp
PlainYearMonthPrototype.h
Temporal.cpp
Temporal.h
TimeZone.cpp
TimeZone.h
TimeZoneConstructor.cpp
TimeZoneConstructor.h
TimeZonePrototype.cpp
TimeZonePrototype.h
ZonedDateTime.cpp
ZonedDateTime.h
ZonedDateTimeConstructor.cpp
ZonedDateTimeConstructor.h
ZonedDateTimePrototype.cpp
ZonedDateTimePrototype.h