Skip to content

Commit 359ea5b

Browse files
committed
Fix returning null from commands
We want returning null to map onto an empty result. We could do this explicitly per command, but it's less verbose to just allow null at the top level.
1 parent fa58031 commit 359ea5b

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

index.bs

+9-3
Original file line numberDiff line numberDiff line change
@@ -394,8 +394,12 @@ Each [=command=] is defined by:
394394
- A <dfn export for=command>result type</dfn>, which is defined by a [=local
395395
end definition=] fragment.
396396
- A set of [=remote end steps=] which define the actions to take for a command
397-
given a [=BiDi session=] and [=command parameters=] and return an
398-
instance of the command [=result type=].
397+
given a [=BiDi session=] and [=command parameters=]. If the command runs to
398+
completion these steps return [=success=] with either a [=map=] matching the
399+
command [=result type=] production or with null to indicate an
400+
<code>EmptyResult</code>. If the command does not run to completion these
401+
steps return [=error=] with the [=error code=] that will be reported to the
402+
user.
399403

400404
A command that can run without an active session is a <dfn>static
401405
command</dfn>. Commands are not static commands unless stated in their
@@ -797,6 +801,8 @@ To <dfn>handle an incoming message</dfn> given a [=WebSocket connection=]
797801

798802
1. Let |value| be |result|'s data.
799803

804+
1. If |value| is null, set |value| to an empty map.
805+
800806
1. Assert: |value| matches the definition for the [=result type=]
801807
corresponding to the command with [=command name=] |method|.
802808

@@ -4917,7 +4923,7 @@ The [=remote end steps=] given |session| and |command parameters| are:
49174923

49184924
1. <a for=set>Remove</a> |script| from |preload script map|.
49194925

4920-
1. Return null
4926+
1. Return [=success=] with data null
49214927

49224928
</div>
49234929

0 commit comments

Comments
 (0)