module Rattletrap.Encode.Int8le ( putInt8Bits ) where import Rattletrap.Type.Int8le import Rattletrap.Utility.Bytes import qualified Data.Binary.Bits.Put as BinaryBits import qualified Data.Binary.Put as Binary import qualified Data.ByteString.Lazy as LazyBytes putInt8 :: Int8le -> Binary.Put putInt8 :: Int8le -> Put putInt8 Int8le int8 = Int8 -> Put Binary.putInt8 (Int8le -> Int8 int8leValue Int8le int8) putInt8Bits :: Int8le -> BinaryBits.BitPut () putInt8Bits :: Int8le -> BitPut () putInt8Bits Int8le int8 = do let bytes :: ByteString bytes = ByteString -> ByteString LazyBytes.toStrict (Put -> ByteString Binary.runPut (Int8le -> Put putInt8 Int8le int8)) ByteString -> BitPut () BinaryBits.putByteString (ByteString -> ByteString reverseBytes ByteString bytes)