From 3297c87409c3bcf8700dd447d603da657acbd821 Mon Sep 17 00:00:00 2001 From: Arda TANRIKULU Date: Fri, 11 Nov 2022 18:38:03 +0300 Subject: [PATCH] Fix readableStreamToReadable (#179) * Fix readableStreamToReadable * Fix prettier --- .changeset/forty-points-drop.md | 5 ++++ .prettierignore | 3 ++- .../fetch/dist/readableStreamToReadable.js | 27 +++++++++++-------- 3 files changed, 23 insertions(+), 12 deletions(-) create mode 100644 .changeset/forty-points-drop.md diff --git a/.changeset/forty-points-drop.md b/.changeset/forty-points-drop.md new file mode 100644 index 0000000000..5254af8960 --- /dev/null +++ b/.changeset/forty-points-drop.md @@ -0,0 +1,5 @@ +--- +'@whatwg-node/fetch': patch +--- + +Fix destroy method for ReadableStream to Readable conversion diff --git a/.prettierignore b/.prettierignore index 53c37a1660..0d1baf3326 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1 +1,2 @@ -dist \ No newline at end of file +dist +CHANGELOG.md \ No newline at end of file diff --git a/packages/fetch/dist/readableStreamToReadable.js b/packages/fetch/dist/readableStreamToReadable.js index cba6fb1629..805ed17895 100644 --- a/packages/fetch/dist/readableStreamToReadable.js +++ b/packages/fetch/dist/readableStreamToReadable.js @@ -1,20 +1,25 @@ const streams = require('stream'); module.exports = function readableStreamToReadable(readableStream) { - return streams.Readable.from({ - [Symbol.asyncIterator]() { - const reader = readableStream.getReader(); - return { - next() { - return reader.read(); - }, - async return() { + const reader = readableStream.getReader(); + return new streams.Readable({ + read() { + reader.read().then(({ done, value }) => { + if (done) { + this.push(null); + } else { + this.push(value); + } + }) + }, + async destroy() { + try { reader.cancel(); reader.releaseLock(); await readableStream.cancel(); - return { done: true }; - } + } catch (error) { + console.log(error); } } - }); + }) } \ No newline at end of file