{-# OPTIONS_HADDOCK hide #-}
module Data.ByteString.Short.Char8 (
ShortByteString,
pack,
unpack,
takeWhile,
) where
import Data.ByteString.Short ( ShortByteString )
import Prelude as P hiding ( takeWhile )
import qualified Data.ByteString.Internal as BI
import qualified Data.ByteString.Short as BS
import qualified Data.ByteString.Short.Extra as BS
{-# INLINEABLE unpack #-}
unpack :: ShortByteString -> [Char]
unpack = P.map BI.w2c . BS.unpack
{-# INLINEABLE pack #-}
pack :: String -> ShortByteString
pack = BS.pack . P.map BI.c2w
{-# INLINEABLE takeWhile #-}
takeWhile :: (Char -> Bool) -> ShortByteString -> ShortByteString
takeWhile f = BS.takeWhile (f . BI.w2c)