packages feed

signable-0.1: test/Proto/SignableOrphan.hs

{- This file was auto-generated by the signable-haskell-protoc program. -}
{-# OPTIONS_GHC -fno-warn-orphans #-}

module Proto.SignableOrphan (
    ) where
import Universum
import Data.Signable
import Proto.GoogleProtobuf
import Proto.GoogleProtobuf_Fields
import Proto.Basic
import Proto.Basic_Fields
import Proto.Coins
import Proto.Coins_Fields
import Proto.EmbeddedSchema
import Proto.EmbeddedSchema_Fields
import Proto.Number
import Proto.Number_Fields
import Proto.Text
import Proto.Text_Fields
instance Signable Proto.GoogleProtobuf.DoubleValue where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.GoogleProtobuf_Fields.value x)]
instance Signable Proto.GoogleProtobuf.FloatValue where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.GoogleProtobuf_Fields.value x)]
instance Signable Proto.GoogleProtobuf.Int64Value where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.GoogleProtobuf_Fields.value x)]
instance Signable Proto.GoogleProtobuf.UInt64Value where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.GoogleProtobuf_Fields.value x)]
instance Signable Proto.GoogleProtobuf.Int32Value where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.GoogleProtobuf_Fields.value x)]
instance Signable Proto.GoogleProtobuf.UInt32Value where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.GoogleProtobuf_Fields.value x)]
instance Signable Proto.GoogleProtobuf.BoolValue where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.GoogleProtobuf_Fields.value x)]
instance Signable Proto.GoogleProtobuf.StringValue where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.GoogleProtobuf_Fields.value x)]
instance Signable Proto.GoogleProtobuf.BytesValue where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.GoogleProtobuf_Fields.value x)]
instance Signable Proto.GoogleProtobuf.Timestamp where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.GoogleProtobuf_Fields.seconds x),
         toBinary (2 :: Int32)
           <> toBinary (view Proto.GoogleProtobuf_Fields.nanos x)]
instance Signable Proto.Basic.CurrencyCode where
  toBinary x
    = case safeFromIntegral (fromEnum x) :: (Maybe Int32) of
        (Just v) -> toBinary v
        Nothing -> error "ENUM_OVERFLOW"
instance Signable Proto.Basic.RequestType where
  toBinary x
    = case safeFromIntegral (fromEnum x) :: (Maybe Int32) of
        (Just v) -> toBinary v
        Nothing -> error "ENUM_OVERFLOW"
instance Signable Proto.Basic.Payload where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.Basic_Fields.userIdFrom x),
         case view Proto.Basic_Fields.maybe'amount x of
           (Just v) -> toBinary (2 :: Int32) <> toBinary v
           Nothing -> toBinary (2 :: Int32),
         toBinary (3 :: Int32)
           <> toBinary (view Proto.Basic_Fields.requestType x),
         toBinary (4 :: Int32)
           <> toBinary (view Proto.Basic_Fields.addFee x),
         toBinary (5 :: Int32)
           <> toBinary (view Proto.Basic_Fields.comments x),
         case view Proto.Basic_Fields.maybe'userIdTo x of
           (Just v) -> toBinary (6 :: Int32) <> toBinary v
           Nothing -> toBinary (6 :: Int32),
         case view Proto.Basic_Fields.maybe'merchantIdTo x of
           (Just v) -> toBinary (7 :: Int32) <> toBinary v
           Nothing -> toBinary (7 :: Int32),
         case view Proto.Basic_Fields.maybe'invoiceTo x of
           (Just v) -> toBinary (8 :: Int32) <> toBinary v
           Nothing -> toBinary (8 :: Int32)]
instance Signable Proto.Basic.UMoney where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.Basic_Fields.amount x),
         case view Proto.Basic_Fields.maybe'currencyCode x of
           (Just v) -> toBinary (2 :: Int32) <> toBinary v
           Nothing -> toBinary (2 :: Int32)]
instance Signable Proto.Basic.CurrencyCodeValue where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.Basic_Fields.value x)]
instance Signable Proto.Coins.InvoiceType where
  toBinary x
    = case safeFromIntegral (fromEnum x) :: (Maybe Int32) of
        (Just v) -> toBinary v
        Nothing -> error "ENUM_OVERFLOW"
instance Signable Proto.Coins.CurrencyCode where
  toBinary x
    = case safeFromIntegral (fromEnum x) :: (Maybe Int32) of
        (Just v) -> toBinary v
        Nothing -> error "ENUM_OVERFLOW"
instance Signable Proto.Coins.Request where
  toBinary x
    = mconcat
        [case view Proto.Coins_Fields.maybe'ledgerTransferRequest x of
           (Just v) -> toBinary (1 :: Int32) <> toBinary v
           Nothing -> toBinary (1 :: Int32),
         toBinary (2 :: Int32)
           <> toBinary (view Proto.Coins_Fields.ledgerSignature x)]
