Enum value maps for NullValue.
var ( NullValue_name = map[int32]string{ 0: "NULL_VALUE", } NullValue_value = map[string]int32{ "NULL_VALUE": 0, } )
var File_google_protobuf_struct_proto protoreflect.FileDescriptor
`ListValue` is a wrapper around a repeated field of values.
The JSON representation for `ListValue` is JSON array.
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 }
func NewList(v []interface{}) (*ListValue, error)
NewList constructs a ListValue from a general-purpose Go slice. The slice elements are converted using NewValue.
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) Descriptor() ([]byte, []int)
Deprecated: Use ListValue.ProtoReflect.Descriptor instead.
func (x *ListValue) GetValues() []*Value
func (x *ListValue) MarshalJSON() ([]byte, error)
func (*ListValue) ProtoMessage()
func (x *ListValue) ProtoReflect() protoreflect.Message
func (x *ListValue) Reset()
func (x *ListValue) String() string
func (x *ListValue) UnmarshalJSON(b []byte) error
`NullValue` is a singleton enumeration to represent the null value for the `Value` type union.
The JSON representation for `NullValue` is JSON `null`.
type NullValue int32
const ( // Null value. NullValue_NULL_VALUE NullValue = 0 )
func (NullValue) Descriptor() protoreflect.EnumDescriptor
func (x NullValue) Enum() *NullValue
func (NullValue) EnumDescriptor() ([]byte, []int)
Deprecated: Use NullValue.Descriptor instead.
func (x NullValue) Number() protoreflect.EnumNumber
func (x NullValue) String() string
func (NullValue) Type() protoreflect.EnumType
`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.
type Struct struct { // Unordered map of dynamically typed values. Fields map[string]*Value `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // contains filtered or unexported fields }
func NewStruct(v map[string]interface{}) (*Struct, error)
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 (x *Struct) AsMap() map[string]interface{}
AsMap converts x to a general-purpose Go map. The map values are converted by calling Value.AsInterface.
func (*Struct) Descriptor() ([]byte, []int)
Deprecated: Use Struct.ProtoReflect.Descriptor instead.
func (x *Struct) GetFields() map[string]*Value
func (x *Struct) MarshalJSON() ([]byte, error)
func (*Struct) ProtoMessage()
func (x *Struct) ProtoReflect() protoreflect.Message
func (x *Struct) Reset()
func (x *Struct) String() string
func (x *Struct) UnmarshalJSON(b []byte) error
`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.
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 }
func NewBoolValue(v bool) *Value
NewBoolValue constructs a new boolean Value.
func NewListValue(v *ListValue) *Value
NewListValue constructs a new list Value.
func NewNullValue() *Value
NewNullValue constructs a new null Value.
func NewNumberValue(v float64) *Value
NewNumberValue constructs a new number Value.
func NewStringValue(v string) *Value
NewStringValue constructs a new string Value.
func NewStructValue(v *Struct) *Value
NewStructValue constructs a new struct Value.
func NewValue(v interface{}) (*Value, error)
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 (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) Descriptor() ([]byte, []int)
Deprecated: Use Value.ProtoReflect.Descriptor instead.
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 (x *Value) MarshalJSON() ([]byte, error)
func (*Value) ProtoMessage()
func (x *Value) ProtoReflect() protoreflect.Message
func (x *Value) Reset()
func (x *Value) String() string
func (x *Value) UnmarshalJSON(b []byte) error
type Value_BoolValue struct { // Represents a boolean value. BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,proto3,oneof"` }
type Value_ListValue struct { // Represents a repeated `Value`. ListValue *ListValue `protobuf:"bytes,6,opt,name=list_value,json=listValue,proto3,oneof"` }
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"` }
type Value_NumberValue struct { // Represents a double value. NumberValue float64 `protobuf:"fixed64,2,opt,name=number_value,json=numberValue,proto3,oneof"` }
type Value_StringValue struct { // Represents a string value. StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"` }
type Value_StructValue struct { // Represents a structured value. StructValue *Struct `protobuf:"bytes,5,opt,name=struct_value,json=structValue,proto3,oneof"` }