-- | -- Module : Network.AWS.Prelude -- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : provisional -- Portability : non-portable (GHC extensions) -- module Network.AWS.Prelude ( module Network.AWS.Prelude , module Export ) where import Control.Applicative as Export (Applicative, pure) import Control.Applicative as Export ((<$>), (<*>), (<|>)) import Control.DeepSeq as Export (NFData) import Data.Data as Export (Data, Typeable) import Data.Foldable as Export (Foldable) import Data.Hashable as Export (Hashable) import Data.HashMap.Strict as Export (HashMap) import Data.List.NonEmpty as Export (NonEmpty (..)) import Data.Maybe as Export import Data.Monoid as Export (First, mconcat, mempty) import Data.Monoid as Export ((<>)) import GHC.Generics as Export (Generic) import Network.HTTP.Types.Status as Export (Status (..)) import Network.HTTP.Types.URI as Export (urlDecode, urlEncode) import Numeric.Natural as Export (Natural) import Network.AWS.Data.Base64 as Export import Network.AWS.Data.Body as Export import Network.AWS.Data.ByteString as Export import Network.AWS.Data.Crypto as Export hiding (Base (..)) import Network.AWS.Data.Headers as Export import Network.AWS.Data.JSON as Export import Network.AWS.Data.List1 as Export import Network.AWS.Data.Map as Export import Network.AWS.Data.Numeric as Export import Network.AWS.Data.Path as Export import Network.AWS.Data.Query as Export import Network.AWS.Data.Sensitive as Export import Network.AWS.Data.Text as Export import Network.AWS.Data.Time as Export (AWSTime, BasicTime, ISO8601, POSIX, RFC822, Time (..), UTCTime, _Time) import Network.AWS.Data.XML as Export import Network.AWS.Endpoint as Export import Network.AWS.Error as Export import Network.AWS.Types as Export hiding (Algorithm, Endpoint, LogLevel (..), Seconds, Signer, serviceEndpoint) infixl 7 .!@ (.!@) :: Functor f => f (Maybe a) -> a -> f a f .!@ x = fromMaybe x <$> f may :: Applicative f => ([a] -> f b) -> [a] -> f (Maybe b) may _ [] = pure Nothing may f xs = Just <$> f xs