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)