packages feed

tagstream-conduit 0.3.2 → 0.4.0

raw patch · 2 files changed

+13/−7 lines, 2 filesdep ~blaze-builder-conduitdep ~conduitPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: blaze-builder-conduit, conduit

API changes (from Hackage documentation)

- Text.HTML.TagStream: tokenStream :: Monad m => Conduit ByteString m Token
+ Text.HTML.TagStream: tokenStream :: Monad m => GInfConduit ByteString m Token
- Text.HTML.TagStream.Stream: tokenStream :: Monad m => Conduit ByteString m Token
+ Text.HTML.TagStream.Stream: tokenStream :: Monad m => GInfConduit ByteString m Token

Files

Text/HTML/TagStream/Stream.hs view
@@ -7,17 +7,23 @@ import Data.Conduit import Text.HTML.TagStream.Parser import Text.HTML.TagStream.Types+import Control.Monad (unless)  -- | html parser conduit.-tokenStream :: Monad m => Conduit ByteString m Token-tokenStream = conduitState S.empty push close+tokenStream :: Monad m => GInfConduit ByteString m Token+tokenStream =+    loop S.empty   where+    loop accum = awaitE >>= either (close accum) (push accum)+     push accum input =         case parseOnly html (accum `S.append` input) of-            Right (splitAccum -> (accum', tokens)) -> return $ StateProducing accum' tokens+            Right (splitAccum -> (accum', tokens)) -> mapM_ yield tokens >> loop accum'             Left err -> fail err -    close s = return $ if S.null s then [] else [Text s]+    close s r = do+        unless (S.null s) $ yield $ Text s+        return r      splitAccum :: [Token] -> (ByteString, [Token])     splitAccum [] = (S.empty, [])
tagstream-conduit.cabal view
@@ -1,5 +1,5 @@ Name:                tagstream-conduit-Version:             0.3.2+Version:             0.4.0 Synopsis:            streamlined html tag parser Description:     Tag-stream is a library for parsing HTML//XML to a token stream.@@ -32,10 +32,10 @@                      , Text.HTML.TagStream.Utils   Build-depends:       base >= 4 && < 5                      , bytestring-                     , conduit >= 0.4 && < 0.5+                     , conduit >= 0.5 && < 0.6                      , attoparsec                      , blaze-builder-                     , blaze-builder-conduit >= 0.4 && < 0.5+                     , blaze-builder-conduit >= 0.5 && < 0.6  test-suite test     hs-source-dirs: tests