Skip to content

Commit f9bbac4

Browse files
domenicannevk
authored andcommitted
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 e29f858 commit f9bbac4

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
@@ -147,48 +147,54 @@ However, web developers have to pay attention to the situation when attackers ca
147147

148148
## Gzip-compress a stream ## {#example-gzip-compress-stream}
149149

150-
<pre class="example" highlight="js">
150+
<div class="example" id="example-gzip-compress-stream-code">
151+
<pre highlight="js">
151152
const compressedReadableStream
152153
= inputReadableStream.pipeThrough(new CompressionStream('gzip'));
153154
</pre>
155+
</div>
154156

155157
## Deflate-compress an ArrayBuffer to a Uint8Array ## {#example-deflate-compress}
156158

157-
<pre class="example" highlight="js">
159+
<div class="example" id="example-deflate-compress-code">
160+
<pre highlight="js">
158161
async function compressArrayBuffer(input) {
159162
const cs = new CompressionStream('deflate');
163+
160164
const writer = cs.writable.getWriter();
161165
writer.write(input);
162166
writer.close();
167+
163168
const output = [];
164-
const reader = cs.readable.getReader();
165169
let totalSize = 0;
166-
while (true) {
167-
const { value, done } = await reader.read();
168-
if (done)
169-
break;
170+
for (const chunk of cs.readable) {
170171
output.push(value);
171172
totalSize += value.byteLength;
172173
}
174+
173175
const concatenated = new Uint8Array(totalSize);
174176
let offset = 0;
175177
for (const array of output) {
176178
concatenated.set(array, offset);
177179
offset += array.byteLength;
178180
}
181+
179182
return concatenated;
180183
}
181184
</pre>
185+
</div>
182186

183187
## Gzip-decompress a Blob to Blob ## {#example-gzip-decompress}
184188

185-
<pre class="example" highlight="js">
189+
<div class="example" id="example-gzip-decompress-code">
190+
<pre highlight="js">
186191
function decompressBlob(blob) {
187192
const ds = new DecompressionStream('gzip');
188193
const decompressionStream = blob.stream().pipeThrough(ds);
189194
return new Response(decompressionStream).blob();
190195
}
191196
</pre>
197+
</div>
192198

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

0 commit comments

Comments
 (0)