Documentation
¶
Overview ¶
Package fields implements a simple field system, parsing and matching selectors with sets of fields.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Fields ¶
type Fields interface {
// Has returns whether the provided field exists.
Has(field string) (exists bool)
// Get returns the value for the provided field.
Get(field string) (value string)
}
Fields allows you to present fields independently from their storage.
type Selector ¶
type Selector interface {
// Matches returns true if this selector matches the given set of fields.
Matches(Fields) bool
// Empty returns true if this selector does not restrict the selection space.
Empty() bool
// RequiresExactMatch allows a caller to introspect whether a given selector
// requires a single specific field to be set, and if so returns the value it
// requires.
RequiresExactMatch(field string) (value string, found bool)
// String returns a human readable string that represents this selector.
String() string
}
Selector represents a field selector.
func OneTermEqualSelector ¶
OneTermEqualSelector returns an object that matches objects where one field/field equals one value. Cannot return an error.
func ParseAndTransformSelector ¶
func ParseAndTransformSelector(selector string, fn TransformFunc) (Selector, error)
Parses the selector and runs them through the given TransformFunc.
func ParseSelector ¶
ParseSelector takes a string representing a selector and returns an object suitable for matching, or an error.
func SelectorFromSet ¶
SelectorFromSet returns a Selector which will match exactly the given Set. A nil Set is considered equivalent to Everything().
type Set ¶
Set is a map of field:value. It implements Fields.
func (Set) AsSelector ¶
AsSelector converts fields into a selectors.
type TransformFunc ¶
Function to transform selectors.