on develop help sign in
Merge pull request #241 from reflex-frp/revert-make-PerformEventT-a-transformer

Update for PerformEventT as a transformer revert

commit56aa06e94e5c9c6c2eb19cd988ed8de0d76cae38 authorRyan Trinkle <ryan.trinkle@gmail.com> dateSun 26 Aug 2018, 15:07 (8 years ago) parentb841e2b7c52468
2 files changed+8−7
reflex-dom-core/src/Foreign/JavaScript/Orphans.hs+3−2 reflex-dom-core/src/Foreign/JavaScript/TH.hs+5−5
reflex-dom-core/src/Foreign/JavaScript/Orphans.hs+3−2
@@ -9,6 +9,7 @@ import Control.Monad.Trans.Class (lift)
99import GHCJS.DOM.Types (MonadJSM (..))
1010import Reflex.DynamicWriter.Base (DynamicWriterT)
1111import Reflex.EventWriter.Base (EventWriterT)
12+import Reflex.Host.Class (HostFrame, ReflexHost)
1213import Reflex.PerformEvent.Base (PerformEventT (..))
1314import Reflex.PostBuild.Base (PostBuildT)
1415import Reflex.Requester.Base (RequesterT)
@@ -17,8 +18,8 @@ import Reflex.Query.Base (QueryT)
1718
1819instance MonadJSM m => MonadJSM (PostBuildT t m) where
1920 liftJSM' = lift . liftJSM'
20−instance MonadJSM m => MonadJSM (PerformEventT t m) where
21− liftJSM' = lift . liftJSM'
21+instance (MonadJSM (HostFrame t), ReflexHost t) => MonadJSM (PerformEventT t m) where
22+ liftJSM' = PerformEventT . lift . liftJSM'
2223instance MonadJSM m => MonadJSM (DynamicWriterT t w m) where
2324 liftJSM' = lift . liftJSM'
2425instance MonadJSM m => MonadJSM (EventWriterT t w m) where
reflex-dom-core/src/Foreign/JavaScript/TH.hs+5−5
@@ -111,8 +111,8 @@ instance HasJSContext m => HasJSContext (PostBuildT t m) where
111111 type JSContextPhantom (PostBuildT t m) = JSContextPhantom m
112112 askJSContext = lift askJSContext
113113
114−instance HasJSContext m => HasJSContext (PerformEventT t m) where
115− type JSContextPhantom (PerformEventT t m) = JSContextPhantom m
114+instance (ReflexHost t, HasJSContext (HostFrame t)) => HasJSContext (PerformEventT t m) where
115+ type JSContextPhantom (PerformEventT t m) = JSContextPhantom (HostFrame t)
116116 askJSContext = PerformEventT $ lift askJSContext
117117
118118instance HasJSContext m => HasJSContext (EventWriterT t w m) where
@@ -247,9 +247,9 @@ instance HasJS x m => HasJS x (PostBuildT t m) where
247247 type JSX (PostBuildT t m) = JSX m
248248 liftJS = lift . liftJS
249249
250−instance HasJS x m => HasJS x (PerformEventT t m) where
251− type JSX (PerformEventT t m) = JSX m
252− liftJS = lift . liftJS
250+instance (HasJS x (HostFrame t), ReflexHost t) => HasJS x (PerformEventT t m) where
251+ type JSX (PerformEventT t m) = JSX (HostFrame t)
252+ liftJS = PerformEventT . lift . liftJS
253253
254254instance HasJS x m => HasJS x (DynamicWriterT t w m) where
255255 type JSX (DynamicWriterT t w m) = JSX m