Skip to content

Commit ed2b0bc

Browse files
committed
Editorial: clean up examples
* Wrap the <pre>s in <div>s to work better with the WHATWG stylesheet. * Add IDs to suppress Bikeshed warnings * Clean up the code a bit for the deflate-compress example, notably by using async iteration.
1 parent a6ec498 commit ed2b0bc

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

index.bs

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -179,48 +179,54 @@ However, web developers have to pay attention to the situation when attackers ca
179179

180180
## Gzip-compress a stream ## {#example-gzip-compress-stream}
181181

182-
<pre class="example" highlight="js">
182+
<div class="example" id="example-gzip-compress-stream-code">
183+
<pre highlight="js">
183184
const compressedReadableStream
184185
= inputReadableStream.pipeThrough(new CompressionStream('gzip'));
185186
</pre>
187+
</div>
186188

187189
## Deflate-compress an ArrayBuffer to a Uint8Array ## {#example-deflate-compress}
188190

189-
<pre class="example" highlight="js">
191+
<div class="example" id="example-deflate-compress-code">
192+
<pre highlight="js">
190193
async function compressArrayBuffer(input) {
191194
const cs = new CompressionStream('deflate');
195+
192196
const writer = cs.writable.getWriter();
193197
writer.write(input);
194198
writer.close();
199+
195200
const output = [];
196-
const reader = cs.readable.getReader();
197201
let totalSize = 0;
198-
while (true) {
199-
const { value, done } = await reader.read();
200-
if (done)
201-
break;
202+
for (const chunk of cs.readable) {
202203
output.push(value);
203204
totalSize += value.byteLength;
204205
}
206+
205207
const concatenated = new Uint8Array(totalSize);
206208
let offset = 0;
207209
for (const array of output) {
208210
concatenated.set(array, offset);
209211
offset += array.byteLength;
210212
}
213+
211214
return concatenated;
212215
}
213216
</pre>
217+
</div>
214218

215219
## Gzip-decompress a Blob to Blob ## {#example-gzip-decompress}
216220

217-
<pre class="example" highlight="js">
221+
<div class="example" id="example-gzip-decompress-code">
222+
<pre highlight="js">
218223
function decompressBlob(blob) {
219224
const ds = new DecompressionStream('gzip');
220225
const decompressionStream = blob.stream().pipeThrough(ds);
221226
return new Response(decompressionStream).blob();
222227
}
223228
</pre>
229+
</div>
224230

225231
<h2 class="no-num" id="acknowledgments">Acknowledgments</h2>
226232
Thanks to Canon Mukai, Domenic Denicola, and Yutaka Hirano, for their support.

0 commit comments

Comments
 (0)