{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE FlexibleInstances #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Data.RdsData.Internal.Aeson where
import Data.Aeson
import Data.Text (Text)
import qualified Amazonka.RDSData as AWS
import qualified Data.Aeson as J
import qualified Data.ByteString.Lazy as LBS
import qualified Data.Text.Encoding as T
infixr 8 .=!
infixr 8 .=?
(.=!) :: (KeyValue e kv, ToJSON v) => Key -> v -> [kv] -> [kv]
.=! :: forall e kv v.
(KeyValue e kv, ToJSON v) =>
Key -> v -> [kv] -> [kv]
(.=!) Key
n v
v = (Key
n Key -> v -> kv
forall v. ToJSON v => Key -> v -> kv
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= v
vkv -> [kv] -> [kv]
forall a. a -> [a] -> [a]
:)
(.=?) :: (KeyValue e kv, ToJSON v) => Key -> Maybe v -> [kv] -> [kv]
.=? :: forall e kv v.
(KeyValue e kv, ToJSON v) =>
Key -> Maybe v -> [kv] -> [kv]
(.=?) Key
n Maybe v
mv = case Maybe v
mv of
Just v
v -> (Key
n Key -> v -> kv
forall v. ToJSON v => Key -> v -> kv
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= v
vkv -> [kv] -> [kv]
forall a. a -> [a] -> [a]
:)
Maybe v
Nothing -> [kv] -> [kv]
forall a. a -> a
id
toJsonText :: ToJSON a => a -> Text
toJsonText :: forall a. ToJSON a => a -> Text
toJsonText a
field = ByteString -> Text
T.decodeUtf8 (ByteString -> ByteString
LBS.toStrict (a -> ByteString
forall a. ToJSON a => a -> ByteString
J.encode a
field))
instance ToJSON AWS.ColumnMetadata where
instance ToJSON AWS.UpdateResult where
myOptions :: Options
myOptions :: Options
myOptions = Options
defaultOptions { omitNothingFields = True }
instance ToJSON AWS.ExecuteStatementResponse where
toJSON :: ExecuteStatementResponse -> Value
toJSON = Options -> ExecuteStatementResponse -> Value
forall a.
(Generic a, GToJSON' Value Zero (Rep a)) =>
Options -> a -> Value
genericToJSON Options
myOptions
instance FromJSON AWS.ExecuteStatementResponse where
instance ToJSON AWS.BatchExecuteStatementResponse where
toJSON :: BatchExecuteStatementResponse -> Value
toJSON = Options -> BatchExecuteStatementResponse -> Value
forall a.
(Generic a, GToJSON' Value Zero (Rep a)) =>
Options -> a -> Value
genericToJSON Options
myOptions
instance FromJSON AWS.BatchExecuteStatementResponse where