|
@@ -270,6 +270,16 @@ Duration* create_temporal_duration(GlobalObject& global_object, double years, do
|
|
|
return object;
|
|
|
}
|
|
|
|
|
|
+// 7.5.8 CreateNegatedTemporalDuration ( duration ), https://tc39.es/proposal-temporal/#sec-temporal-createnegatedtemporalduration
|
|
|
+Duration* create_negated_temporal_duration(GlobalObject& global_object, Duration const& duration)
|
|
|
+{
|
|
|
+ // 1. Assert: Type(duration) is Object.
|
|
|
+ // 2. Assert: duration has an [[InitializedTemporalDuration]] internal slot.
|
|
|
+
|
|
|
+ // 3. Return ! CreateTemporalDuration(−duration.[[Years]], −duration.[[Months]], −duration.[[Weeks]], −duration.[[Days]], −duration.[[Hours]], −duration.[[Minutes]], −duration.[[Seconds]], −duration.[[Milliseconds]], −duration.[[Microseconds]], −duration.[[Nanoseconds]]).
|
|
|
+ return create_temporal_duration(global_object, -duration.years(), -duration.months(), -duration.weeks(), -duration.days(), -duration.hours(), -duration.minutes(), -duration.seconds(), -duration.milliseconds(), -duration.microseconds(), -duration.nanoseconds());
|
|
|
+}
|
|
|
+
|
|
|
// 7.5.10 TotalDurationNanoseconds ( days, hours, minutes, seconds, milliseconds, microseconds, nanoseconds, offsetShift ), https://tc39.es/proposal-temporal/#sec-temporal-totaldurationnanoseconds
|
|
|
BigInt* total_duration_nanoseconds(GlobalObject& global_object, double days, double hours, double minutes, double seconds, double milliseconds, double microseconds, BigInt const& nanoseconds, double offset_shift)
|
|
|
{
|
|
@@ -446,7 +456,7 @@ Optional<BalancedDuration> balance_duration(GlobalObject& global_object, double
|
|
|
return BalancedDuration { .days = days, .hours = hours * sign, .minutes = minutes * sign, .seconds = seconds * sign, .milliseconds = milliseconds * sign, .microseconds = microseconds * sign, .nanoseconds = result_nanoseconds * sign };
|
|
|
}
|
|
|
|
|
|
-// 7.5.19 ToLimitedTemporalDuration ( temporalDurationLike, disallowedFields ),https://tc39.es/proposal-temporal/#sec-temporal-tolimitedtemporalduration
|
|
|
+// 7.5.20 ToLimitedTemporalDuration ( temporalDurationLike, disallowedFields ),https://tc39.es/proposal-temporal/#sec-temporal-tolimitedtemporalduration
|
|
|
Optional<TemporalDuration> to_limited_temporal_duration(GlobalObject& global_object, Value temporal_duration_like, Vector<StringView> const& disallowed_fields)
|
|
|
{
|
|
|
auto& vm = global_object.vm();
|