summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/pure/streams.nim27
1 files changed, 14 insertions, 13 deletions
diff --git a/lib/pure/streams.nim b/lib/pure/streams.nim
index 0326a51fb..a0bba05a4 100644
--- a/lib/pure/streams.nim
+++ b/lib/pure/streams.nim
@@ -86,19 +86,20 @@ proc readData*(s: Stream, buffer: pointer, bufLen: int): int =
   ## low level proc that reads data into an untyped `buffer` of `bufLen` size.
   result = s.readDataImpl(s, buffer, bufLen)
 
-proc readAll*(s: Stream): string =
-  ## Reads all available data.
-  const bufferSize = 1024
-  var buffer {.noinit.}: array[bufferSize, char]
-  while true:
-    let readBytes = readData(s, addr(buffer[0]), bufferSize)
-    if readBytes == 0:
-      break
-    let prevLen = result.len
-    result.setLen(prevLen + readBytes)
-    copyMem(addr(result[prevLen]), addr(buffer[0]), readBytes)
-    if readBytes < bufferSize:
-      break
+when not defined(js):
+  proc readAll*(s: Stream): string =
+    ## Reads all available data.
+    const bufferSize = 1024
+    var buffer {.noinit.}: array[bufferSize, char]
+    while true:
+      let readBytes = readData(s, addr(buffer[0]), bufferSize)
+      if readBytes == 0:
+        break
+      let prevLen = result.len
+      result.setLen(prevLen + readBytes)
+      copyMem(addr(result[prevLen]), addr(buffer[0]), readBytes)
+      if readBytes < bufferSize:
+        break
 
 proc peekData*(s: Stream, buffer: pointer, bufLen: int): int =
   ## low level proc that reads data into an untyped `buffer` of `bufLen` size