packages feed

fields-json 0.2 → 0.2.1

raw patch · 5 files changed

+15/−7 lines, 5 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Text.JSON.FromJSValue: instance [incoherent] (FromJSValue a, FromJSValue b) => FromJSValue (a, b)
+ Text.JSON.ToJSValue: instance [incoherent] (ToJSValue a, ToJSValue b) => ToJSValue (a, b)

Files

fields-json.cabal view
@@ -1,5 +1,5 @@ Name:                fields-json-Version:             0.2+Version:             0.2.1 Synopsis: Abusing monadic syntax JSON objects generation.              Description: @@ -13,7 +13,7 @@ Stability:           Development Category:            Web Build-type:          Simple-Cabal-version:       >=1.4+Cabal-version:       >=1.6   library@@ -24,7 +24,7 @@      Text.JSON.JSValueContainer    hs-source-dirs: src -  GHC-Options: -Werror+  GHC-Options: -Wall   build-depends: base >= 4 && < 5   build-depends: json >= 0.4.4   build-depends: containers@@ -40,3 +40,7 @@                  GeneralizedNewtypeDeriving,                  MultiParamTypeClasses,                  StandaloneDeriving++source-repository head+    type: git+    location: git://github.com/scrive/fields-json.git
src/Text/JSON/FromJSValue.hs view
@@ -32,7 +32,6 @@ import Data.Ratio import Control.Monad.Identity import Data.Maybe-import Text.JSON.String   -- | Structures that can be 'parsed' from JSON. Instances must declare either 'fromJSValue' (parse directly from 'JSValue') or 'fromJSValueM' (uses 'MonadReader')@@ -78,6 +77,11 @@ instance (FromJSValue a) => FromJSValue (Maybe a) where     fromJSValue = join . fromJSValue +instance (FromJSValue a, FromJSValue b) => FromJSValue (a,b) where+    fromJSValue (JSArray [a,b]) = do a' <- fromJSValue a+                                     b' <- fromJSValue b+                                     return (a',b')+    fromJSValue _ = Nothing  -- ---------------------------------------------------------------- 
src/Text/JSON/Gen.hs view
@@ -54,9 +54,7 @@ import Control.Monad.Trans import Control.Monad.State.Strict import Control.Monad.Reader-import Control.Monad.Reader.Class -import Data.Foldable import Data.Sequence as S import Text.JSON import Text.JSON.ToJSValue
src/Text/JSON/JSValueContainer.hs view
@@ -18,7 +18,6 @@ import Text.JSON import Data.Sequence as S import Data.Foldable-import Text.JSON  class JSValueContainer a where     getJSValue :: a -> JSValue
src/Text/JSON/ToJSValue.hs view
@@ -40,3 +40,6 @@  instance ToJSValue a => ToJSValue (Maybe a) where   toJSValue = maybe JSNull toJSValue++instance (ToJSValue a, ToJSValue b) => ToJSValue (a,b) where+  toJSValue (a,b) = JSArray [toJSValue a, toJSValue b]