{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} module HaskellWorks.Data.Xml.Succinct.Cursor.BlankedXml ( BlankedXml(..) , FromBlankedXml(..) , getBlankedXml , bsToBlankedXml , lbsToBlankedXml ) where import Control.DeepSeq import GHC.Generics import HaskellWorks.Data.Xml.Internal.Blank import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy as LBS newtype BlankedXml = BlankedXml { BlankedXml -> [ByteString] unblankedXml :: [BS.ByteString] } deriving (BlankedXml -> BlankedXml -> Bool (BlankedXml -> BlankedXml -> Bool) -> (BlankedXml -> BlankedXml -> Bool) -> Eq BlankedXml forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: BlankedXml -> BlankedXml -> Bool $c/= :: BlankedXml -> BlankedXml -> Bool == :: BlankedXml -> BlankedXml -> Bool $c== :: BlankedXml -> BlankedXml -> Bool Eq, Int -> BlankedXml -> ShowS [BlankedXml] -> ShowS BlankedXml -> String (Int -> BlankedXml -> ShowS) -> (BlankedXml -> String) -> ([BlankedXml] -> ShowS) -> Show BlankedXml forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [BlankedXml] -> ShowS $cshowList :: [BlankedXml] -> ShowS show :: BlankedXml -> String $cshow :: BlankedXml -> String showsPrec :: Int -> BlankedXml -> ShowS $cshowsPrec :: Int -> BlankedXml -> ShowS Show, (forall x. BlankedXml -> Rep BlankedXml x) -> (forall x. Rep BlankedXml x -> BlankedXml) -> Generic BlankedXml forall x. Rep BlankedXml x -> BlankedXml forall x. BlankedXml -> Rep BlankedXml x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep BlankedXml x -> BlankedXml $cfrom :: forall x. BlankedXml -> Rep BlankedXml x Generic, BlankedXml -> () (BlankedXml -> ()) -> NFData BlankedXml forall a. (a -> ()) -> NFData a rnf :: BlankedXml -> () $crnf :: BlankedXml -> () NFData) getBlankedXml :: BlankedXml -> [BS.ByteString] getBlankedXml :: BlankedXml -> [ByteString] getBlankedXml (BlankedXml [ByteString] bs) = [ByteString] bs class FromBlankedXml a where fromBlankedXml :: BlankedXml -> a bsToBlankedXml :: BS.ByteString -> BlankedXml bsToBlankedXml :: ByteString -> BlankedXml bsToBlankedXml ByteString bs = [ByteString] -> BlankedXml BlankedXml ([ByteString] -> [ByteString] blankXml [ByteString bs]) lbsToBlankedXml :: LBS.ByteString -> BlankedXml lbsToBlankedXml :: ByteString -> BlankedXml lbsToBlankedXml ByteString lbs = [ByteString] -> BlankedXml BlankedXml ([ByteString] -> [ByteString] blankXml (ByteString -> [ByteString] LBS.toChunks ByteString lbs))