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
  • The HostSystemUTCEpochNanoseconds abstract operation
  • The nsMaxInstant and nsMinInstant values
  • +
  • The %Temporal.PlainDate% constructor
  • +
  • The %Temporal.PlainTime% constructor
  • +
  • The %Temporal.PlainDateTime% constructor
  • +
  • The %Temporal.ZonedDateTime% constructor
  • +
  • The %Temporal.Duration% constructor
  • +
  • The %Temporal.Instant% constructor
  • +
  • The %Temporal.PlainYearMonth% constructor
  • +
  • The %Temporal.PlainMonthDay% constructor
  • @@ -9735,6 +9743,101 @@ interface DOMStringList { +
  • +

    Otherwise, if value has an [[InitializedTemporalDate]] internal slot, then:

    + +
      +
    1. Set serialized to { [[Type]]: "Temporal.PlainDate", [[ISOYear]]: + value.[[ISOYear]], [[ISOMonth]]: value.[[ISOMonth]], [[ISODay]]: + value.[[ISODay]], [[Calendar]]: value.[[Calendar]] }.

    2. +
    +
  • + +
  • +

    Otherwise, if value has an [[InitializedTemporalTime]] internal slot, then:

    + +
      +
    1. Set serialized to { [[Type]]: "Temporal.PlainTime", [[ISOHour]]: + value.[[ISOHour]], [[ISOMinute]]: value.[[ISOMinute]], [[ISOSecond]]: + value.[[ISOSecond]], [[ISOMillisecond]]: value.[[ISOMillisecond]], + [[ISOMicrosecond]]: value.[[ISOMicrosecond]], [[ISONanosecond]]: + value.[[ISONanosecond]] }.

    2. +
    +
  • + +
  • +

    Otherwise, if value has an [[InitializedTemporalDateTime]] internal slot, + then:

    + +
      +
    1. 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]] }.

    2. +
    +
  • + +
  • +

    Otherwise, if value has an [[InitializedTemporalZonedDateTime]] internal slot, + then:

    + +
      +
    1. Set serialized to { [[Type]]: "Temporal.ZonedDateTime", [[Nanoseconds]]: + value.[[Nanoseconds]], [[TimeZone]]: value.[[TimeZone]], [[Calendar]]: + value.[[Calendar]] }.

    2. +
    +
  • + +
  • +

    Otherwise, if value has an [[InitializedTemporalDuration]] internal slot, + then:

    + +
      +
    1. 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]] }.

    2. +
    +
  • + +
  • +

    Otherwise, if value has an [[InitializedTemporalInstant]] internal slot, + then:

    + +
      +
    1. Set serialized to { [[Type]]: "Temporal.Instant", [[Nanoseconds]]: + value.[[Nanoseconds]] }.

    2. +
    +
  • + +
  • +

    Otherwise, if value has an [[InitializedTemporalYearMonth]] internal slot, + then:

    + +
      +
    1. Set serialized to { [[Type]]: "Temporal.PlainYearMonth", [[ISOYear]]: + value.[[ISOYear]], [[ISOMonth]]: value.[[ISOMonth]], [[ISODay]]: + value.[[ISODay]], [[Calendar]]: value.[[Calendar]] }.

    2. +
    +
  • + +
  • +

    Otherwise, if value has an [[InitializedTemporalMonthDay]] internal slot, + then:

    + +
      +
    1. Set serialized to { [[Type]]: "Temporal.PlainMonthDay", [[ISOYear]]: + value.[[ISOYear]], [[ISOMonth]]: value.[[ISOMonth]], [[ISODay]]: + value.[[ISODay]], [[Calendar]]: value.[[Calendar]] }.

    2. +
    +
  • +
  • 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:

    + +
      +
    1. Set value to ! Construct(%Temporal.PlainDate%, + « serialized.[[ISOYear]], serialized.[[ISOMonth]], + serialized.[[ISODay]], serialized.[[Calendar]] »).

    2. +
    +
  • + +
  • +

    Otherwise, if serialized.[[Type]] is "Temporal.PlainTime", then:

    + +
      +
    1. Set value to ! Construct(%Temporal.PlainTime%, + « serialized.[[ISOHour]], serialized.[[ISOMinute]], + serialized.[[ISOSecond]], serialized.[[ISOMillisecond]], + serialized.[[ISOMicrosecond]], serialized.[[ISONanosecond]] + »).

    2. +
    +
  • + +
  • +

    Otherwise, if serialized.[[Type]] is "Temporal.PlainDateTime", then:

    + +
      +
    1. 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]] »).

    2. +
    +
  • + +
  • +

    Otherwise, if serialized.[[Type]] is "Temporal.ZonedDateTime", then:

    + +
      +
    1. Set value to ! Construct(%Temporal.ZonedDateTime%, + « serialized.[[Nanoseconds]], serialized.[[TimeZone]], + serialized.[[Calendar]] »).

    2. +
    +
  • + +
  • +

    Otherwise, if serialized.[[Type]] is "Temporal.Duration", then:

    + +
      +
    1. 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]] + »).

    2. +
    +
  • + +
  • +

    Otherwise, if serialized.[[Type]] is "Temporal.Instant", then:

    + +
      +
    1. Set value to ! Construct(%Temporal.Instant%, + « serialized.[[Nanoseconds]] »).

    2. +
    +
  • + +
  • +

    Otherwise, if serialized.[[Type]] is "Temporal.PlainYearMonth", then:

    + +
      +
    1. Set value to ! + Construct(%Temporal.PlainYearMonth%, « + serialized.[[ISOYear]], serialized.[[ISOMonth]], + serialized.[[Calendar]], serialized.[[ISODay]] »).

    2. +
    +
  • + +
  • +

    Otherwise, if serialized.[[Type]] is "Temporal.PlainMonthDay", then:

    + +
      +
    1. Set value to ! Construct(%Temporal.PlainMonthDay%, + « serialized.[[ISOMonth]], serialized.[[ISODay]], + serialized.[[Calendar]], serialized.[[ISOYear]] »).

    2. +
    +
  • +
  • Otherwise: