proto3-suite-0.4.2: A low level library for writing out data in the Protocol Buffers wire format
Safe HaskellNone
LanguageHaskell2010

Proto3.Suite.Types

Synopsis

Integral Types

newtype Fixed a Source #

Fixed provides a way to encode integers in the fixed-width wire formats.

Constructors

Fixed 

Fields

Instances

Instances details
Functor Fixed Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fmap :: (a -> b) -> Fixed a -> Fixed b #

(<$) :: a -> Fixed b -> Fixed a #

Foldable Fixed Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fold :: Monoid m => Fixed m -> m #

foldMap :: Monoid m => (a -> m) -> Fixed a -> m #

foldMap' :: Monoid m => (a -> m) -> Fixed a -> m #

foldr :: (a -> b -> b) -> b -> Fixed a -> b #

foldr' :: (a -> b -> b) -> b -> Fixed a -> b #

foldl :: (b -> a -> b) -> b -> Fixed a -> b #

foldl' :: (b -> a -> b) -> b -> Fixed a -> b #

foldr1 :: (a -> a -> a) -> Fixed a -> a #

foldl1 :: (a -> a -> a) -> Fixed a -> a #

toList :: Fixed a -> [a] #

null :: Fixed a -> Bool #

length :: Fixed a -> Int #

elem :: Eq a => a -> Fixed a -> Bool #

maximum :: Ord a => Fixed a -> a #

minimum :: Ord a => Fixed a -> a #

sum :: Num a => Fixed a -> a #

product :: Num a => Fixed a -> a #

Traversable Fixed Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

traverse :: Applicative f => (a -> f b) -> Fixed a -> f (Fixed b) #

sequenceA :: Applicative f => Fixed (f a) -> f (Fixed a) #

mapM :: Monad m => (a -> m b) -> Fixed a -> m (Fixed b) #

sequence :: Monad m => Fixed (m a) -> m (Fixed a) #

