git.iko.soy/typeable/openapi3
on master help sign in
liftDeclare
610aeafmoss
src/Data/Swagger/Declare.hs+7
@@ -87,6 +87,13 @@ instance (Applicative m, Monad m, Monoid d) => MonadDeclare d (DeclareT d m) whe
87 declare d = DeclareT (\_ -> return (d, ()))
87 declare d = DeclareT (\_ -> return (d, ()))
88 look = DeclareT (\d -> return (mempty, d))
88 look = DeclareT (\d -> return (mempty, d))
89
89
90+-- | Lift a computation from the simple Declare monad.
91+liftDeclare :: MonadDeclare d m => Declare d a -> m a
92+liftDeclare da = do
93+ (d', a) <- looks (runDeclare da)
94+ declare d'
95+ pure a
96+
90-- | Retrieve a function of all the output so far.
97-- | Retrieve a function of all the output so far.
91looks :: MonadDeclare d m => (d -> a) -> m a
98looks :: MonadDeclare d m => (d -> a) -> m a
92looks f = f <$> look
99looks f = f <$> look