module Rattletrap.Decode.Message ( decodeMessage ) where import Rattletrap.Decode.Common import Rattletrap.Decode.Str import Rattletrap.Decode.Word32le import Rattletrap.Type.Message decodeMessage :: Decode Message decodeMessage :: Decode Message decodeMessage = Word32le -> Str -> Str -> Message Message (Word32le -> Str -> Str -> Message) -> Get Word32le -> Get (Str -> Str -> Message) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Get Word32le decodeWord32le Get (Str -> Str -> Message) -> Get Str -> Get (Str -> Message) forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Get Str decodeStr Get (Str -> Message) -> Get Str -> Decode Message forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b <*> Get Str decodeStr