potoki-core 1.5.2 → 1.5.3
raw patch · 4 files changed
+28/−1 lines, 4 filesdep +bytestringPVP ok
version bump matches the API change (PVP)
Dependencies added: bytestring
API changes (from Hackage documentation)
+ Potoki.Core.Fetch: lazyByteStringRef :: IORef ByteString -> Fetch ByteString
+ Potoki.Core.Produce: lazyByteString :: ByteString -> Produce ByteString
Files
- library/Potoki/Core/Fetch.hs +14/−0
- library/Potoki/Core/Prelude.hs +4/−0
- library/Potoki/Core/Produce.hs +8/−0
- potoki-core.cabal +2/−1
library/Potoki/Core/Fetch.hs view
@@ -1,6 +1,8 @@ module Potoki.Core.Fetch where import Potoki.Core.Prelude+import qualified Data.ByteString.Lazy as A+import qualified Data.ByteString.Lazy.Internal as A {-|@@ -140,3 +142,15 @@ ioMaybe :: IO (Maybe a) -> Fetch a ioMaybe io = Fetch $ \nil just -> maybe nil just <$> io++{-# INLINE lazyByteStringRef #-}+lazyByteStringRef :: IORef A.ByteString -> Fetch ByteString+lazyByteStringRef ref =+ Fetch $ \ nil just ->+ do+ lazyByteString <- readIORef ref+ case lazyByteString of+ A.Chunk chunk remainders -> do+ writeIORef ref remainders+ return (just chunk)+ A.Empty -> return nil
library/Potoki/Core/Prelude.hs view
@@ -68,6 +68,10 @@ import Text.Read as Exports (Read(..), readMaybe, readEither) import Unsafe.Coerce as Exports +-- bytestring+-------------------------+import Data.ByteString as Exports (ByteString)+ -- profunctors ------------------------- import Data.Profunctor.Unsafe as Exports
library/Potoki/Core/Produce.hs view
@@ -3,6 +3,7 @@ import Potoki.Core.Prelude import qualified Potoki.Core.Fetch as A import qualified Potoki.Core.Transform.Types as B+import qualified Data.ByteString.Lazy as C {-|@@ -47,3 +48,10 @@ (fetch, kill) <- produceIO newFetch <- transformIO fetch return (newFetch, kill)++{-# INLINE lazyByteString #-}+lazyByteString :: C.ByteString -> Produce ByteString+lazyByteString lbs =+ Produce $ do+ ref <- newIORef lbs+ return (A.lazyByteStringRef ref, return ())
potoki-core.cabal view
@@ -1,7 +1,7 @@ name: potoki-core version:- 1.5.2+ 1.5.3 synopsis: Low-level components of "potoki" description:@@ -54,6 +54,7 @@ build-depends: -- stm >=2.4 && <3,+ bytestring >=0.10 && <0.11, -- profunctors >=5.2 && <6, base >=4.7 && <5