{-# LANGUAGE NoImplicitPrelude #-} -- | This module provides a first-class version -- of the "Data.ByteString.Lazy" module. module ModularPrelude.Module.LByteString ( -- * Module interface LByteStringModule (..) -- * Module contents , LByteStringImplements (..) ) where import ModularPrelude hiding (empty) import qualified Data.ByteString.Lazy as LByteString import qualified Filesystem.Path.CurrentOS as FilePath data LByteStringModule = LByteString { map :: (Word8 -> Word8) -> LByteString -> LByteString , concatMap :: (Word8 -> LByteString) -> LByteString -> LByteString , filter :: (Word8 -> Bool) -> LByteString -> LByteString , length :: LByteString -> Int64 , singleton :: Word8 -> LByteString , null :: LByteString -> Bool , pack :: [Word8] -> LByteString , unpack :: LByteString -> [Word8] , empty :: LByteString , readFile :: FilePath -> IO LByteString , writeFile :: FilePath -> LByteString -> IO () , break :: (Word8 -> Bool) -> LByteString -> (LByteString, LByteString) , span :: (Word8 -> Bool) -> LByteString -> (LByteString, LByteString) , dropWhile :: (Word8 -> Bool) -> LByteString -> LByteString , takeWhile :: (Word8 -> Bool) -> LByteString -> LByteString , any :: (Word8 -> Bool) -> LByteString -> Bool , all :: (Word8 -> Bool) -> LByteString -> Bool , splitAt :: Int64 -> LByteString -> (LByteString, LByteString) } class LByteStringImplements interface where _Data_ByteString_Lazy_ :: interface instance LByteStringImplements LByteStringModule where _Data_ByteString_Lazy_ = LByteString { map = LByteString.map , concatMap = LByteString.concatMap , filter = LByteString.filter , length = LByteString.length , singleton = LByteString.singleton , null = LByteString.null , pack = LByteString.pack , unpack = LByteString.unpack , empty = LByteString.empty , readFile = LByteString.readFile . FilePath.encodeString , writeFile = LByteString.writeFile . FilePath.encodeString , break = LByteString.break , span = LByteString.span , dropWhile = LByteString.dropWhile , takeWhile = LByteString.takeWhile , any = LByteString.any , all = LByteString.all , splitAt = LByteString.splitAt } instance Default LByteStringModule where def = _Data_ByteString_Lazy_