hw-xml-0.4.0.5: src/HaskellWorks/Data/Xml/Succinct/Cursor/BlankedXml.hs
{-# 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
{ unblankedXml :: [BS.ByteString]
} deriving (Eq, Show, Generic, NFData)
getBlankedXml :: BlankedXml -> [BS.ByteString]
getBlankedXml (BlankedXml bs) = bs
class FromBlankedXml a where
fromBlankedXml :: BlankedXml -> a
bsToBlankedXml :: BS.ByteString -> BlankedXml
bsToBlankedXml bs = BlankedXml (blankXml [bs])
lbsToBlankedXml :: LBS.ByteString -> BlankedXml
lbsToBlankedXml lbs = BlankedXml (blankXml (LBS.toChunks lbs))