- From: Anne van Kesteren <notifications@github.com>
- Date: Wed, 25 Mar 2020 01:03:14 -0700
- To: heycam/webidl <webidl@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <heycam/webidl/pull/859/review/380919458@github.com>
@annevk approved this pull request.
I think this looks okay, but @EdgarChen / @TimothyGu should probably do a final check.
> -<dfn id="dfn-present" export lt="present|not present" for="dictionary member">present</dfn>
-in a dictionary value if the value [=map/exists|contains an entry with the key=]
-given by the member's [=identifier=], otherwise it is [=not present=].
-Dictionary members can also optionally have a <dfn id="dfn-dictionary-member-default-value" for="dictionary member" export>default value</dfn>, which is
-the value to use for the dictionary member when passing a value to a
-[=platform object=] that does
-not have a specified value. Dictionary members with default values are
-always considered to be present.
+[=Dictionary members=] can be specified as
+<dfn id="required-dictionary-member" export for="dictionary member">required</dfn>, meaning that
+converting a language-specific value to a dictionary requires providing a value for that member.
+They can also be specified as having a
+<dfn id="dfn-dictionary-member-default-value" for="dictionary member" export>default value</dfn>,
+which is the value used by default when author code or specification text does not provide a value
+for that member. Note that [=dictionary member/required=] dictionary members only have meaning for
+dictionaries used as operation arguments; members should be left optional if a dictionary is only
This is new, right? Why is this a should and are implementers on board with enforcing this so we can ensure it doesn't end up in specifications?
>
<p class="note">
- In the ECMAScript binding, a value of <emu-val>undefined</emu-val> is treated as
- [=not present=], or will trigger the [=dictionary member/default value=] where applicable.
+ In the ECMAScript binding, a value of <emu-val>undefined</emu-val> for the property
+ corresponding to a [=dictionary member=] is treated the same as omitting that property. Thus, it
+ will cause an error if the member is [=dictionary member/required=], or will trigger the
+ [=dictionary member/default value=] if one is present, or will result in no [=map/entry=]
+ existing in the dictionary value otherwise.
+</p>
+
+<p class="advisement">
+ As with [=optional argument/default value|operation argument default values=], it is strongly
+ suggested not to use <emu-val>true</emu-val> as the [=dictionary member/default value=] for
```suggestion
encouraged not to use <emu-val>true</emu-val> as the [=dictionary member/default value=] for
```
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/pull/859#pullrequestreview-380919458
Received on Wednesday, 25 March 2020 08:04:35 UTC