@@ -976,8 +976,8 @@ <h2>The <dfn>InteractionOutput</dfn> interface</h2>
976
976
</ li >
977
977
< li >
978
978
If |this|.|data| is not a {{ReadableStream}} or if
979
- |dataUsed| is `true`, or if |form| is not an {{object}} or if |schema| or its
980
- |type| are `null` or `undefined`, then
979
+ |dataUsed| is `true`, or if |form| is not an {{object}} or if |schema|
980
+ is `null` or `undefined`, then
981
981
[=reject=] |promise| with {{NotReadableError}} and stop.
982
982
</ li >
983
983
< li >
@@ -1057,6 +1057,30 @@ <h2>The <dfn>InteractionOutput</dfn> interface</h2>
1057
1057
< section > < h3 > The < dfn > check data schema</ dfn > algorithm</ h3 >
1058
1058
To run the < a > check data schema</ a > steps on |payload| and |schema:object|,
1059
1059
< ol >
1060
+ < li >
1061
+ If |schema| is `null` or `undefined`, return `undefined`.
1062
+ </ li >
1063
+ < li >
1064
+ If |schema|.|const| is not |undefined| and |schema|.|const| does not equal |payload|, throw {{TypeError}} and stop.
1065
+ </ li >
1066
+ < li >
1067
+ If |schema|.|enum| is not |undefined| and none of the elements in
1068
+ |schema|.|enum| equal |payload|, throw {{TypeError}} and stop.
1069
+ </ li >
1070
+ < li >
1071
+ Let |oneOf| be |schema|.|oneOf|.
1072
+ If |oneOf| is not |undefined|,
1073
+ < ol >
1074
+ < li >
1075
+ For each |subSchema| in |oneOf|, run the < a > check data schema</ a >
1076
+ steps on |payload| and |subSchema|.
1077
+ </ li >
1078
+ < li >
1079
+ If none or more than one of these runs do not throw, throw
1080
+ {{TypeError}} and stop.
1081
+ </ li >
1082
+ </ ol >
1083
+ </ li >
1060
1084
< li >
1061
1085
Let |type| be |schema|.|type|.
1062
1086
</ li >
0 commit comments