git.iko.soy/typeable/servant-reflex
on master help sign in
support reflex-dom-core 0.7 and mods in QueryParam'
commitd73b5c67d024834de5a10cf86546d9476a0e731b authorDmitry Olshansky <olshanskydr@gmail.com> dateMon 30 May 2022, 16:55 (4 years ago) parentfe0e1bf
4 files changed+12−8
unifiedsplit
servant-reflex.cabal+2−2 src/Servant/Common/BaseUrl.hs+5−1 src/Servant/Common/Req.hs+2−1 src/Servant/Reflex.hs+3−4
servant-reflex.cabal+2−2
@@ -37,9 +37,9 @@ library
3737 mtl >= 2.2.1 && < 2.3,
3838 network-uri >= 2.6 && < 2.7,
3939 reflex >= 0.5 && < 0.9,
40− reflex-dom-core >= 0.6 && < 0.7,
40+ reflex-dom-core >= 0.6 && < 0.8,
4141 safe >= 0.3.9 && < 0.4,
42− servant >= 0.16 && < 0.18,
42+ servant >= 0.16 && < 0.19,
4343 servant-auth >= 0.2.1 && < 0.4,
4444 string-conversions >= 0.4 && < 0.5,
4545 text >= 1.2 && < 1.3,
src/Servant/Common/BaseUrl.hs+5−1
@@ -1,4 +1,5 @@
11{-# LANGUAGE ConstraintKinds #-}
2+{-# LANGUAGE CPP #-}
23{-# LANGUAGE DeriveDataTypeable #-}
34{-# LANGUAGE DeriveGeneric #-}
45{-# LANGUAGE FlexibleContexts #-}
@@ -31,8 +32,11 @@ import Reflex
3132import Reflex.Dom.Core
3233import Text.Read
3334
34−
35+#if !MIN_VERSION_reflex_dom_core(0,7,0)
3536type SupportsServantReflex t m = (Reflex t, TriggerEvent t m, PerformEvent t m, HasWebView (Performable m), MonadJSM (Performable m))
37+#else
38+type SupportsServantReflex t m = (Reflex t, TriggerEvent t m, PerformEvent t m, MonadJSM (Performable m))
39+#endif
3640
3741-- | URI scheme to use
3842data Scheme =
src/Servant/Common/Req.hs+2−1
@@ -298,7 +298,9 @@ performRequests reqMeth rs reqHost opts trigger = do
298298performSomeRequestsAsync
299299 :: (MonadIO (Performable m),
300300 MonadJSM (Performable m),
301+#if !MIN_VERSION_reflex_dom_core(0,7,0)
301302 HasWebView (Performable m),
303+#endif
302304 PerformEvent t m,
303305 TriggerEvent t m,
304306 Traversable f,
@@ -428,4 +430,3 @@ builderToText = TE.decodeUtf8 . BL.toStrict . Builder.toLazyByteString
428430
429431escape :: T.Text -> T.Text
430432escape = T.pack . N.escapeURIString (not . N.isReserved) . T.unpack . TE.decodeUtf8 . BL.toStrict . Builder.toLazyByteString . toEncodedUrlPiece
431−
src/Servant/Reflex.hs+3−4
@@ -55,7 +55,7 @@ import Servant.API ((:<|>) (..), (:>), BasicAuth,
5555 Capture, Header, Headers (..),
5656 HttpVersion, IsSecure,
5757 MimeRender (..), MimeUnrender,
58− NoContent, QueryFlag, QueryParam,
58+ NoContent, QueryFlag, QueryParam',
5959 QueryParams, Raw, ReflectMethod (..),
6060 RemoteHost, ReqBody,
6161 ToHttpApiData (..), Vault, Verb,
@@ -370,9 +370,9 @@ instance (HasClient t m sublayout tag, KnownSymbol sym)
370370-- > -- 'getBooksBy Nothing' for all books
371371-- > -- 'getBooksBy (Just "Isaac Asimov")' to get all books by Isaac Asimov
372372instance (KnownSymbol sym, ToHttpApiData a, HasClient t m sublayout tag, Reflex t)
373− => HasClient t m (QueryParam sym a :> sublayout) tag where
373+ => HasClient t m (QueryParam' mods sym a :> sublayout) tag where
374374
375− type Client t m (QueryParam sym a :> sublayout) tag =
375+ type Client t m (QueryParam' mods sym a :> sublayout) tag =
376376 Dynamic t (QParam a) -> Client t m sublayout tag
377377
378378 -- if mparam = Nothing, we don't add it to the query string
@@ -622,4 +622,3 @@ type family HasCookieAuth xs :: Constraint where
622622 HasCookieAuth '[] = CookieAuthNotEnabled
623623
624624class CookieAuthNotEnabled
625−