Don't import/export chronos by default (#20)

Chronos support is optional and should not have to be imported in order
to use faststreams for non-async use cases, as doing so pollutes the
global namespace and slows down compilation.

`async` support must now explicitly be enabled with
-d:async_backend=chronos|asyncdispatch
This commit is contained in:
Jacek Sieka 2021-08-20 13:10:26 +02:00 • committed by GitHub
commit 3a0ab42573
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 841 additions and 705 deletions

View file

@ -2,15 +2,11 @@
import
os, unittest2, strutils, random,
stew/ranges/ptr_arith, testutils,
testutils,
../faststreams, ../faststreams/textio
setCurrentDir getAppDir()
proc bytes(s: string): seq[byte] =
result = newSeqOfCap[byte](s.len)
for c in s: result.add byte(c)
proc str(bytes: openarray[byte]): string =
result = newStringOfCap(bytes.len)
for b in items(bytes):
@ -28,7 +24,7 @@ const
asciiTableFile = "files" / "ascii_table.txt"
asciiTableContents = slurp(asciiTableFile)
procSuite "input stream":
suite "input stream":
template emptyInputTests(suiteName, setupCode: untyped) =
suite suiteName & " empty inputs":
setup setupCode