fix: bump node-stream-pipes to 2.0.2 (big perf improvement)
This commit is contained in:
@@ -3,28 +3,32 @@ module Test.Pipes.CBOR where
|
||||
import Prelude
|
||||
|
||||
import Control.Monad.Cont (lift)
|
||||
import Control.Monad.Error.Class (liftEither)
|
||||
import Control.Monad.Gen (chooseInt)
|
||||
import Data.Array as Array
|
||||
import Data.Bifunctor (lmap)
|
||||
import Data.DateTime (DateTime)
|
||||
import Data.List ((:))
|
||||
import Data.List as List
|
||||
import Data.Maybe (Maybe(..), fromJust)
|
||||
import Data.Newtype (wrap)
|
||||
import Data.PreciseDateTime (fromRFC3339String, toDateTimeLossy)
|
||||
import Data.Traversable (traverse)
|
||||
import Data.Tuple.Nested ((/\))
|
||||
import Effect (Effect)
|
||||
import Effect.Aff (delay)
|
||||
import Effect.CBOR as CBOR
|
||||
import Effect.Class (liftEffect)
|
||||
import Effect.Exception (error)
|
||||
import Node.Buffer (Buffer)
|
||||
import Node.Buffer as Buffer
|
||||
import Node.Encoding (Encoding(..))
|
||||
import Partial.Unsafe (unsafePartial)
|
||||
import Pipes (yield, (>->))
|
||||
import Pipes.Async (debug, (>-/->))
|
||||
import Pipes.CBOR as Pipes.CBOR
|
||||
import Pipes.Collect as Pipes.Collect
|
||||
import Pipes.Node.Stream as Pipes.Stream
|
||||
import Pipes.Prelude (toListM) as Pipes
|
||||
import Pipes.Prelude (mapM, toListM) as Pipes
|
||||
import Test.QuickCheck.Gen (randomSample')
|
||||
import Test.Spec (Spec, before, describe, it)
|
||||
import Test.Spec.Assertions (shouldEqual)
|
||||
@@ -52,7 +56,7 @@ spec =
|
||||
bytes
|
||||
<- Pipes.Collect.toBuffer
|
||||
$ Pipes.Stream.withEOS (yield exp)
|
||||
>-> Pipes.CBOR.encode
|
||||
>-/-> Pipes.CBOR.encode
|
||||
>-> Pipes.Stream.unEOS
|
||||
act <- liftEffect $ CBOR.decode bytes
|
||||
act `shouldEqual` exp
|
||||
@@ -61,8 +65,9 @@ spec =
|
||||
it "parses csv" do
|
||||
buf <- liftEffect $ cborBuf
|
||||
rows <- Pipes.toListM
|
||||
$ Pipes.Stream.withEOS (yield buf *> lift (delay $ wrap 10.0))
|
||||
>-> Pipes.CBOR.decode
|
||||
$ (yield (Just buf) *> yield Nothing)
|
||||
>-/-> debug "cbor" Pipes.CBOR.decode
|
||||
>-> Pipes.CBOR.decodeError
|
||||
|
||||
rows `shouldEqual` ((Just exp) : Nothing : List.Nil)
|
||||
before
|
||||
@@ -73,7 +78,7 @@ spec =
|
||||
bytes <-
|
||||
Pipes.Collect.toBuffer
|
||||
$ Pipes.Stream.withEOS (yield objs)
|
||||
>-> Pipes.CBOR.encode
|
||||
>-/-> Pipes.CBOR.encode
|
||||
>-> Pipes.Stream.unEOS
|
||||
pure $ nums /\ bytes
|
||||
)
|
||||
@@ -81,7 +86,8 @@ spec =
|
||||
rows <-
|
||||
Pipes.Collect.toArray
|
||||
$ Pipes.Stream.withEOS (yield bytes)
|
||||
>-> Pipes.CBOR.decode @(Array {id :: Int})
|
||||
>-/-> Pipes.CBOR.decode @(Array {id :: Int})
|
||||
>-> Pipes.CBOR.decodeError
|
||||
>-> Pipes.Stream.unEOS
|
||||
|
||||
rows `shouldEqual` [(\id -> { id }) <$> nums]
|
||||
|
||||
Reference in New Issue
Block a user