diff --git a/index.bs b/index.bs index 4537b352..5c5d8fd8 100644 --- a/index.bs +++ b/index.bs @@ -7747,8 +7747,8 @@ values are represented by ECMAScript Object values (including [=function objects

Dictionary types

IDL [=dictionary type=] values are represented -by ECMAScript Object values. Properties on -the object (or its prototype chain) correspond to [=dictionary members=]. +by ECMAScript Object or Record values. Properties on the +object (or its prototype chain) or the record correspond to [=dictionary members=].
@@ -7756,10 +7756,11 @@ the object (or its prototype chain) correspond to [=dictionary members=]. to an IDL [=dictionary type=] value by running the following algorithm (where |D| is the [=dictionary type=]): - 1. If Type(|esDict|) is not Undefined, Null or Object, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. + 1. If Type(|esDict|) is not Undefined, Null, Object or Record, then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Let |idlDict| be an empty [=ordered map=], representing a dictionary of type |D|. 1. Let |dictionaries| be a list consisting of |D| and all of |D|'s [=inherited dictionaries=], in order from least to most derived. + 1. Let |obj| be [=?=] ToObject(|esDict|) if Type(|esDict|) is not Undefined or Null 1. For each dictionary |dictionary| in |dictionaries|, in order: 1. For each dictionary member |member| declared on |dictionary|, in lexicographical order: 1. Let |key| be the [=identifier=] of |member|. @@ -7769,7 +7770,7 @@ the object (or its prototype chain) correspond to [=dictionary members=]. : Null :: undefined : anything else - :: [=?=] Get(|esDict|, |key|) + :: [=?=] Get(|obj|, |key|) 1. If |esMemberValue| is not undefined, then: 1. Let |idlMemberValue| be the result of [=converted to an IDL value|converting=] |esMemberValue| to an IDL value whose type is the type |member| is declared to be of. @@ -7783,7 +7784,7 @@ the object (or its prototype chain) correspond to [=dictionary members=].
Note: The order that [=dictionary members=] are looked -up on the ECMAScript object are not necessarily the same as the object's property enumeration order. +up on the ECMAScript object or record are not necessarily the same as the object's or record's property enumeration order.
@@ -7914,14 +7915,14 @@ the ECMAScript null value.

Sequences — sequence<|T|>

IDL sequence<|T|> values are represented by -ECMAScript Array values. +ECMAScript Array or Tuple values.
An ECMAScript value |V| is [=converted to an IDL value|converted=] to an IDL sequence<T> value as follows: - 1. If Type(|V|) is not Object, + 1. If Type(|V|) is not Object or Tuple, [=ECMAScript/throw=] a {{ECMAScript/TypeError}}. 1. Let |method| be [=?=] GetMethod(|V|, {{@@iterator}}). 1. If |method| is undefined,