module Capabilities.PlantUml (
MonadPlantUml (drawPlantUmlSvg),
) where
import Control.Monad.Trans.Class (MonadTrans (lift))
import Control.OutputCapable.Blocks.Generic (
GenericReportT
)
import Data.ByteString (ByteString)
class Monad m => MonadPlantUml m where
drawPlantUmlSvg :: ByteString -> m ByteString
instance MonadPlantUml m => MonadPlantUml (GenericReportT l o m) where
drawPlantUmlSvg :: ByteString -> GenericReportT l o m ByteString
drawPlantUmlSvg = m ByteString -> GenericReportT l o m ByteString
forall (m :: * -> *) a. Monad m => m a -> GenericReportT l o m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (m ByteString -> GenericReportT l o m ByteString)
-> (ByteString -> m ByteString)
-> ByteString
-> GenericReportT l o m ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> m ByteString
forall (m :: * -> *). MonadPlantUml m => ByteString -> m ByteString
drawPlantUmlSvg