instance Signable Proto.Coins.Request'LedgerTransferRequest where
  toBinary x
    = mconcat
        [case view Proto.Coins_Fields.maybe'userTransferRequest x of
           (Just v) -> toBinary (1 :: Int32) <> toBinary v
           Nothing -> toBinary (1 :: Int32),
         toBinary (2 :: Int32)
           <> toBinary (view Proto.Coins_Fields.userSignature x),
         case view Proto.Coins_Fields.maybe'invoice x of
           (Just v) -> toBinary (3 :: Int32) <> toBinary v
           Nothing -> toBinary (3 :: Int32)]
instance Signable Proto.Coins.Request'UserTransferRequest where
  toBinary x
    = mconcat
        [case view Proto.Coins_Fields.maybe'userRequest x of
           (Just v) -> toBinary (1 :: Int32) <> toBinary v
           Nothing -> toBinary (1 :: Int32),
         case view Proto.Coins_Fields.maybe'merchantIdTo x of
           (Just v) -> toBinary (2 :: Int32) <> toBinary v
           Nothing -> toBinary (2 :: Int32),
         case view Proto.Coins_Fields.maybe'invoice x of
           (Just v) -> toBinary (3 :: Int32) <> toBinary v
           Nothing -> toBinary (3 :: Int32)]
instance Signable Proto.Coins.LightningInvoice where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.Coins_Fields.rHash x),
         toBinary (2 :: Int32)
           <> toBinary (view Proto.Coins_Fields.paymentRequest x),
         toBinary (3 :: Int32)
           <> toBinary (view Proto.Coins_Fields.invoiceType x)]
instance Signable Proto.Coins.UserRequest where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.Coins_Fields.pubKeyUidFrom x),
         case view Proto.Coins_Fields.maybe'amount x of
           (Just v) -> toBinary (2 :: Int32) <> toBinary v
           Nothing -> toBinary (2 :: Int32),
         toBinary (3 :: Int32)
           <> toBinary (view Proto.Coins_Fields.requestId x)]
instance Signable Proto.Coins.UMoney where
  toBinary x
    = mconcat
        [case view Proto.Coins_Fields.maybe'amount x of
           (Just v) -> toBinary (1 :: Int32) <> toBinary v
           Nothing -> toBinary (1 :: Int32),
         case view Proto.Coins_Fields.maybe'currencyCode x of
           (Just v) -> toBinary (2 :: Int32) <> toBinary v
           Nothing -> toBinary (2 :: Int32)]
instance Signable Proto.Coins.UDecimal where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.Coins_Fields.coef x),
         toBinary (2 :: Int32) <> toBinary (view Proto.Coins_Fields.exp x)]
instance Signable Proto.Coins.CurrencyCodeValue where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.Coins_Fields.value x)]
instance Signable Proto.EmbeddedSchema.Enum where
  toBinary x
    = case safeFromIntegral (fromEnum x) :: (Maybe Int32) of
        (Just v) -> toBinary v
        Nothing -> error "ENUM_OVERFLOW"
instance Signable Proto.EmbeddedSchema.Embedded where
  toBinary x
    = mconcat
        [case view Proto.EmbeddedSchema_Fields.maybe'msgField x of
           (Just v) -> toBinary (1 :: Int32) <> toBinary v
           Nothing -> toBinary (1 :: Int32)]
instance Signable Proto.EmbeddedSchema.Embedded'Msg where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.EmbeddedSchema_Fields.enumField x)]
instance Signable Proto.EmbeddedSchema.Embedded'Msg'Enum where
  toBinary x
    = case safeFromIntegral (fromEnum x) :: (Maybe Int32) of
        (Just v) -> toBinary v
        Nothing -> error "ENUM_OVERFLOW"
instance Signable Proto.EmbeddedSchema.Msg where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.EmbeddedSchema_Fields.enumField x)]
instance Signable Proto.EmbeddedSchema.Msg'Enum where
  toBinary x
    = case safeFromIntegral (fromEnum x) :: (Maybe Int32) of
        (Just v) -> toBinary v
        Nothing -> error "ENUM_OVERFLOW"
instance Signable Proto.Number.Payload where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32)
           <> toBinary (view Proto.Number_Fields.one x),
         toBinary (2 :: Int32) <> toBinary (view Proto.Number_Fields.two x),
         toBinary (3 :: Int32)
           <> toBinary (view Proto.Number_Fields.three x),
         toBinary (4 :: Int32)
           <> toBinary (view Proto.Number_Fields.four x)]
instance Signable Proto.Text.Payload where
  toBinary x
    = mconcat
        [toBinary (1 :: Int32) <> toBinary (view Proto.Text_Fields.text x)]