1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 22:37:35 +00:00

LibJS: Handle ZonedDateTime in ToTemporalInstant

This commit is contained in:
Linus Groh 2021-08-01 17:58:08 +01:00
parent 1f5098f61e
commit 6f75dcc7b8
2 changed files with 14 additions and 2 deletions

View file

@ -13,6 +13,7 @@
#include <LibJS/Runtime/Temporal/InstantConstructor.h>
#include <LibJS/Runtime/Temporal/PlainDateTime.h>
#include <LibJS/Runtime/Temporal/TimeZone.h>
#include <LibJS/Runtime/Temporal/ZonedDateTime.h>
namespace JS::Temporal {
@ -81,9 +82,14 @@ Instant* to_temporal_instant(GlobalObject& global_object, Value item)
// i. Return item.
return &static_cast<Instant&>(item.as_object());
}
// TODO:
// b. If item has an [[InitializedTemporalZonedDateTime]] internal slot, then
// i. Return ! CreateTemporalInstant(item.[[Nanoseconds]]).
if (is<ZonedDateTime>(item.as_object())) {
auto& zoned_date_time = static_cast<ZonedDateTime&>(item.as_object());
// i. Return ! CreateTemporalInstant(item.[[Nanoseconds]]).
return create_temporal_instant(global_object, zoned_date_time.nanoseconds());
}
}
// 2. Let string be ? ToString(item).