util

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2019 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// PathSeparator is the separator between path elements.
	PathSeparator = "."
	// KVSeparator is the separator between the key and value in a key/value path element,
	KVSeparator = string(kvSeparatorRune)
)

Variables

View Source
var (
	// ValidKeyRegex is a regex for a valid path key element.
	ValidKeyRegex = regexp.MustCompile("^[a-zA-Z0-9_-]*$")
)

Functions

func DeleteAnnotation

func DeleteAnnotation(resource runtime.Object, annotation string)

DeleteAnnotation is a helper function which deletes the specified annotation from the specified object.

func DeleteFromSlicePtr

func DeleteFromSlicePtr(parentSlice interface{}, index int) error

DeleteFromSlicePtr deletes an entry at index from the parent, which must be a slice ptr.

func DeleteLabel

func DeleteLabel(resource runtime.Object, label string)

DeleteLabel is a helper function which deletes the specified label from the specified object.

func EqualErrors

func EqualErrors(a, b Errors) bool

EqualErrors reports whether a and b are equal, regardless of ordering.

func GetAnnotation

func GetAnnotation(resource runtime.Object, annotation string) (value string, ok bool)

GetAnnotation is a helper function which returns the value of the specified annotation on the specified object. returns ok=false if the annotation was not found on the object.

func GetLabel

func GetLabel(resource runtime.Object, label string) (string, bool)

GetLabel is a helper function which returns the value of the specified label on the specified object. returns "", false if the label was not found on the object.

func HasAnnotation

func HasAnnotation(resource runtime.Object, annotation string) bool

HasAnnotation is a helper function returning true if the specified object contains the specified annotation.

func HasLabel

func HasLabel(resource runtime.Object, label string) bool

HasLabel is a helper function returning true if the specified object contains the specified label.

func InsertIntoMap

func InsertIntoMap(parentMap interface{}, key interface{}, value interface{}) error

InsertIntoMap inserts value with key into parent which must be a map, map ptr, or interface to map.

func IsEmptyString

func IsEmptyString(value interface{}) bool

IsEmptyString returns true if value is an empty string.

func IsFilePath

func IsFilePath(path string) bool

IsFilePath reports whether the given URL is a local file path.

func IsIntKind

func IsIntKind(k reflect.Kind) bool

IsIntKind reports whether k is an integer kind of any size.

func IsInterfacePtr

func IsInterfacePtr(v interface{}) bool

IsInterfacePtr reports whether v is a slice ptr type.

func IsKVPathElement

func IsKVPathElement(pe string) bool

IsKVPathElement report whether pe is a key/value path element.

func IsMap

func IsMap(value interface{}) bool

IsMap reports whether value is a map type.

func IsMapPtr

func IsMapPtr(v interface{}) bool

IsMapPtr reports whether v is a map ptr type.

func IsNilOrInvalidValue

func IsNilOrInvalidValue(v reflect.Value) bool

IsNilOrInvalidValue reports whether v is nil or reflect.Zero.

func IsPtr

func IsPtr(value interface{}) bool

IsPtr reports whether value is a ptr type.

func IsSlice

func IsSlice(value interface{}) bool

IsSlice reports whether value is a slice type.

func IsSliceInterfacePtr

func IsSliceInterfacePtr(v interface{}) bool

IsSliceInterfacePtr reports whether v is a slice ptr type.

func IsSlicePtr

func IsSlicePtr(v interface{}) bool

IsSlicePtr reports whether v is a slice ptr type.

func IsString

func IsString(value interface{}) bool

IsString reports whether value is a string type.

func IsStruct

func IsStruct(value interface{}) bool

func IsTypeInterface

func IsTypeInterface(t reflect.Type) bool

IsTypeInterface reports whether v is an interface.

func IsTypeMap

func IsTypeMap(t reflect.Type) bool

IsTypeMap reports whether v is a map type.

func IsTypeSlice

func IsTypeSlice(t reflect.Type) bool

IsTypeSlice reports whether v is a slice type.

func IsTypeSliceOfInterface

func IsTypeSliceOfInterface(t reflect.Type) bool

IsTypeSliceOfInterface reports whether v is a slice of interface.

func IsTypeSlicePtr

func IsTypeSlicePtr(t reflect.Type) bool

IsTypeSlicePtr reports whether v is a slice ptr type.

func IsTypeStruct

func IsTypeStruct(t reflect.Type) bool

IsTypeStruct reports whether t is a struct type.

func IsTypeStructPtr

func IsTypeStructPtr(t reflect.Type) bool

IsTypeStructPtr reports whether v is a struct ptr type.

func IsUintKind

func IsUintKind(k reflect.Kind) bool

IsUintKind reports whether k is an unsigned integer kind of any size.

func IsVPathElement

func IsVPathElement(pe string) bool

IsVPathElement report whether pe is a value path element.

func IsValidPathElement

func IsValidPathElement(pe string) bool

IsValidPathElement reports whether pe is a valid path element.

func IsValueInterface

func IsValueInterface(v reflect.Value) bool

IsValueInterface reports whether v is an interface type.

func IsValueMap

func IsValueMap(v reflect.Value) bool

IsValueMap reports whether v is a map type.

func IsValueNil

func IsValueNil(value interface{}) bool

IsValueNil returns true if either value is nil, or has dynamic type {ptr, map, slice} with value nil.

func IsValueNilOrDefault

