proto3-suite-0.9.4: A higher-level API to the proto3-wire library
Safe HaskellNone
LanguageHaskell2010

Proto3.Suite

Description

Protocol Buffers v3 for Haskell

This package defines tools for working with protocol buffers version 3 in Haskell.

Specifically, it provides:

  • Low-level functions for encoding and decoding messages
  • Type classes for encoding and decoding messages, and instances for all wire formats identified in the specification
  • A higher-level approach to encoding and decoding, based on GHC.Generics
  • A way of creating .proto files from Haskell types.

See the Proto3.Suite.Tutorial module for more details.

Synopsis

Message Encoding/Decoding

toLazyByteString :: Message a => a -> ByteString Source #

Serialize a message as a lazy ByteString.

fromByteString :: Message a => ByteString -> Either ParseError a Source #

Parse any message that can be decoded.

fromB64 :: Message a => ByteString -> Either ParseError a Source #

As fromByteString, except the input bytestring is base64-encoded.

class Message a where Source #

This class captures those types which correspond to protocol buffer messages.

Minimal complete definition

Nothing

Methods

encodeMessage :: FieldNumber -> a -> MessageBuilder Source #

Encode a message

decodeMessage :: FieldNumber -> Parser RawMessage a Source #

Decode a message

dotProto :: Proxy# a -> [DotProtoField] Source #

Generate a .proto message from the type information.

Instances

Instances details
Message Int32 Source # 
Instance details

Defined in Proto3.Suite.Class

Message Int64 Source # 
Instance details

Defined in Proto3.Suite.Class

Message Word32 Source # 
Instance details

Defined in Proto3.Suite.Class

Message Word64 Source # 
Instance details

Defined in Proto3.Suite.Class

Message ByteString Source # 
Instance details

Defined in Proto3.Suite.Class

Message ByteString Source # 
Instance details

Defined in Proto3.Suite.Class

Message ShortByteString Source # 
Instance details

Defined in Proto3.Suite.Class

Message Timestamp Source # 
Instance details

Defined in Google.Protobuf.Timestamp

Message Bar Source # 
Instance details

Defined in Proto3.Suite.Tutorial

Message Foo Source # 
Instance details

Defined in Proto3.Suite.Tutorial

Message Text Source # 
Instance details

Defined in Proto3.Suite.Class

Message Text Source # 
Instance details

Defined in Proto3.Suite.Class

Message ShortText Source # 
Instance details

Defined in Proto3.Suite.Class

Message Bool Source # 
Instance details

Defined in Proto3.Suite.Class

Message Double Source # 
Instance details

Defined in Proto3.Suite.Class

Message Float Source # 
Instance details

Defined in Proto3.Suite.Class

(MessageField a, Primitive a) => Message (Wrapped a) Source # 
Instance details

Defined in Proto3.Suite.Class

Message (String Text) Source # 
Instance details

Defined in Proto3.Suite.Class

Message (String Text) Source # 
Instance details

Defined in Proto3.Suite.Class

Message (String ShortText) Source # 
Instance details

Defined in Proto3.Suite.Class

(MessageField k, MessageField v) => Message (k, v) Source # 
Instance details

Defined in Proto3.Suite.Class

class MessageField a where Source #

This class captures those types which can appear as message fields in the protocol buffers specification, i.e. Primitive types, or lists of Primitive types

Minimal complete definition

Nothing

Methods

encodeMessageField :: FieldNumber -> a -> MessageBuilder Source #

Encode a message field

decodeMessageField :: Parser RawField a Source #

Decode a message field

protoType :: Proxy# a -> DotProtoField Source #

Get the type which represents this type inside another message.

Instances

Instances details
MessageField Int32 Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField Int64 Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField Word32 Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField Word64 Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField ByteString Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField ByteString Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField ShortByteString Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField Text Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField Text Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField ShortText Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField Bool Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField Double Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField Float Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (Bytes ByteString) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (Bytes ByteString) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (Bytes ShortByteString) Source # 
Instance details

Defined in Proto3.Suite.Class

(Named e, ProtoEnum e) => MessageField (Enumerated e) 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

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

Defined in Proto3.Suite.Class

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

Defined in Proto3.Suite.Class

