{-# LANGUAGE FlexibleContexts #-}
module Codec.Epub.Format.Util
( formatSubline
, tellSeq
, Seq
)
where
import Control.Monad.Writer.Lazy ( MonadWriter, tell )
import Data.Sequence ( Seq, fromList )
import Text.Printf ( printf )
formatSubline :: String -> Maybe String -> String
formatSubline :: String -> Maybe String -> String
formatSubline String
_ Maybe String
Nothing = String
""
formatSubline String
key (Just String
value) = String -> String -> String -> String
forall r. PrintfType r => String -> r
printf String
" %s: %s\n" String
key String
value
tellSeq :: MonadWriter (Seq a) m => [a] -> m ()
tellSeq :: forall a (m :: * -> *). MonadWriter (Seq a) m => [a] -> m ()
tellSeq = Seq a -> m ()
forall w (m :: * -> *). MonadWriter w m => w -> m ()
tell (Seq a -> m ()) -> ([a] -> Seq a) -> [a] -> m ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> Seq a
forall a. [a] -> Seq a
fromList