diff --git a/source b/source index 809aeb97590..52d108136f5 100644 --- a/source +++ b/source @@ -3119,6 +3119,14 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
Otherwise, if value has an [[InitializedTemporalDate]] internal slot, then:
+ +Set serialized to { [[Type]]: "Temporal.PlainDate", [[ISOYear]]: + value.[[ISOYear]], [[ISOMonth]]: value.[[ISOMonth]], [[ISODay]]: + value.[[ISODay]], [[Calendar]]: value.[[Calendar]] }.
Otherwise, if value has an [[InitializedTemporalTime]] internal slot, then:
+ +Set serialized to { [[Type]]: "Temporal.PlainTime", [[ISOHour]]: + value.[[ISOHour]], [[ISOMinute]]: value.[[ISOMinute]], [[ISOSecond]]: + value.[[ISOSecond]], [[ISOMillisecond]]: value.[[ISOMillisecond]], + [[ISOMicrosecond]]: value.[[ISOMicrosecond]], [[ISONanosecond]]: + value.[[ISONanosecond]] }.
Otherwise, if value has an [[InitializedTemporalDateTime]] internal slot, + then:
+ +Set serialized to { [[Type]]: "Temporal.PlainDateTime", [[ISOYear]]: + value.[[ISOYear]], [[ISOMonth]]: value.[[ISOMonth]], [[ISODay]]: + value.[[ISODay]], [[ISOHour]]: value.[[ISOHour]], [[ISOMinute]]: + value.[[ISOMinute]], [[ISOSecond]]: value.[[ISOSecond]], + [[ISOMillisecond]]: value.[[ISOMillisecond]], [[ISOMicrosecond]]: + value.[[ISOMicrosecond]], [[ISONanosecond]]: value.[[ISONanosecond]], + [[Calendar]]: value.[[Calendar]] }.
Otherwise, if value has an [[InitializedTemporalZonedDateTime]] internal slot, + then:
+ +Set serialized to { [[Type]]: "Temporal.ZonedDateTime", [[Nanoseconds]]: + value.[[Nanoseconds]], [[TimeZone]]: value.[[TimeZone]], [[Calendar]]: + value.[[Calendar]] }.
Otherwise, if value has an [[InitializedTemporalDuration]] internal slot, + then:
+ +Set serialized to { [[Type]]: "Temporal.Duration", [[Years]]: + value.[[Years]], [[Months]]: value.[[Months]], [[Weeks]]: + value.[[Weeks]], [[Days]]: value.[[Days]], [[Hours]]: + value.[[Hours]], [[Minutes]]: value.[[Minutes]], [[Seconds]]: + value.[[Seconds]], [[Milliseconds]]: value.[[Milliseconds]], + [[Microseconds]]: value.[[Microseconds]], [[Nanoseconds]]: + value.[[Nanoseconds]] }.
Otherwise, if value has an [[InitializedTemporalInstant]] internal slot, + then:
+ +Set serialized to { [[Type]]: "Temporal.Instant", [[Nanoseconds]]: + value.[[Nanoseconds]] }.
Otherwise, if value has an [[InitializedTemporalYearMonth]] internal slot, + then:
+ +Set serialized to { [[Type]]: "Temporal.PlainYearMonth", [[ISOYear]]: + value.[[ISOYear]], [[ISOMonth]]: value.[[ISOMonth]], [[ISODay]]: + value.[[ISODay]], [[Calendar]]: value.[[Calendar]] }.
Otherwise, if value has an [[InitializedTemporalMonthDay]] internal slot, + then:
+ +Set serialized to { [[Type]]: "Temporal.PlainMonthDay", [[ISOYear]]: + value.[[ISOYear]], [[ISOMonth]]: value.[[ISOMonth]], [[ISODay]]: + value.[[ISODay]], [[Calendar]]: value.[[Calendar]] }.
Otherwise, if value is a platform object that is a serializable object:
@@ -10175,6 +10278,95 @@ o.myself = o;Otherwise, if serialized.[[Type]] is "Temporal.PlainDate", then:
+ +Set value to ! Construct(%Temporal.PlainDate%, + « serialized.[[ISOYear]], serialized.[[ISOMonth]], + serialized.[[ISODay]], serialized.[[Calendar]] »).
Otherwise, if serialized.[[Type]] is "Temporal.PlainTime", then:
+ +Set value to ! Construct(%Temporal.PlainTime%, + « serialized.[[ISOHour]], serialized.[[ISOMinute]], + serialized.[[ISOSecond]], serialized.[[ISOMillisecond]], + serialized.[[ISOMicrosecond]], serialized.[[ISONanosecond]] + »).
Otherwise, if serialized.[[Type]] is "Temporal.PlainDateTime", then:
+ +Set value to ! Construct(%Temporal.PlainDateTime%, + « serialized.[[ISOYear]], serialized.[[ISOMonth]], + serialized.[[ISODay]], serialized.[[ISOHour]], + serialized.[[ISOMinute]], serialized.[[ISOSecond]], + serialized.[[ISOMillisecond]], serialized.[[ISOMicrosecond]], + serialized.[[ISONanosecond]], serialized.[[Calendar]] »).
Otherwise, if serialized.[[Type]] is "Temporal.ZonedDateTime", then:
+ +Set value to ! Construct(%Temporal.ZonedDateTime%, + « serialized.[[Nanoseconds]], serialized.[[TimeZone]], + serialized.[[Calendar]] »).
Otherwise, if serialized.[[Type]] is "Temporal.Duration", then:
+ +Set value to ! Construct(%Temporal.Duration%, + « serialized.[[Years]], serialized.[[Months]], + serialized.[[Weeks]], serialized.[[Days]], + serialized.[[Hours]], serialized.[[Minutes]], + serialized.[[Seconds]], serialized.[[Milliseconds]], + serialized.[[Microseconds]], serialized.[[Nanoseconds]] + »).
Otherwise, if serialized.[[Type]] is "Temporal.Instant", then:
+ +Set value to ! Construct(%Temporal.Instant%, + « serialized.[[Nanoseconds]] »).
Otherwise, if serialized.[[Type]] is "Temporal.PlainYearMonth", then:
+ +Set value to ! + Construct(%Temporal.PlainYearMonth%, « + serialized.[[ISOYear]], serialized.[[ISOMonth]], + serialized.[[Calendar]], serialized.[[ISODay]] »).
Otherwise, if serialized.[[Type]] is "Temporal.PlainMonthDay", then:
+ +Set value to ! Construct(%Temporal.PlainMonthDay%, + « serialized.[[ISOMonth]], serialized.[[ISODay]], + serialized.[[Calendar]], serialized.[[ISOYear]] »).
Otherwise: