@@ -6953,7 +6953,7 @@ for="ReadableStream">locked</dfn> if ! [$IsReadableStreamLocked$](|stream|) retu
6953
6953
up"><var> writeAlgorithm</var></dfn> , an optional algorithm <dfn export for="WritableStream/set
6954
6954
up"><var> closeAlgorithm</var></dfn> , an optional algorithm <dfn export for="WritableStream/set
6955
6955
up"><var> abortAlgorithm</var></dfn> , an optional number <dfn export for="WritableStream/set
6956
- up"><var> highWaterMark</var></dfn> (default 1), an optional algorithm <dfn export
6956
+ up"><var> highWaterMark</var></dfn> (default 1), and an optional algorithm <dfn export
6957
6957
for="WritableStream/set up"><var> sizeAlgorithm</var></dfn> , perform the following steps.
6958
6958
|writeAlgorithm| must be an algorithm that accepts a [=chunk=] object and returns a promise. If
6959
6959
given, |closeAlgorithm| and |abortAlgorithm| may return a promise. If given, |sizeAlgorithm| must
@@ -7034,14 +7034,22 @@ reason.
7034
7034
<div algorithm="create a TransformStream">
7035
7035
To <dfn export for="TransformStream" lt="set up|setting up">set up</dfn> a
7036
7036
newly-[=new|created-via-Web IDL=] {{TransformStream}} |stream| given an algorithm <dfn export
7037
- for="TransformStream/set up"><var> transformAlgorithm</var></dfn> and an optional algorithm <dfn
7038
- export for="TransformStream/set up"><var> flushAlgorithm</var></dfn> , perform the following steps.
7037
+ for="TransformStream/set up"><var> transformAlgorithm</var></dfn> , an optional algorithm <dfn
7038
+ export for="TransformStream/set up"><var> flushAlgorithm</var></dfn> , an optional number <dfn
7039
+ export for="TransformStream/set up"><var> writableHighWaterMark</var></dfn> (default 1), an optional
7040
+ algorithm <dfn export for="TransformStream/set up"><var>writableSizeAlgorithm</var></dfn> , an
7041
+ optional number <dfn export for="TransformStream/set up"><var>readableHighWaterMark</var></dfn>
7042
+ (default 0), and an optional algorithm <dfn export
7043
+ for="TransformStream/set up"><var> readableSizeAlgorithm</var></dfn> , perform the following steps.
7039
7044
|transformAlgorithm| and, if given, |flushAlgorithm|, may return a promise.
7045
+ If given, |writableSizeAlgorithm| and |readableSizeAlgorithm| must be algorithms accepting
7046
+ [=chunk=] objects and returning a number; and if given, |writableHighWaterMark| and
7047
+ |readableHighWaterMark| must be non-negative, non-NaN numbers.
7040
7048
7041
- 1. Let |writableHighWaterMark| be 1.
7042
- 1. Let |writableSizeAlgorithm| be an algorithm that returns 1.
7043
- 1. Let |readableHighWaterMark| be 0.
7044
- 1. Let |readableSizeAlgorithm| be an algorithm that returns 1.
7049
+ 1. If |writableSizeAlgorithm| was not given, let |writableSizeAlgorithm| be an algorithm that
7050
+ returns 1.
7051
+ 1. If |readableSizeAlgorithm| was not given, let |readableSizeAlgorithm| be an algorithm that
7052
+ returns 1.
7045
7053
1. Let |transformAlgorithmWrapper| be an algorithm that runs these steps given a value |chunk|:
7046
7054
1. Let |result| be the result of running |transformAlgorithm| given |chunk|. If this throws an
7047
7055
exception |e|, return [=a promise rejected with=] |e|.
@@ -7086,7 +7094,7 @@ reason.
7086
7094
The following algorithms must only be used on {{TransformStream}} instances initialized via the
7087
7095
above [=TransformStream/set up=] algorithm. Usually they are called as part of
7088
7096
<var> [=TransformStream/set up/transformAlgorithm=] </var> or
7089
- <var> [=TransformStream/set up/flushAlgorithm=] </var> .
7097
+ <var ignore > [=TransformStream/set up/flushAlgorithm=] </var> .
7090
7098
7091
7099
<p algorithm> To <dfn export for="TransformStream">enqueue</dfn> the JavaScript value |chunk| into a
7092
7100
{{TransformStream}} |stream|, perform !
@@ -7129,8 +7137,7 @@ Including the {{GenericTransformStream}} mixin will give an IDL interface the ap
7129
7137
the behavior of the resulting interface, its constructor (or other initialization code) must set
7130
7138
each instance's [=GenericTransformStream/transform=] to a [=new=] {{TransformStream}} , and then
7131
7139
[=TransformStream/set up|set it up=] with appropriate customizations via the
7132
- <var> [=TransformStream/set up/transformAlgorithm=] </var> and optionally
7133
- <var> [=TransformStream/set up/flushAlgorithm=] </var> arguments.
7140
+ <var> [=TransformStream/set up/transformAlgorithm=] </var> and any optional arguments.
7134
7141
7135
7142
Note: Existing examples of this pattern on the web platform include {{CompressionStream}} and
7136
7143
{{TextDecoderStream}} . [[COMPRESSION]] [[ENCODING]]
0 commit comments