From 0cad2896ae7aa7d9b2561785f9243ceb546abf99 Mon Sep 17 00:00:00 2001 From: Dominik Picheta Date: Thu, 23 Mar 2017 21:34:53 +0100 Subject: [PATCH] Implement asyncfile.readToStream. --- lib/pure/asyncfile.nim | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/pure/asyncfile.nim b/lib/pure/asyncfile.nim index 488b8276e..c58e6c11b 100644 --- a/lib/pure/asyncfile.nim +++ b/lib/pure/asyncfile.nim @@ -489,3 +489,13 @@ proc writeFromStream*(f: AsyncFile, fs: FutureStream[string]) {.async.} = await f.write(value) else: break + +proc readToStream*(f: AsyncFile, fs: FutureStream[string]) {.async.} = + ## Writes data to the specified future stream as the file is read. + while true: + let data = await read(f, 4000) + if data.len == 0: + break + await fs.write(data) + + fs.complete() \ No newline at end of file