yaml 0.8.8 → 0.8.8.1
raw patch · 5 files changed
+19/−8 lines, 5 filesdep ~conduitdep ~resourcet
Dependency ranges changed: conduit, resourcet
Files
- Data/Yaml.hs +6/−5
- Data/Yaml/Builder.hs +1/−0
- Data/Yaml/Parser.hs +7/−0
- test/main.hs +1/−0
- yaml.cabal +4/−3
Data/Yaml.hs view
@@ -91,14 +91,15 @@ #else import Data.Attoparsec.Number #endif+import Control.Monad.Trans.Resource (ResourceT, runResourceT) encode :: ToJSON a => a -> ByteString encode obj = unsafePerformIO $- C.runResourceT $ CL.sourceList (objToEvents $ toJSON obj)+ runResourceT $ CL.sourceList (objToEvents $ toJSON obj) C.$$ Y.encode encodeFile :: ToJSON a => FilePath -> a -> IO ()-encodeFile fp obj = C.runResourceT+encodeFile fp obj = runResourceT $ CL.sourceList (objToEvents $ toJSON obj) C.$$ Y.encodeFile fp @@ -187,7 +188,7 @@ instance MonadIO m => MonadIO (PErrorT m) where liftIO = lift . liftIO -type Parse = StateT (Map.Map String Value) (C.ResourceT IO)+type Parse = StateT (Map.Map String Value) (ResourceT IO) requireEvent :: Event -> C.Sink Event Parse () requireEvent e = do@@ -320,7 +321,7 @@ => FilePath -> IO (Either ParseException a) decodeFileEither fp = do- x <- try $ C.runResourceT $ flip evalStateT Map.empty $ Y.decodeFile fp C.$$ parse+ x <- try $ runResourceT $ flip evalStateT Map.empty $ Y.decodeFile fp C.$$ parse case x of Left e | Just pe <- fromException e -> return $ Left pe@@ -356,7 +357,7 @@ => C.Source Parse Y.Event -> IO (Either ParseException (Either String a)) decodeHelper src = do- x <- try $ C.runResourceT $ flip evalStateT Map.empty $ src C.$$ parse+ x <- try $ runResourceT $ flip evalStateT Map.empty $ src C.$$ parse case x of Left e | Just pe <- fromException e -> return $ Left pe
Data/Yaml/Builder.hs view
@@ -22,6 +22,7 @@ import System.IO.Unsafe (unsafePerformIO) import Control.Arrow (second) import qualified Data.ByteString.Char8 as S8+import Control.Monad.Trans.Resource (runResourceT) (.=) :: ToYaml a => Text -> a -> (Text, YamlBuilder) k .= v = (k, toYaml v)
Data/Yaml/Parser.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE OverloadedStrings #-} -- | NOTE: This module is a highly experimental preview release. It may change@@ -10,9 +11,15 @@ import Control.Monad (MonadPlus (..), liftM, ap) import Control.Monad.Trans.Writer.Strict (tell, WriterT) import Control.Monad.Trans.Class (lift)+import Control.Monad.Trans.Resource (MonadThrow, monadThrow, runResourceT) import qualified Data.Map as Map import Data.Conduit+#if MIN_VERSION_conduit(1,1,0)+import Data.Conduit.Lift (runWriterC)+#define runWriterSC runWriterC+#else import Data.Conduit.Lift (runWriterSC)+#endif import Data.Text (Text, pack, unpack) import Data.Text.Encoding (decodeUtf8) import Data.ByteString (ByteString)
test/main.hs view
@@ -10,6 +10,7 @@ import Test.HUnit hiding (Test, path) import qualified Data.Conduit as C+import qualified Control.Monad.Trans.Resource as C import qualified Data.Conduit.List as CL import System.Directory
yaml.cabal view
@@ -1,5 +1,5 @@ name: yaml-version: 0.8.8+version: 0.8.8.1 license: BSD3 license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>, Anton Ageev <antage@gmail.com>,Kirill Simonov @@ -41,8 +41,8 @@ build-depends: base >= 4 && < 5 , transformers >= 0.1 && < 0.4 , bytestring >= 0.9.1.4- , conduit >= 1.0.11 && < 1.1- , resourcet >= 0.3 && < 0.5+ , conduit >= 1.0.11 && < 1.2+ , resourcet >= 0.3 && < 1.2 , aeson >= 0.5 , containers , unordered-containers@@ -115,6 +115,7 @@ , aeson , unordered-containers , vector+ , resourcet ghc-options: -Wall source-repository head