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"`
}