packages feed

data-object 0.3.0 → 0.3.1

raw patch · 2 files changed

+35/−2 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Data.Object: MissingKey :: String -> ObjectExtractError
+ Data.Object: lookupMapping :: (Show k, Eq k, Failure ObjectExtractError m) => k -> [(k, Object k v)] -> m [(k, Object k v)]
+ Data.Object: lookupObject :: (Show k, Eq k, Failure ObjectExtractError m) => k -> [(k, Object k v)] -> m (Object k v)
+ Data.Object: lookupScalar :: (Show k, Eq k, Failure ObjectExtractError m) => k -> [(k, Object k v)] -> m v
+ Data.Object: lookupSequence :: (Show k, Eq k, Failure ObjectExtractError m) => k -> [(k, Object k v)] -> m [Object k v]

Files

Data/Object.hs view
@@ -52,11 +52,16 @@     , fromScalar     , fromSequence     , fromMapping+      -- * Lookups+    , lookupObject+    , lookupScalar+    , lookupSequence+    , lookupMapping     ) where  import Control.Arrow import Control.Applicative-import Control.Monad (ap)+import Control.Monad (ap, (<=<))  import Prelude hiding (mapM, sequence) @@ -181,6 +186,7 @@     ExpectedScalar     | ExpectedSequence     | ExpectedMapping+    | MissingKey String     deriving (Typeable, Show) instance Exception ObjectExtractError @@ -205,3 +211,30 @@             -> m [(k, Object k v)] fromMapping (Mapping m) = return m fromMapping _ = failure ExpectedMapping++lookupObject :: (Show k, Eq k, Failure ObjectExtractError m)+             => k+             -> [(k, Object k v)]+             -> m (Object k v)+lookupObject k pairs =+    case lookup k pairs of+        Nothing -> failure $ MissingKey $ show k+        Just v -> return v++lookupScalar :: (Show k, Eq k, Failure ObjectExtractError m)+             => k+             -> [(k, Object k v)]+             -> m v+lookupScalar k = fromScalar <=< lookupObject k++lookupSequence :: (Show k, Eq k, Failure ObjectExtractError m)+               => k+               -> [(k, Object k v)]+               -> m [Object k v]+lookupSequence k = fromSequence <=< lookupObject k++lookupMapping :: (Show k, Eq k, Failure ObjectExtractError m)+              => k+              -> [(k, Object k v)]+              -> m [(k, Object k v)]+lookupMapping k = fromMapping <=< lookupObject k
data-object.cabal view
@@ -1,5 +1,5 @@ name:            data-object-version:         0.3.0+version:         0.3.1 license:         BSD3 license-file:    LICENSE author:          Michael Snoyman, Nicolas Pouillard