JSON-Combinator 0.2.4 → 0.2.5
raw patch · 3 files changed
+13/−9 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Text.JSON.Failure: NoSuchFieldOrExpectedObject :: (forall x. (NoSuchField z -> x) -> (ExpectedObject j -> x) -> x) -> NoSuchFieldOrExpectedObject z j
+ Text.JSON.Failure: NoSuchFieldOrExpectedObject_ExpectedObject :: j -> NoSuchFieldOrExpectedObject z j
+ Text.JSON.Failure: NoSuchFieldOrExpectedObject_NoSuchField :: z -> NoSuchFieldOrExpectedObject z j
+ Text.JSON.Failure: instance (Data z, Data j) => Data (NoSuchFieldOrExpectedObject z j)
+ Text.JSON.Failure: instance (Eq z, Eq j) => Eq (NoSuchFieldOrExpectedObject z j)
+ Text.JSON.Failure: instance (Ord z, Ord j) => Ord (NoSuchFieldOrExpectedObject z j)
+ Text.JSON.Failure: instance (Show z, Show j) => Show (NoSuchFieldOrExpectedObject z j)
+ Text.JSON.Failure: instance Typeable2 NoSuchFieldOrExpectedObject
Files
- JSON-Combinator.cabal +1/−1
- Text/JSON/Failure.hs +6/−2
- Text/JSON/JSONField.hs +6/−6
JSON-Combinator.cabal view
@@ -1,5 +1,5 @@ Name: JSON-Combinator-Version: 0.2.4+Version: 0.2.5 License: BSD3 License-File: LICENSE Author: Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>
Text/JSON/Failure.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE RankNTypes, DeriveDataTypeable #-}+{-# LANGUAGE DeriveDataTypeable #-} -- | Data structures that used to denote failure of accessing JSON values. module Text.JSON.Failure@@ -44,6 +44,10 @@ ExpectedString j deriving (Eq, Ord, Show, Data, Typeable) +-- | An object field was attempted to access but the object has no such field or+-- the JSON value was expected to be an object but it wasn't. data NoSuchFieldOrExpectedObject z j =- NoSuchFieldOrExpectedObject (forall x. (NoSuchField z -> x) -> (ExpectedObject j -> x) -> x)+ NoSuchFieldOrExpectedObject_NoSuchField z+ | NoSuchFieldOrExpectedObject_ExpectedObject j+ deriving (Eq, Ord, Show, Data, Typeable)
Text/JSON/JSONField.hs view
@@ -38,10 +38,10 @@ instance JSONField JSON ByteString where field f (Object o) = case T.lookup f o of- Nothing -> failure (NoSuchFieldOrExpectedObject (\x _ -> x (NoSuchField f)) :: NoSuchFieldOrExpectedObject ByteString JSON)+ Nothing -> failure (NoSuchFieldOrExpectedObject_NoSuchField f :: NoSuchFieldOrExpectedObject ByteString JSON) Just x -> return x field _ j =- failure (NoSuchFieldOrExpectedObject (\_ y -> y (ExpectedObject j)) :: NoSuchFieldOrExpectedObject ByteString JSON)+ failure (NoSuchFieldOrExpectedObject_ExpectedObject j :: NoSuchFieldOrExpectedObject ByteString JSON) fields (Object o) = return (T.keys o) fields j =@@ -54,10 +54,10 @@ instance JSONField J.JSValue [Char] where field f (J.JSObject (JSONObject o)) = case lookup f o of- Nothing -> failure (NoSuchFieldOrExpectedObject (\x _ -> x (NoSuchField f)) :: NoSuchFieldOrExpectedObject String J.JSValue)+ Nothing -> failure (NoSuchFieldOrExpectedObject_NoSuchField f :: NoSuchFieldOrExpectedObject String J.JSValue) Just x -> return x field _ j =- failure (NoSuchFieldOrExpectedObject (\_ y -> y (ExpectedObject j)) :: NoSuchFieldOrExpectedObject String J.JSValue)+ failure (NoSuchFieldOrExpectedObject_ExpectedObject j :: NoSuchFieldOrExpectedObject String J.JSValue) fields (J.JSObject (JSONObject o)) = return (fmap fst o) fields j =@@ -70,10 +70,10 @@ instance JSONField H.Json [Char] where field f (H.JObject o) = case M.lookup f o of- Nothing -> failure (NoSuchFieldOrExpectedObject (\x _ -> x (NoSuchField f)) :: NoSuchFieldOrExpectedObject String H.Json)+ Nothing -> failure (NoSuchFieldOrExpectedObject_NoSuchField f :: NoSuchFieldOrExpectedObject String H.Json) Just x -> return x field _ j =- failure (NoSuchFieldOrExpectedObject (\_ y -> y (ExpectedObject j)) :: NoSuchFieldOrExpectedObject String H.Json)+ failure (NoSuchFieldOrExpectedObject_ExpectedObject j :: NoSuchFieldOrExpectedObject String H.Json) fields (H.JObject o) = return (M.keys o) fields j =