packages feed

yajl-enumerator 0.1 → 0.2

raw patch · 2 files changed

+21/−19 lines, 2 filesdep ~enumerator

Dependency ranges changed: enumerator

Files

Text/JSON/YAJL/Enumerator.hs view
@@ -55,16 +55,16 @@  -- Parser {{{ -parseBytesIO :: MonadIO m => E.Enumeratee T.Text B.ByteString Event m b+parseBytesIO :: MonadIO m => E.Enumeratee B.ByteString Event m b parseBytesIO = parseIO Y.parseBytes -parseTextIO :: MonadIO m => E.Enumeratee T.Text T.Text Event m b+parseTextIO :: MonadIO m => E.Enumeratee T.Text Event m b parseTextIO = parseIO Y.parseText -parseBytesST :: E.Enumeratee T.Text B.ByteString Event (ST s) b+parseBytesST :: E.Enumeratee B.ByteString Event (ST s) b parseBytesST = parseST Y.parseBytes -parseTextST :: E.Enumeratee T.Text T.Text Event (ST s) b+parseTextST :: E.Enumeratee T.Text Event (ST s) b parseTextST = parseST Y.parseText  newParserIO :: IO (Y.Parser IO, IO.IORef [Event])@@ -99,7 +99,7 @@  parseIO :: MonadIO m         => (Y.Parser IO -> a -> IO Y.ParseStatus)-        -> E.Enumeratee T.Text a Event m b+        -> E.Enumeratee a Event m b parseIO parseFn s = do 	(p, eventRef) <- liftIO newParserIO 	@@ -114,7 +114,7 @@ 	eneeParser parseChunk complete s  parseST :: (Y.Parser (ST s) -> a -> ST s Y.ParseStatus)-        -> E.Enumeratee T.Text a Event (ST s) b+        -> E.Enumeratee a Event (ST s) b parseST parseFn s = do 	(p, eventRef) <- lift newParserST 	@@ -131,12 +131,12 @@ eneeParser :: Monad m            => (a -> m ([Event], Y.ParseStatus))            -> m ([Event], Y.ParseStatus)-           -> 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.Chunks xs) = parseLoop k xs 	step k E.EOF = checkEvents k parseComplete 		(\k' -> E.yield (E.Continue k') E.EOF)-		(\_ -> E.throwError (T.pack "Unexpected EOF"))+		(\_ -> throwError (T.pack "Unexpected EOF")) 	 	parseLoop k [] = E.continue (step k) 	parseLoop k (x:xs) = checkEvents k (parseChunk x)@@ -146,13 +146,15 @@ 	checkEvents k getEvents onFinished onContinue = do 		(events, status) <- lift getEvents 		let checkError k' = case status of-			Y.ParseError err -> E.throwError err+			Y.ParseError err -> throwError err 			Y.ParseFinished -> onFinished k' 			Y.ParseContinue -> onContinue k'-			Y.ParseCancelled -> E.throwError (T.pack "Parse cancelled")+			Y.ParseCancelled -> throwError (T.pack "Parse cancelled") 		if null events 			then checkError k 			else k (E.Chunks events) >>== E.checkDone checkError+	+	throwError = E.throwError . Exc.ErrorCall . T.unpack  -- }}} @@ -172,26 +174,26 @@  generateTextIO :: MonadIO m                => Y.GeneratorConfig-               -> E.Enumeratee Y.GeneratorError Event T.Text m b+               -> E.Enumeratee Event T.Text m b generateTextIO = generateIO (fmap TE.decodeUtf8 . Y.getBuffer)  generateBytesIO :: MonadIO m                 => Y.GeneratorConfig-                -> E.Enumeratee Y.GeneratorError Event B.ByteString m b+                -> E.Enumeratee Event B.ByteString m b generateBytesIO = generateIO Y.getBuffer  generateTextST :: Y.GeneratorConfig-               -> E.Enumeratee Y.GeneratorError Event T.Text (ST s) b+               -> E.Enumeratee Event T.Text (ST s) b generateTextST = generateST (fmap TE.decodeUtf8 . Y.getBuffer)  generateBytesST :: Y.GeneratorConfig-                -> E.Enumeratee Y.GeneratorError Event B.ByteString (ST s) b+                -> E.Enumeratee Event B.ByteString (ST s) b generateBytesST = generateST Y.getBuffer  generateIO :: (Nullable a, MonadIO m)            => (Y.Generator RealWorld -> ST RealWorld a)            -> Y.GeneratorConfig-           -> E.Enumeratee Y.GeneratorError Event a m b+           -> E.Enumeratee Event a m b generateIO getBuf config s = do 	g <- liftIO $ stToIO $ Y.newGenerator config 	let takeBuf = liftIO $ stToIO $ do@@ -206,7 +208,7 @@ generateST :: Nullable a            => (Y.Generator s -> ST s a)            -> Y.GeneratorConfig-           -> E.Enumeratee Y.GeneratorError Event a (ST s) b+           -> E.Enumeratee Event a (ST s) b generateST getBuf config s = do 	g <- lift $ Y.newGenerator config 	let takeBuf = do@@ -221,7 +223,7 @@ eneeGenerator :: (Nullable a, Monad m)               => (Event -> m (Maybe Y.GeneratorError))               -> m a-              -> E.Enumeratee Y.GeneratorError Event a m b+              -> E.Enumeratee Event a m b eneeGenerator genEvent takeBuf = E.checkDone (E.continue . step) where 	step k (E.Chunks []) = E.continue (step k) 	step k (E.Chunks xs) = parseLoop k xs
yajl-enumerator.cabal view
@@ -1,5 +1,5 @@ name: yajl-enumerator-version: 0.1+version: 0.2 synopsis: Enumerator-based interface to YAJL, an event-based JSON implementation license: GPL-3 license-file: license.txt@@ -21,7 +21,7 @@     , bytestring >= 0.9 && < 0.10     , text >= 0.7 && < 0.8     , yajl >= 0.3 && < 0.4-    , enumerator >= 0.1 && < 0.4+    , enumerator >= 0.4 && < 0.5     , transformers >= 0.2 && < 0.3    exposed-modules: