module Text.ShellEscape.Escape where import Data.ByteString {-| A type class for objects that represent an intermediate state of escaping. -} class Escape t where -- | Transform a 'ByteString' into the escaped intermediate form. escape :: ByteString -> t -- | Recover the original 'ByteString'. unescape :: t -> ByteString -- | Yield the escaped 'ByteString'. bytes :: t -> ByteString instance Escape ByteString where escape = id unescape = id bytes = id