module HaskellWorks.Data.Json.Standard.Cursor.Internal.BlankedJson ( BlankedJson(..) , ToBlankedJson(..) , toBlankedJsonTyped ) where import HaskellWorks.Data.ByteString import HaskellWorks.Data.Json.Standard.Cursor.Internal.Blank import qualified Data.ByteString as BS newtype BlankedJson = BlankedJson { BlankedJson -> [ByteString] unBlankedJson :: [BS.ByteString] } deriving (BlankedJson -> BlankedJson -> Bool (BlankedJson -> BlankedJson -> Bool) -> (BlankedJson -> BlankedJson -> Bool) -> Eq BlankedJson forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: BlankedJson -> BlankedJson -> Bool $c/= :: BlankedJson -> BlankedJson -> Bool == :: BlankedJson -> BlankedJson -> Bool $c== :: BlankedJson -> BlankedJson -> Bool Eq, Int -> BlankedJson -> ShowS [BlankedJson] -> ShowS BlankedJson -> String (Int -> BlankedJson -> ShowS) -> (BlankedJson -> String) -> ([BlankedJson] -> ShowS) -> Show BlankedJson forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [BlankedJson] -> ShowS $cshowList :: [BlankedJson] -> ShowS show :: BlankedJson -> String $cshow :: BlankedJson -> String showsPrec :: Int -> BlankedJson -> ShowS $cshowsPrec :: Int -> BlankedJson -> ShowS Show) class ToBlankedJson a where toBlankedJson :: a -> [BS.ByteString] instance ToBlankedJson BS.ByteString where toBlankedJson :: ByteString -> [ByteString] toBlankedJson ByteString bs = [ByteString] -> [ByteString] blankJson (Int -> ByteString -> [ByteString] chunkedBy Int 4096 ByteString bs) toBlankedJsonTyped :: ToBlankedJson a => a -> BlankedJson toBlankedJsonTyped :: a -> BlankedJson toBlankedJsonTyped = [ByteString] -> BlankedJson BlankedJson ([ByteString] -> BlankedJson) -> (a -> [ByteString]) -> a -> BlankedJson forall b c a. (b -> c) -> (a -> b) -> a -> c . a -> [ByteString] forall a. ToBlankedJson a => a -> [ByteString] toBlankedJson