module Conversion.ByteString () where
import BasePrelude
import Conversion
import qualified Data.ByteString as BS
import qualified Data.ByteString.Char8 as BSC
import qualified Data.ByteString.Lazy as BL
import qualified Data.ByteString.Builder as BB
instance Conversion BS.ByteString [Word8] where
{-# INLINE convert #-}
convert = BS.unpack
instance Conversion BS.ByteString [Char] where
{-# INLINE convert #-}
convert = BSC.unpack
instance Conversion BS.ByteString BL.ByteString where
{-# INLINE convert #-}
convert = BL.fromStrict
instance Conversion BS.ByteString BB.Builder where
{-# INLINE convert #-}
convert = BB.byteString
instance Conversion BL.ByteString [Word8] where
{-# INLINE convert #-}
convert = BL.unpack
instance Conversion BL.ByteString BS.ByteString where
{-# INLINE convert #-}
convert = BL.toStrict
instance Conversion BL.ByteString BB.Builder where
{-# INLINE convert #-}
convert = BB.lazyByteString
instance Conversion BB.Builder [Word8] where
{-# INLINE convert #-}
convert = convert . BB.toLazyByteString
instance Conversion BB.Builder BS.ByteString where
{-# INLINE convert #-}
convert = convert . BB.toLazyByteString
instance Conversion BB.Builder BL.ByteString where
{-# INLINE convert #-}
convert = BB.toLazyByteString
instance Conversion [Word8] BS.ByteString where
{-# INLINE convert #-}
convert = BS.pack
instance Conversion [Word8] BL.ByteString where
{-# INLINE convert #-}
convert = BL.pack
instance Conversion [Word8] BB.Builder where
{-# INLINE convert #-}
convert = foldMap BB.word8
instance Conversion Word8 BS.ByteString where
{-# INLINE convert #-}
convert = BS.singleton
instance Conversion Word8 BL.ByteString where
{-# INLINE convert #-}
convert = BL.singleton
instance Conversion Word8 BB.Builder where
{-# INLINE convert #-}
convert = BB.word8