(Named a, Message a) => MessageField (NestedVec a) 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 (Fixed Word32)) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec (Fixed Word64)) 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 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 (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

MessageField (String Text) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (String Text) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (String ShortText) Source # 
Instance details

Defined in Proto3.Suite.Class

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

Defined in Proto3.Suite.Class

Primitive a => MessageField (Maybe (ForceEmit 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

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

Defined in Proto3.Suite.Class

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

Defined in Proto3.Suite.Class

class Primitive a where Source #

This class captures those types which correspond to primitives in the protocol buffers specification.

It should be possible to fully reconstruct values of these types from a single RawPrimitive. Notably, then, Nested is not Primitive even though it can be embedded, since a nested message may by split up over multiple embedded fields.

Minimal complete definition

encodePrimitive, decodePrimitive

Methods

encodePrimitive :: FieldNumber -> a -> MessageBuilder Source #

Encode a primitive value

decodePrimitive :: Parser RawPrimitive a Source #

Decode a primitive value

primType :: Proxy# a -> DotProtoPrimType Source #

Get the type which represents this type inside another message.

Instances

Instances details
Primitive Int32 Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive Int64 Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive Word32 Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive Word64 Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive ByteString Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive ByteString Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive ShortByteString Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive Text Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive Text Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive ShortText Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive Bool Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive Double Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive Float Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive (Bytes ByteString) Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive (Bytes ByteString) Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive (Bytes ShortByteString) Source # 
Instance details

Defined in Proto3.Suite.Class

(Named e, ProtoEnum e) => Primitive (Enumerated e) 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

Primitive a => Primitive (ForceEmit a) 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

Primitive (String Text) Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive (String Text) Source # 
Instance details

Defined in Proto3.Suite.Class

Primitive (String ShortText) Source # 
Instance details

Defined in Proto3.Suite.Class

class HasDefault a where Source #

A class for types with default values per the protocol buffers spec.

Minimal complete definition

Nothing

Methods

def :: a Source #

The default value for this type.

default def :: (Generic a, GenericHasDefault (Rep a)) => a Source #

isDefault :: a -> Bool Source #

default isDefault :: Eq a => a -> Bool Source #

Instances

Instances details
HasDefault Encoding Source #
>>> isDefault (def :: E.Encoding)
True
Instance details

Defined in Proto3.Suite.JSONPB.Class

HasDefault Value Source #
>>> isDefault (def :: A.Value)
True
Instance details

Defined in Proto3.Suite.JSONPB.Class

HasDefault Int32 Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault Int64 Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault Word32 Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault Word64 Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault ByteString Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault ByteString Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault ShortByteString Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault Timestamp Source # 
Instance details

Defined in Google.Protobuf.Timestamp

HasDefault Text Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault Text Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault ShortText Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault Integer Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault Bool Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault Double Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault Float Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault Int Source # 
Instance details

Defined in Proto3.Suite.Class

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

Defined in Proto3.Suite.Class

HasDefault (Bytes ByteString) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (Bytes ByteString) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (Bytes ShortByteString) Source # 
Instance details

Defined in Proto3.Suite.Class

ProtoEnum e => HasDefault (Enumerated e) 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

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

Defined in Proto3.Suite.Class

HasDefault (Nested a) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (NestedVec a) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (PackedVec a) 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

HasDefault (String Text) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (String Text) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (String ShortText) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (UnpackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Class

HasDefault (Vector a) Source #

Used in fields of generated records to represent an unwrapped PackedVec/UnpackedVec

Instance details

Defined in Proto3.Suite.Class

Methods

def :: Vector a Source #

isDefault :: Vector a -> Bool Source #

HasDefault (Maybe a) Source #

Used in generated records to represent an unwrapped Nested

Instance details

Defined in Proto3.Suite.Class

Methods

def :: Maybe a Source #

isDefault :: Maybe a -> Bool Source #

HasDefault (Map k v) Source # 
Instance details

Defined in Proto3.Suite.Class

Methods

def :: Map k v Source #

isDefault :: Map k v -> Bool Source #

newtype FieldNumber #

A FieldNumber identifies a field inside a protobufs message.

This library makes no attempt to generate these automatically, or even make sure that field numbers are provided in increasing order. Such things are left to other, higher-level libraries.

Constructors

FieldNumber 

Instances

Instances details
Arbitrary FieldNumber 
Instance details

Defined in Proto3.Wire.Types

Data FieldNumber 
Instance details

Defined in Proto3.Wire.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FieldNumber -> c FieldNumber #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FieldNumber #

toConstr :: FieldNumber -> Constr #

dataTypeOf :: FieldNumber -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FieldNumber) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FieldNumber) #

gmapT :: (forall b. Data b => b -> b) -> FieldNumber -> FieldNumber #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FieldNumber -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FieldNumber -> r #

gmapQ :: (forall d. Data d => d -> u) -> FieldNumber -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FieldNumber -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FieldNumber -> m FieldNumber #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldNumber -> m FieldNumber #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldNumber -> m FieldNumber #

Bounded FieldNumber 
Instance details

Defined in Proto3.Wire.Types

Enum FieldNumber 
Instance details

Defined in Proto3.Wire.Types

Generic FieldNumber 
Instance details

Defined in Proto3.Wire.Types

Associated Types

type Rep FieldNumber 
Instance details

Defined in Proto3.Wire.Types

type Rep FieldNumber = D1 ('MetaData "FieldNumber" "Proto3.Wire.Types" "proto3-wire-1.4.6-JpQYM56wnxTLEvqdn0W1pP" 'True) (C1 ('MetaCons "FieldNumber" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFieldNumber") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))
Num FieldNumber 
Instance details

Defined in Proto3.Wire.Types

Show FieldNumber 
Instance details

Defined in Proto3.Wire.Types

NFData FieldNumber 
Instance details

Defined in Proto3.Wire.Types

Methods

rnf :: FieldNumber -> () #

Eq FieldNumber 
Instance details

Defined in Proto3.Wire.Types

Ord FieldNumber 
Instance details

Defined in Proto3.Wire.Types

Hashable FieldNumber 
Instance details

Defined in Proto3.Wire.Types

Lift FieldNumber 
Instance details

Defined in Proto3.Wire.Types

Methods

lift :: Quote m => FieldNumber -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => FieldNumber -> Code m FieldNumber #

type Rep FieldNumber 
Instance details

Defined in Proto3.Wire.Types

type Rep FieldNumber = D1 ('MetaData "FieldNumber" "Proto3.Wire.Types" "proto3-wire-1.4.6-JpQYM56wnxTLEvqdn0W1pP" 'True) (C1 ('MetaCons "FieldNumber" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFieldNumber") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

fieldNumber :: Word64 -> FieldNumber #

Create a FieldNumber given the (one-based) integer which would label the field in the corresponding .proto file.

Documentation

message :: (Message a, Named a) => Proxy# a -> DotProtoDefinition Source #

Generate metadata for a message type.

enum :: (Finite e, Named e) => Proxy# e -> DotProtoDefinition Source #

Generate metadata for an enum type.

data RenderingOptions Source #

Options for rendering a .proto file.

Constructors

RenderingOptions 

Fields

class Named a where Source #

This class captures those types whose names need to appear in .proto files.

It has a default implementation for any data type which is an instance of the Generic class, which will extract the name of the type constructor.

Minimal complete definition

Nothing

Methods

nameOf :: IsString string => Proxy# a -> string Source #

Get the name of a type constructor

default nameOf :: (IsString string, GenericNamed (Rep a)) => Proxy# a -> string Source #

Instances

Instances details
Named Timestamp Source # 
Instance details

Defined in Google.Protobuf.Timestamp

Methods

nameOf :: IsString string => Proxy# Timestamp -> string Source #

Named Bar Source # 
Instance details

Defined in Proto3.Suite.Tutorial

Methods

nameOf :: IsString string => Proxy# Bar -> string Source #

Named Foo Source # 
Instance details

Defined in Proto3.Suite.Tutorial

Methods

nameOf :: IsString string => Proxy# Foo -> string Source #

Named Shape Source # 
Instance details

Defined in Proto3.Suite.Tutorial

Methods

nameOf :: IsString string => Proxy# Shape -> string Source #

NameOfWrapperFor a => Named (Wrapped a) Source # 
Instance details

Defined in Proto3.Suite.Class

Methods

nameOf :: IsString string => Proxy# (Wrapped a) -> string Source #

class ProtoEnum a => Finite a where Source #

Enumerable types with finitely many values.

This class can be derived whenever a sum type is an instance of Generic, and only consists of zero-argument constructors. The derived instance should be compatible with ProtoEnum instances, in the sense that

map (fromJust . toProtoEnumMay . snd) enumerate

should enumerate all values of the type without runtime errors.

Minimal complete definition

Nothing

Methods

enumerate :: IsString string => Proxy# a -> [(string, Int32)] Source #

Enumerate values of a finite type, along with names of constructors.

default enumerate :: (IsString string, Generic a, GenericFinite (Rep a)) => Proxy# a -> [(string, Int32)] Source #

Instances

Instances details
Finite Shape Source # 
Instance details

Defined in Proto3.Suite.Tutorial

Methods

enumerate :: IsString string => Proxy# Shape -> [(string, Int32)] Source #

Wire Formats

newtype Fixed a Source #

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

Constructors

Fixed 

Fields

Instances

Instances details
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) #

Functor Fixed Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

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

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

MessageFieldType 'Implicit 'Fixed32 (Fixed Word32) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Implicit 'Fixed64 (Fixed Word64) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Implicit 'SFixed32 (Signed (Fixed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Implicit 'SFixed64 (Signed (Fixed Int64)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Optional 'Fixed32 (Maybe (ForceEmit (Fixed Word32))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Optional 'Fixed64 (Maybe (ForceEmit (Fixed Word64))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Optional 'SFixed32 (Maybe (ForceEmit (Signed (Fixed Int32)))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Optional 'SFixed64 (Maybe (ForceEmit (Signed (Fixed Int64)))) Source # 
Instance details

Defined in Proto3.Suite.Form

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

Defined in Proto3.Suite.Types

Methods

arbitrary :: Gen (Fixed a) #

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

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

Defined in Proto3.Suite.JSONPB.Class

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

Defined in Proto3.Suite.JSONPB.Class

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] #

Generic (Fixed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Rep (Fixed a) 
Instance details

Defined in Proto3.Suite.Types

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

Methods

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

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

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 #

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 #

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

Defined in Proto3.Suite.Types

Methods

rnf :: 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 #

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 #

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

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

Defined in Proto3.Suite.Class

HasDefault (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

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 (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 (Fixed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (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

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

Defined in Proto3.Suite.Class

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

Defined in Proto3.Suite.Class

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

Defined in Proto3.Suite.JSONPB.Class

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

Defined in Proto3.Suite.JSONPB.Class

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

Defined in Proto3.Suite.DotProto.Generate.Swagger

MessageFieldType ('Repeated 'Packed) 'Fixed32 (PackedVec (Fixed Word32)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'Fixed64 (PackedVec (Fixed Word64)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'SFixed32 (PackedVec (Signed (Fixed Int32))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'SFixed64 (PackedVec (Signed (Fixed Int64))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'Fixed32 (UnpackedVec (Fixed Word32)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'Fixed64 (UnpackedVec (Fixed Word64)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'SFixed32 (UnpackedVec (Signed (Fixed Int32))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'SFixed64 (UnpackedVec (Signed (Fixed Int64))) Source # 
Instance details

Defined in Proto3.Suite.Form

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.9.4-FcQVHEDGj0SLfEGMZSCAeG" '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
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) #

Functor Signed Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

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

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

MessageFieldType 'Implicit 'SFixed32 (Signed (Fixed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Implicit 'SFixed64 (Signed (Fixed Int64)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Implicit 'SInt32 (Signed Int32) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Implicit 'SInt64 (Signed Int64) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Optional 'SFixed32 (Maybe (ForceEmit (Signed (Fixed Int32)))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Optional 'SFixed64 (Maybe (ForceEmit (Signed (Fixed Int64)))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Optional 'SInt32 (Maybe (ForceEmit (Signed Int32))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Optional 'SInt64 (Maybe (ForceEmit (Signed Int64))) Source # 
Instance details

Defined in Proto3.Suite.Form

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

Defined in Proto3.Suite.Types

Methods

arbitrary :: Gen (Signed a) #

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

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

Defined in Proto3.Suite.JSONPB.Class

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

Defined in Proto3.Suite.JSONPB.Class

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

Defined in Proto3.Suite.Types

Methods

minBound :: Signed a #

maxBound :: Signed a #

Generic (Signed a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Rep (Signed a) 
Instance details

Defined in Proto3.Suite.Types

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

Methods

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

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

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 #

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 #

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

Defined in Proto3.Suite.Types

Methods

rnf :: 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 #

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 #

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

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

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

Defined in Proto3.Suite.JSONPB.Class

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

Defined in Proto3.Suite.JSONPB.Class

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

Defined in Proto3.Suite.DotProto.Generate.Swagger

MessageFieldType ('Repeated 'Packed) 'SFixed32 (PackedVec (Signed (Fixed Int32))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'SFixed64 (PackedVec (Signed (Fixed Int64))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'SInt32 (PackedVec (Signed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'SInt64 (PackedVec (Signed Int64)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'SFixed32 (UnpackedVec (Signed (Fixed Int32))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'SFixed64 (UnpackedVec (Signed (Fixed Int64))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'SInt32 (UnpackedVec (Signed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'SInt64 (UnpackedVec (Signed Int64)) Source # 
Instance details

Defined in Proto3.Suite.Form

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.9.4-FcQVHEDGj0SLfEGMZSCAeG" 'True) (C1 ('MetaCons "Signed" 'PrefixI 'True) (S1 ('MetaSel ('Just "signed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

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
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) #

Functor Enumerated Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

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

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

(ProtoEnum e, FieldForm 'Implicit 'Int32 Int32) => FieldForm 'Implicit ('Enumeration e) (Enumerated e :: Type) Source # 
Instance details

Defined in Proto3.Suite.Form.Encode

(ProtoEnum e, FieldForm 'Optional 'Int32 (Identity Int32)) => FieldForm 'Optional ('Enumeration e) (Identity (Enumerated e) :: Type) Source # 
Instance details

Defined in Proto3.Suite.Form.Encode

MessageFieldType 'Implicit ('Enumeration e) (Enumerated e) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType 'Optional ('Enumeration e) (Maybe (ForceEmit (Enumerated e))) Source # 
Instance details

Defined in Proto3.Suite.Form

ProtoEnum a => Arbitrary (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) 
Instance details

Defined in Proto3.Suite.Types

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

Methods

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

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

Show a => Show (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 -> () #

ProtoEnum a => Eq (Enumerated a) Source #

We consider two enumerated values to be equal if they serialize to the same code.

Instance details

Defined in Proto3.Suite.Types

Methods

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

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

ProtoEnum a => Ord (Enumerated a) Source #

We compare two enumerated values by comparing the code to which they serialize.

Instance details

Defined in Proto3.Suite.Types

ProtoEnum e => HasDefault (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) => MessageField (PackedVec (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, FromJSONPB e) => FromJSONPB (Enumerated e) Source #

Supports both names and integer codes, as required by: https://developers.google.com/protocol-buffers/docs/proto3#json

Instance details

Defined in Proto3.Suite.JSONPB.Class

ToJSONPB e => ToJSONPB (Enumerated e) Source #

If you ask for an unrecognized enumerator code to be emitted, then this instance will emit it numerically, relying upon parser behavior required by: https://developers.google.com/protocol-buffers/docs/proto3#json

Instance details

Defined in Proto3.Suite.JSONPB.Class

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

JSONPB schemas for protobuf enumerations

Instance details

Defined in Proto3.Suite.DotProto.Generate.Swagger

MessageFieldType ('Repeated 'Packed) ('Enumeration e) (PackedVec (Enumerated e)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) ('Enumeration e) (UnpackedVec (Enumerated e)) Source # 
Instance details

Defined in Proto3.Suite.Form

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.9.4-FcQVHEDGj0SLfEGMZSCAeG" 'True) (C1 ('MetaCons "Enumerated" 'PrefixI 'True) (S1 ('MetaSel ('Just "enumerated") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either Int32 a))))

newtype Nested a Source #

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

Constructors

Nested 

Fields

Instances

Instances details
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] #

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 #

Functor Nested Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

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

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

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 #

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

Defined in Proto3.Suite.Types

Methods

arbitrary :: Gen (Nested a) #

shrink :: 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 #

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 #

Generic (Nested a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Rep (Nested a) 
Instance details

Defined in Proto3.Suite.Types

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

Methods

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

to :: Rep (Nested a) x -> 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 #

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

Defined in Proto3.Suite.Types

Methods

rnf :: 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 #

HasDefault (Nested a) Source # 
Instance details

Defined in Proto3.Suite.Class

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

Defined in Proto3.Suite.Class

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

Defined in Proto3.Suite.JSONPB.Class

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

Defined in Proto3.Suite.JSONPB.Class

ToSchema (Maybe a) => ToSchema (Nested a) Source # 
Instance details

Defined in Proto3.Suite.DotProto.Generate.Swagger

(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.9.4-FcQVHEDGj0SLfEGMZSCAeG" '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
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

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 #

Functor UnpackedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

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

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

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

Defined in Proto3.Suite.Types

Monoid (UnpackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Semigroup (UnpackedVec a) 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) 
Instance details

Defined in Proto3.Suite.Types

type Item (UnpackedVec a) = a
Show a => Show (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 -> () #

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

HasDefault (UnpackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Class

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

Defined in Proto3.Suite.Class

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

Defined in Proto3.Suite.JSONPB.Class

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

Defined in Proto3.Suite.JSONPB.Class

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

Defined in Proto3.Suite.DotProto.Generate.Swagger

MessageFieldType ('Repeated 'Unpacked) 'Bool (UnpackedVec Bool) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'Bytes (UnpackedVec (Bytes a)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'Double (UnpackedVec Double) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'Fixed32 (UnpackedVec (Fixed Word32)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'Fixed64 (UnpackedVec (Fixed Word64)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'Float (UnpackedVec Float) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'Int32 (UnpackedVec Int32) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'Int64 (UnpackedVec Int64) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'SFixed32 (UnpackedVec (Signed (Fixed Int32))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'SFixed64 (UnpackedVec (Signed (Fixed Int64))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'SInt32 (UnpackedVec (Signed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'SInt64 (UnpackedVec (Signed Int64)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'String (UnpackedVec (String a)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'UInt32 (UnpackedVec Word32) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) 'UInt64 (UnpackedVec Word64) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Unpacked) ('Enumeration e) (UnpackedVec (Enumerated e)) Source # 
Instance details

Defined in Proto3.Suite.Form

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
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] #

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 #

Functor PackedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

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

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

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

Defined in Proto3.Suite.Types

Methods

arbitrary :: Gen (PackedVec a) #

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

Monoid (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 #

IsList (PackedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Item (PackedVec a) 
Instance details

Defined in Proto3.Suite.Types

type Item (PackedVec a) = a

Methods

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

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

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

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

Defined in Proto3.Suite.Types

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

Defined in Proto3.Suite.Types

Methods

rnf :: 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

HasDefault (PackedVec a) 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 (Fixed Word32)) Source # 
Instance details

Defined in Proto3.Suite.Class

MessageField (PackedVec (Fixed Word64)) 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 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

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

Defined in Proto3.Suite.JSONPB.Class

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

Defined in Proto3.Suite.JSONPB.Class

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

Defined in Proto3.Suite.DotProto.Generate.Swagger

MessageFieldType ('Repeated 'Packed) 'Bool (PackedVec Bool) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'Double (PackedVec Double) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'Fixed32 (PackedVec (Fixed Word32)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'Fixed64 (PackedVec (Fixed Word64)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'Float (PackedVec Float) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'Int32 (PackedVec Int32) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'Int64 (PackedVec Int64) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'SFixed32 (PackedVec (Signed (Fixed Int32))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'SFixed64 (PackedVec (Signed (Fixed Int64))) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'SInt32 (PackedVec (Signed Int32)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'SInt64 (PackedVec (Signed Int64)) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'UInt32 (PackedVec Word32) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) 'UInt64 (PackedVec Word64) Source # 
Instance details

Defined in Proto3.Suite.Form

MessageFieldType ('Repeated 'Packed) ('Enumeration e) (PackedVec (Enumerated e)) Source # 
Instance details

Defined in Proto3.Suite.Form

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
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] #

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 #

Functor NestedVec Source # 
Instance details

Defined in Proto3.Suite.Types

Methods

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

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

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

Defined in Proto3.Suite.Types

Methods

arbitrary :: Gen (NestedVec a) #

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

Monoid (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 #

IsList (NestedVec a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Item (NestedVec a) 
Instance details

Defined in Proto3.Suite.Types

type Item (NestedVec a) = a

Methods

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

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

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

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

Defined in Proto3.Suite.Types

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

Defined in Proto3.Suite.Types

Methods

rnf :: 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

HasDefault (NestedVec a) Source # 
Instance details

Defined in Proto3.Suite.Class

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

Defined in Proto3.Suite.Class

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

Defined in Proto3.Suite.JSONPB.Class

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

Defined in Proto3.Suite.JSONPB.Class

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

Defined in Proto3.Suite.DotProto.Generate.Swagger

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
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) #

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 #

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] #

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 #

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 #

Generic (Commented comment a) Source # 
Instance details

Defined in Proto3.Suite.Types

Associated Types

type Rep (Commented comment a) 
Instance details

Defined in Proto3.Suite.Types

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

Methods

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

to :: Rep (Commented comment a) x -> 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 #

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

Defined in Proto3.Suite.Types

Methods

rnf :: 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 #

(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.9.4-FcQVHEDGj0SLfEGMZSCAeG" '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.

AST