module HaskellWorks.Data.ByteString ( chunkedBy ) where import qualified Data.ByteString as BS -- | Chunk a @bs into list of smaller byte strings of no more than @n elements chunkedBy :: Int -> BS.ByteString -> [BS.ByteString] chunkedBy n bs = if BS.length bs == 0 then [] else case BS.splitAt n bs of (as, zs) -> as : chunkedBy n zs