kubernetes/vendor/sigs.k8s.io/structured-merge-diff/v4/value/valuereflect.go

// NewValueReflect creates a Value backed by an "interface{}" type,
// typically an structured object in Kubernetes world that is uses reflection to expose.
// The provided "interface{}" value must be a pointer so that the value can be modified via reflection.
// The provided "interface{}" may contain structs and types that are converted to Values
// by the jsonMarshaler interface.
func NewValueReflect(value interface{}

// wrapValueReflect wraps the provide reflect.Value as a value. If parent in the data tree is a map, parentMap
// and parentMapKey must be provided so that the returned value may be set and deleted.
func wrapValueReflect(value reflect.Value, parentMap, parentMapKey *reflect.Value) (Value, error) {}

// wrapValueReflect wraps the provide reflect.Value as a value, and panics if there is an error. If parent in the data
// tree is a map, parentMap and parentMapKey must be provided so that the returned value may be set and deleted.
func mustWrapValueReflect(value reflect.Value, parentMap, parentMapKey *reflect.Value) Value {}

var nilType

// reuse replaces the value of the valueReflect. If parent in the data tree is a map, parentMap and parentMapKey
// must be provided so that the returned value may be set and deleted.
func (r *valueReflect) reuse(value reflect.Value, cacheEntry *TypeReflectCacheEntry, parentMap, parentMapKey *reflect.Value) (Value, error) {}

// mustReuse replaces the value of the valueReflect and panics if there is an error. If parent in the data tree is a
// map, parentMap and parentMapKey must be provided so that the returned value may be set and deleted.
func (r *valueReflect) mustReuse(value reflect.Value, cacheEntry *TypeReflectCacheEntry, parentMap, parentMapKey *reflect.Value) Value {}

func dereference(val reflect.Value) reflect.Value {}

type valueReflect

func (r valueReflect) IsMap() bool {}

func (r valueReflect) IsList() bool {}

func (r valueReflect) IsBool() bool {}

func (r valueReflect) IsInt() bool {}

func (r valueReflect) IsFloat() bool {}

func (r valueReflect) IsString() bool {}

func (r valueReflect) IsNull() bool {}

type reflectType

const mapType

const structMapType

const listType

const intType

const uintType

const floatType

const stringType

const byteStringType

const boolType

const nullType

func kind(v reflect.Value) reflectType {}

// TODO find a cleaner way to avoid panics from reflect.IsNil()
func safeIsNil(v reflect.Value) bool {}

func (r valueReflect) AsMap() Map {}

func (r valueReflect) AsMapUsing(a Allocator) Map {}

func (r valueReflect) AsList() List {}

func (r valueReflect) AsListUsing(a Allocator) List {}

func (r valueReflect) AsBool() bool {}

func (r valueReflect) AsInt() int64 {}

func (r valueReflect) AsFloat() float64 {}

func (r valueReflect) AsString() string {}

func (r valueReflect) Unstructured() interface{}