module Data.ProtoBuf.Default
( Default(..)
) where
import Data.ByteString.Lazy (ByteString)
import Data.Int (Int32, Int64)
import Data.Sequence (Seq)
import Data.Text.Lazy (Text)
import Data.Word (Word32, Word64)
import qualified Data.ByteString.Lazy as B
import qualified Data.Sequence as S
import qualified Data.Text.Lazy as T
class Default a where
defaultVal :: a
instance Default Bool where defaultVal :: Bool
defaultVal = Bool
False
instance Default ByteString where defaultVal :: ByteString
defaultVal = ByteString
B.empty
instance Default Double where defaultVal :: Double
defaultVal = Double
0
instance Default Float where defaultVal :: Float
defaultVal = Float
0
instance Default Int32 where defaultVal :: Int32
defaultVal = Int32
0
instance Default Int64 where defaultVal :: Int64
defaultVal = Int64
0
instance Default Text where defaultVal :: Text
defaultVal = Text
T.empty
instance Default Word32 where defaultVal :: Word32
defaultVal = Word32
0
instance Default Word64 where defaultVal :: Word64
defaultVal = Word64
0
instance Default (Maybe a) where defaultVal :: Maybe a
defaultVal = Maybe a
forall a. Maybe a
Nothing
instance Default (Seq a) where defaultVal :: Seq a
defaultVal = Seq a
forall a. Seq a
S.empty