git.iko.soy/typeable/mandrill
on master help sign in
Merge pull request #32 from dredozubov/mandrill-response-instances

MandrillResponse instances

commit3feb93cb0ec957526772eff16961f05fcff9e939 authorAlfredo Di Napoli <alfredo.dinapoli@gmail.com> dateWed 4 May 2016, 08:33 (10 years ago) parent3e533ce72361e2
1 file changed+9−2
src/Network/API/Mandrill/Types.hs+9−2
src/Network/API/Mandrill/Types.hs+9−2
@@ -1,4 +1,7 @@
11{-# LANGUAGE CPP #-}
2+{-# LANGUAGE DeriveFunctor #-}
3+{-# LANGUAGE DeriveFoldable #-}
4+{-# LANGUAGE DeriveTraversable #-}
25{-# LANGUAGE OverloadedStrings #-}
36{-# LANGUAGE RankNTypes #-}
47{-# LANGUAGE ScopedTypeVariables #-}
@@ -23,6 +26,10 @@ import Data.Aeson.TH
2326import Data.Aeson.Types
2427import qualified Data.ByteString as B
2528import qualified Data.ByteString.Base64 as Base64
29+#if !MIN_VERSION_base(4,8,0)
30+import Data.Foldable
31+import Data.Traversable
32+#endif
2633import qualified Data.HashMap.Strict as H
2734import Data.Monoid
2835import qualified Data.Text as T
@@ -45,7 +52,7 @@ data MandrillError = MandrillError {
4552 , _merr_code :: !Int
4653 , _merr_name :: !T.Text
4754 , _merr_message :: !T.Text
48− } deriving Show
55+ } deriving (Show, Eq)
4956
5057makeLenses ''MandrillError
5158deriveJSON defaultOptions { fieldLabelModifier = drop 6 } ''MandrillError
@@ -83,7 +90,7 @@ deriveJSON defaultOptions {
8390-- which can be either a success or a failure.
8491data MandrillResponse k =
8592 MandrillSuccess k
86− | MandrillFailure MandrillError deriving Show
93+ | MandrillFailure MandrillError deriving (Show, Eq, Functor, Foldable, Traversable)
8794
8895instance FromJSON k => FromJSON (MandrillResponse k) where
8996 parseJSON v = case (parseMaybe parseJSON v) :: Maybe k of