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

LibJS: Implement TODO()'d parts of balance_duration()

Massive :yakstack:, so I understand why it was skipped in the first
place :^)
This commit is contained in:
Linus Groh 2021-11-02 00:14:47 +01:00
parent 17fd08d752
commit d49bbb1da3
11 changed files with 320 additions and 6 deletions

View file

@ -6,6 +6,7 @@
#pragma once
#include <LibJS/Heap/Handle.h>
#include <LibJS/Runtime/BigInt.h>
#include <LibJS/Runtime/Object.h>
@ -33,6 +34,14 @@ private:
Object& m_calendar; // [[Calendar]]
};
struct NanosecondsToDaysResult {
double days;
Handle<BigInt> nanoseconds;
double day_length;
};
ThrowCompletionOr<ZonedDateTime*> create_temporal_zoned_date_time(GlobalObject&, BigInt const& epoch_nanoseconds, Object& time_zone, Object& calendar, FunctionObject const* new_target = nullptr);
ThrowCompletionOr<BigInt*> add_zoned_date_time(GlobalObject&, BigInt const& epoch_nanoseconds, Value time_zone, Object& calendar, double years, double months, double weeks, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, double nanoseconds, Object* options = nullptr);
ThrowCompletionOr<NanosecondsToDaysResult> nanoseconds_to_days(GlobalObject&, BigInt const& nanoseconds, Value relative_to);
}