packages feed

RJson 0.3 → 0.3.1

raw patch · 2 files changed

+6/−1 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Text.RJson: enumFromJson :: (Data FromJsonD a, Data TranslateFieldD a) => a -> JsonData -> Either String a
+ Text.RJson: enumToJson :: (Data ToJsonD a, ToJson a, TranslateField a) => a -> JsonData

Files

RJson.cabal view
@@ -1,5 +1,5 @@ Name:          RJson-Version:       0.3+Version:       0.3.1 Cabal-Version: >= 1.2 License:       BSD3 License-File:  LICENSE
Text/RJson.hs view
@@ -18,6 +18,7 @@                    arrayAppend,                    objectExtras,                    genericToJson,+                   enumToJson,                    JsonData(..),                    FromJson,                    FromJsonD,@@ -27,6 +28,7 @@                    fromJsonString,                    fromJsonByteString,                    genericFromJson,+                   enumFromJson,                    stripInitialUnderscores,                    toJsonString,                    Union(..), Union3, Union4, Union5, Union6,@@ -285,6 +287,8 @@         | True =             error ("Unable to serialize the primitive type '" ++ typename x ++ "'") +-- | This function can be used as an implementation of 'toJson' for simple enums.+--   It just converts an enum value to a string determined by the name of the constructor. enumToJson :: (Data ToJsonD a, ToJson a, TranslateField a) => a -> JsonData enumToJson x     | isAlgType (dataTypeOf toJsonProxy x) = JDString (show (toConstr toJsonProxy x))@@ -518,6 +522,7 @@       _            -> Left "Bad fromJson conversion: Non-algebraic datatype given to 'genericFromJson'" genericFromJson _ _ = Left "Bad fromJson conversion: Expecting JSON object or array" +-- | The counterpart of 'enumToJson'. enumFromJson :: (Data FromJsonD a, Data TranslateFieldD a) => a -> JsonData -> Either String a enumFromJson dummy (JDString s) =     case fromConstrM fromJsonProxy Nothing (mkConstr (dataTypeOf fromJsonProxy dummy) s [] Prefix ) of