@@ -1089,7 +1089,7 @@ static Value builtinTemporalZonedDateTimeConstructor(ExecutionState& state, Valu
10891089
10901090 // If timeZone is not a String, throw a TypeError exception.
10911091 if (!argv[1 ].isString ()) {
1092- ErrorObject::throwBuiltinError (state, ErrorCode::RangeError , " timeZone should be String" );
1092+ ErrorObject::throwBuiltinError (state, ErrorCode::TypeError , " timeZone should be String" );
10931093 }
10941094 // Let timeZoneParse be ? ParseTimeZoneIdentifier(timeZone).
10951095 // If timeZoneParse.[[OffsetMinutes]] is empty, then
@@ -1098,7 +1098,7 @@ static Value builtinTemporalZonedDateTimeConstructor(ExecutionState& state, Valu
10981098 // Set timeZone to identifierRecord.[[Identifier]].
10991099 // Else,
11001100 // Set timeZone to FormatOffsetTimeZoneIdentifier(timeZoneParse.[[OffsetMinutes]]).
1101- auto timeZone = Temporal::parseTimeZone (state, argv[1 ].asString ());
1101+ auto timeZone = Temporal::parseTimeZone (state, argv[1 ].asString (), false );
11021102
11031103 // If calendar is undefined, set calendar to "iso8601".
11041104 Value calendar = argc > 2 ? argv[2 ] : Value ();
@@ -1123,6 +1123,11 @@ static Value builtinTemporalZonedDateTimeFrom(ExecutionState& state, Value thisV
11231123 return Temporal::toTemporalZonedDateTime (state, argv[0 ], argc > 1 ? argv[1 ] : Value ());
11241124}
11251125
1126+ static Value builtinTemporalZonedDateTimeCompare (ExecutionState& state, Value thisValue, size_t argc, Value* argv, Optional<Object*> newTarget)
1127+ {
1128+ return Value (TemporalZonedDateTimeObject::compare (state, argv[0 ], argv[1 ]));
1129+ }
1130+
11261131static Value builtinTemporalZonedDateTimeCalendarId (ExecutionState& state, Value thisValue, size_t argc, Value* argv, Optional<Object*> newTarget)
11271132{
11281133 RESOLVE_THIS_BINDING_TO_ZONEDDATETIME (zonedDateTime, CalendarId);
@@ -1274,6 +1279,24 @@ static Value builtinTemporalZonedDateTimeUntil(ExecutionState& state, Value this
12741279 return zonedDateTime->differenceTemporalZonedDateTime (state, TemporalZonedDateTimeObject::DifferenceTemporalZonedDateTime::Until, argv[0 ], argc > 1 ? argv[1 ] : Value ());
12751280}
12761281
1282+ static Value builtinTemporalZonedDateTimeRound (ExecutionState& state, Value thisValue, size_t argc, Value* argv, Optional<Object*> newTarget)
1283+ {
1284+ RESOLVE_THIS_BINDING_TO_ZONEDDATETIME2 (zonedDateTime, round);
1285+ return zonedDateTime->round (state, argv[0 ]);
1286+ }
1287+
1288+ static Value builtinTemporalZonedDateTimeGetTimeZoneTransition (ExecutionState& state, Value thisValue, size_t argc, Value* argv, Optional<Object*> newTarget)
1289+ {
1290+ RESOLVE_THIS_BINDING_TO_ZONEDDATETIME (zonedDateTime, GetTimeZoneTransition);
1291+ return zonedDateTime->getTimeZoneTransition (state, argv[0 ]);
1292+ }
1293+
1294+ static Value builtinTemporalZonedDateTimeStartOfDay (ExecutionState& state, Value thisValue, size_t argc, Value* argv, Optional<Object*> newTarget)
1295+ {
1296+ RESOLVE_THIS_BINDING_TO_ZONEDDATETIME (zonedDateTime, StartOfDay);
1297+ return zonedDateTime->startOfDay (state);
1298+ }
1299+
12771300void GlobalObject::initializeTemporal (ExecutionState& state)
12781301{
12791302 ObjectPropertyNativeGetterSetterData* nativeData = new ObjectPropertyNativeGetterSetterData (
@@ -1806,13 +1829,15 @@ void GlobalObject::installTemporal(ExecutionState& state)
18061829 m_temporalZonedDateTime->setGlobalIntrinsicObject (state);
18071830
18081831 m_temporalZonedDateTime->directDefineOwnProperty (state, ObjectPropertyName (strings->from ), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->from , builtinTemporalZonedDateTimeFrom, 1 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
1832+ m_temporalZonedDateTime->directDefineOwnProperty (state, ObjectPropertyName (strings->lazyCompare ()), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->lazyCompare (), builtinTemporalZonedDateTimeCompare, 2 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
18091833 m_temporalZonedDateTimePrototype = m_temporalZonedDateTime->getFunctionPrototype (state).asObject ();
18101834
18111835 m_temporalZonedDateTimePrototype->directDefineOwnProperty (state, ObjectPropertyName (state.context ()->vmInstance ()->globalSymbols ().toStringTag ),
18121836 ObjectPropertyDescriptor (Value (strings->lazyTemporalDotZonedDateTime ().string ()), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::ConfigurablePresent)));
18131837 m_temporalZonedDateTimePrototype->directDefineOwnProperty (state, ObjectPropertyName (strings->toString ), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->toString , builtinTemporalZonedDateTimeToString, 0 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
18141838 m_temporalZonedDateTimePrototype->directDefineOwnProperty (state, ObjectPropertyName (strings->toJSON ), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->toJSON , builtinTemporalZonedDateTimeToJSON, 0 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
18151839 m_temporalZonedDateTimePrototype->directDefineOwnProperty (state, ObjectPropertyName (strings->toLocaleString ), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->toLocaleString , builtinTemporalZonedDateTimeToLocaleString, 0 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
1840+ m_temporalZonedDateTimePrototype->directDefineOwnProperty (state, ObjectPropertyName (strings->valueOf ), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->valueOf , builtinTemporalAnyInstanceValueOf, 0 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
18161841 m_temporalZonedDateTimePrototype->directDefineOwnProperty (state, ObjectPropertyName (strings->lazyEquals ()), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->lazyEquals (), builtinTemporalZonedDateTimeEquals, 1 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
18171842 m_temporalZonedDateTimePrototype->directDefineOwnProperty (state, ObjectPropertyName (strings->lazyToInstant ()), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->lazyToInstant (), builtinTemporalZonedDateTimeToInstant, 0 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
18181843 m_temporalZonedDateTimePrototype->directDefineOwnProperty (state, ObjectPropertyName (strings->lazyToPlainDate ()), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->lazyToPlainDate (), builtinTemporalZonedDateTimeToPlainDate, 0 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
@@ -1826,7 +1851,9 @@ void GlobalObject::installTemporal(ExecutionState& state)
18261851 m_temporalZonedDateTimePrototype->directDefineOwnProperty (state, ObjectPropertyName (strings->lazySubtract ()), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->lazySubtract (), builtinTemporalZonedDateTimeSubtract, 1 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
18271852 m_temporalZonedDateTimePrototype->directDefineOwnProperty (state, ObjectPropertyName (strings->lazyUntil ()), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->lazyUntil (), builtinTemporalZonedDateTimeUntil, 1 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
18281853 m_temporalZonedDateTimePrototype->directDefineOwnProperty (state, ObjectPropertyName (strings->lazySince ()), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->lazySince (), builtinTemporalZonedDateTimeSince, 1 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
1829-
1854+ m_temporalZonedDateTimePrototype->directDefineOwnProperty (state, ObjectPropertyName (strings->round ), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->round , builtinTemporalZonedDateTimeRound, 1 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
1855+ m_temporalZonedDateTimePrototype->directDefineOwnProperty (state, ObjectPropertyName (strings->lazyStartOfDay ()), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->lazyStartOfDay (), builtinTemporalZonedDateTimeStartOfDay, 0 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
1856+ m_temporalZonedDateTimePrototype->directDefineOwnProperty (state, ObjectPropertyName (strings->lazyGetTimeZoneTransition ()), ObjectPropertyDescriptor (new NativeFunctionObject (state, NativeFunctionInfo (strings->lazyGetTimeZoneTransition (), builtinTemporalZonedDateTimeGetTimeZoneTransition, 1 , NativeFunctionInfo::Strict)), (ObjectPropertyDescriptor::PresentAttribute)(ObjectPropertyDescriptor::WritablePresent | ObjectPropertyDescriptor::ConfigurablePresent)));
18301857
18311858 {
18321859 AtomicString name (state.context (), " get calendarId" );
0 commit comments