{-# language LambdaCase #-}
module Rel8.Schema.Escape
( escape
)
where
import Prelude
import Text.PrettyPrint (Doc, doubleQuotes, text)
escape :: String -> Doc
escape :: String -> Doc
escape = Doc -> Doc
doubleQuotes (Doc -> Doc) -> (String -> Doc) -> String -> Doc
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Doc
text (String -> Doc) -> (String -> String) -> String -> Doc
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Char -> String) -> String -> String
forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
concatMap Char -> String
go
where
go :: Char -> String
go = \case
Char
'"' -> String
"\"\""
Char
c -> [Char
c]