module Rattletrap.Encode.Property ( putProperty ) where import Rattletrap.Encode.PropertyValue import Rattletrap.Encode.Str import Rattletrap.Encode.Word64le import Rattletrap.Type.Property import qualified Data.Binary as Binary putProperty :: Property -> Binary.Put putProperty :: Property -> Put putProperty Property property = do Str -> Put putText (Property -> Str propertyKind Property property) Word64le -> Put putWord64 (Property -> Word64le propertySize Property property) (Property -> Put) -> PropertyValue Property -> Put forall a. (a -> Put) -> PropertyValue a -> Put putPropertyValue Property -> Put putProperty (Property -> PropertyValue Property propertyValue Property property)