| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Proto3.Suite.Form.Encode
Contents
Description
Encodes to protobuf directly from application-specific source data without an intermediate value of a type generated from protobuf message definitions.
Use compile-proto-file --typeLevelFormat ... to generate supporting code.
Importantly, code generation does not make use of this module, instead using only Proto3.Suite.Form. Therefore one can replace this module with another that makes use of the same generated code.
WARNING: This module is experimental and breaking changes may occur much more frequently than in the other modules of this package, perhaps even in patch releases.
Example .proto file:
syntax = "proto3";
package Example;
message Submessage {
};
message Message {
sint32 implicitField = 1;
optional sint32 optionalField = 2;
repeated sint32 repeatedField = 3;
Submessage submessageField = 4;
map<sint32, string> mapField = 5;
}Example Haskell program:
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TypeApplications #-}
import Control.Category ((.), id)
import Data.ByteString.Lazy (writeFile)
import Data.Text.Short (ShortText)
import Data.Word (Word8)
import Example (Message, Submessage)
import Prelude hiding ((.), id)
import Proto3.Suite.Form (Association, ProtoType(SInt32, String))
import Proto3.Suite.Form.Encode
(Auto(..), MessageEncoder, associations, field,
fieldsToMessage, messageEncoderToLazyByteString)
import Proto3.Wire.Encode.Repeated (mapRepeated)
main :: IO ()
main = do
let assoc :: (Word8, ShortText) -> MessageEncoder (Association 'SInt32 'String)
assoc (k, v) = fieldsToMessage (field @"key" k . field @"value" v)
Data.ByteString.Lazy.writeFile "example.data" $
messageEncoderToLazyByteString $
fieldsToMessage @Message $
field @"implicitField" @Word8 123 .
field @"optionalField" (Just (Auto 456)) .
field @"repeatedField" (mapRepeated Auto [789, 321]) .
field @"submessageField" (Just (fieldsToMessage @Submessage id)) .
associations @"mapField" (mapRepeated assoc [(3, "abc"), (5, "xyz")])Synopsis
- newtype MessageEncoder message = UnsafeMessageEncoder {}
- messageEncoderToLazyByteString :: MessageEncoder message -> ByteString
- messageEncoderToByteString :: MessageEncoder message -> ByteString
- etaMessageEncoder :: (a -> MessageEncoder message) -> a -> MessageEncoder message
- unsafeByteStringToMessageEncoder :: ByteString -> MessageEncoder message
- data MessageEncoding message
- messageCache :: Message message => message -> MessageEncoding message
- cacheMessageEncoding :: MessageEncoder message -> MessageEncoding message
- cachedMessageEncoding :: MessageEncoding message -> MessageEncoder message
- messageEncodingToByteString :: MessageEncoding message -> ByteString
- unsafeByteStringToMessageEncoding :: ByteString -> MessageEncoding message
- newtype FieldsEncoder message (possible :: [Symbol]) (following :: [Symbol]) = UnsafeFieldsEncoder {}
- etaFieldsEncoder :: forall a message (possible :: [Symbol]) (following :: [Symbol]). (a -> FieldsEncoder message possible following) -> a -> FieldsEncoder message possible following
- data FieldsEncoding message (possible :: [Symbol]) (following :: [Symbol])
- cacheFieldsEncoding :: forall message (possible :: [Symbol]) (following :: [Symbol]). FieldsEncoder message possible following -> FieldsEncoding message possible following
- cachedFieldsEncoding :: forall message (possible :: [Symbol]) (following :: [Symbol]). FieldsEncoding message possible following -> FieldsEncoder message possible following
- type Distinct message (names :: [Symbol]) = DistinctCheck message (RepeatedNames (OccupiedOnly message names))
- type family DistinctCheck message (repeated :: [k]) where ...
- type family RepeatedNames (names :: [k]) :: [k] where ...
- type family RepeatedNames1 (name :: k) (names :: [k]) (omits :: Bool) :: [k] where ...
- type family Omits (name :: k) (names :: [k]) :: Bool where ...
- type family Strip (name :: k) (names :: [k]) :: [k] where ...
- type family OccupiedOnly message (names :: [Symbol]) :: [Symbol] where ...
- type family OccupiedOnly1 message (name :: Symbol) (names :: [Symbol]) (cardinality :: Cardinality) :: [Symbol] where ...
- fieldsToMessage :: forall message (names :: [Symbol]). Distinct message names => FieldsEncoder message ('[] :: [Symbol]) names -> MessageEncoder message
- type Occupy message (name :: Symbol) (names :: [Symbol]) = Occupy1 message name names (CardinalityOf message name)
- type family Occupy1 message (name :: Symbol) (names :: [Symbol]) (cardinality :: Cardinality) :: [Symbol] where ...
- type family NameSublist (names :: [Symbol]) (moreNames :: [Symbol]) where ...
- omitted :: forall message (names :: [Symbol]) (moreNames :: [Symbol]). NameSublist names moreNames => FieldsEncoder message names moreNames
- class SFieldNumberI (fieldNumber :: Nat)
- type KnownFieldNumber message (name :: Symbol) = SFieldNumberI (NumberOf message name)
- class Field (name :: Symbol) (a :: TYPE r) message where
- field :: forall (names :: [Symbol]). a -> FieldsEncoder message names (Occupy message name names)
- class FieldForm (cardinality :: Cardinality) (protoType :: ProtoType) (a :: TYPE r) where
- fieldForm :: Proxy# cardinality -> Proxy# protoType -> FieldNumber -> a -> MessageBuilder
- newtype Wrap a = Wrap {
- unwrap :: a
- newtype Auto a = Auto {
- unauto :: a
- foldFieldsEncoders :: forall c message (names :: [Symbol]). ToRepeated c (FieldsEncoder message names names) => c -> FieldsEncoder message names names
- message :: forall (name :: Symbol) inner outer (names :: [Symbol]). (ProtoTypeOf outer name ~ 'Message inner, Field name (MessageEncoder inner) outer, KnownFieldNumber outer name) => MessageEncoder inner -> FieldsEncoder outer names (Occupy outer name names)
- associations :: forall (name :: Symbol) t (key :: ProtoType) (value :: ProtoType) message (names :: [Symbol]). (ProtoTypeOf message name ~ 'Map key value, CardinalityOf message name ~ 'Repeated 'Unpacked, Field name (t (MessageEncoder (Association key value))) message, KnownFieldNumber message name) => t (MessageEncoder (Association key value)) -> FieldsEncoder message names names
- newtype Reflection a = Reflection a
- messageReflection :: Message message => message -> MessageEncoder message
Documentation
newtype MessageEncoder message Source #
Annotates MessageBuilder with the type of protobuf message it encodes.
Prefix a tag and length to turn the message into a submessage of a larger message.
Constructors
| UnsafeMessageEncoder | |
Fields | |
Instances
messageEncoderToLazyByteString :: MessageEncoder message -> ByteString Source #
Serialize a message (or portion thereof) as a lazy ByteString.
messageEncoderToByteString :: MessageEncoder message -> ByteString Source #
Serialize a message (or portion thereof) as a strict ByteString.
Functionally equivalent to ,
and currently even the performance is the same.toStrict . messageEncoderToLazyByteString
etaMessageEncoder :: (a -> MessageEncoder message) -> a -> MessageEncoder message Source #
Like etaMessageBuilder but for MessageEncoder.
unsafeByteStringToMessageEncoder :: ByteString -> MessageEncoder message Source #
The unsafe but fast inverse of messageEncoderToByteString.
data MessageEncoding message Source #
The octet sequence that would be emitted by some
MessageEncoder having the same type parameter.
(This type is not a Semigroup because combining encodings that both
have the same non-repeated field is arguably incorrect, even though the
standard asks parsers to to try to work around such improper repetition.)
See also: cacheMessageEncoding
Instances
messageCache :: Message message => message -> MessageEncoding message Source #
Creates a message encoding by means of type class Message.
Equivalent to .cacheMessageEncoding . messageReflection
cacheMessageEncoding :: MessageEncoder message -> MessageEncoding message Source #
Precomputes the octet sequence that would be written by the given MessageEncoder.
Do this only if you expect to reuse that specific octet sequence repeatedly.
is functionally equivalent
to cachedMessageEncoding . cacheMessageEncodingid but has different performance characteristics.
See also: cacheFieldsEncoding.
cachedMessageEncoding :: MessageEncoding message -> MessageEncoder message Source #
Encodes a precomputed MessageEncoder by copying octets from a memory buffer.
See cacheMessageEncoding.
See also: cachedFieldsEncoding
messageEncodingToByteString :: MessageEncoding message -> ByteString Source #
Strips type information from the message encoding, leaving only its octets.
unsafeByteStringToMessageEncoding :: ByteString -> MessageEncoding message Source #
Unsafe because the caller must ensure that the given octets are in the correct format for a message of the specified type.
newtype FieldsEncoder message (possible :: [Symbol]) (following :: [Symbol]) Source #
A Category on builders that prefix zero or more fields to a message.
Use . to accumulate prefixes to create an MessageEncoder for a whole message.
The first type parameter specifies the type of message being built.
The second and third type parameters list the names of some subset of the oneofs and non-repeatable non-oneof fields possible within the type of message specified by the first type parameter. The third type parameter must be a suffix of the second, and limits the oneofs and non-repeatable non-oneof fields that may occur in any builder which follows the contained builder. The first parameter prefixes the names of the oneofs and non-repeatable non-oneof fields that might be written by the contained builder.
If a name ends up listed more than once, that will eventually
be detected as a compilation error; see type family Distinct.
Note that this type system permits multiple blocks of the same packed repeated field. Though that would be less compact than a single block, it is allowed by the protobuf standard.
See also: cacheFieldsEncoder
Constructors
| UnsafeFieldsEncoder | |
Fields | |
Instances
| Category (FieldsEncoder message :: [Symbol] -> [Symbol] -> Type) Source # | The Note that |
Defined in Proto3.Suite.Form.Encode.Core Methods id :: forall (a :: [Symbol]). FieldsEncoder message a a # (.) :: forall (b :: [Symbol]) (c :: [Symbol]) (a :: [Symbol]). FieldsEncoder message b c -> FieldsEncoder message a b -> FieldsEncoder message a c # | |
etaFieldsEncoder :: forall a message (possible :: [Symbol]) (following :: [Symbol]). (a -> FieldsEncoder message possible following) -> a -> FieldsEncoder message possible following Source #
Like etaMessageBuilder but for FieldsEncoder.
data FieldsEncoding message (possible :: [Symbol]) (following :: [Symbol]) Source #
The octet sequence that would be prefixed by some
FieldsEncoder having the same type parameters.
cacheFieldsEncoding :: forall message (possible :: [Symbol]) (following :: [Symbol]). FieldsEncoder message possible following -> FieldsEncoding message possible following Source #
Precomputes the octet sequence that would be written by the given FieldsEncoder.
Do this only if you expect to reuse that specific octet sequence repeatedly.
is functionally equivalent
to cachedFieldsEncoding . cacheFieldsEncodingid but has different performance characteristics.
See also: cacheMessageEncoding
cachedFieldsEncoding :: forall message (possible :: [Symbol]) (following :: [Symbol]). FieldsEncoding message possible following -> FieldsEncoder message possible following Source #
Encodes a precomputed FieldsEncoder by copying octets from a memory buffer.
See cacheFieldsEncoding.
See also: cachedMessageEncoding.
type Distinct message (names :: [Symbol]) = DistinctCheck message (RepeatedNames (OccupiedOnly message names)) Source #
Yields a satisfied constraint if the given list of names contains
no duplicates after first filtering out the names of repeated fields
and replacing the names of oneof fields with their oneof names.
Otherwise raises a compilation error mentioning the repeated names.
type family DistinctCheck message (repeated :: [k]) where ... Source #
Reports nonempty output of RepeatedNames as applied to the result of OccupiedOnly.
This type family is an implementation detail of Distinct
that is subject to change, and is exported only to assist
in understanding of compilation errors.
Equations
| DistinctCheck _1 ('[] :: [k]) = () | |
| DistinctCheck message (repeated :: [k]) = TypeError (('ShowType message ':<>: 'Text " forbids repetition of:") ':$$: 'ShowType repeated) :: Constraint |
type family RepeatedNames (names :: [k]) :: [k] where ... Source #
Given a list of names, returns the non-repeating list of names that occur more than once in the given list.
This type family is an implementation detail of Distinct
that is subject to change, and is exported only to assist
in understanding of compilation errors.
Equations
| RepeatedNames (name ': names :: [k]) = RepeatedNames1 name names (Omits name names) | |
| RepeatedNames ('[] :: [k]) = '[] :: [k] |
type family RepeatedNames1 (name :: k) (names :: [k]) (omits :: Bool) :: [k] where ... Source #
Helps to implement RepeatedNames.
This type family is an implementation detail of Distinct
that is subject to change, and is exported only to assist
in understanding of compilation errors.
Equations
| RepeatedNames1 (_1 :: k) (names :: [k]) 'True = RepeatedNames names | |
| RepeatedNames1 (name :: k) (names :: [k]) 'False = name ': RepeatedNames (Strip name names) |
type family Omits (name :: k) (names :: [k]) :: Bool where ... Source #
Is the given name absent from the given list of names?
This type family is an implementation detail of RepeatedNames
that is subject to change, and is exported only to assist
in understanding of compilation errors.
type family Strip (name :: k) (names :: [k]) :: [k] where ... Source #
Strips all occurrences of the given name, leaving behind all other name occurrences.
This type family is an implementation detail of RepeatedNames
that is subject to change, and is exported only to assist
in understanding of compilation errors.
type family OccupiedOnly message (names :: [Symbol]) :: [Symbol] where ... Source #
Filters out the repeated field names and replaces oneof fields with their oneof names.
We do this in case omitted is used to introduce the names of repeated fields
or fields that are contained within oneofs; see the explanatory comments there.
This type family is an implementation detail of Distinct
that is subject to change, and is exported only to assist
in understanding of compilation errors.
Equations
| OccupiedOnly message (name ': names) = OccupiedOnly1 message name names (CardinalityOf message name) | |
| OccupiedOnly _1 ('[] :: [Symbol]) = '[] :: [Symbol] |
type family OccupiedOnly1 message (name :: Symbol) (names :: [Symbol]) (cardinality :: Cardinality) :: [Symbol] where ... Source #
Helps to implement OccupiedOnly.
This type family is an implementation detail of Distinct
that is subject to change, and is exported only to assist
in understanding of compilation errors.
Equations
| OccupiedOnly1 message name names 'Implicit = name ': OccupiedOnly message names | |
| OccupiedOnly1 message name names 'Optional = OccupiedName message name ': OccupiedOnly message names | |
| OccupiedOnly1 message name names ('Repeated _1) = OccupiedOnly message names |
fieldsToMessage :: forall message (names :: [Symbol]). Distinct message names => FieldsEncoder message ('[] :: [Symbol]) names -> MessageEncoder message Source #
Relabels a prefix of fields of a message as an encoding for the message as a whole (though without any tag or length that would make it a submessage).
type Occupy message (name :: Symbol) (names :: [Symbol]) = Occupy1 message name names (CardinalityOf message name) Source #
Among the names of the given message, prefixes the given name with the following exceptions:
- Names of repeatable fields are not prefixed; there is no need to avoid their repetition.
- When a field of a
oneofis named, the name of the entireoneofis prefixed in order to prevent further emission of any of its fields.
type family Occupy1 message (name :: Symbol) (names :: [Symbol]) (cardinality :: Cardinality) :: [Symbol] where ... Source #
type family NameSublist (names :: [Symbol]) (moreNames :: [Symbol]) where ... Source #
The constraint that moreNames is names, but possibly with additional
names inserted. For simplicity, reordering is not currently allowed.
Equations
| NameSublist ('[] :: [Symbol]) _1 = () | |
| NameSublist (n ': ns) (n ': ms) = NameSublist ns ms | |
| NameSublist ns (_1 ': ms) = NameSublist ns ms | |
| NameSublist (n ': _1) ('[] :: [Symbol]) = TypeError ('Text "NameSublist: name disappeared: " ':<>: 'ShowType n) :: Constraint |
omitted :: forall message (names :: [Symbol]) (moreNames :: [Symbol]). NameSublist names moreNames => FieldsEncoder message names moreNames Source #
Uses an empty encoding for the oneofs and non-oneof message fields
that appear in the final type parameter of FieldsEncoder but not the
previous type parameter, thereby implicitly emitting their default values.
This function is not always required, but becomes necessary when there are two code paths, one of which may write non-repeatable fields and one of which leaves some implicitly defaulted. This function reconciles the types of the two code paths.
This function should not be used to introduce the name of a field
that is repeated or belongs to oneof, because doing so could
confuse the reader. But such misuse is unlikely to be accidental,
and the Distinct constraint compensates by ignoring repeated
fields and replacing oneof fields with their oneof names.
class SFieldNumberI (fieldNumber :: Nat) Source #
Provides the term-level value of the given field number type.
Minimal complete definition
sFieldNumber
Instances
| KnownNat fieldNumber => SFieldNumberI fieldNumber Source # | |
Defined in Proto3.Suite.Form.Encode.Core Methods sFieldNumber :: SFieldNumber fieldNumber | |
type KnownFieldNumber message (name :: Symbol) = SFieldNumberI (NumberOf message name) Source #
Provides the (term-level) field number of the field having the specified message type and field name.
class Field (name :: Symbol) (a :: TYPE r) message where Source #
Provides a way to encode a field with the given name from a given type. That name is interpreted in the context of a given type of message.
More than one argument type may be supported for any given field;
see further discussion in the comments for FieldForm, to which
this type class delegates after determining the cardinality and
protobuf type of the field in question.
Methods
field :: forall (names :: [Symbol]). a -> FieldsEncoder message names (Occupy message name names) Source #
Encodes the named field from the given value.
If the field is neither optional, nor repeated, nor part of a oneof, then
its default value is represented implicitly--that is, it encodes to zero octets.
In other cases the argument is often a container. In particular, when using
this method with optional fields and fields within a oneof, the argument
type typically involves Maybe or (if the field is always "set") Identity.
Use TypeApplications to specify the field name as the first type parameter.
The second type parameter may also be ambiguous. For example, the argument
expression may be an integer literal or (when using OverloadedStrings)
a string literal. TypeApplications would resolve the ambiguity, but you
may prefer the Auto wrapper or special-case helper functions such as:
message,
associations.
See also fieldForm.
Instances
| (KnownFieldNumber message name, FieldForm (CardinalityOf message name) (ProtoTypeOf message name) a) => Field name (a :: TYPE r) message Source # | |
Defined in Proto3.Suite.Form.Encode.Core | |
class FieldForm (cardinality :: Cardinality) (protoType :: ProtoType) (a :: TYPE r) where Source #
Implements Field for all fields having the specified cardinality,
protobuf type, and type of argument to be encoded within that field.
Argument Type:
For any given cardinality and protobuf type there may be multiple
instances of this class for different types of argument. For example,
a field of protobuf type sint64 may be encoded from any of the Haskell
types Int8, Word8, Int16, Word16,
Int32, Word32, or Int64. Note that this
library does not provide an instance for Word64 because its
values greater than or equal to 2 ^ 63 cannot be represented by sint64.
As another example, for fields of submessage type m there
are type class instances for both
and MessageEncoder m
(wrapped in a suitable container if repeated or outside of a MessageEncoding moneof).
Arguments for optional fields are often expressed using Maybe,
and arguments for repeated fields are often expressed in using
Forward, Reverse, and Reverse--the choice is up to the user.
Of course, if you add instances of this type class then please be sure to consider how they might overlap with existing instances, and try to avoid overly broad instances that might cause ambiguity.
However, this library does provide some general instances:
- An instance for
OptionalwithMaybethat delegates to the corresponding instance forOptionalwithIdentity. - An instance for
that delegates to the corresponding instance forRepeatedUnpackedOptionalwithIdentity. - An instance for
that delegates toRepeatedPackedPackedFieldForm.
Design Note:
Importantly, the type parameters of this type class do not mention the containing message type, field name, or field number, thus allowing it to be broadly applicable to all containing message types.
Furthermore, type class Field has a general-purpose definition
that need not be specialized for particular message types: one that
makes use of KnownFieldNumber, ProtoTypeOf, and this type class
(though in order to simplify usage, Field is a full type class,
not a mere constraint alias with a related function).
In this way the only message-specific instances are of type classes defined in Proto3.Suite.Form, which declare message format without specifying any policy regarding how to efficiently encode or which Haskell types may be encoded.
Methods
fieldForm :: Proxy# cardinality -> Proxy# protoType -> FieldNumber -> a -> MessageBuilder Source #
Encodes a message field with the given number from the given value.
If the field is neither repeated, nor optional, nor
part of a oneof, then its default value is represented
implicitly--that is, it encodes to zero octets.
If you apply this method to a polymorphic expression,
such as a literal value, then you may need to choose
a particular type with TypeApplications or ::.
Instances
| FieldForm 'Implicit 'Bool Bool Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bool -> FieldNumber -> Bool -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Bytes ByteString Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bytes -> FieldNumber -> ByteString -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Bytes ByteString Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bytes -> FieldNumber -> ByteString -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Bytes ShortByteString Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bytes -> FieldNumber -> ShortByteString -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Bytes BuildR Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bytes -> FieldNumber -> BuildR -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Double Double Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Double -> FieldNumber -> Double -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Double Float Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Double -> FieldNumber -> Float -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Fixed32 Word16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed32 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Fixed32 Word32 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed32 -> FieldNumber -> Word32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Fixed32 Word8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed32 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Fixed64 Word16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed64 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Fixed64 Word32 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed64 -> FieldNumber -> Word32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Fixed64 Word64 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed64 -> FieldNumber -> Word64 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Fixed64 Word8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed64 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Float Float Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Float -> FieldNumber -> Float -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int32 Int16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int32 -> FieldNumber -> Int16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int32 Int32 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int32 -> FieldNumber -> Int32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int32 Int8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int32 -> FieldNumber -> Int8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int32 Word16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int32 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int32 Word8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int32 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int64 Int16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Int16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int64 Int32 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Int32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int64 Int64 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Int64 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int64 Int8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Int8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int64 Word16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int64 Word32 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Word32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int64 Word8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed32 Int16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed32 -> FieldNumber -> Int16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed32 Int32 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed32 -> FieldNumber -> Int32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed32 Int8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed32 -> FieldNumber -> Int8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed32 Word16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed32 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed32 Word8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed32 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed64 Int16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Int16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed64 Int32 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Int32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed64 Int64 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Int64 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed64 Int8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Int8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed64 Word16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed64 Word32 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Word32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed64 Word8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt32 Int16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt32 -> FieldNumber -> Int16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt32 Int32 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt32 -> FieldNumber -> Int32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt32 Int8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt32 -> FieldNumber -> Int8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt32 Word16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt32 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt32 Word8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt32 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt64 Int16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Int16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt64 Int32 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Int32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt64 Int64 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Int64 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt64 Int8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Int8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt64 Word16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt64 Word32 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Word32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt64 Word8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'String Text Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'String -> FieldNumber -> Text -> MessageBuilder Source # | |
| FieldForm 'Implicit 'String Text Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'String -> FieldNumber -> Text -> MessageBuilder Source # | |
| FieldForm 'Implicit 'String ShortText Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'String -> FieldNumber -> ShortText -> MessageBuilder Source # | |
| FieldForm 'Implicit 'UInt32 Word16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt32 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'UInt32 Word32 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt32 -> FieldNumber -> Word32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'UInt32 Word8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt32 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'UInt64 Word16 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt64 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'UInt64 Word32 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt64 -> FieldNumber -> Word32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'UInt64 Word64 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt64 -> FieldNumber -> Word64 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'UInt64 Word8 Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt64 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| a ~ Bool => FieldForm 'Implicit 'Bool (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bool -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ ShortByteString => FieldForm 'Implicit 'Bytes (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bytes -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Double => FieldForm 'Implicit 'Double (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Double -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Word32 => FieldForm 'Implicit 'Fixed32 (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Word64 => FieldForm 'Implicit 'Fixed64 (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Float => FieldForm 'Implicit 'Float (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Float -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Int32 => FieldForm 'Implicit 'Int32 (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Int64 => FieldForm 'Implicit 'Int64 (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Int32 => FieldForm 'Implicit 'SFixed32 (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Int64 => FieldForm 'Implicit 'SFixed64 (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Int32 => FieldForm 'Implicit 'SInt32 (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Int64 => FieldForm 'Implicit 'SInt64 (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ ShortText => FieldForm 'Implicit 'String (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'String -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Word32 => FieldForm 'Implicit 'UInt32 (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Word64 => FieldForm 'Implicit 'UInt64 (Auto a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Bool => FieldForm 'Optional 'Bool (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Bool (Identity Bool) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Bytes (Identity ByteString) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Optional -> Proxy# 'Bytes -> FieldNumber -> Identity ByteString -> MessageBuilder Source # | |
| FieldForm 'Optional 'Bytes (Identity ByteString) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Optional -> Proxy# 'Bytes -> FieldNumber -> Identity ByteString -> MessageBuilder Source # | |
| FieldForm 'Optional 'Bytes (Identity ShortByteString) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Optional -> Proxy# 'Bytes -> FieldNumber -> Identity ShortByteString -> MessageBuilder Source # | |
| a ~ ShortByteString => FieldForm 'Optional 'Bytes (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Bytes (Identity BuildR) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Double => FieldForm 'Optional 'Double (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Double (Identity Double) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Double (Identity Float) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Fixed32 (Identity Word16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Fixed32 (Identity Word32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Fixed32 (Identity Word8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Word32 => FieldForm 'Optional 'Fixed32 (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Fixed64 (Identity Word16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Fixed64 (Identity Word32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Fixed64 (Identity Word64) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Fixed64 (Identity Word8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Word64 => FieldForm 'Optional 'Fixed64 (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Float => FieldForm 'Optional 'Float (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Float (Identity Float) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Int32 (Identity Int16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Int32 (Identity Int32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Int32 (Identity Int8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Int32 (Identity Word16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Int32 (Identity Word8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Int32 => FieldForm 'Optional 'Int32 (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Int64 (Identity Int16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Int64 (Identity Int32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Int64 (Identity Int64) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Int64 (Identity Int8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Int64 (Identity Word16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Int64 (Identity Word32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'Int64 (Identity Word8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Int64 => FieldForm 'Optional 'Int64 (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SFixed32 (Identity Int16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SFixed32 (Identity Int32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SFixed32 (Identity Int8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SFixed32 (Identity Word16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SFixed32 (Identity Word8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Int32 => FieldForm 'Optional 'SFixed32 (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SFixed64 (Identity Int16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SFixed64 (Identity Int32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SFixed64 (Identity Int64) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SFixed64 (Identity Int8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SFixed64 (Identity Word16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SFixed64 (Identity Word32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SFixed64 (Identity Word8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Int64 => FieldForm 'Optional 'SFixed64 (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SInt32 (Identity Int16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SInt32 (Identity Int32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SInt32 (Identity Int8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SInt32 (Identity Word16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SInt32 (Identity Word8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Int32 => FieldForm 'Optional 'SInt32 (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SInt64 (Identity Int16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SInt64 (Identity Int32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SInt64 (Identity Int64) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SInt64 (Identity Int8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SInt64 (Identity Word16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SInt64 (Identity Word32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'SInt64 (Identity Word8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Int64 => FieldForm 'Optional 'SInt64 (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ ShortText => FieldForm 'Optional 'String (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'String (Identity Text) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'String (Identity Text) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'String (Identity ShortText) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'UInt32 (Identity Word16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'UInt32 (Identity Word32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'UInt32 (Identity Word8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Word32 => FieldForm 'Optional 'UInt32 (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'UInt64 (Identity Word16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'UInt64 (Identity Word32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'UInt64 (Identity Word64) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional 'UInt64 (Identity Word8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Word64 => FieldForm 'Optional 'UInt64 (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional protoType (Identity a) => FieldForm 'Optional protoType (Maybe a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode.Core Methods fieldForm :: Proxy# 'Optional -> Proxy# protoType -> FieldNumber -> Maybe a -> MessageBuilder Source # | |
| (MessageFieldType cardinality protoType a, MessageField a) => FieldForm cardinality protoType (Reflection a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# cardinality -> Proxy# protoType -> FieldNumber -> Reflection a -> MessageBuilder Source # | |
| (ProtoEnum e, FieldForm 'Implicit 'Int32 Int32) => FieldForm 'Implicit ('Enumeration e) (e :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# ('Enumeration e) -> FieldNumber -> e -> MessageBuilder Source # | |
| (ProtoEnum e, FieldForm 'Implicit 'Int32 Int32) => FieldForm 'Implicit ('Enumeration e) (Enumerated e :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# ('Enumeration e) -> FieldNumber -> Enumerated e -> MessageBuilder Source # | |
| (ProtoEnum e, FieldForm 'Optional 'Int32 (Identity Int32)) => FieldForm 'Optional ('Enumeration e) (Identity (Enumerated e) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Optional -> Proxy# ('Enumeration e) -> FieldNumber -> Identity (Enumerated e) -> MessageBuilder Source # | |
| (ProtoEnum e, FieldForm 'Optional 'Int32 (Identity Int32)) => FieldForm 'Optional ('Enumeration e) (Identity e :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Optional -> Proxy# ('Enumeration e) -> FieldNumber -> Identity e -> MessageBuilder Source # | |
| a ~ Bool => FieldForm 'Optional ('Message (Wrapper 'Bool)) (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Bool)) (Identity Bool) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Bytes)) (Identity ByteString) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Optional -> Proxy# ('Message (Wrapper 'Bytes)) -> FieldNumber -> Identity ByteString -> MessageBuilder Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Bytes)) (Identity ByteString) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Optional -> Proxy# ('Message (Wrapper 'Bytes)) -> FieldNumber -> Identity ByteString -> MessageBuilder Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Bytes)) (Identity ShortByteString) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Optional -> Proxy# ('Message (Wrapper 'Bytes)) -> FieldNumber -> Identity ShortByteString -> MessageBuilder Source # | |
| a ~ ShortByteString => FieldForm 'Optional ('Message (Wrapper 'Bytes)) (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Double => FieldForm 'Optional ('Message (Wrapper 'Double)) (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Double)) (Identity Double) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Double)) (Identity Float) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Float => FieldForm 'Optional ('Message (Wrapper 'Float)) (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Float)) (Identity Float) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Int32)) (Identity Int16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Int32)) (Identity Int32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Int32)) (Identity Int8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Int32)) (Identity Word16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Int32)) (Identity Word8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Int32 => FieldForm 'Optional ('Message (Wrapper 'Int32)) (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity Int16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity Int32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity Int64) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity Int8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity Word16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity Word32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity Word8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Int64 => FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ ShortText => FieldForm 'Optional ('Message (Wrapper 'String)) (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'String)) (Identity Text) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'String)) (Identity Text) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'String)) (Identity ShortText) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'UInt32)) (Identity Word16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'UInt32)) (Identity Word32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'UInt32)) (Identity Word8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Word32 => FieldForm 'Optional ('Message (Wrapper 'UInt32)) (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'UInt64)) (Identity Word16) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'UInt64)) (Identity Word32) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'UInt64)) (Identity Word64) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Optional ('Message (Wrapper 'UInt64)) (Identity Word8) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| a ~ Word64 => FieldForm 'Optional ('Message (Wrapper 'UInt64)) (Identity (Auto a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode | |
| FieldForm 'Implicit protoType a => FieldForm 'Optional ('Message (Wrapper protoType)) (Identity (Wrap a) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode.Core | |
| FieldForm 'Optional ('Message inner) (Identity (MessageEncoding inner) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Optional -> Proxy# ('Message inner) -> FieldNumber -> Identity (MessageEncoding inner) -> MessageBuilder Source # | |
| FieldForm 'Optional ('Message inner) (Identity (MessageEncoder inner) :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode.Core Methods fieldForm :: Proxy# 'Optional -> Proxy# ('Message inner) -> FieldNumber -> Identity (MessageEncoder inner) -> MessageBuilder Source # | |
| FieldForm 'Optional ('Map key value) (Identity (MessageEncoding (Association key value)) :: Type) Source # | This instance is rather artificial because maps are automatically
repeated and unpacked, with no option to specify a single key-value pair
as an |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Optional -> Proxy# ('Map key value) -> FieldNumber -> Identity (MessageEncoding (Association key value)) -> MessageBuilder Source # | |
| FieldForm 'Optional ('Map key value) (Identity (MessageEncoder (Association key value)) :: Type) Source # | This instance is rather artificial because maps are automatically
repeated and unpacked, with no option to specify a single key-value pair
as an |
Defined in Proto3.Suite.Form.Encode.Core Methods fieldForm :: Proxy# 'Optional -> Proxy# ('Map key value) -> FieldNumber -> Identity (MessageEncoder (Association key value)) -> MessageBuilder Source # | |
| (ToRepeated c e, PackedFieldForm protoType e, FieldForm 'Optional protoType (Identity e)) => FieldForm ('Repeated 'Packed) protoType (c :: Type) Source # | Ignores the preference for packed format when there is exactly one element, and therefore packed format would be more verbose. (Conforming parsers must accept both packed and unpacked primitives regardless of packing preference.) |
Defined in Proto3.Suite.Form.Encode.Core Methods fieldForm :: Proxy# ('Repeated 'Packed) -> Proxy# protoType -> FieldNumber -> c -> MessageBuilder Source # | |
| (ToRepeated c e, FieldForm 'Optional protoType (Identity e)) => FieldForm ('Repeated 'Unpacked) protoType (c :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode.Core Methods fieldForm :: Proxy# ('Repeated 'Unpacked) -> Proxy# protoType -> FieldNumber -> c -> MessageBuilder Source # | |
Indicates that a wrapper type should be emitted by encoding its field,
as opposed to by supplying MessageEncoder for the wrapper as a whole.
We also provide specific instances of FieldForm that avoid the need
to Wrap certain commonly-used argument types, such as Int32.
See also Wrapper.
Instances
| Foldable Wrap Source # | |||||
Defined in Proto3.Suite.Form.Encode.Core Methods fold :: Monoid m => Wrap m -> m # foldMap :: Monoid m => (a -> m) -> Wrap a -> m # foldMap' :: Monoid m => (a -> m) -> Wrap a -> m # foldr :: (a -> b -> b) -> b -> Wrap a -> b # foldr' :: (a -> b -> b) -> b -> Wrap a -> b # foldl :: (b -> a -> b) -> b -> Wrap a -> b # foldl' :: (b -> a -> b) -> b -> Wrap a -> b # foldr1 :: (a -> a -> a) -> Wrap a -> a # foldl1 :: (a -> a -> a) -> Wrap a -> a # elem :: Eq a => a -> Wrap a -> Bool # maximum :: Ord a => Wrap a -> a # | |||||
| Traversable Wrap Source # | |||||
| Functor Wrap Source # | |||||
| FieldForm 'Implicit protoType a => FieldForm 'Optional ('Message (Wrapper protoType)) (Identity (Wrap a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode.Core | |||||
| Bounded a => Bounded (Wrap a) Source # | |||||
| Enum a => Enum (Wrap a) Source # | |||||
Defined in Proto3.Suite.Form.Encode.Core | |||||
| Generic (Wrap a) Source # | |||||
Defined in Proto3.Suite.Form.Encode.Core Associated Types
| |||||
| Num a => Num (Wrap a) Source # | |||||
| Read a => Read (Wrap a) Source # | |||||
| Fractional a => Fractional (Wrap a) Source # | |||||
| Integral a => Integral (Wrap a) Source # | |||||
Defined in Proto3.Suite.Form.Encode.Core | |||||
| Real a => Real (Wrap a) Source # | |||||
Defined in Proto3.Suite.Form.Encode.Core Methods toRational :: Wrap a -> Rational # | |||||
| Show a => Show (Wrap a) Source # | |||||
| Eq a => Eq (Wrap a) Source # | |||||
| Ord a => Ord (Wrap a) Source # | |||||
| type Rep (Wrap a) Source # | |||||
Defined in Proto3.Suite.Form.Encode.Core | |||||
Asks that its type parameter be chosen to be the most efficient Haskell type that expresses the full range of possible values of the relevant protobuf field.
This choice can be used to resolve ambiguity around polymorphic
literal values, or when performing a polymorphic conversion
from a type that is not directly encodable, such as Int.
Instances
| Foldable Auto Source # | |||||
Defined in Proto3.Suite.Form.Encode.Core Methods fold :: Monoid m => Auto m -> m # foldMap :: Monoid m => (a -> m) -> Auto a -> m # foldMap' :: Monoid m => (a -> m) -> Auto a -> m # foldr :: (a -> b -> b) -> b -> Auto a -> b # foldr' :: (a -> b -> b) -> b -> Auto a -> b # foldl :: (b -> a -> b) -> b -> Auto a -> b # foldl' :: (b -> a -> b) -> b -> Auto a -> b # foldr1 :: (a -> a -> a) -> Auto a -> a # foldl1 :: (a -> a -> a) -> Auto a -> a # elem :: Eq a => a -> Auto a -> Bool # maximum :: Ord a => Auto a -> a # | |||||
| Traversable Auto Source # | |||||
| Functor Auto Source # | |||||
| a ~ Bool => FieldForm 'Implicit 'Bool (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bool -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ ShortByteString => FieldForm 'Implicit 'Bytes (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bytes -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ Double => FieldForm 'Implicit 'Double (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Double -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ Word32 => FieldForm 'Implicit 'Fixed32 (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ Word64 => FieldForm 'Implicit 'Fixed64 (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ Float => FieldForm 'Implicit 'Float (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Float -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ Int32 => FieldForm 'Implicit 'Int32 (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ Int64 => FieldForm 'Implicit 'Int64 (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ Int32 => FieldForm 'Implicit 'SFixed32 (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ Int64 => FieldForm 'Implicit 'SFixed64 (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ Int32 => FieldForm 'Implicit 'SInt32 (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ Int64 => FieldForm 'Implicit 'SInt64 (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ ShortText => FieldForm 'Implicit 'String (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'String -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ Word32 => FieldForm 'Implicit 'UInt32 (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ Word64 => FieldForm 'Implicit 'UInt64 (Auto a :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |||||
| a ~ Bool => FieldForm 'Optional 'Bool (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ ShortByteString => FieldForm 'Optional 'Bytes (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Double => FieldForm 'Optional 'Double (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Word32 => FieldForm 'Optional 'Fixed32 (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Word64 => FieldForm 'Optional 'Fixed64 (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Float => FieldForm 'Optional 'Float (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Int32 => FieldForm 'Optional 'Int32 (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Int64 => FieldForm 'Optional 'Int64 (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Int32 => FieldForm 'Optional 'SFixed32 (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Int64 => FieldForm 'Optional 'SFixed64 (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Int32 => FieldForm 'Optional 'SInt32 (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Int64 => FieldForm 'Optional 'SInt64 (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ ShortText => FieldForm 'Optional 'String (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Word32 => FieldForm 'Optional 'UInt32 (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Word64 => FieldForm 'Optional 'UInt64 (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Bool => FieldForm 'Optional ('Message (Wrapper 'Bool)) (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ ShortByteString => FieldForm 'Optional ('Message (Wrapper 'Bytes)) (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Double => FieldForm 'Optional ('Message (Wrapper 'Double)) (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Float => FieldForm 'Optional ('Message (Wrapper 'Float)) (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Int32 => FieldForm 'Optional ('Message (Wrapper 'Int32)) (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Int64 => FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ ShortText => FieldForm 'Optional ('Message (Wrapper 'String)) (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Word32 => FieldForm 'Optional ('Message (Wrapper 'UInt32)) (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| a ~ Word64 => FieldForm 'Optional ('Message (Wrapper 'UInt64)) (Identity (Auto a) :: Type) Source # | |||||
Defined in Proto3.Suite.Form.Encode | |||||
| Bounded a => Bounded (Auto a) Source # | |||||
| Enum a => Enum (Auto a) Source # | |||||
Defined in Proto3.Suite.Form.Encode.Core | |||||
| Generic (Auto a) Source # | |||||
Defined in Proto3.Suite.Form.Encode.Core Associated Types
| |||||
| Num a => Num (Auto a) Source # | |||||
| Read a => Read (Auto a) Source # | |||||
| Fractional a => Fractional (Auto a) Source # | |||||
| Integral a => Integral (Auto a) Source # | |||||
Defined in Proto3.Suite.Form.Encode.Core | |||||
| Real a => Real (Auto a) Source # | |||||
Defined in Proto3.Suite.Form.Encode.Core Methods toRational :: Auto a -> Rational # | |||||
| Show a => Show (Auto a) Source # | |||||
| Eq a => Eq (Auto a) Source # | |||||
| Ord a => Ord (Auto a) Source # | |||||
| type Rep (Auto a) Source # | |||||
Defined in Proto3.Suite.Form.Encode.Core | |||||
foldFieldsEncoders :: forall c message (names :: [Symbol]). ToRepeated c (FieldsEncoder message names names) => c -> FieldsEncoder message names names Source #
Combines FieldsEncoder builders for zero or more repeated fields.
message :: forall (name :: Symbol) inner outer (names :: [Symbol]). (ProtoTypeOf outer name ~ 'Message inner, Field name (MessageEncoder inner) outer, KnownFieldNumber outer name) => MessageEncoder inner -> FieldsEncoder outer names (Occupy outer name names) Source #
Specializes the argument type of field to the encoding of a submessage type,
which can help to avoid ambiguity when the argument expression is polymorphic.
associations :: forall (name :: Symbol) t (key :: ProtoType) (value :: ProtoType) message (names :: [Symbol]). (ProtoTypeOf message name ~ 'Map key value, CardinalityOf message name ~ 'Repeated 'Unpacked, Field name (t (MessageEncoder (Association key value))) message, KnownFieldNumber message name) => t (MessageEncoder (Association key value)) -> FieldsEncoder message names names Source #
Specializes the argument type of field to be a sequence of key-value pair encodings,
which can help to avoid ambiguity when the argument expression is polymorphic.
newtype Reflection a Source #
Signals that the argument to field should be treated
as a reflection in Haskell of a protobuf construct, both
in its type and in its value.
For example, if the type argument is generated from a protobuf
message definition, then field will encode the message whose
fields are given by the Haskell data type inside of this newtype.
Repeated fields must be supplied as an appropriately-typed sequence.
For this newtype, Field delegates to MessageField
and has its performance characteristics. The creation of temporary
reflections of protobuf messages may decrease efficiency
in some cases. However, you may find this newtype useful
where a mix of techniques is needed, either for compatibility
or during a gradual transition to use of Field.
Note that for optional submessages you must use Nested,
and for repeated submessages you must use NestedVec.
(For submessages within a oneof you can use the reflection type directly.)
To encode a top-level message instead of a field, use messageReflection.
Constructors
| Reflection a |
Instances
| (MessageFieldType cardinality protoType a, MessageField a) => FieldForm cardinality protoType (Reflection a :: Type) Source # | |
Defined in Proto3.Suite.Form.Encode Methods fieldForm :: Proxy# cardinality -> Proxy# protoType -> FieldNumber -> Reflection a -> MessageBuilder Source # | |
messageReflection :: Message message => message -> MessageEncoder message Source #
Creates a message encoder by means of type class Message.
To encode a field instead of a top-level message, use Reflection.
Orphan instances
| FieldForm 'Implicit 'Bool Bool Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bool -> FieldNumber -> Bool -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Bytes ByteString Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bytes -> FieldNumber -> ByteString -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Bytes ByteString Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bytes -> FieldNumber -> ByteString -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Bytes ShortByteString Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bytes -> FieldNumber -> ShortByteString -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Bytes BuildR Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bytes -> FieldNumber -> BuildR -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Double Double Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Double -> FieldNumber -> Double -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Double Float Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Double -> FieldNumber -> Float -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Fixed32 Word16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed32 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Fixed32 Word32 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed32 -> FieldNumber -> Word32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Fixed32 Word8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed32 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Fixed64 Word16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed64 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Fixed64 Word32 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed64 -> FieldNumber -> Word32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Fixed64 Word64 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed64 -> FieldNumber -> Word64 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Fixed64 Word8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed64 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Float Float Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Float -> FieldNumber -> Float -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int32 Int16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int32 -> FieldNumber -> Int16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int32 Int32 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int32 -> FieldNumber -> Int32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int32 Int8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int32 -> FieldNumber -> Int8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int32 Word16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int32 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int32 Word8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int32 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int64 Int16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Int16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int64 Int32 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Int32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int64 Int64 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Int64 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int64 Int8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Int8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int64 Word16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int64 Word32 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Word32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'Int64 Word8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed32 Int16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed32 -> FieldNumber -> Int16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed32 Int32 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed32 -> FieldNumber -> Int32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed32 Int8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed32 -> FieldNumber -> Int8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed32 Word16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed32 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed32 Word8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed32 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed64 Int16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Int16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed64 Int32 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Int32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed64 Int64 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Int64 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed64 Int8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Int8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed64 Word16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed64 Word32 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Word32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SFixed64 Word8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt32 Int16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt32 -> FieldNumber -> Int16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt32 Int32 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt32 -> FieldNumber -> Int32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt32 Int8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt32 -> FieldNumber -> Int8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt32 Word16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt32 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt32 Word8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt32 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt64 Int16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Int16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt64 Int32 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Int32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt64 Int64 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Int64 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt64 Int8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Int8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt64 Word16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt64 Word32 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Word32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'SInt64 Word8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'String Text Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'String -> FieldNumber -> Text -> MessageBuilder Source # | |
| FieldForm 'Implicit 'String Text Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'String -> FieldNumber -> Text -> MessageBuilder Source # | |
| FieldForm 'Implicit 'String ShortText Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'String -> FieldNumber -> ShortText -> MessageBuilder Source # | |
| FieldForm 'Implicit 'UInt32 Word16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt32 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'UInt32 Word32 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt32 -> FieldNumber -> Word32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'UInt32 Word8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt32 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'UInt64 Word16 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt64 -> FieldNumber -> Word16 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'UInt64 Word32 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt64 -> FieldNumber -> Word32 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'UInt64 Word64 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt64 -> FieldNumber -> Word64 -> MessageBuilder Source # | |
| FieldForm 'Implicit 'UInt64 Word8 Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt64 -> FieldNumber -> Word8 -> MessageBuilder Source # | |
| a ~ Bool => FieldForm 'Implicit 'Bool (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bool -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ ShortByteString => FieldForm 'Implicit 'Bytes (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Bytes -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Double => FieldForm 'Implicit 'Double (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Double -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Word32 => FieldForm 'Implicit 'Fixed32 (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Word64 => FieldForm 'Implicit 'Fixed64 (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Fixed64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Float => FieldForm 'Implicit 'Float (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Float -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Int32 => FieldForm 'Implicit 'Int32 (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Int64 => FieldForm 'Implicit 'Int64 (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'Int64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Int32 => FieldForm 'Implicit 'SFixed32 (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Int64 => FieldForm 'Implicit 'SFixed64 (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SFixed64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Int32 => FieldForm 'Implicit 'SInt32 (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Int64 => FieldForm 'Implicit 'SInt64 (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'SInt64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ ShortText => FieldForm 'Implicit 'String (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'String -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Word32 => FieldForm 'Implicit 'UInt32 (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt32 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Word64 => FieldForm 'Implicit 'UInt64 (Auto a :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# 'UInt64 -> FieldNumber -> Auto a -> MessageBuilder Source # | |
| a ~ Bool => FieldForm 'Optional 'Bool (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional 'Bool (Identity Bool) Source # | |
| FieldForm 'Optional 'Bytes (Identity ByteString) Source # | |
Methods fieldForm :: Proxy# 'Optional -> Proxy# 'Bytes -> FieldNumber -> Identity ByteString -> MessageBuilder Source # | |
| FieldForm 'Optional 'Bytes (Identity ByteString) Source # | |
Methods fieldForm :: Proxy# 'Optional -> Proxy# 'Bytes -> FieldNumber -> Identity ByteString -> MessageBuilder Source # | |
| FieldForm 'Optional 'Bytes (Identity ShortByteString) Source # | |
Methods fieldForm :: Proxy# 'Optional -> Proxy# 'Bytes -> FieldNumber -> Identity ShortByteString -> MessageBuilder Source # | |
| a ~ ShortByteString => FieldForm 'Optional 'Bytes (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional 'Bytes (Identity BuildR) Source # | |
| a ~ Double => FieldForm 'Optional 'Double (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional 'Double (Identity Double) Source # | |
| FieldForm 'Optional 'Double (Identity Float) Source # | |
| FieldForm 'Optional 'Fixed32 (Identity Word16) Source # | |
| FieldForm 'Optional 'Fixed32 (Identity Word32) Source # | |
| FieldForm 'Optional 'Fixed32 (Identity Word8) Source # | |
| a ~ Word32 => FieldForm 'Optional 'Fixed32 (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional 'Fixed64 (Identity Word16) Source # | |
| FieldForm 'Optional 'Fixed64 (Identity Word32) Source # | |
| FieldForm 'Optional 'Fixed64 (Identity Word64) Source # | |
| FieldForm 'Optional 'Fixed64 (Identity Word8) Source # | |
| a ~ Word64 => FieldForm 'Optional 'Fixed64 (Identity (Auto a) :: Type) Source # | |
| a ~ Float => FieldForm 'Optional 'Float (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional 'Float (Identity Float) Source # | |
| FieldForm 'Optional 'Int32 (Identity Int16) Source # | |
| FieldForm 'Optional 'Int32 (Identity Int32) Source # | |
| FieldForm 'Optional 'Int32 (Identity Int8) Source # | |
| FieldForm 'Optional 'Int32 (Identity Word16) Source # | |
| FieldForm 'Optional 'Int32 (Identity Word8) Source # | |
| a ~ Int32 => FieldForm 'Optional 'Int32 (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional 'Int64 (Identity Int16) Source # | |
| FieldForm 'Optional 'Int64 (Identity Int32) Source # | |
| FieldForm 'Optional 'Int64 (Identity Int64) Source # | |
| FieldForm 'Optional 'Int64 (Identity Int8) Source # | |
| FieldForm 'Optional 'Int64 (Identity Word16) Source # | |
| FieldForm 'Optional 'Int64 (Identity Word32) Source # | |
| FieldForm 'Optional 'Int64 (Identity Word8) Source # | |
| a ~ Int64 => FieldForm 'Optional 'Int64 (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional 'SFixed32 (Identity Int16) Source # | |
| FieldForm 'Optional 'SFixed32 (Identity Int32) Source # | |
| FieldForm 'Optional 'SFixed32 (Identity Int8) Source # | |
| FieldForm 'Optional 'SFixed32 (Identity Word16) Source # | |
| FieldForm 'Optional 'SFixed32 (Identity Word8) Source # | |
| a ~ Int32 => FieldForm 'Optional 'SFixed32 (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional 'SFixed64 (Identity Int16) Source # | |
| FieldForm 'Optional 'SFixed64 (Identity Int32) Source # | |
| FieldForm 'Optional 'SFixed64 (Identity Int64) Source # | |
| FieldForm 'Optional 'SFixed64 (Identity Int8) Source # | |
| FieldForm 'Optional 'SFixed64 (Identity Word16) Source # | |
| FieldForm 'Optional 'SFixed64 (Identity Word32) Source # | |
| FieldForm 'Optional 'SFixed64 (Identity Word8) Source # | |
| a ~ Int64 => FieldForm 'Optional 'SFixed64 (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional 'SInt32 (Identity Int16) Source # | |
| FieldForm 'Optional 'SInt32 (Identity Int32) Source # | |
| FieldForm 'Optional 'SInt32 (Identity Int8) Source # | |
| FieldForm 'Optional 'SInt32 (Identity Word16) Source # | |
| FieldForm 'Optional 'SInt32 (Identity Word8) Source # | |
| a ~ Int32 => FieldForm 'Optional 'SInt32 (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional 'SInt64 (Identity Int16) Source # | |
| FieldForm 'Optional 'SInt64 (Identity Int32) Source # | |
| FieldForm 'Optional 'SInt64 (Identity Int64) Source # | |
| FieldForm 'Optional 'SInt64 (Identity Int8) Source # | |
| FieldForm 'Optional 'SInt64 (Identity Word16) Source # | |
| FieldForm 'Optional 'SInt64 (Identity Word32) Source # | |
| FieldForm 'Optional 'SInt64 (Identity Word8) Source # | |
| a ~ Int64 => FieldForm 'Optional 'SInt64 (Identity (Auto a) :: Type) Source # | |
| a ~ ShortText => FieldForm 'Optional 'String (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional 'String (Identity Text) Source # | |
| FieldForm 'Optional 'String (Identity Text) Source # | |
| FieldForm 'Optional 'String (Identity ShortText) Source # | |
| FieldForm 'Optional 'UInt32 (Identity Word16) Source # | |
| FieldForm 'Optional 'UInt32 (Identity Word32) Source # | |
| FieldForm 'Optional 'UInt32 (Identity Word8) Source # | |
| a ~ Word32 => FieldForm 'Optional 'UInt32 (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional 'UInt64 (Identity Word16) Source # | |
| FieldForm 'Optional 'UInt64 (Identity Word32) Source # | |
| FieldForm 'Optional 'UInt64 (Identity Word64) Source # | |
| FieldForm 'Optional 'UInt64 (Identity Word8) Source # | |
| a ~ Word64 => FieldForm 'Optional 'UInt64 (Identity (Auto a) :: Type) Source # | |
| (ProtoEnum e, FieldForm 'Implicit 'Int32 Int32) => FieldForm 'Implicit ('Enumeration e) (e :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# ('Enumeration e) -> FieldNumber -> e -> MessageBuilder Source # | |
| (ProtoEnum e, FieldForm 'Implicit 'Int32 Int32) => FieldForm 'Implicit ('Enumeration e) (Enumerated e :: Type) Source # | |
Methods fieldForm :: Proxy# 'Implicit -> Proxy# ('Enumeration e) -> FieldNumber -> Enumerated e -> MessageBuilder Source # | |
| (ProtoEnum e, FieldForm 'Optional 'Int32 (Identity Int32)) => FieldForm 'Optional ('Enumeration e) (Identity (Enumerated e) :: Type) Source # | |
Methods fieldForm :: Proxy# 'Optional -> Proxy# ('Enumeration e) -> FieldNumber -> Identity (Enumerated e) -> MessageBuilder Source # | |
| (ProtoEnum e, FieldForm 'Optional 'Int32 (Identity Int32)) => FieldForm 'Optional ('Enumeration e) (Identity e :: Type) Source # | |
Methods fieldForm :: Proxy# 'Optional -> Proxy# ('Enumeration e) -> FieldNumber -> Identity e -> MessageBuilder Source # | |
| a ~ Bool => FieldForm 'Optional ('Message (Wrapper 'Bool)) (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Bool)) (Identity Bool) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Bytes)) (Identity ByteString) Source # | |
Methods fieldForm :: Proxy# 'Optional -> Proxy# ('Message (Wrapper 'Bytes)) -> FieldNumber -> Identity ByteString -> MessageBuilder Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Bytes)) (Identity ByteString) Source # | |
Methods fieldForm :: Proxy# 'Optional -> Proxy# ('Message (Wrapper 'Bytes)) -> FieldNumber -> Identity ByteString -> MessageBuilder Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Bytes)) (Identity ShortByteString) Source # | |
Methods fieldForm :: Proxy# 'Optional -> Proxy# ('Message (Wrapper 'Bytes)) -> FieldNumber -> Identity ShortByteString -> MessageBuilder Source # | |
| a ~ ShortByteString => FieldForm 'Optional ('Message (Wrapper 'Bytes)) (Identity (Auto a) :: Type) Source # | |
| a ~ Double => FieldForm 'Optional ('Message (Wrapper 'Double)) (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Double)) (Identity Double) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Double)) (Identity Float) Source # | |
| a ~ Float => FieldForm 'Optional ('Message (Wrapper 'Float)) (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Float)) (Identity Float) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Int32)) (Identity Int16) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Int32)) (Identity Int32) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Int32)) (Identity Int8) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Int32)) (Identity Word16) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Int32)) (Identity Word8) Source # | |
| a ~ Int32 => FieldForm 'Optional ('Message (Wrapper 'Int32)) (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity Int16) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity Int32) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity Int64) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity Int8) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity Word16) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity Word32) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity Word8) Source # | |
| a ~ Int64 => FieldForm 'Optional ('Message (Wrapper 'Int64)) (Identity (Auto a) :: Type) Source # | |
| a ~ ShortText => FieldForm 'Optional ('Message (Wrapper 'String)) (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'String)) (Identity Text) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'String)) (Identity Text) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'String)) (Identity ShortText) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'UInt32)) (Identity Word16) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'UInt32)) (Identity Word32) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'UInt32)) (Identity Word8) Source # | |
| a ~ Word32 => FieldForm 'Optional ('Message (Wrapper 'UInt32)) (Identity (Auto a) :: Type) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'UInt64)) (Identity Word16) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'UInt64)) (Identity Word32) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'UInt64)) (Identity Word64) Source # | |
| FieldForm 'Optional ('Message (Wrapper 'UInt64)) (Identity Word8) Source # | |
| a ~ Word64 => FieldForm 'Optional ('Message (Wrapper 'UInt64)) (Identity (Auto a) :: Type) Source # | |
| (Message message, FromJSONPB message) => FromJSON (MessageEncoder message) Source # | |
Methods parseJSON :: Value -> Parser (MessageEncoder message) # parseJSONList :: Value -> Parser [MessageEncoder message] # omittedField :: Maybe (MessageEncoder message) # | |
| (Message message, ToJSONPB message) => ToJSON (MessageEncoder message) Source # | |
Methods toJSON :: MessageEncoder message -> Value # toEncoding :: MessageEncoder message -> Encoding # toJSONList :: [MessageEncoder message] -> Value # toEncodingList :: [MessageEncoder message] -> Encoding # omitField :: MessageEncoder message -> Bool # | |
| (Message message, Show message) => Show (MessageEncoder message) Source # | |
Methods showsPrec :: Int -> MessageEncoder message -> ShowS # show :: MessageEncoder message -> String # showList :: [MessageEncoder message] -> ShowS # | |
| (Message message, FromJSONPB message) => FromJSONPB (MessageEncoder message) Source # | |
Methods parseJSONPB :: Value -> Parser (MessageEncoder message) Source # | |
| (Message message, ToJSONPB message) => ToJSONPB (MessageEncoder message) Source # | |
Methods toJSONPB :: MessageEncoder message -> Options -> Value Source # toEncodingPB :: MessageEncoder message -> Options -> Encoding Source # | |