Fix armor errors

Also, fix error handling in transformPair()
This commit is contained in:
Daniel Huigens
2018-06-13 16:27:59 +02:00
parent 304cbf4783
commit 55fd292fba
5 changed files with 149 additions and 132 deletions

View File

@@ -416,11 +416,7 @@ describe('Streaming', function() {
let plaintext = [];
let i = 0;
let canceled = false;
let controller;
const data = new ReadableStream({
start(_controller) {
controller = _controller;
},
async pull(controller) {
await new Promise(setTimeout);
if (i++ < 10) {
@@ -435,16 +431,22 @@ describe('Streaming', function() {
canceled = true;
}
});
data.controller = controller;
const transformed = stream.transformPair(stream.slice(data, 0, 5000), async (readable, writable) => {
const reader = stream.getReader(readable);
const writer = stream.getWriter(writable);
while (true) {
await writer.ready;
const { done, value } = await reader.read();
if (done) return writer.close();
writer.write(value);
try {
while (true) {
await writer.ready;
const { done, value } = await reader.read();
if (done) {
await writer.close();
break;
}
await writer.write(value);
}
} catch(e) {
await writer.abort(e);
}
});
await new Promise(resolve => setTimeout(resolve));