on develop help sign in
Add MonadRef and MonadAtomicRef instances for StaticDomBuilderT
e0de874Ryan Trinkle
src/Reflex/Dom/Builder/Static.hs+9
@@ -103,6 +103,15 @@ instance (Monad m, Ref m ~ Ref IO, Reflex t) => TriggerEvent t (StaticDomBuilder
103 {-# INLINABLE newEventWithLazyTriggerWithOnComplete #-}
103 {-# INLINABLE newEventWithLazyTriggerWithOnComplete #-}
104 newEventWithLazyTriggerWithOnComplete _ = return never
104 newEventWithLazyTriggerWithOnComplete _ = return never
105
105
106+instance MonadRef m => MonadRef (StaticDomBuilderT t m) where
107+ type Ref (StaticDomBuilderT t m) = Ref m
108+ newRef = lift . newRef
109+ readRef = lift . readRef
110+ writeRef r = lift . writeRef r
111+
112+instance MonadAtomicRef m => MonadAtomicRef (StaticDomBuilderT t m) where
113+ atomicModifyRef r = lift . atomicModifyRef r
114+
106type SupportsStaticDomBuilder t m = (Reflex t, MonadIO m, MonadHold t m, MonadFix m, PerformEvent t m, Performable m ~ m, MonadReflexCreateTrigger t m, Deletable t m, MonadRef m, Ref m ~ Ref IO)
115type SupportsStaticDomBuilder t m = (Reflex t, MonadIO m, MonadHold t m, MonadFix m, PerformEvent t m, Performable m ~ m, MonadReflexCreateTrigger t m, Deletable t m, MonadRef m, Ref m ~ Ref IO)
107
116
108data StaticDomSpace
117data StaticDomSpace