From e4a34c9e6d45e7c32bc7eb2fb6665ac2e0e820fd Mon Sep 17 00:00:00 2001 From: Tim Ramage Date: Wed, 19 Mar 2025 18:57:11 +0000 Subject: [PATCH] Convert async iterator syntax to manual read --- plugins/fs/guest-js/index.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/plugins/fs/guest-js/index.ts b/plugins/fs/guest-js/index.ts index e0438d58..a0156ff4 100644 --- a/plugins/fs/guest-js/index.ts +++ b/plugins/fs/guest-js/index.ts @@ -1075,9 +1075,18 @@ async function writeFile( if (data instanceof ReadableStream) { const file = await open(path, options) - for await (const chunk of data) { - await file.write(chunk) + const reader = data.getReader() + + try { + while (true) { + const { done, value } = await reader.read() + if (done) break + await file.write(value) + } + } finally { + reader.releaseLock() } + await file.close() } else { await invoke('plugin:fs|write_file', data, {