libxml-enumerator 0.2 → 0.3
raw patch · 2 files changed
+11/−10 lines, 2 filesdep ~enumeratorPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: enumerator
API changes (from Hackage documentation)
- Text.XML.LibXML.Enumerator: parseBytesIO :: (MonadIO m) => Maybe Text -> Enumeratee Text ByteString Event m b
+ Text.XML.LibXML.Enumerator: parseBytesIO :: (MonadIO m) => Maybe Text -> Enumeratee ByteString Event m b
- Text.XML.LibXML.Enumerator: parseBytesST :: Maybe Text -> Enumeratee Text ByteString Event (ST s) b
+ Text.XML.LibXML.Enumerator: parseBytesST :: Maybe Text -> Enumeratee ByteString Event (ST s) b
- Text.XML.LibXML.Enumerator: parseTextIO :: (MonadIO m) => Maybe Text -> Enumeratee Text Text Event m b
+ Text.XML.LibXML.Enumerator: parseTextIO :: (MonadIO m) => Maybe Text -> Enumeratee Text Event m b
- Text.XML.LibXML.Enumerator: parseTextST :: Maybe Text -> Enumeratee Text Text Event (ST s) b
+ Text.XML.LibXML.Enumerator: parseTextST :: Maybe Text -> Enumeratee Text Event (ST s) b
Files
Text/XML/LibXML/Enumerator.hs view
@@ -22,6 +22,7 @@ import qualified Data.XML.Types as X import qualified Text.XML.LibXML.SAX as SAX +import Control.Exception (ErrorCall(..)) import Control.Monad.IO.Class (MonadIO, liftIO) import Control.Monad.Trans.Class (lift) import Control.Monad.ST (ST)@@ -68,16 +69,16 @@ set SAX.parsedComment (addEvent . EventComment) set SAX.parsedInstruction (addEvent . EventInstruction) -parseBytesIO :: MonadIO m => Maybe T.Text -> E.Enumeratee T.Text B.ByteString Event m b+parseBytesIO :: MonadIO m => Maybe T.Text -> E.Enumeratee B.ByteString Event m b parseBytesIO = parseIO SAX.parseBytes -parseTextIO :: MonadIO m => Maybe T.Text -> E.Enumeratee T.Text T.Text Event m b+parseTextIO :: MonadIO m => Maybe T.Text -> E.Enumeratee T.Text Event m b parseTextIO = parseIO SAX.parseText parseIO :: MonadIO m => (SAX.Parser IO -> a -> IO ()) -> Maybe T.Text- -> E.Enumeratee T.Text a Event m b+ -> E.Enumeratee a Event m b parseIO parseFn name s = E.Iteratee $ do (p, eventRef, errRef) <- liftIO $ newParserIO name @@ -93,15 +94,15 @@ let complete = withEvents (SAX.parseComplete p) E.runIteratee $ eneeParser parseChunk complete s -parseBytesST :: Maybe T.Text -> E.Enumeratee T.Text B.ByteString Event (ST s) b+parseBytesST :: Maybe T.Text -> E.Enumeratee B.ByteString Event (ST s) b parseBytesST = parseST SAX.parseBytes -parseTextST :: Maybe T.Text -> E.Enumeratee T.Text T.Text Event (ST s) b+parseTextST :: Maybe T.Text -> E.Enumeratee T.Text Event (ST s) b parseTextST = parseST SAX.parseText parseST :: (SAX.Parser (ST s) -> a -> ST s ()) -> Maybe T.Text- -> E.Enumeratee T.Text a Event (ST s) b+ -> E.Enumeratee a Event (ST s) b parseST parseFn name s = E.Iteratee $ do (p, eventRef, errRef) <- newParserST name @@ -120,7 +121,7 @@ eneeParser :: Monad m => (a -> m ([Event], Maybe T.Text)) -> m ([Event], Maybe T.Text)- -> E.Enumeratee T.Text a Event m b+ -> E.Enumeratee a Event m b eneeParser parseChunk parseComplete = E.checkDone (E.continue . step) where step k E.EOF = checkEvents k parseComplete (\k' -> E.yield (E.Continue k') E.EOF) step k (E.Chunks xs) = parseLoop k xs@@ -132,7 +133,7 @@ (events, maybeErr) <- lift getEvents let checkError k' = case maybeErr of Nothing -> next k'- Just err -> E.throwError err+ Just err -> E.throwError (ErrorCall (T.unpack err)) if null events then checkError k else k (E.Chunks events) >>== E.checkDone checkError
libxml-enumerator.cabal view
@@ -1,5 +1,5 @@ name: libxml-enumerator-version: 0.2+version: 0.3 synopsis: Enumerator-based API for libXML's SAX interface license: MIT license-file: license.txt@@ -20,7 +20,7 @@ base >= 4 && < 5 , bytestring >= 0.9 && < 0.10 , text >= 0.7 && < 0.8- , enumerator >= 0.1 && < 0.4+ , enumerator >= 0.4 && < 0.5 , transformers >= 0.2 && < 0.3 , libxml-sax >= 0.6 && < 0.7 , xml-types >= 0.1 && < 0.2