func IsValueNilOrDefault(value interface{}) bool

IsValueNilOrDefault returns true if either IsValueNil(value) or the default value for the type.

func IsValuePtr

func IsValuePtr(v reflect.Value) bool

IsValuePtr reports whether v is a ptr type.

func IsValueScalar

func IsValueScalar(v reflect.Value) bool

IsValueScalar reports whether v is a scalar type.

func IsValueSlice

func IsValueSlice(v reflect.Value) bool

IsValueSlice reports whether v is a slice type.

func IsValueStruct

func IsValueStruct(v reflect.Value) bool

IsValueStruct reports whether v is a struct type.

func IsValueStructPtr

func IsValueStructPtr(v reflect.Value) bool

IsValueStructPtr reports whether v is a struct ptr type.

func IsYAMLEqual

func IsYAMLEqual(a, b string) bool

IsYAMLEqual reports whether the YAML in strings a and b are equal.

func MarshalWithJSONPB

func MarshalWithJSONPB(val proto.Message) (string, error)

MarshalWithJSONPB returns a YAML string representation of val (using jsonpb).

func ParseValue

func ParseValue(valueStr string) interface{}

ParseValue parses string into a value

func PathKV

func PathKV(pe string) (k, v string, err error)

Path KVreturns the key and value string parts of the entire key/value path element. It returns an error if pe is not a key/value path element.

func PathV

func PathV(pe string) (string, error)

PathV returns the value string part of the entire value path element. It returns an error if pe is not a value path element.

func PrettyJSON

func PrettyJSON(b []byte) []byte

PrettyJSON returns a pretty printed version of the JSON string b.

func RandomString

func RandomString(n int) string

RandomString returns a random string of length n.

func ReadFiles

func ReadFiles(dirName string, filter FileFilter) (string, error)

ReadFiles reads a directory recursively or reads single file and filters the results. It returns a concatenated output of all matching files' content.

func RemoveBrackets

func RemoveBrackets(pe string) (string, bool)

RemoveBrackets removes the [] around pe and returns the resulting string. It returns false if pe is not surrounded by [].

func SetAnnotation

func SetAnnotation(resource runtime.Object, annotation, value string) error

SetAnnotation is a helper function which sets the specified annotation and value on the specified object.

func SetLabel

func SetLabel(resource runtime.Object, label, value string) error

SetLabel is a helper function which sets the specified label and value on the specified object.

func StringBoolMapToSlice

func StringBoolMapToSlice(m map[string]bool) []string

StringBoolMapToSlice creates and returns a slice of all the map keys with true.

func ToIntValue

func ToIntValue(val interface{}) (int, bool)

ToIntValue returns 0, false if val is not a number type, otherwise it returns the int value of val.

func ToString

func ToString(errors []error) string

ToString returns a string representation of errors. Any nil errors in the slice are skipped.

func ToYAML

func ToYAML(val interface{}) string

ToYAML returns a YAML string representation of val, or the error string if an error occurs.

func ToYAMLPathString

func ToYAMLPathString(path string) string

ToYAMLPathString converts a path string such that the first letter of each path element is lower case.

func ToYAMLWithJSONPB

func ToYAMLWithJSONPB(val proto.Message) string

ToYAMLWithJSONPB returns a YAML string representation of val (using jsonpb), or the error string if an error occurs.

func UnmarshalWithJSONPB

func UnmarshalWithJSONPB(y string, out proto.Message) error

UnmarshalWithJSONPB unmarshals y into out using jsonpb (required for many proto defined structs).

func UpdateSlicePtr

func UpdateSlicePtr(parentSlice interface{}, index int, value interface{}) error

UpdateSlicePtr updates an entry at index in the parent, which must be a slice ptr, with the given value.

func ValuesAreSameType

func ValuesAreSameType(v1 reflect.Value, v2 reflect.Value) bool

ValuesAreSameType returns true if v1 and v2 has the same reflect.Type, otherwise it returns false.

func YAMLDiff

func YAMLDiff(a, b string) string

Types

type Errors

type Errors []error

Errors is a slice of error.

func AppendErr

func AppendErr(errors []error, err error) Errors

AppendErr appends err to errors if it is not nil and returns the result. If err is nil, it is not appended.

func AppendErrs

func AppendErrs(errors []error, newErrs []error) Errors

AppendErrs appends newErrs to errors and returns the result. If newErrs is empty, nothing is appended.

func NewErrs

func NewErrs(err error) Errors

NewErrs returns a slice of error with a single element err. If err is nil, returns nil.

func (Errors) Error

func (e Errors) Error() string

Error implements the error#Error method.

func (Errors) String

func (e Errors) String() string

String implements the stringer#String method.

func (Errors) ToError

func (e Errors) ToError() error

ToError returns an error from Errors.

type FileFilter

type FileFilter func(fileName string) bool

type Path

type Path []string

Path is a path in slice form.

func PathFromString

func PathFromString(path string) Path

PathFromString converts a string path of form a.b.c to a string slice representation.

func ToYAMLPath

func ToYAMLPath(path string) Path

ToYAMLPath converts a path string to path such that the first letter of each path element is lower case.

func (Path) String

func (p Path) String() string

String converts a string slice path representation of form ["a", "b", "c"] to a string representation like "a.b.c".

type Tree

type Tree map[string]interface{}

Tree is a tree.

func (Tree) String

func (t Tree) String() string

String implements the Stringer interface method.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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