Bounded a => Bounded (Fixed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

minBound :: Fixed a #

maxBound :: Fixed a #

Enum a => Enum (Fixed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

succ :: Fixed a -> Fixed a #

pred :: Fixed a -> Fixed a #

toEnum :: Int -> Fixed a #

fromEnum :: Fixed a -> Int #

enumFrom :: Fixed a -> [Fixed a] #

enumFromThen :: Fixed a -> Fixed a -> [Fixed a] #

enumFromTo :: Fixed a -> Fixed a -> [Fixed a] #

enumFromThenTo :: Fixed a -> Fixed a -> Fixed a -> [Fixed a] #

Eq a => Eq (Fixed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(==) :: Fixed a -> Fixed a -> Bool #

(/=) :: Fixed a -> Fixed a -> Bool #

Num a => Num (Fixed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(+) :: Fixed a -> Fixed a -> Fixed a #

(-) :: Fixed a -> Fixed a -> Fixed a #

(*) :: Fixed a -> Fixed a -> Fixed a #

negate :: Fixed a -> Fixed a #

abs :: Fixed a -> Fixed a #

signum :: Fixed a -> Fixed a #

fromInteger :: Integer -> Fixed a #

Ord a => Ord (Fixed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

compare :: Fixed a -> Fixed a -> Ordering #

(<) :: Fixed a -> Fixed a -> Bool #

(<=) :: Fixed a -> Fixed a -> Bool #

(>) :: Fixed a -> Fixed a -> Bool #

(>=) :: Fixed a -> Fixed a -> Bool #

max :: Fixed a -> Fixed a -> Fixed a #

min :: Fixed a -> Fixed a -> Fixed a #

Show a => Show (Fixed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

showsPrec :: Int -> Fixed a -> ShowS #

show :: Fixed a -> String #

showList :: [Fixed a] -> ShowS #

Generic (Fixed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Rep (Fixed a) :: Type -> Type #

Methods

from :: Fixed a -> Rep (Fixed a) x #

to :: Rep (Fixed a) x -> Fixed a #

Arbitrary a => Arbitrary (Fixed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

arbitrary :: Gen (Fixed a) #

shrink :: Fixed a -> [Fixed a] #

NFData a => NFData (Fixed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

rnf :: Fixed a -> () #

ToSchema (Fixed Int32) Source # 
Instance details

Defined in Proto3.Suite.DotProto.Generate.Swagger

ToSchema (Fixed Int64) Source # 
Instance details

Defined in Proto3.Suite.DotProto.Generate.Swagger

ToSchema (Fixed Word32) Source # 
Instance details

Defined in Proto3.Suite.DotProto.Generate.Swagger

ToSchema (Fixed Word64) Source # 
Instance details

Defined in Proto3.Suite.DotProto.Generate.Swagger

MessageField (PackedVec (Signed (Fixed Int32))) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec (Signed (Fixed Int64))) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec (Fixed Word32)) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec (Fixed Word64)) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (Signed (Fixed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (Signed (Fixed Int64)) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (Fixed Word32) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (Fixed Word64) Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive (Signed (Fixed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive (Signed (Fixed Int64)) Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive (Fixed Word32) Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive (Fixed Word64) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (Signed (Fixed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (Signed (Fixed Int64)) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (Fixed Int32) Source #

Used in generated records to represent sfixed32

Instance details

Defined in Proto3.Suite.Class

HasDefault (Fixed Int64) Source #

Used in generated records to represent sfixed64

Instance details

Defined in Proto3.Suite.Class

HasDefault (Fixed Word32) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (Fixed Word64) Source # 
Instance details

Defined in Proto3.Suite.Class

FromJSONPB (Fixed Int32) Source # 
Instance details

Defined in Proto3.Suite.JSONPB.Class

FromJSONPB (Fixed Int64) Source # 
Instance details

Defined in Proto3.Suite.JSONPB.Class

FromJSONPB (Fixed Word32) Source # 
Instance details

Defined in Proto3.Suite.JSONPB.Class

FromJSONPB (Fixed Word64) Source # 
Instance details

Defined in Proto3.Suite.JSONPB.Class

ToJSONPB (Fixed Int32) Source # 
Instance details

Defined in Proto3.Suite.JSONPB.Class

ToJSONPB (Fixed Int64) Source # 
Instance details

Defined in Proto3.Suite.JSONPB.Class

ToJSONPB (Fixed Word32) Source # 
Instance details

Defined in Proto3.Suite.JSONPB.Class

ToJSONPB (Fixed Word64) Source # 
Instance details

Defined in Proto3.Suite.JSONPB.Class

type Rep (Fixed a) Source # 
Instance details

Defined in Proto3.Suite.Types

type Rep (Fixed a) = D1 ('MetaData "Fixed" "Proto3.Suite.Types" "proto3-suite-0.4.2-J8nzVnLzLx1CRfPIE0MP0J" 'True) (C1 ('MetaCons "Fixed" 'PrefixI 'True) (S1 ('MetaSel ('Just "fixed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

newtype Signed a Source #

Signed provides a way to encode integers in the signed wire formats.

Constructors

Signed 

Fields

Instances

Instances details
Functor Signed Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fmap :: (a -> b) -> Signed a -> Signed b #

(<$) :: a -> Signed b -> Signed a #

Foldable Signed Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fold :: Monoid m => Signed m -> m #

foldMap :: Monoid m => (a -> m) -> Signed a -> m #

foldMap' :: Monoid m => (a -> m) -> Signed a -> m #

foldr :: (a -> b -> b) -> b -> Signed a -> b #

foldr' :: (a -> b -> b) -> b -> Signed a -> b #

foldl :: (b -> a -> b) -> b -> Signed a -> b #

foldl' :: (b -> a -> b) -> b -> Signed a -> b #

foldr1 :: (a -> a -> a) -> Signed a -> a #

foldl1 :: (a -> a -> a) -> Signed a -> a #

toList :: Signed a -> [a] #

null :: Signed a -> Bool #

length :: Signed a -> Int #

elem :: Eq a => a -> Signed a -> Bool #

maximum :: Ord a => Signed a -> a #

minimum :: Ord a => Signed a -> a #

sum :: Num a => Signed a -> a #

product :: Num a => Signed a -> a #

Traversable Signed Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

traverse :: Applicative f => (a -> f b) -> Signed a -> f (Signed b) #

sequenceA :: Applicative f => Signed (f a) -> f (Signed a) #

mapM :: Monad m => (a -> m b) -> Signed a -> m (Signed b) #

sequence :: Monad m => Signed (m a) -> m (Signed a) #

Bounded a => Bounded (Signed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

minBound :: Signed a #

maxBound :: Signed a #

Eq a => Eq (Signed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(==) :: Signed a -> Signed a -> Bool #

(/=) :: Signed a -> Signed a -> Bool #

Num a => Num (Signed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(+) :: Signed a -> Signed a -> Signed a #

(-) :: Signed a -> Signed a -> Signed a #

(*) :: Signed a -> Signed a -> Signed a #

negate :: Signed a -> Signed a #

abs :: Signed a -> Signed a #

signum :: Signed a -> Signed a #

fromInteger :: Integer -> Signed a #

Ord a => Ord (Signed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

compare :: Signed a -> Signed a -> Ordering #

(<) :: Signed a -> Signed a -> Bool #

(<=) :: Signed a -> Signed a -> Bool #

(>) :: Signed a -> Signed a -> Bool #

(>=) :: Signed a -> Signed a -> Bool #

max :: Signed a -> Signed a -> Signed a #

min :: Signed a -> Signed a -> Signed a #

Show a => Show (Signed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

showsPrec :: Int -> Signed a -> ShowS #

show :: Signed a -> String #

showList :: [Signed a] -> ShowS #

Generic (Signed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Rep (Signed a) :: Type -> Type #

Methods

from :: Signed a -> Rep (Signed a) x #

to :: Rep (Signed a) x -> Signed a #

Arbitrary a => Arbitrary (Signed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

arbitrary :: Gen (Signed a) #

shrink :: Signed a -> [Signed a] #

NFData a => NFData (Signed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

rnf :: Signed a -> () #

MessageField (PackedVec (Signed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec (Signed Int64)) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec (Signed (Fixed Int32))) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec (Signed (Fixed Int64))) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (Signed Int32) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (Signed Int64) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (Signed (Fixed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (Signed (Fixed Int64)) Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive (Signed Int32) Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive (Signed Int64) Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive (Signed (Fixed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive (Signed (Fixed Int64)) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (Signed Int32) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (Signed Int64) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (Signed (Fixed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (Signed (Fixed Int64)) Source # 
Instance details

Defined in Proto3.Suite.Class

type Rep (Signed a) Source # 
Instance details

Defined in Proto3.Suite.Types

type Rep (Signed a) = D1 ('MetaData "Signed" "Proto3.Suite.Types" "proto3-suite-0.4.2-J8nzVnLzLx1CRfPIE0MP0J" 'True) (C1 ('MetaCons "Signed" 'PrefixI 'True) (S1 ('MetaSel ('Just "signed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Enumerable Types

newtype Enumerated a Source #

Enumerated lifts any type with an IsEnum instance so that it can be encoded with HasEncoding.

Constructors

Enumerated 

Fields

Instances

Instances details
Functor Enumerated Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fmap :: (a -> b) -> Enumerated a -> Enumerated b #

(<$) :: a -> Enumerated b -> Enumerated a #

Foldable Enumerated Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fold :: Monoid m => Enumerated m -> m #

foldMap :: Monoid m => (a -> m) -> Enumerated a -> m #

foldMap' :: Monoid m => (a -> m) -> Enumerated a -> m #

foldr :: (a -> b -> b) -> b -> Enumerated a -> b #

foldr' :: (a -> b -> b) -> b -> Enumerated a -> b #

foldl :: (b -> a -> b) -> b -> Enumerated a -> b #

foldl' :: (b -> a -> b) -> b -> Enumerated a -> b #

foldr1 :: (a -> a -> a) -> Enumerated a -> a #

foldl1 :: (a -> a -> a) -> Enumerated a -> a #

toList :: Enumerated a -> [a] #

null :: Enumerated a -> Bool #

length :: Enumerated a -> Int #

elem :: Eq a => a -> Enumerated a -> Bool #

maximum :: Ord a => Enumerated a -> a #

minimum :: Ord a => Enumerated a -> a #

sum :: Num a => Enumerated a -> a #

product :: Num a => Enumerated a -> a #

Traversable Enumerated Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

traverse :: Applicative f => (a -> f b) -> Enumerated a -> f (Enumerated b) #

sequenceA :: Applicative f => Enumerated (f a) -> f (Enumerated a) #

mapM :: Monad m => (a -> m b) -> Enumerated a -> m (Enumerated b) #

sequence :: Monad m => Enumerated (m a) -> m (Enumerated a) #

Eq a => Eq (Enumerated a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(==) :: Enumerated a -> Enumerated a -> Bool #

(/=) :: Enumerated a -> Enumerated a -> Bool #

Ord a => Ord (Enumerated a) Source # 
Instance details

Defined in Proto3.Suite.Types

Show a => Show (Enumerated a) Source # 
Instance details

Defined in Proto3.Suite.Types

Generic (Enumerated a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Rep (Enumerated a) :: Type -> Type #

Methods

from :: Enumerated a -> Rep (Enumerated a) x #

to :: Rep (Enumerated a) x -> Enumerated a #

ProtoEnum a => Arbitrary (Enumerated a) Source # 
Instance details

Defined in Proto3.Suite.Types

NFData a => NFData (Enumerated a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

rnf :: Enumerated a -> () #

(Finite e, Named e) => ToSchema (Enumerated e) Source #

JSONPB schemas for protobuf enumerations

Instance details

Defined in Proto3.Suite.DotProto.Generate.Swagger

(Named e, ProtoEnum e) => MessageField (PackedVec (Enumerated e)) Source # 
Instance details

Defined in Proto3.Suite.Class

(Named e, ProtoEnum e) => MessageField (Enumerated e) Source # 
Instance details

Defined in Proto3.Suite.Class

(Named e, ProtoEnum e) => Primitive (Enumerated e) Source # 
Instance details

Defined in Proto3.Suite.Class

ProtoEnum e => HasDefault (Enumerated e) Source # 
Instance details

Defined in Proto3.Suite.Class

(ProtoEnum e, FromJSONPB e) => FromJSONPB (Enumerated e) Source # 
Instance details

Defined in Proto3.Suite.JSONPB.Class

ToJSONPB e => ToJSONPB (Enumerated e) Source # 
Instance details

Defined in Proto3.Suite.JSONPB.Class

type Rep (Enumerated a) Source # 
Instance details

Defined in Proto3.Suite.Types

type Rep (Enumerated a) = D1 ('MetaData "Enumerated" "Proto3.Suite.Types" "proto3-suite-0.4.2-J8nzVnLzLx1CRfPIE0MP0J" 'True) (C1 ('MetaCons "Enumerated" 'PrefixI 'True) (S1 ('MetaSel ('Just "enumerated") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either Int32 a))))

newtype ForceEmit a Source #

ForceEmit provides a way to force emission of field values, even when default-value semantics states otherwise. Used when serializing oneof subfields.

Constructors

ForceEmit 

Fields

Instances

Instances details
Functor ForceEmit Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fmap :: (a -> b) -> ForceEmit a -> ForceEmit b #

(<$) :: a -> ForceEmit b -> ForceEmit a #

Foldable ForceEmit Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fold :: Monoid m => ForceEmit m -> m #

foldMap :: Monoid m => (a -> m) -> ForceEmit a -> m #

foldMap' :: Monoid m => (a -> m) -> ForceEmit a -> m #

foldr :: (a -> b -> b) -> b -> ForceEmit a -> b #

foldr' :: (a -> b -> b) -> b -> ForceEmit a -> b #

foldl :: (b -> a -> b) -> b -> ForceEmit a -> b #

foldl' :: (b -> a -> b) -> b -> ForceEmit a -> b #

foldr1 :: (a -> a -> a) -> ForceEmit a -> a #

foldl1 :: (a -> a -> a) -> ForceEmit a -> a #

toList :: ForceEmit a -> [a] #

null :: ForceEmit a -> Bool #

length :: ForceEmit a -> Int #

elem :: Eq a => a -> ForceEmit a -> Bool #

maximum :: Ord a => ForceEmit a -> a #

minimum :: Ord a => ForceEmit a -> a #

sum :: Num a => ForceEmit a -> a #

product :: Num a => ForceEmit a -> a #

Traversable ForceEmit Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

traverse :: Applicative f => (a -> f b) -> ForceEmit a -> f (ForceEmit b) #

sequenceA :: Applicative f => ForceEmit (f a) -> f (ForceEmit a) #

mapM :: Monad m => (a -> m b) -> ForceEmit a -> m (ForceEmit b) #

sequence :: Monad m => ForceEmit (m a) -> m (ForceEmit a) #

Eq a => Eq (ForceEmit a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(==) :: ForceEmit a -> ForceEmit a -> Bool #

(/=) :: ForceEmit a -> ForceEmit a -> Bool #

Ord a => Ord (ForceEmit a) Source # 
Instance details

Defined in Proto3.Suite.Types

Show a => Show (ForceEmit a) Source # 
Instance details

Defined in Proto3.Suite.Types

Generic (ForceEmit a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Rep (ForceEmit a) :: Type -> Type #

Methods

from :: ForceEmit a -> Rep (ForceEmit a) x #

to :: Rep (ForceEmit a) x -> ForceEmit a #

Semigroup a => Semigroup (ForceEmit a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(<>) :: ForceEmit a -> ForceEmit a -> ForceEmit a #

sconcat :: NonEmpty (ForceEmit a) -> ForceEmit a #

stimes :: Integral b => b -> ForceEmit a -> ForceEmit a #

Monoid a => Monoid (ForceEmit a) Source # 
Instance details

Defined in Proto3.Suite.Types

Arbitrary a => Arbitrary (ForceEmit a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

arbitrary :: Gen (ForceEmit a) #

shrink :: ForceEmit a -> [ForceEmit a] #

NFData a => NFData (ForceEmit a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

rnf :: ForceEmit a -> () #

(HasDefault a, Primitive a) => MessageField (ForceEmit a) Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive a => Primitive (ForceEmit a) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault a => HasDefault (ForceEmit a) Source # 
Instance details

Defined in Proto3.Suite.Class

type Rep (ForceEmit a) Source # 
Instance details

Defined in Proto3.Suite.Types

type Rep (ForceEmit a) = D1 ('MetaData "ForceEmit" "Proto3.Suite.Types" "proto3-suite-0.4.2-J8nzVnLzLx1CRfPIE0MP0J" 'True) (C1 ('MetaCons "ForceEmit" 'PrefixI 'True) (S1 ('MetaSel ('Just "forceEmit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

newtype Nested a Source #

Nested provides a way to nest protobuf messages within protobuf messages.

Constructors

Nested 

Fields

Instances

Instances details
Monad Nested Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(>>=) :: Nested a -> (a -> Nested b) -> Nested b #

(>>) :: Nested a -> Nested b -> Nested b #

return :: a -> Nested a #

Functor Nested Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fmap :: (a -> b) -> Nested a -> Nested b #

(<$) :: a -> Nested b -> Nested a #

Applicative Nested Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

pure :: a -> Nested a #

(<*>) :: Nested (a -> b) -> Nested a -> Nested b #

liftA2 :: (a -> b -> c) -> Nested a -> Nested b -> Nested c #

(*>) :: Nested a -> Nested b -> Nested b #

(<*) :: Nested a -> Nested b -> Nested a #

Foldable Nested Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fold :: Monoid m => Nested m -> m #

foldMap :: Monoid m => (a -> m) -> Nested a -> m #

foldMap' :: Monoid m => (a -> m) -> Nested a -> m #

foldr :: (a -> b -> b) -> b -> Nested a -> b #

foldr' :: (a -> b -> b) -> b -> Nested a -> b #

foldl :: (b -> a -> b) -> b -> Nested a -> b #

foldl' :: (b -> a -> b) -> b -> Nested a -> b #

foldr1 :: (a -> a -> a) -> Nested a -> a #

foldl1 :: (a -> a -> a) -> Nested a -> a #

toList :: Nested a -> [a] #

null :: Nested a -> Bool #

length :: Nested a -> Int #

elem :: Eq a => a -> Nested a -> Bool #

maximum :: Ord a => Nested a -> a #

minimum :: Ord a => Nested a -> a #

sum :: Num a => Nested a -> a #

product :: Num a => Nested a -> a #

Traversable Nested Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

traverse :: Applicative f => (a -> f b) -> Nested a -> f (Nested b) #

sequenceA :: Applicative f => Nested (f a) -> f (Nested a) #

mapM :: Monad m => (a -> m b) -> Nested a -> m (Nested b) #

sequence :: Monad m => Nested (m a) -> m (Nested a) #

Alternative Nested Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

empty :: Nested a #

(<|>) :: Nested a -> Nested a -> Nested a #

some :: Nested a -> Nested [a] #

many :: Nested a -> Nested [a] #

Eq a => Eq (Nested a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(==) :: Nested a -> Nested a -> Bool #

(/=) :: Nested a -> Nested a -> Bool #

Ord a => Ord (Nested a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

compare :: Nested a -> Nested a -> Ordering #

(<) :: Nested a -> Nested a -> Bool #

(<=) :: Nested a -> Nested a -> Bool #

(>) :: Nested a -> Nested a -> Bool #

(>=) :: Nested a -> Nested a -> Bool #

max :: Nested a -> Nested a -> Nested a #

min :: Nested a -> Nested a -> Nested a #

Show a => Show (Nested a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

showsPrec :: Int -> Nested a -> ShowS #

show :: Nested a -> String #

showList :: [Nested a] -> ShowS #

Generic (Nested a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Rep (Nested a) :: Type -> Type #

Methods

from :: Nested a -> Rep (Nested a) x #

to :: Rep (Nested a) x -> Nested a #

Semigroup a => Semigroup (Nested a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(<>) :: Nested a -> Nested a -> Nested a #

sconcat :: NonEmpty (Nested a) -> Nested a #

stimes :: Integral b => b -> Nested a -> Nested a #

Semigroup a => Monoid (Nested a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

mempty :: Nested a #

mappend :: Nested a -> Nested a -> Nested a #

mconcat :: [Nested a] -> Nested a #

Arbitrary a => Arbitrary (Nested a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

arbitrary :: Gen (Nested a) #

shrink :: Nested a -> [Nested a] #

NFData a => NFData (Nested a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

rnf :: Nested a -> () #

(Named a, Message a) => MessageField (Nested a) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (Nested a) Source # 
Instance details

Defined in Proto3.Suite.Class

(Ord k, Primitive k, Named v, Message v, MessageField k) => MessageField (Map k (Nested v)) Source # 
Instance details

Defined in Proto3.Suite.Class

type Rep (Nested a) Source # 
Instance details

Defined in Proto3.Suite.Types

type Rep (Nested a) = D1 ('MetaData "Nested" "Proto3.Suite.Types" "proto3-suite-0.4.2-J8nzVnLzLx1CRfPIE0MP0J" 'True) (C1 ('MetaCons "Nested" 'PrefixI 'True) (S1 ('MetaSel ('Just "nested") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a))))

newtype UnpackedVec a Source #

Constructors

UnpackedVec 

Fields

Instances

Instances details
Functor UnpackedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fmap :: (a -> b) -> UnpackedVec a -> UnpackedVec b #

(<$) :: a -> UnpackedVec b -> UnpackedVec a #

Applicative UnpackedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

pure :: a -> UnpackedVec a #

(<*>) :: UnpackedVec (a -> b) -> UnpackedVec a -> UnpackedVec b #

liftA2 :: (a -> b -> c) -> UnpackedVec a -> UnpackedVec b -> UnpackedVec c #

(*>) :: UnpackedVec a -> UnpackedVec b -> UnpackedVec b #

(<*) :: UnpackedVec a -> UnpackedVec b -> UnpackedVec a #

Foldable UnpackedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fold :: Monoid m => UnpackedVec m -> m #

foldMap :: Monoid m => (a -> m) -> UnpackedVec a -> m #

foldMap' :: Monoid m => (a -> m) -> UnpackedVec a -> m #

foldr :: (a -> b -> b) -> b -> UnpackedVec a -> b #

foldr' :: (a -> b -> b) -> b -> UnpackedVec a -> b #

foldl :: (b -> a -> b) -> b -> UnpackedVec a -> b #

foldl' :: (b -> a -> b) -> b -> UnpackedVec a -> b #

foldr1 :: (a -> a -> a) -> UnpackedVec a -> a #

foldl1 :: (a -> a -> a) -> UnpackedVec a -> a #

toList :: UnpackedVec a -> [a] #

null :: UnpackedVec a -> Bool #

length :: UnpackedVec a -> Int #

elem :: Eq a => a -> UnpackedVec a -> Bool #

maximum :: Ord a => UnpackedVec a -> a #

minimum :: Ord a => UnpackedVec a -> a #

sum :: Num a => UnpackedVec a -> a #

product :: Num a => UnpackedVec a -> a #

Traversable UnpackedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

traverse :: Applicative f => (a -> f b) -> UnpackedVec a -> f (UnpackedVec b) #

sequenceA :: Applicative f => UnpackedVec (f a) -> f (UnpackedVec a) #

mapM :: Monad m => (a -> m b) -> UnpackedVec a -> m (UnpackedVec b) #

sequence :: Monad m => UnpackedVec (m a) -> m (UnpackedVec a) #

Alternative UnpackedVec Source # 
Instance details

Defined in Proto3.Suite.Types

IsList (UnpackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Item (UnpackedVec a) #

Eq a => Eq (UnpackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Ord a => Ord (UnpackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Show a => Show (UnpackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Semigroup (UnpackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Monoid (UnpackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Arbitrary a => Arbitrary (UnpackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

NFData a => NFData (UnpackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

rnf :: UnpackedVec a -> () #

Primitive a => MessageField (UnpackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (UnpackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Class

type Item (UnpackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

type Item (UnpackedVec a) = a

newtype PackedVec a Source #

PackedVec provides a way to encode packed lists of basic protobuf types into the wire format.

Constructors

PackedVec 

Fields

Instances

Instances details
Functor PackedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fmap :: (a -> b) -> PackedVec a -> PackedVec b #

(<$) :: a -> PackedVec b -> PackedVec a #

Applicative PackedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

pure :: a -> PackedVec a #

(<*>) :: PackedVec (a -> b) -> PackedVec a -> PackedVec b #

liftA2 :: (a -> b -> c) -> PackedVec a -> PackedVec b -> PackedVec c #

(*>) :: PackedVec a -> PackedVec b -> PackedVec b #

(<*) :: PackedVec a -> PackedVec b -> PackedVec a #

Foldable PackedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fold :: Monoid m => PackedVec m -> m #

foldMap :: Monoid m => (a -> m) -> PackedVec a -> m #

foldMap' :: Monoid m => (a -> m) -> PackedVec a -> m #

foldr :: (a -> b -> b) -> b -> PackedVec a -> b #

foldr' :: (a -> b -> b) -> b -> PackedVec a -> b #

foldl :: (b -> a -> b) -> b -> PackedVec a -> b #

foldl' :: (b -> a -> b) -> b -> PackedVec a -> b #

foldr1 :: (a -> a -> a) -> PackedVec a -> a #

foldl1 :: (a -> a -> a) -> PackedVec a -> a #

toList :: PackedVec a -> [a] #

null :: PackedVec a -> Bool #

length :: PackedVec a -> Int #

elem :: Eq a => a -> PackedVec a -> Bool #

maximum :: Ord a => PackedVec a -> a #

minimum :: Ord a => PackedVec a -> a #

sum :: Num a => PackedVec a -> a #

product :: Num a => PackedVec a -> a #

Traversable PackedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

traverse :: Applicative f => (a -> f b) -> PackedVec a -> f (PackedVec b) #

sequenceA :: Applicative f => PackedVec (f a) -> f (PackedVec a) #

mapM :: Monad m => (a -> m b) -> PackedVec a -> m (PackedVec b) #

sequence :: Monad m => PackedVec (m a) -> m (PackedVec a) #

Alternative PackedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

empty :: PackedVec a #

(<|>) :: PackedVec a -> PackedVec a -> PackedVec a #

some :: PackedVec a -> PackedVec [a] #

many :: PackedVec a -> PackedVec [a] #

IsList (PackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Item (PackedVec a) #

Methods

fromList :: [Item (PackedVec a)] -> PackedVec a #

fromListN :: Int -> [Item (PackedVec a)] -> PackedVec a #

toList :: PackedVec a -> [Item (PackedVec a)] #

Eq a => Eq (PackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(==) :: PackedVec a -> PackedVec a -> Bool #

(/=) :: PackedVec a -> PackedVec a -> Bool #

Ord a => Ord (PackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Show a => Show (PackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Semigroup (PackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(<>) :: PackedVec a -> PackedVec a -> PackedVec a #

sconcat :: NonEmpty (PackedVec a) -> PackedVec a #

stimes :: Integral b => b -> PackedVec a -> PackedVec a #

Monoid (PackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Arbitrary a => Arbitrary (PackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

arbitrary :: Gen (PackedVec a) #

shrink :: PackedVec a -> [PackedVec a] #

NFData a => NFData (PackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

rnf :: PackedVec a -> () #

MessageField (PackedVec Bool) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec Double) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec Float) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec Int32) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec Int64) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec Word32) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec Word64) Source # 
Instance details

Defined in Proto3.Suite.Class

(Named e, ProtoEnum e) => MessageField (PackedVec (Enumerated e)) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec (Signed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec (Signed Int64)) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec (Signed (Fixed Int32))) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec (Signed (Fixed Int64))) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec (Fixed Word32)) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec (Fixed Word64)) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (PackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Class

type Item (PackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

type Item (PackedVec a) = a

newtype NestedVec a Source #

Constructors

NestedVec 

Fields

Instances

Instances details
Functor NestedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fmap :: (a -> b) -> NestedVec a -> NestedVec b #

(<$) :: a -> NestedVec b -> NestedVec a #

Applicative NestedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

pure :: a -> NestedVec a #

(<*>) :: NestedVec (a -> b) -> NestedVec a -> NestedVec b #

liftA2 :: (a -> b -> c) -> NestedVec a -> NestedVec b -> NestedVec c #

(*>) :: NestedVec a -> NestedVec b -> NestedVec b #

(<*) :: NestedVec a -> NestedVec b -> NestedVec a #

Foldable NestedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fold :: Monoid m => NestedVec m -> m #

foldMap :: Monoid m => (a -> m) -> NestedVec a -> m #

foldMap' :: Monoid m => (a -> m) -> NestedVec a -> m #

foldr :: (a -> b -> b) -> b -> NestedVec a -> b #

foldr' :: (a -> b -> b) -> b -> NestedVec a -> b #

foldl :: (b -> a -> b) -> b -> NestedVec a -> b #

foldl' :: (b -> a -> b) -> b -> NestedVec a -> b #

foldr1 :: (a -> a -> a) -> NestedVec a -> a #

foldl1 :: (a -> a -> a) -> NestedVec a -> a #

toList :: NestedVec a -> [a] #

null :: NestedVec a -> Bool #

length :: NestedVec a -> Int #

elem :: Eq a => a -> NestedVec a -> Bool #

maximum :: Ord a => NestedVec a -> a #

minimum :: Ord a => NestedVec a -> a #

sum :: Num a => NestedVec a -> a #

product :: Num a => NestedVec a -> a #

Traversable NestedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

traverse :: Applicative f => (a -> f b) -> NestedVec a -> f (NestedVec b) #

sequenceA :: Applicative f => NestedVec (f a) -> f (NestedVec a) #

mapM :: Monad m => (a -> m b) -> NestedVec a -> m (NestedVec b) #

sequence :: Monad m => NestedVec (m a) -> m (NestedVec a) #

Alternative NestedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

empty :: NestedVec a #

(<|>) :: NestedVec a -> NestedVec a -> NestedVec a #

some :: NestedVec a -> NestedVec [a] #

many :: NestedVec a -> NestedVec [a] #

IsList (NestedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Item (NestedVec a) #

Methods

fromList :: [Item (NestedVec a)] -> NestedVec a #

fromListN :: Int -> [Item (NestedVec a)] -> NestedVec a #

toList :: NestedVec a -> [Item (NestedVec a)] #

Eq a => Eq (NestedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(==) :: NestedVec a -> NestedVec a -> Bool #

(/=) :: NestedVec a -> NestedVec a -> Bool #

Ord a => Ord (NestedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Show a => Show (NestedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Semigroup (NestedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(<>) :: NestedVec a -> NestedVec a -> NestedVec a #

sconcat :: NonEmpty (NestedVec a) -> NestedVec a #

stimes :: Integral b => b -> NestedVec a -> NestedVec a #

Monoid (NestedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Arbitrary a => Arbitrary (NestedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

arbitrary :: Gen (NestedVec a) #

shrink :: NestedVec a -> [NestedVec a] #

NFData a => NFData (NestedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

rnf :: NestedVec a -> () #

(Named a, Message a) => MessageField (NestedVec a) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (NestedVec a) Source # 
Instance details

Defined in Proto3.Suite.Class

type Item (NestedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

type Item (NestedVec a) = a

newtype Commented (comment :: Symbol) a Source #

Commented provides a way to add comments to generated .proto files.

Constructors

Commented 

Fields

Instances

Instances details
Functor (Commented comment) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fmap :: (a -> b) -> Commented comment a -> Commented comment b #

(<$) :: a -> Commented comment b -> Commented comment a #

Foldable (Commented comment) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

fold :: Monoid m => Commented comment m -> m #

foldMap :: Monoid m => (a -> m) -> Commented comment a -> m #

foldMap' :: Monoid m => (a -> m) -> Commented comment a -> m #

foldr :: (a -> b -> b) -> b -> Commented comment a -> b #

foldr' :: (a -> b -> b) -> b -> Commented comment a -> b #

foldl :: (b -> a -> b) -> b -> Commented comment a -> b #

foldl' :: (b -> a -> b) -> b -> Commented comment a -> b #

foldr1 :: (a -> a -> a) -> Commented comment a -> a #

foldl1 :: (a -> a -> a) -> Commented comment a -> a #

toList :: Commented comment a -> [a] #

null :: Commented comment a -> Bool #

length :: Commented comment a -> Int #

elem :: Eq a => a -> Commented comment a -> Bool #

maximum :: Ord a => Commented comment a -> a #

minimum :: Ord a => Commented comment a -> a #

sum :: Num a => Commented comment a -> a #

product :: Num a => Commented comment a -> a #

Traversable (Commented comment) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

traverse :: Applicative f => (a -> f b) -> Commented comment a -> f (Commented comment b) #

sequenceA :: Applicative f => Commented comment (f a) -> f (Commented comment a) #

mapM :: Monad m => (a -> m b) -> Commented comment a -> m (Commented comment b) #

sequence :: Monad m => Commented comment (m a) -> m (Commented comment a) #

Eq a => Eq (Commented comment a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(==) :: Commented comment a -> Commented comment a -> Bool #

(/=) :: Commented comment a -> Commented comment a -> Bool #

Ord a => Ord (Commented comment a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

compare :: Commented comment a -> Commented comment a -> Ordering #

(<) :: Commented comment a -> Commented comment a -> Bool #

(<=) :: Commented comment a -> Commented comment a -> Bool #

(>) :: Commented comment a -> Commented comment a -> Bool #

(>=) :: Commented comment a -> Commented comment a -> Bool #

max :: Commented comment a -> Commented comment a -> Commented comment a #

min :: Commented comment a -> Commented comment a -> Commented comment a #

Show a => Show (Commented comment a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

showsPrec :: Int -> Commented comment a -> ShowS #

show :: Commented comment a -> String #

showList :: [Commented comment a] -> ShowS #

Generic (Commented comment a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Rep (Commented comment a) :: Type -> Type #

Methods

from :: Commented comment a -> Rep (Commented comment a) x #

to :: Rep (Commented comment a) x -> Commented comment a #

Semigroup a => Semigroup (Commented comment a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

(<>) :: Commented comment a -> Commented comment a -> Commented comment a #

sconcat :: NonEmpty (Commented comment a) -> Commented comment a #

stimes :: Integral b => b -> Commented comment a -> Commented comment a #

Monoid a => Monoid (Commented comment a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

mempty :: Commented comment a #

mappend :: Commented comment a -> Commented comment a -> Commented comment a #

mconcat :: [Commented comment a] -> Commented comment a #

Arbitrary a => Arbitrary (Commented comment a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

arbitrary :: Gen (Commented comment a) #

shrink :: Commented comment a -> [Commented comment a] #

NFData a => NFData (Commented comment a) Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

rnf :: Commented comment a -> () #

(MessageField e, KnownSymbol comments) => MessageField (e // comments) Source # 
Instance details

Defined in Proto3.Suite.Class

type Rep (Commented comment a) Source # 
Instance details

Defined in Proto3.Suite.Types

type Rep (Commented comment a) = D1 ('MetaData "Commented" "Proto3.Suite.Types" "proto3-suite-0.4.2-J8nzVnLzLx1CRfPIE0MP0J" 'True) (C1 ('MetaCons "Commented" 'PrefixI 'True) (S1 ('MetaSel ('Just "unCommented") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

type (//) a (comment :: Symbol) = Commented comment a Source #

A type operator synonym for Commented, so that we can write C-style comments on fields.