@@ -30,6 +30,9 @@ module Reflex.Requester.Base
30 , forRequesterData
30 , forRequesterData
31 , requesterDataToList
31 , requesterDataToList
32 , singletonRequesterData
32 , singletonRequesterData
35import Reflex.Class
38import Reflex.Class
@@ -44,6 +47,7 @@ import Reflex.TriggerEvent.Class
44import Control.Applicative (liftA2)
47import Control.Applicative (liftA2)
45import Control.Monad.Exception
48import Control.Monad.Exception
46import Control.Monad.Identity
49import Control.Monad.Identity
50+import Control.Monad.Primitive
47import Control.Monad.Reader
51import Control.Monad.Reader
48import Control.Monad.Ref
52import Control.Monad.Ref
49import Control.Monad.State.Strict
53import Control.Monad.State.Strict
@@ -244,6 +248,10 @@ deriving instance MonadHold t m => MonadHold t (RequesterT t request response m)
244deriving instance PostBuild t m => PostBuild t (RequesterT t request response m)
248deriving instance PostBuild t m => PostBuild t (RequesterT t request response m)
245deriving instance TriggerEvent t m => TriggerEvent t (RequesterT t request response m)
249deriving instance TriggerEvent t m => TriggerEvent t (RequesterT t request response m)
251+instance PrimMonad m => PrimMonad (RequesterT t request response m) where
252+ type PrimState (RequesterT t request response m) = PrimState m
253+ primitive = lift . primitive
247-- TODO: Monoid and Semigroup can likely be derived once StateT has them.
255-- TODO: Monoid and Semigroup can likely be derived once StateT has them.
248instance (Monoid a, Monad m) => Monoid (RequesterT t request response m a) where
256instance (Monoid a, Monad m) => Monoid (RequesterT t request response m a) where
249 mempty = pure mempty
257 mempty = pure mempty