structpb

package
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 25, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	NullValue_name = map[int32]string{
		0: "NULL_VALUE",
	}
	NullValue_value = map[string]int32{
		"NULL_VALUE": 0,
	}
)

Enum value maps for NullValue.

View Source
var (
	ErrInvalidLength        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflow          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
)

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

func NewList(v []interface{}) (*ListValue, error)

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

func (x *ListValue) GetValues() []*Value

func (*ListValue) MarshalToSizedBufferVT

func (m *ListValue) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*ListValue) MarshalToVT

func (m *ListValue) MarshalToVT(dAtA []byte) (int, error)

func (*ListValue) MarshalVT

func (m *ListValue) MarshalVT() (dAtA []byte, err error)

func (*ListValue) ProtoReflect

func (x *ListValue) ProtoReflect() protoreflect.Message

func (*ListValue) SizeVT

func (m *ListValue) SizeVT() (n int)

func (*ListValue) UnmarshalVT

func (m *ListValue) UnmarshalVT(dAtA []byte) error

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
)

func (NullValue) Enum

func (x NullValue) Enum() *NullValue

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

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 (*Struct) AsMap

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

func (x *Struct) GetFields() map[string]*Value

func (*Struct) MarshalToSizedBufferVT

func (m *Struct) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*Struct) MarshalToVT

func (m *Struct) MarshalToVT(dAtA []byte) (int, error)

func (*Struct) MarshalVT

func (m *Struct) MarshalVT() (dAtA []byte, err error)

func (*Struct) ProtoReflect

func (x *Struct) ProtoReflect() protoreflect.Message

func (*Struct) SizeVT

func (m *Struct) SizeVT() (n int)

func (*Struct) UnmarshalVT

func (m *Struct) UnmarshalVT(dAtA []byte) error

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 NewBoolValue

func NewBoolValue(v bool) *Value

NewBoolValue constructs a new boolean Value.

func NewListValue

func NewListValue(v *ListValue) *Value

NewListValue constructs a new list Value.

func NewNullValue

func NewNullValue() *Value

NewNullValue constructs a new null Value.

func NewNumberValue

func NewNumberValue(v float64) *Value

NewNumberValue constructs a new number Value.

func NewStringValue

func NewStringValue(v string) *Value

NewStringValue constructs a new string Value.

func NewStructValue

func NewStructValue(v *Struct) *Value

NewStructValue constructs a new struct Value.

func NewValue

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 (*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 (x *Value) GetBoolValue() bool

func (*Value) GetKind

func (m *Value) GetKind() isValue_Kind

func (*Value) GetListValue

func (x *Value) GetListValue() *ListValue

func (*Value) GetNullValue

func (x *Value) GetNullValue() NullValue

func (*Value) GetNumberValue

func (x *Value) GetNumberValue() float64

func (*Value) GetStringValue

func (x *Value) GetStringValue() string

func (*Value) GetStructValue

func (x *Value) GetStructValue() *Struct

func (*Value) MarshalToSizedBufferVT

func (m *Value) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*Value) MarshalToVT

func (m *Value) MarshalToVT(dAtA []byte) (int, error)

func (*Value) MarshalVT

func (m *Value) MarshalVT() (dAtA []byte, err error)

func (*Value) ProtoReflect

func (x *Value) ProtoReflect() protoreflect.Message

func (*Value) SizeVT

func (m *Value) SizeVT() (n int)

func (*Value) UnmarshalVT

func (m *Value) UnmarshalVT(dAtA []byte) error

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)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL