module AWS.Lambda.RuntimeAPI.Types
( LambdaInvocation(..)
, LambdaResult(..)
, LambdaExecutionContext(..)
, MobileInvocationMetadata(..)
, Text
, module Control.DeepSeq
, module Control.Exception.Safe
, module Control.Monad
, module Data.Aeson
, module Data.Function
, module Data.String
, module Data.Typeable
, module Data.Word
, module GHC.Generics
) where
import Control.Exception.Safe (throw, MonadThrow)
import Control.Monad ( void, forever )
import Data.Aeson (ToJSON, FromJSON, Options, FromJSON1, ToJSON1)
import Data.Function ( (&) )
import Data.String ( fromString, IsString(..) )
import Data.Text (Text)
import Data.Typeable (typeOf)
import Data.Word (Word64)
import GHC.Generics
import Control.DeepSeq ( NFData, NFData1 )
import qualified Data.Aeson as JSON
import qualified Data.Char as Char
import qualified Network.HTTP.Client as HTTP
modifyFieldLabel :: String -> String
modifyFieldLabel :: String -> String
modifyFieldLabel String
str =
if String -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null String
trimmed then
String
str
else
String
trimmed
where
trimmed :: String
trimmed = (Char -> Bool) -> String -> String
forall a. (a -> Bool) -> [a] -> [a]
dropWhile Char -> Bool
Char.isLower String
str
jsonOptions :: Options
jsonOptions :: Options
jsonOptions = Options
JSON.defaultOptions
{ fieldLabelModifier :: String -> String
JSON.fieldLabelModifier = String -> String
modifyFieldLabel
, omitNothingFields :: Bool
JSON.omitNothingFields = Bool
True
, unwrapUnaryRecords :: Bool
JSON.unwrapUnaryRecords = Bool
True
, tagSingleConstructors :: Bool
JSON.tagSingleConstructors = Bool
False
}
data MobileInvocationMetadata = MobileInvocationMetadata
{ MobileInvocationMetadata -> Text
mimClientContext :: Text
, MobileInvocationMetadata -> Text
mimCognitoIdentity :: Text
} deriving (Int -> MobileInvocationMetadata -> String -> String
[MobileInvocationMetadata] -> String -> String
MobileInvocationMetadata -> String
(Int -> MobileInvocationMetadata -> String -> String)
-> (MobileInvocationMetadata -> String)
-> ([MobileInvocationMetadata] -> String -> String)
-> Show MobileInvocationMetadata
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [MobileInvocationMetadata] -> String -> String
$cshowList :: [MobileInvocationMetadata] -> String -> String
show :: MobileInvocationMetadata -> String
$cshow :: MobileInvocationMetadata -> String
showsPrec :: Int -> MobileInvocationMetadata -> String -> String
$cshowsPrec :: Int -> MobileInvocationMetadata -> String -> String
Show, MobileInvocationMetadata -> MobileInvocationMetadata -> Bool
(MobileInvocationMetadata -> MobileInvocationMetadata -> Bool)
-> (MobileInvocationMetadata -> MobileInvocationMetadata -> Bool)
-> Eq MobileInvocationMetadata
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MobileInvocationMetadata -> MobileInvocationMetadata -> Bool
$c/= :: MobileInvocationMetadata -> MobileInvocationMetadata -> Bool
== :: MobileInvocationMetadata -> MobileInvocationMetadata -> Bool
$c== :: MobileInvocationMetadata -> MobileInvocationMetadata -> Bool
Eq, (forall x.
MobileInvocationMetadata -> Rep MobileInvocationMetadata x)
-> (forall x.
Rep MobileInvocationMetadata x -> MobileInvocationMetadata)
-> Generic MobileInvocationMetadata
forall x.
Rep MobileInvocationMetadata x -> MobileInvocationMetadata
forall x.
MobileInvocationMetadata -> Rep MobileInvocationMetadata x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep MobileInvocationMetadata x -> MobileInvocationMetadata
$cfrom :: forall x.
MobileInvocationMetadata -> Rep MobileInvocationMetadata x
Generic, MobileInvocationMetadata -> ()
(MobileInvocationMetadata -> ()) -> NFData MobileInvocationMetadata
forall a. (a -> ()) -> NFData a
rnf :: MobileInvocationMetadata -> ()
$crnf :: MobileInvocationMetadata -> ()
NFData)
instance ToJSON MobileInvocationMetadata where
toJSON :: MobileInvocationMetadata -> Value
toJSON = Options -> MobileInvocationMetadata -> Value
forall a.
(Generic a, GToJSON' Value Zero (Rep a)) =>
Options -> a -> Value
JSON.genericToJSON Options
jsonOptions
toEncoding :: MobileInvocationMetadata -> Encoding
toEncoding = Options -> MobileInvocationMetadata -> Encoding
forall a.
(Generic a, GToJSON' Encoding Zero (Rep a)) =>
Options -> a -> Encoding
JSON.genericToEncoding Options
jsonOptions
instance FromJSON MobileInvocationMetadata where
parseJSON :: Value -> Parser MobileInvocationMetadata
parseJSON = Options -> Value -> Parser MobileInvocationMetadata
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
JSON.genericParseJSON Options
jsonOptions
data LambdaInvocation payload = LambdaInvocation
{ LambdaInvocation payload -> Text
liAwsRequestId :: Text
, LambdaInvocation payload -> Word64
liDeadlineMs :: Word64
, LambdaInvocation payload -> Text
liInvokedFunctionArn :: Text
, LambdaInvocation payload -> Text
liTraceId :: Text
, LambdaInvocation payload -> Maybe MobileInvocationMetadata
liMobileMetadata :: Maybe MobileInvocationMetadata
, LambdaInvocation payload -> payload
liPayload :: payload
} deriving (Int -> LambdaInvocation payload -> String -> String
[LambdaInvocation payload] -> String -> String
LambdaInvocation payload -> String
(Int -> LambdaInvocation payload -> String -> String)
-> (LambdaInvocation payload -> String)
-> ([LambdaInvocation payload] -> String -> String)
-> Show (LambdaInvocation payload)
forall payload.
Show payload =>
Int -> LambdaInvocation payload -> String -> String
forall payload.
Show payload =>
[LambdaInvocation payload] -> String -> String
forall payload. Show payload => LambdaInvocation payload -> String
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [LambdaInvocation payload] -> String -> String
$cshowList :: forall payload.
Show payload =>
[LambdaInvocation payload] -> String -> String
show :: LambdaInvocation payload -> String
$cshow :: forall payload. Show payload => LambdaInvocation payload -> String
showsPrec :: Int -> LambdaInvocation payload -> String -> String
$cshowsPrec :: forall payload.
Show payload =>
Int -> LambdaInvocation payload -> String -> String
Show, LambdaInvocation payload -> LambdaInvocation payload -> Bool
(LambdaInvocation payload -> LambdaInvocation payload -> Bool)
-> (LambdaInvocation payload -> LambdaInvocation payload -> Bool)
-> Eq (LambdaInvocation payload)
forall payload.
Eq payload =>
LambdaInvocation payload -> LambdaInvocation payload -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LambdaInvocation payload -> LambdaInvocation payload -> Bool
$c/= :: forall payload.
Eq payload =>
LambdaInvocation payload -> LambdaInvocation payload -> Bool
== :: LambdaInvocation payload -> LambdaInvocation payload -> Bool
$c== :: forall payload.
Eq payload =>
LambdaInvocation payload -> LambdaInvocation payload -> Bool
Eq, (forall x.
LambdaInvocation payload -> Rep (LambdaInvocation payload) x)
-> (forall x.
Rep (LambdaInvocation payload) x -> LambdaInvocation payload)
-> Generic (LambdaInvocation payload)
forall x.
Rep (LambdaInvocation payload) x -> LambdaInvocation payload
forall x.
LambdaInvocation payload -> Rep (LambdaInvocation payload) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall payload x.
Rep (LambdaInvocation payload) x -> LambdaInvocation payload
forall payload x.
LambdaInvocation payload -> Rep (LambdaInvocation payload) x
$cto :: forall payload x.
Rep (LambdaInvocation payload) x -> LambdaInvocation payload
$cfrom :: forall payload x.
LambdaInvocation payload -> Rep (LambdaInvocation payload) x
Generic, [LambdaInvocation payload] -> Encoding
[LambdaInvocation payload] -> Value
LambdaInvocation payload -> Encoding
LambdaInvocation payload -> Value
(LambdaInvocation payload -> Value)
-> (LambdaInvocation payload -> Encoding)
-> ([LambdaInvocation payload] -> Value)
-> ([LambdaInvocation payload] -> Encoding)
-> ToJSON (LambdaInvocation payload)
forall payload.
ToJSON payload =>
[LambdaInvocation payload] -> Encoding
forall payload.
ToJSON payload =>
[LambdaInvocation payload] -> Value
forall payload.
ToJSON payload =>
LambdaInvocation payload -> Encoding
forall payload. ToJSON payload => LambdaInvocation payload -> Value
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [LambdaInvocation payload] -> Encoding
$ctoEncodingList :: forall payload.
ToJSON payload =>
[LambdaInvocation payload] -> Encoding
toJSONList :: [LambdaInvocation payload] -> Value
$ctoJSONList :: forall payload.
ToJSON payload =>
[LambdaInvocation payload] -> Value
toEncoding :: LambdaInvocation payload -> Encoding
$ctoEncoding :: forall payload.
ToJSON payload =>
LambdaInvocation payload -> Encoding
toJSON :: LambdaInvocation payload -> Value
$ctoJSON :: forall payload. ToJSON payload => LambdaInvocation payload -> Value
ToJSON, Value -> Parser [LambdaInvocation payload]
Value -> Parser (LambdaInvocation payload)
(Value -> Parser (LambdaInvocation payload))
-> (Value -> Parser [LambdaInvocation payload])
-> FromJSON (LambdaInvocation payload)
forall payload.
FromJSON payload =>
Value -> Parser [LambdaInvocation payload]
forall payload.
FromJSON payload =>
Value -> Parser (LambdaInvocation payload)
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [LambdaInvocation payload]
$cparseJSONList :: forall payload.
FromJSON payload =>
Value -> Parser [LambdaInvocation payload]
parseJSON :: Value -> Parser (LambdaInvocation payload)
$cparseJSON :: forall payload.
FromJSON payload =>
Value -> Parser (LambdaInvocation payload)
FromJSON, (forall a. LambdaInvocation a -> Rep1 LambdaInvocation a)
-> (forall a. Rep1 LambdaInvocation a -> LambdaInvocation a)
-> Generic1 LambdaInvocation
forall a. Rep1 LambdaInvocation a -> LambdaInvocation a
forall a. LambdaInvocation a -> Rep1 LambdaInvocation a
forall k (f :: k -> *).
(forall (a :: k). f a -> Rep1 f a)
-> (forall (a :: k). Rep1 f a -> f a) -> Generic1 f
$cto1 :: forall a. Rep1 LambdaInvocation a -> LambdaInvocation a
$cfrom1 :: forall a. LambdaInvocation a -> Rep1 LambdaInvocation a
Generic1, (forall a.
(a -> Value) -> ([a] -> Value) -> LambdaInvocation a -> Value)
-> (forall a.
(a -> Value) -> ([a] -> Value) -> [LambdaInvocation a] -> Value)
-> (forall a.
(a -> Encoding)
-> ([a] -> Encoding) -> LambdaInvocation a -> Encoding)
-> (forall a.
(a -> Encoding)
-> ([a] -> Encoding) -> [LambdaInvocation a] -> Encoding)
-> ToJSON1 LambdaInvocation
forall a.
(a -> Encoding)
-> ([a] -> Encoding) -> [LambdaInvocation a] -> Encoding
forall a.
(a -> Encoding)
-> ([a] -> Encoding) -> LambdaInvocation a -> Encoding
forall a.
(a -> Value) -> ([a] -> Value) -> [LambdaInvocation a] -> Value
forall a.
(a -> Value) -> ([a] -> Value) -> LambdaInvocation a -> Value
forall (f :: * -> *).
(forall a. (a -> Value) -> ([a] -> Value) -> f a -> Value)
-> (forall a. (a -> Value) -> ([a] -> Value) -> [f a] -> Value)
-> (forall a.
(a -> Encoding) -> ([a] -> Encoding) -> f a -> Encoding)
-> (forall a.
(a -> Encoding) -> ([a] -> Encoding) -> [f a] -> Encoding)
-> ToJSON1 f
liftToEncodingList :: (a -> Encoding)
-> ([a] -> Encoding) -> [LambdaInvocation a] -> Encoding
$cliftToEncodingList :: forall a.
(a -> Encoding)
-> ([a] -> Encoding) -> [LambdaInvocation a] -> Encoding
liftToEncoding :: (a -> Encoding)
-> ([a] -> Encoding) -> LambdaInvocation a -> Encoding
$cliftToEncoding :: forall a.
(a -> Encoding)
-> ([a] -> Encoding) -> LambdaInvocation a -> Encoding
liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [LambdaInvocation a] -> Value
$cliftToJSONList :: forall a.
(a -> Value) -> ([a] -> Value) -> [LambdaInvocation a] -> Value
liftToJSON :: (a -> Value) -> ([a] -> Value) -> LambdaInvocation a -> Value
$cliftToJSON :: forall a.
(a -> Value) -> ([a] -> Value) -> LambdaInvocation a -> Value
ToJSON1, (forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser (LambdaInvocation a))
-> (forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser [LambdaInvocation a])
-> FromJSON1 LambdaInvocation
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser [LambdaInvocation a]
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser (LambdaInvocation a)
forall (f :: * -> *).
(forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser (f a))
-> (forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser [f a])
-> FromJSON1 f
liftParseJSONList :: (Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser [LambdaInvocation a]
$cliftParseJSONList :: forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser [LambdaInvocation a]
liftParseJSON :: (Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser (LambdaInvocation a)
$cliftParseJSON :: forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser (LambdaInvocation a)
FromJSON1)
instance (NFData payload) => NFData (LambdaInvocation payload)
instance NFData1 LambdaInvocation
type ErrorType = Text
type ErrorMessage = Text
type ErrorInfo = (ErrorType, ErrorMessage)
data LambdaResult payload
= LambdaSuccess payload
| LambdaError ErrorInfo
| LambdaNop
deriving (Int -> LambdaResult payload -> String -> String
[LambdaResult payload] -> String -> String
LambdaResult payload -> String
(Int -> LambdaResult payload -> String -> String)
-> (LambdaResult payload -> String)
-> ([LambdaResult payload] -> String -> String)
-> Show (LambdaResult payload)
forall payload.
Show payload =>
Int -> LambdaResult payload -> String -> String
forall payload.
Show payload =>
[LambdaResult payload] -> String -> String
forall payload. Show payload => LambdaResult payload -> String
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [LambdaResult payload] -> String -> String
$cshowList :: forall payload.
Show payload =>
[LambdaResult payload] -> String -> String
show :: LambdaResult payload -> String
$cshow :: forall payload. Show payload => LambdaResult payload -> String
showsPrec :: Int -> LambdaResult payload -> String -> String
$cshowsPrec :: forall payload.
Show payload =>
Int -> LambdaResult payload -> String -> String
Show, LambdaResult payload -> LambdaResult payload -> Bool
(LambdaResult payload -> LambdaResult payload -> Bool)
-> (LambdaResult payload -> LambdaResult payload -> Bool)
-> Eq (LambdaResult payload)
forall payload.
Eq payload =>
LambdaResult payload -> LambdaResult payload -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LambdaResult payload -> LambdaResult payload -> Bool
$c/= :: forall payload.
Eq payload =>
LambdaResult payload -> LambdaResult payload -> Bool
== :: LambdaResult payload -> LambdaResult payload -> Bool
$c== :: forall payload.
Eq payload =>
LambdaResult payload -> LambdaResult payload -> Bool
Eq, (forall x. LambdaResult payload -> Rep (LambdaResult payload) x)
-> (forall x. Rep (LambdaResult payload) x -> LambdaResult payload)
-> Generic (LambdaResult payload)
forall x. Rep (LambdaResult payload) x -> LambdaResult payload
forall x. LambdaResult payload -> Rep (LambdaResult payload) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall payload x.
Rep (LambdaResult payload) x -> LambdaResult payload
forall payload x.
LambdaResult payload -> Rep (LambdaResult payload) x
$cto :: forall payload x.
Rep (LambdaResult payload) x -> LambdaResult payload
$cfrom :: forall payload x.
LambdaResult payload -> Rep (LambdaResult payload) x
Generic, [LambdaResult payload] -> Encoding
[LambdaResult payload] -> Value
LambdaResult payload -> Encoding
LambdaResult payload -> Value
(LambdaResult payload -> Value)
-> (LambdaResult payload -> Encoding)
-> ([LambdaResult payload] -> Value)
-> ([LambdaResult payload] -> Encoding)
-> ToJSON (LambdaResult payload)
forall payload.
ToJSON payload =>
[LambdaResult payload] -> Encoding
forall payload. ToJSON payload => [LambdaResult payload] -> Value
forall payload. ToJSON payload => LambdaResult payload -> Encoding
forall payload. ToJSON payload => LambdaResult payload -> Value
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [LambdaResult payload] -> Encoding
$ctoEncodingList :: forall payload.
ToJSON payload =>
[LambdaResult payload] -> Encoding
toJSONList :: [LambdaResult payload] -> Value
$ctoJSONList :: forall payload. ToJSON payload => [LambdaResult payload] -> Value
toEncoding :: LambdaResult payload -> Encoding
$ctoEncoding :: forall payload. ToJSON payload => LambdaResult payload -> Encoding
toJSON :: LambdaResult payload -> Value
$ctoJSON :: forall payload. ToJSON payload => LambdaResult payload -> Value
ToJSON, Value -> Parser [LambdaResult payload]
Value -> Parser (LambdaResult payload)
(Value -> Parser (LambdaResult payload))
-> (Value -> Parser [LambdaResult payload])
-> FromJSON (LambdaResult payload)
forall payload.
FromJSON payload =>
Value -> Parser [LambdaResult payload]
forall payload.
FromJSON payload =>
Value -> Parser (LambdaResult payload)
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [LambdaResult payload]
$cparseJSONList :: forall payload.
FromJSON payload =>
Value -> Parser [LambdaResult payload]
parseJSON :: Value -> Parser (LambdaResult payload)
$cparseJSON :: forall payload.
FromJSON payload =>
Value -> Parser (LambdaResult payload)
FromJSON, (forall a. LambdaResult a -> Rep1 LambdaResult a)
-> (forall a. Rep1 LambdaResult a -> LambdaResult a)
-> Generic1 LambdaResult
forall a. Rep1 LambdaResult a -> LambdaResult a
forall a. LambdaResult a -> Rep1 LambdaResult a
forall k (f :: k -> *).
(forall (a :: k). f a -> Rep1 f a)
-> (forall (a :: k). Rep1 f a -> f a) -> Generic1 f
$cto1 :: forall a. Rep1 LambdaResult a -> LambdaResult a
$cfrom1 :: forall a. LambdaResult a -> Rep1 LambdaResult a
Generic1, (forall a.
(a -> Value) -> ([a] -> Value) -> LambdaResult a -> Value)
-> (forall a.
(a -> Value) -> ([a] -> Value) -> [LambdaResult a] -> Value)
-> (forall a.
(a -> Encoding) -> ([a] -> Encoding) -> LambdaResult a -> Encoding)
-> (forall a.
(a -> Encoding)
-> ([a] -> Encoding) -> [LambdaResult a] -> Encoding)
-> ToJSON1 LambdaResult
forall a.
(a -> Encoding)
-> ([a] -> Encoding) -> [LambdaResult a] -> Encoding
forall a.
(a -> Encoding) -> ([a] -> Encoding) -> LambdaResult a -> Encoding
forall a.
(a -> Value) -> ([a] -> Value) -> [LambdaResult a] -> Value
forall a. (a -> Value) -> ([a] -> Value) -> LambdaResult a -> Value
forall (f :: * -> *).
(forall a. (a -> Value) -> ([a] -> Value) -> f a -> Value)
-> (forall a. (a -> Value) -> ([a] -> Value) -> [f a] -> Value)
-> (forall a.
(a -> Encoding) -> ([a] -> Encoding) -> f a -> Encoding)
-> (forall a.
(a -> Encoding) -> ([a] -> Encoding) -> [f a] -> Encoding)
-> ToJSON1 f
liftToEncodingList :: (a -> Encoding)
-> ([a] -> Encoding) -> [LambdaResult a] -> Encoding
$cliftToEncodingList :: forall a.
(a -> Encoding)
-> ([a] -> Encoding) -> [LambdaResult a] -> Encoding
liftToEncoding :: (a -> Encoding) -> ([a] -> Encoding) -> LambdaResult a -> Encoding
$cliftToEncoding :: forall a.
(a -> Encoding) -> ([a] -> Encoding) -> LambdaResult a -> Encoding
liftToJSONList :: (a -> Value) -> ([a] -> Value) -> [LambdaResult a] -> Value
$cliftToJSONList :: forall a.
(a -> Value) -> ([a] -> Value) -> [LambdaResult a] -> Value
liftToJSON :: (a -> Value) -> ([a] -> Value) -> LambdaResult a -> Value
$cliftToJSON :: forall a. (a -> Value) -> ([a] -> Value) -> LambdaResult a -> Value
ToJSON1, (forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser (LambdaResult a))
-> (forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser [LambdaResult a])
-> FromJSON1 LambdaResult
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser [LambdaResult a]
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser (LambdaResult a)
forall (f :: * -> *).
(forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser (f a))
-> (forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser [f a])
-> FromJSON1 f
liftParseJSONList :: (Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser [LambdaResult a]
$cliftParseJSONList :: forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser [LambdaResult a]
liftParseJSON :: (Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser (LambdaResult a)
$cliftParseJSON :: forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Value -> Parser (LambdaResult a)
FromJSON1)
instance (NFData payload) => NFData (LambdaResult payload)
instance NFData1 LambdaResult
data LambdaExecutionContext a m b = LambdaExecutionContext
{ LambdaExecutionContext a m b -> String
lecApiPrefix :: String
, LambdaExecutionContext a m b -> Manager
lecHttpManager :: HTTP.Manager
, LambdaExecutionContext a m b
-> LambdaInvocation a -> m (LambdaResult b)
lecHandler :: LambdaInvocation a -> m (LambdaResult b)
}