Remove some conditionals for old versions
This commit is contained in:
parent
c122af25ad
commit
c5ac821115
@ -25,9 +25,7 @@ import Control.Monad.Trans.Identity ( IdentityT)
|
||||
import Control.Monad.Trans.List ( ListT )
|
||||
import Control.Monad.Trans.Maybe ( MaybeT )
|
||||
import Control.Monad.Trans.Error ( ErrorT, Error)
|
||||
#if MIN_VERSION_transformers(0,4,0)
|
||||
import Control.Monad.Trans.Except ( ExceptT )
|
||||
#endif
|
||||
import Control.Monad.Trans.Reader ( ReaderT )
|
||||
import Control.Monad.Trans.State ( StateT )
|
||||
import Control.Monad.Trans.Writer ( WriterT )
|
||||
@ -59,9 +57,7 @@ GO(IdentityT)
|
||||
GO(ListT)
|
||||
GO(MaybeT)
|
||||
GOX(Error e, ErrorT e)
|
||||
#if MIN_VERSION_transformers(0,4,0)
|
||||
GO(ExceptT e)
|
||||
#endif
|
||||
GO(ReaderT r)
|
||||
GO(StateT s)
|
||||
GOX(Monoid w, WriterT w)
|
||||
@ -85,9 +81,7 @@ GO(IdentityT)
|
||||
GO(ListT)
|
||||
GO(MaybeT)
|
||||
GOX(Error e, ErrorT e)
|
||||
#if MIN_VERSION_transformers(0,4,0)
|
||||
GO(ExceptT e)
|
||||
#endif
|
||||
GO(ReaderT r)
|
||||
GO(StateT s)
|
||||
GOX(Monoid w, WriterT w)
|
||||
|
||||
@ -66,12 +66,6 @@ import Data.Conduit.Internal (ResumableSource (ResumableSource))
|
||||
import qualified Data.Conduit.Internal as CI
|
||||
|
||||
import qualified Data.Aeson as J
|
||||
#if MIN_VERSION_aeson(1, 0, 0)
|
||||
#elif MIN_VERSION_aeson(0, 7, 0)
|
||||
import Data.Aeson.Encode (encodeToTextBuilder)
|
||||
#else
|
||||
import Data.Aeson.Encode (fromValue)
|
||||
#endif
|
||||
import qualified Blaze.ByteString.Builder.Char.Utf8 as Blaze
|
||||
import Data.Text.Lazy.Builder (toLazyText)
|
||||
import Yesod.Core.Types
|
||||
@ -243,34 +237,18 @@ instance ToContent a => ToContent (DontFullyEvaluate a) where
|
||||
toContent (DontFullyEvaluate a) = ContentDontEvaluate $ toContent a
|
||||
|
||||
instance ToContent J.Value where
|
||||
#if MIN_VERSION_aeson(1, 0, 0)
|
||||
toContent = flip ContentBuilder Nothing
|
||||
. J.fromEncoding
|
||||
. J.toEncoding
|
||||
#else
|
||||
toContent = flip ContentBuilder Nothing
|
||||
. Blaze.fromLazyText
|
||||
. toLazyText
|
||||
#if MIN_VERSION_aeson(0, 7, 0)
|
||||
. encodeToTextBuilder
|
||||
#else
|
||||
. fromValue
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if MIN_VERSION_aeson(0, 11, 0)
|
||||
instance ToContent J.Encoding where
|
||||
toContent = flip ContentBuilder Nothing . J.fromEncoding
|
||||
#endif
|
||||
|
||||
instance HasContentType J.Value where
|
||||
getContentType _ = typeJson
|
||||
|
||||
#if MIN_VERSION_aeson(0, 11, 0)
|
||||
instance HasContentType J.Encoding where
|
||||
getContentType _ = typeJson
|
||||
#endif
|
||||
|
||||
instance HasContentType Html where
|
||||
getContentType _ = typeHtml
|
||||
@ -307,10 +285,8 @@ instance ToTypedContent RepXml where
|
||||
toTypedContent (RepXml c) = TypedContent typeXml c
|
||||
instance ToTypedContent J.Value where
|
||||
toTypedContent v = TypedContent typeJson (toContent v)
|
||||
#if MIN_VERSION_aeson(0, 11, 0)
|
||||
instance ToTypedContent J.Encoding where
|
||||
toTypedContent e = TypedContent typeJson (toContent e)
|
||||
#endif
|
||||
instance ToTypedContent Html where
|
||||
toTypedContent h = TypedContent typeHtml (toContent h)
|
||||
instance ToTypedContent T.Text where
|
||||
|
||||
@ -635,11 +635,7 @@ sendResponseStatus s = handlerError . HCContent s . toTypedContent
|
||||
--
|
||||
-- @since 1.4.18
|
||||
sendStatusJSON :: (MonadHandler m, ToJSON c) => H.Status -> c -> m a
|
||||
#if MIN_VERSION_aeson(0, 11, 0)
|
||||
sendStatusJSON s v = sendResponseStatus s (toEncoding v)
|
||||
#else
|
||||
sendStatusJSON s v = sendResponseStatus s (toJSON v)
|
||||
#endif
|
||||
|
||||
-- | Send a 201 "Created" response with the given route as the Location
|
||||
-- response header.
|
||||
|
||||
@ -12,9 +12,6 @@ import Network.Wai
|
||||
import Control.Monad (mplus)
|
||||
import Control.Monad.Trans.Resource (runInternalState, InternalState)
|
||||
import Network.Wai.Internal
|
||||
#if !MIN_VERSION_base(4, 6, 0)
|
||||
import Prelude hiding (catch)
|
||||
#endif
|
||||
import Web.Cookie (renderSetCookie)
|
||||
import Yesod.Core.Content
|
||||
import Yesod.Core.Types
|
||||
|
||||
@ -13,12 +13,7 @@ import Data.Serialize (Get, Put, Serialize (..))
|
||||
import qualified Data.Text as T
|
||||
import Data.Time (Day (ModifiedJulianDay, toModifiedJulianDay),
|
||||
DiffTime, UTCTime (..), formatTime,
|
||||
getCurrentTime, addUTCTime)
|
||||
#if MIN_VERSION_time(1,5,0)
|
||||
import Data.Time (defaultTimeLocale)
|
||||
#else
|
||||
import System.Locale (defaultTimeLocale)
|
||||
#endif
|
||||
getCurrentTime, addUTCTime, defaultTimeLocale)
|
||||
|
||||
putTime :: UTCTime -> Put
|
||||
putTime (UTCTime d t) =
|
||||
|
||||
@ -6,9 +6,7 @@ module Yesod.Core.Json
|
||||
defaultLayoutJson
|
||||
, jsonToRepJson
|
||||
, returnJson
|
||||
#if MIN_VERSION_aeson(0, 11, 0)
|
||||
, returnJsonEncoding
|
||||
#endif
|
||||
, provideJson
|
||||
|
||||
-- * Convert to a JSON value
|
||||
@ -29,9 +27,7 @@ module Yesod.Core.Json
|
||||
|
||||
-- * Convenience functions
|
||||
, jsonOrRedirect
|
||||
#if MIN_VERSION_aeson(0, 11, 0)
|
||||
, jsonEncodingOrRedirect
|
||||
#endif
|
||||
, acceptsJson
|
||||
) where
|
||||
|
||||
@ -67,11 +63,7 @@ defaultLayoutJson :: (Yesod site, J.ToJSON a)
|
||||
-> HandlerT site IO TypedContent
|
||||
defaultLayoutJson w json = selectRep $ do
|
||||
provideRep $ defaultLayout w
|
||||
#if MIN_VERSION_aeson(0, 11, 0)
|
||||
provideRep $ fmap J.toEncoding json
|
||||
#else
|
||||
provideRep $ fmap J.toJSON json
|
||||
#endif
|
||||
|
||||
-- | Wraps a data type in a 'RepJson'. The data type must
|
||||
-- support conversion to JSON via 'J.ToJSON'.
|
||||
@ -87,24 +79,18 @@ jsonToRepJson = return . J.toJSON
|
||||
returnJson :: (Monad m, J.ToJSON a) => a -> m J.Value
|
||||
returnJson = return . J.toJSON
|
||||
|
||||
#if MIN_VERSION_aeson(0, 11, 0)
|
||||
-- | Convert a value to a JSON representation via aeson\'s 'J.toEncoding' function.
|
||||
--
|
||||
-- @since 1.4.21
|
||||
returnJsonEncoding :: (Monad m, J.ToJSON a) => a -> m J.Encoding
|
||||
returnJsonEncoding = return . J.toEncoding
|
||||
#endif
|
||||
|
||||
-- | Provide a JSON representation for usage with 'selectReps', using aeson\'s
|
||||
-- 'J.toJSON' (aeson >= 0.11: 'J.toEncoding') function to perform the conversion.
|
||||
--
|
||||
-- @since 1.2.1
|
||||
provideJson :: (Monad m, J.ToJSON a) => a -> Writer (Endo [ProvidedRep m]) ()
|
||||
#if MIN_VERSION_aeson(0, 11, 0)
|
||||
provideJson = provideRep . return . J.toEncoding
|
||||
#else
|
||||
provideJson = provideRep . return . J.toJSON
|
||||
#endif
|
||||
|
||||
-- | Parse the request body to a data type as a JSON value. The
|
||||
-- data type must support conversion from JSON via 'J.FromJSON'.
|
||||
@ -173,7 +159,6 @@ jsonOrRedirect :: (MonadHandler m, J.ToJSON a)
|
||||
-> m J.Value
|
||||
jsonOrRedirect = jsonOrRedirect' J.toJSON
|
||||
|
||||
#if MIN_VERSION_aeson(0, 11, 0)
|
||||
-- | jsonEncodingOrRedirect simplifies the scenario where a POST handler sends a different
|
||||
-- response based on Accept headers:
|
||||
--
|
||||
@ -187,7 +172,6 @@ jsonEncodingOrRedirect :: (MonadHandler m, J.ToJSON a)
|
||||
-> a -- ^ Data to send via JSON
|
||||
-> m J.Encoding
|
||||
jsonEncodingOrRedirect = jsonOrRedirect' J.toEncoding
|
||||
#endif
|
||||
|
||||
jsonOrRedirect' :: MonadHandler m
|
||||
=> (a -> b)
|
||||
|
||||
@ -59,16 +59,11 @@ import Yesod.Core.Internal.Util (getTime, putTime)
|
||||
import Control.Monad.Trans.Class (MonadTrans (..))
|
||||
import Yesod.Routes.Class (RenderRoute (..), ParseRoute (..))
|
||||
import Control.Monad.Reader (MonadReader (..))
|
||||
#if !MIN_VERSION_base(4, 6, 0)
|
||||
import Prelude hiding (catch)
|
||||
#endif
|
||||
import Control.DeepSeq (NFData (rnf))
|
||||
import Control.DeepSeq.Generics (genericRnf)
|
||||
import Data.Conduit.Lazy (MonadActive, monadActive)
|
||||
import Yesod.Core.TypeCache (TypeMap, KeyedTypeMap)
|
||||
#if MIN_VERSION_monad_logger(0, 3, 10)
|
||||
import Control.Monad.Logger (MonadLoggerIO (..))
|
||||
#endif
|
||||
import Data.Semigroup (Semigroup)
|
||||
|
||||
-- Sessions
|
||||
@ -422,21 +417,12 @@ instance MonadIO m => MonadIO (WidgetT site m) where
|
||||
instance MonadBase b m => MonadBase b (WidgetT site m) where
|
||||
liftBase = WidgetT . const . liftBase . fmap (, mempty)
|
||||
instance MonadBaseControl b m => MonadBaseControl b (WidgetT site m) where
|
||||
#if MIN_VERSION_monad_control(1,0,0)
|
||||
type StM (WidgetT site m) a = StM m (a, GWData (Route site))
|
||||
liftBaseWith f = WidgetT $ \reader' ->
|
||||
liftBaseWith $ \runInBase ->
|
||||
fmap (\x -> (x, mempty))
|
||||
(f $ runInBase . flip unWidgetT reader')
|
||||
restoreM = WidgetT . const . restoreM
|
||||
#else
|
||||
data StM (WidgetT site m) a = StW (StM m (a, GWData (Route site)))
|
||||
liftBaseWith f = WidgetT $ \reader' ->
|
||||
liftBaseWith $ \runInBase ->
|
||||
fmap (\x -> (x, mempty))
|
||||
(f $ fmap StW . runInBase . flip unWidgetT reader')
|
||||
restoreM (StW base) = WidgetT $ const $ restoreM base
|
||||
#endif
|
||||
instance Monad m => MonadReader site (WidgetT site m) where
|
||||
ask = WidgetT $ \hd -> return (rheSite $ handlerEnv hd, mempty)
|
||||
local f (WidgetT g) = WidgetT $ \hd -> g hd
|
||||
@ -479,10 +465,8 @@ instance MonadIO m => MonadLogger (WidgetT site m) where
|
||||
monadLoggerLog a b c d = WidgetT $ \hd ->
|
||||
liftIO $ (, mempty) <$> rheLog (handlerEnv hd) a b c (toLogStr d)
|
||||
|
||||
#if MIN_VERSION_monad_logger(0, 3, 10)
|
||||
instance MonadIO m => MonadLoggerIO (WidgetT site m) where
|
||||
askLoggerIO = WidgetT $ \hd -> return (rheLog (handlerEnv hd), mempty)
|
||||
#endif
|
||||
|
||||
instance MonadActive m => MonadActive (WidgetT site m) where
|
||||
monadActive = lift monadActive
|
||||
@ -521,19 +505,11 @@ instance Monad m => MonadReader site (HandlerT site m) where
|
||||
-- \"Control.Monad.Trans.Resource.register\': The mutable state is being accessed
|
||||
-- after cleanup. Please contact the maintainers.\"
|
||||
instance MonadBaseControl b m => MonadBaseControl b (HandlerT site m) where
|
||||
#if MIN_VERSION_monad_control(1,0,0)
|
||||
type StM (HandlerT site m) a = StM m a
|
||||
liftBaseWith f = HandlerT $ \reader' ->
|
||||
liftBaseWith $ \runInBase ->
|
||||
f $ runInBase . (\(HandlerT r) -> r reader')
|
||||
restoreM = HandlerT . const . restoreM
|
||||
#else
|
||||
data StM (HandlerT site m) a = StH (StM m a)
|
||||
liftBaseWith f = HandlerT $ \reader' ->
|
||||
liftBaseWith $ \runInBase ->
|
||||
f $ fmap StH . runInBase . (\(HandlerT r) -> r reader')
|
||||
restoreM (StH base) = HandlerT $ const $ restoreM base
|
||||
#endif
|
||||
|
||||
instance MonadThrow m => MonadThrow (HandlerT site m) where
|
||||
throwM = lift . monadThrow
|
||||
@ -545,10 +521,8 @@ instance MonadIO m => MonadLogger (HandlerT site m) where
|
||||
monadLoggerLog a b c d = HandlerT $ \hd ->
|
||||
liftIO $ rheLog (handlerEnv hd) a b c (toLogStr d)
|
||||
|
||||
#if MIN_VERSION_monad_logger(0, 3, 10)
|
||||
instance MonadIO m => MonadLoggerIO (HandlerT site m) where
|
||||
askLoggerIO = HandlerT $ \hd -> return (rheLog (handlerEnv hd))
|
||||
#endif
|
||||
|
||||
instance Monoid (UniqueList x) where
|
||||
mempty = UniqueList id
|
||||
|
||||
@ -30,11 +30,7 @@ data MyApp = MyApp
|
||||
data MySub = MySub
|
||||
instance RenderRoute MySub where
|
||||
data
|
||||
#if MIN_VERSION_base(4,5,0)
|
||||
Route
|
||||
#else
|
||||
YRC.Route
|
||||
#endif
|
||||
MySub = MySubRoute ([Text], [(Text, Text)])
|
||||
deriving (Show, Eq, Read)
|
||||
renderRoute (MySubRoute x) = x
|
||||
@ -47,11 +43,7 @@ getMySub MyApp = MySub
|
||||
data MySubParam = MySubParam Int
|
||||
instance RenderRoute MySubParam where
|
||||
data
|
||||
#if MIN_VERSION_base(4,5,0)
|
||||
Route
|
||||
#else
|
||||
YRC.Route
|
||||
#endif
|
||||
MySubParam = ParamRoute Char
|
||||
deriving (Show, Eq, Read)
|
||||
renderRoute (ParamRoute x) = ([singleton x], [])
|
||||
|
||||
@ -22,7 +22,7 @@ extra-source-files:
|
||||
|
||||
library
|
||||
build-depends: base >= 4.7 && < 5
|
||||
, time >= 1.1.4
|
||||
, time >= 1.5
|
||||
, wai >= 3.0
|
||||
, wai-extra >= 3.0.7
|
||||
, bytestring >= 0.10
|
||||
@ -31,7 +31,7 @@ library
|
||||
, path-pieces >= 0.1.2 && < 0.3
|
||||
, shakespeare >= 2.0
|
||||
, blaze-builder >= 0.2.1.4 && < 0.5
|
||||
, transformers >= 0.2.2
|
||||
, transformers >= 0.4
|
||||
, mtl
|
||||
, clientsession >= 0.9.1 && < 0.10
|
||||
, random >= 1.0.0.2 && < 1.2
|
||||
@ -39,7 +39,7 @@ library
|
||||
, old-locale >= 1.0.0.2 && < 1.1
|
||||
, containers >= 0.2
|
||||
, unordered-containers >= 0.2
|
||||
, monad-control >= 0.3 && < 1.1
|
||||
, monad-control >= 1.0 && < 1.1
|
||||
, transformers-base >= 0.4
|
||||
, cookie >= 0.4.2 && < 0.5
|
||||
, http-types >= 0.7
|
||||
@ -47,10 +47,10 @@ library
|
||||
, parsec >= 2 && < 3.2
|
||||
, directory >= 1
|
||||
, vector >= 0.9 && < 0.13
|
||||
, aeson >= 0.5
|
||||
, aeson >= 1.0
|
||||
, fast-logger >= 2.2
|
||||
, wai-logger >= 0.2
|
||||
, monad-logger >= 0.3.1 && < 0.4
|
||||
, monad-logger >= 0.3.10 && < 0.4
|
||||
, conduit >= 1.2
|
||||
, resourcet >= 0.4.9 && < 1.2
|
||||
, lifted-base >= 0.1.2
|
||||
|
||||
Loading…
Reference in New Issue
Block a user