You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: index.bs
+11-2Lines changed: 11 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -79,27 +79,32 @@ CompressionStream includes GenericTransformStream;
79
79
80
80
A {{CompressionStream}} has an associated <dfn for=CompressionStream>format</dfn> and <a>compression context</a><dfn for=CompressionStream>context</dfn>.
81
81
82
+
<div algorithm>
82
83
The <dfn constructor for=CompressionStream lt="CompressionStream(format)"><code>new CompressionStream(|format|)</code></dfn> steps are:
83
84
1. If |format| is unsupported in {{CompressionStream}}, then throw a {{TypeError}}.
84
85
1. Set [=this=]'s <a for=CompressionStream>format</a> to |format|.
85
86
1. Let |transformAlgorithm| be an algorithm which takes a |chunk| argument and runs the <a>compress and enqueue a chunk</a> algorithm with [=this=] and |chunk|.
86
87
1. Let |flushAlgorithm| be an algorithm which takes no argument and runs the <a>compress flush and enqueue</a> algorithm with [=this=].
87
88
1. Set [=this=]'s [=GenericTransformStream/transform=] to a [=new=]{{TransformStream}}.
88
89
1. [=TransformStream/Set up=][=this=]'s [=GenericTransformStream/transform=] with <i>[=TransformStream/set up/transformAlgorithm=]</i> set to |transformAlgorithm| and <i>[=TransformStream/set up/flushAlgorithm=]</i> set to |flushAlgorithm|.
90
+
</div>
89
91
92
+
<div algorithm>
90
93
The <dfn>compress and enqueue a chunk</dfn> algorithm, given a {{CompressionStream}} object |cs| and a |chunk|, runs these steps:
91
94
1. If |chunk| is not a {{BufferSource}} type, then throw a {{TypeError}}.
92
95
1. Let |buffer| be the result of compressing |chunk| with |cs|'s <a for=CompressionStream>format</a> and <a for=CompressionStream>context</a>.
93
96
1. If |buffer| is empty, return.
94
97
1. Split |buffer| into one or more non-empty pieces and convert them into {{Uint8Array}}s.
95
98
1. For each {{Uint8Array}} |array|, [=TransformStream/enqueue=] |array| in |cs|'s [=GenericTransformStream/transform=].
99
+
</div>
96
100
101
+
<div algorithm>
97
102
The <dfn>compress flush and enqueue</dfn> algorithm, which handles the end of data from the input {{ReadableStream}} object, given a {{CompressionStream}} object |cs|, runs these steps:
98
-
99
103
1. Let |buffer| be the result of compressing an empty input with |cs|'s <a for=CompressionStream>format</a> and <a for=CompressionStream>context</a>, with the finish flag.
100
104
1. If |buffer| is empty, return.
101
105
1. Split |buffer| into one or more non-empty pieces and convert them into {{Uint8Array}}s.
102
106
1. For each {{Uint8Array}} |array|, [=TransformStream/enqueue=] |array| in |cs|'s [=GenericTransformStream/transform=].
@@ -114,28 +119,32 @@ DecompressionStream includes GenericTransformStream;
114
119
115
120
A {{DecompressionStream}} has an associated <dfn for=DecompressionStream>format</dfn> and <a>compression context</a><dfn for=DecompressionStream>context</dfn>.
116
121
122
+
<div algorithm>
117
123
The <dfn constructor for=DecompressionStream lt="DecompressionStream(format)"><code>new DecompressionStream(|format|)</code></dfn> steps are:
118
124
1. If |format| is unsupported in {{DecompressionStream}}, then throw a {{TypeError}}.
119
125
1. Set [=this=]'s <a for=DecompressionStream>format</a> to |format|.
120
126
1. Let |transformAlgorithm| be an algorithm which takes a |chunk| argument and runs the <a>decompress and enqueue a chunk</a> algorithm with [=this=] and |chunk|.
121
127
1. Let |flushAlgorithm| be an algorithm which takes no argument and runs the <a>decompress flush and enqueue</a> algorithm with [=this=].
122
128
1. Set [=this=]'s [=GenericTransformStream/transform=] to a [=new=]{{TransformStream}}.
123
129
1. [=TransformStream/Set up=][=this=]'s [=GenericTransformStream/transform=] with <i>[=TransformStream/set up/transformAlgorithm=]</i> set to |transformAlgorithm| and <i>[=TransformStream/set up/flushAlgorithm=]</i> set to |flushAlgorithm|.
130
+
</div>
124
131
132
+
<div algorithm>
125
133
The <dfn>decompress and enqueue a chunk</dfn> algorithm, given a {{DecompressionStream}} object |ds| and a |chunk|, runs these steps:
126
134
1. If |chunk| is not a {{BufferSource}} type, then throw a {{TypeError}}.
127
135
1. Let |buffer| be the result of decompressing |chunk| with |ds|'s <a for=DecompressionStream>format</a> and <a for=DecompressionStream>context</a>. If this results in an error, then throw a {{TypeError}}.
128
136
1. If |buffer| is empty, return.
129
137
1. Split |buffer| into one or more non-empty pieces and convert them into {{Uint8Array}}s.
130
138
1. For each {{Uint8Array}} |array|, [=TransformStream/enqueue=] |array| in |ds|'s [=GenericTransformStream/transform=].
131
139
140
+
<div algorithm>
132
141
The <dfn>decompress flush and enqueue</dfn> algorithm, which handles the end of data from the input {{ReadableStream}} object, given a {{DecompressionStream}} object |ds|, runs these steps:
133
-
134
142
1. Let |buffer| be the result of decompressing an empty input with |ds|'s <a for=DecompressionStream>format</a> and <a for=DecompressionStream>context</a>, with the finish flag.
135
143
1. If the end of the compressed input has not been reached, then throw a {{TypeError}}.
136
144
1. If |buffer| is empty, return.
137
145
1. Split |buffer| into one or more non-empty pieces and convert them into {{Uint8Array}}s.
138
146
1. For each {{Uint8Array}} |array|, [=TransformStream/enqueue=] |array| in |ds|'s [=GenericTransformStream/transform=].
147
+
</div>
139
148
140
149
141
150
# Privacy and security considerations # {#privacy-security}
0 commit comments