Documentation ¶
Index ¶
- Variables
- type ListValue
- func (x *ListValue) AsSlice() []interface{}
- func (x *ListValue) GetValues() []*Value
- func (m *ListValue) MarshalToSizedBufferVT(dAtA []byte) (int, error)
- func (m *ListValue) MarshalToVT(dAtA []byte) (int, error)
- func (m *ListValue) MarshalVT() (dAtA []byte, err error)
- func (x *ListValue) ProtoReflect() protoreflect.Message
- func (m *ListValue) SizeVT() (n int)
- func (m *ListValue) UnmarshalVT(dAtA []byte) error
- type NullValue
- type Struct
- func (x *Struct) AsMap() map[string]interface{}
- func (x *Struct) GetFields() map[string]*Value
- func (m *Struct) MarshalToSizedBufferVT(dAtA []byte) (int, error)
- func (m *Struct) MarshalToVT(dAtA []byte) (int, error)
- func (m *Struct) MarshalVT() (dAtA []byte, err error)
- func (x *Struct) ProtoReflect() protoreflect.Message
- func (m *Struct) SizeVT() (n int)
- func (m *Struct) UnmarshalVT(dAtA []byte) error
- type Value
- func (x *Value) AsInterface() interface{}
- func (x *Value) GetBoolValue() bool
- func (m *Value) GetKind() isValue_Kind
- func (x *Value) GetListValue() *ListValue
- func (x *Value) GetNullValue() NullValue
- func (x *Value) GetNumberValue() float64
- func (x *Value) GetStringValue() string
- func (x *Value) GetStructValue() *Struct
- func (m *Value) MarshalToSizedBufferVT(dAtA []byte) (int, error)
- func (m *Value) MarshalToVT(dAtA []byte) (int, error)
- func (m *Value) MarshalVT() (dAtA []byte, err error)
- func (x *Value) ProtoReflect() protoreflect.Message
- func (m *Value) SizeVT() (n int)
- func (m *Value) UnmarshalVT(dAtA []byte) error
- type Value_BoolValue
- type Value_ListValue
- type Value_NullValue
- type Value_NumberValue
- type Value_StringValue
- type Value_StructValue
Constants ¶
This section is empty.
Variables ¶
var ( NullValue_name = map[int32]string{ 0: "NULL_VALUE", } NullValue_value = map[string]int32{ "NULL_VALUE": 0, } )
Enum value maps for NullValue.
Functions ¶
This section is empty.
Types ¶
type ListValue ¶
type ListValue struct { // Repeated field of dynamically typed values. Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` // contains filtered or unexported fields }
`ListValue` is a wrapper around a repeated field of values.
The JSON representation for `ListValue` is JSON array.
func NewList ¶
NewList constructs a ListValue from a general-purpose Go slice. The slice elements are converted using NewValue.
func (*ListValue) AsSlice ¶
func (x *ListValue) AsSlice() []interface{}
AsSlice converts x to a general-purpose Go slice. The slice elements are converted by calling Value.AsInterface.
func (*ListValue) MarshalToSizedBufferVT ¶
func (*ListValue) ProtoReflect ¶
func (x *ListValue) ProtoReflect() protoreflect.Message
func (*ListValue) UnmarshalVT ¶
type NullValue ¶
type NullValue int32
`NullValue` is a singleton enumeration to represent the null value for the `Value` type union.
The JSON representation for `NullValue` is JSON `null`.
const ( // Null value. NullValue_NULL_VALUE NullValue = 0 )
type Struct ¶
type Struct struct { // Unordered map of dynamically typed values. Fields map[string]*Value `` /* 153-byte string literal not displayed */ // contains filtered or unexported fields }
`Struct` represents a structured data value, consisting of fields which map to dynamically typed values. In some languages, `Struct` might be supported by a native representation. For example, in scripting languages like JS a struct is represented as an object. The details of that representation are described together with the proto support for the language.
The JSON representation for `Struct` is JSON object.
func NewStruct ¶
NewStruct constructs a Struct from a general-purpose Go map. The map keys must be valid UTF-8. The map values are converted using NewValue.
func (*Struct) AsMap ¶
AsMap converts x to a general-purpose Go map. The map values are converted by calling Value.AsInterface.
func (*Struct) MarshalToSizedBufferVT ¶
func (*Struct) ProtoReflect ¶
func (x *Struct) ProtoReflect() protoreflect.Message
func (*Struct) UnmarshalVT ¶
type Value ¶
type Value struct { // The kind of value. // // Types that are assignable to Kind: // // *Value_NullValue // *Value_NumberValue // *Value_StringValue // *Value_BoolValue // *Value_StructValue // *Value_ListValue Kind isValue_Kind `protobuf_oneof:"kind"` // contains filtered or unexported fields }
`Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
The JSON representation for `Value` is JSON value.
func NewListValue ¶
NewListValue constructs a new list Value.
func NewNumberValue ¶
NewNumberValue constructs a new number Value.
func NewStringValue ¶
NewStringValue constructs a new string Value.
func NewStructValue ¶
NewStructValue constructs a new struct Value.
func NewValue ¶
NewValue constructs a Value from a general-purpose Go interface.
╔════════════════════════╤════════════════════════════════════════════╗ ║ Go type │ Conversion ║ ╠════════════════════════╪════════════════════════════════════════════╣ ║ nil │ stored as NullValue ║ ║ bool │ stored as BoolValue ║ ║ int, int32, int64 │ stored as NumberValue ║ ║ uint, uint32, uint64 │ stored as NumberValue ║ ║ float32, float64 │ stored as NumberValue ║ ║ string │ stored as StringValue; must be valid UTF-8 ║ ║ []byte │ stored as StringValue; base64-encoded ║ ║ map[string]interface{} │ stored as StructValue ║ ║ []interface{} │ stored as ListValue ║ ╚════════════════════════╧════════════════════════════════════════════╝
When converting an int64 or uint64 to a NumberValue, numeric precision loss is possible since they are stored as a float64.
func (*Value) AsInterface ¶
func (x *Value) AsInterface() interface{}
AsInterface converts x to a general-purpose Go interface.
Calling Value.MarshalJSON and "encoding/json".Marshal on this output produce semantically equivalent JSON (assuming no errors occur).
Floating-point values (i.e., "NaN", "Infinity", and "-Infinity") are converted as strings to remain compatible with MarshalJSON.
func (*Value) GetBoolValue ¶
func (*Value) GetListValue ¶
func (*Value) GetNullValue ¶
func (*Value) GetNumberValue ¶
func (*Value) GetStringValue ¶
func (*Value) GetStructValue ¶
func (*Value) MarshalToSizedBufferVT ¶
func (*Value) ProtoReflect ¶
func (x *Value) ProtoReflect() protoreflect.Message
func (*Value) UnmarshalVT ¶
type Value_BoolValue ¶
type Value_BoolValue struct { // Represents a boolean value. BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,proto3,oneof"` }
func (*Value_BoolValue) MarshalToSizedBufferVT ¶
func (m *Value_BoolValue) MarshalToSizedBufferVT(dAtA []byte) (int, error)
func (*Value_BoolValue) MarshalToVT ¶
func (m *Value_BoolValue) MarshalToVT(dAtA []byte) (int, error)
func (*Value_BoolValue) SizeVT ¶
func (m *Value_BoolValue) SizeVT() (n int)
type Value_ListValue ¶
type Value_ListValue struct { // Represents a repeated `Value`. ListValue *ListValue `protobuf:"bytes,6,opt,name=list_value,json=listValue,proto3,oneof"` }
func (*Value_ListValue) MarshalToSizedBufferVT ¶
func (m *Value_ListValue) MarshalToSizedBufferVT(dAtA []byte) (int, error)
func (*Value_ListValue) MarshalToVT ¶
func (m *Value_ListValue) MarshalToVT(dAtA []byte) (int, error)
func (*Value_ListValue) SizeVT ¶
func (m *Value_ListValue) SizeVT() (n int)
type Value_NullValue ¶
type Value_NullValue struct { // Represents a null value. NullValue NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"` }
func (*Value_NullValue) MarshalToSizedBufferVT ¶
func (m *Value_NullValue) MarshalToSizedBufferVT(dAtA []byte) (int, error)
func (*Value_NullValue) MarshalToVT ¶
func (m *Value_NullValue) MarshalToVT(dAtA []byte) (int, error)
func (*Value_NullValue) SizeVT ¶
func (m *Value_NullValue) SizeVT() (n int)
type Value_NumberValue ¶
type Value_NumberValue struct { // Represents a double value. NumberValue float64 `protobuf:"fixed64,2,opt,name=number_value,json=numberValue,proto3,oneof"` }
func (*Value_NumberValue) MarshalToSizedBufferVT ¶
func (m *Value_NumberValue) MarshalToSizedBufferVT(dAtA []byte) (int, error)
func (*Value_NumberValue) MarshalToVT ¶
func (m *Value_NumberValue) MarshalToVT(dAtA []byte) (int, error)
func (*Value_NumberValue) SizeVT ¶
func (m *Value_NumberValue) SizeVT() (n int)
type Value_StringValue ¶
type Value_StringValue struct { // Represents a string value. StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"` }
func (*Value_StringValue) MarshalToSizedBufferVT ¶
func (m *Value_StringValue) MarshalToSizedBufferVT(dAtA []byte) (int, error)
func (*Value_StringValue) MarshalToVT ¶
func (m *Value_StringValue) MarshalToVT(dAtA []byte) (int, error)
func (*Value_StringValue) SizeVT ¶
func (m *Value_StringValue) SizeVT() (n int)
type Value_StructValue ¶
type Value_StructValue struct { // Represents a structured value. StructValue *Struct `protobuf:"bytes,5,opt,name=struct_value,json=structValue,proto3,oneof"` }
func (*Value_StructValue) MarshalToSizedBufferVT ¶
func (m *Value_StructValue) MarshalToSizedBufferVT(dAtA []byte) (int, error)
func (*Value_StructValue) MarshalToVT ¶
func (m *Value_StructValue) MarshalToVT(dAtA []byte) (int, error)
func (*Value_StructValue) SizeVT ¶
func (m *Value_StructValue) SizeVT() (n int)