module HaskellWorks.Data.Json.Internal.Doc ( hEncloseSep ) where import Text.PrettyPrint.ANSI.Leijen hEncloseSep :: Doc -> Doc -> Doc -> [Doc] -> Doc hEncloseSep :: Doc -> Doc -> Doc -> [Doc] -> Doc hEncloseSep Doc l Doc r Doc s [Doc] ds = case [Doc] ds of [] -> Doc l forall a. Semigroup a => a -> a -> a <> Doc r [Doc d] -> Doc l forall a. Semigroup a => a -> a -> a <> Doc d forall a. Semigroup a => a -> a -> a <> Doc r [Doc] _ -> [Doc] -> Doc hcat (forall a b c. (a -> b -> c) -> [a] -> [b] -> [c] zipWith forall a. Semigroup a => a -> a -> a (<>) (Doc l forall a. a -> [a] -> [a] : forall a. a -> [a] repeat Doc s) [Doc] ds) forall a. Semigroup a => a -> a -> a <> Doc r