Documentation ¶
Index ¶
- func AppendIfMissing(slice []string, i string) []string
- func Difference(a, b []string, lowercase bool) []string
- func EqualStringMaps(a, b map[string]string) bool
- func EquivalentSlices(a, b []string) bool
- func GetString(m map[string]interface{}, key string) (string, error)
- func GlobbedStringsMatch(item, val string) bool
- func MergeSlices(args ...[]string) []string
- func ParseArbitraryKeyValues(input string, out map[string]string, sep string) error
- func ParseArbitraryStringSlice(input string, sep string) []string
- func ParseDedupAndSortStrings(input string, sep string) []string
- func ParseDedupLowercaseAndSortStrings(input string, sep string) []string
- func ParseKeyValues(input string, out map[string]string, sep string) error
- func ParseStringSlice(input string, sep string) []string
- func Printable(s string) bool
- func RemoveDuplicates(items []string, lowercase bool) []string
- func RemoveDuplicatesStable(items []string, caseInsensitive bool) []string
- func RemoveEmpty(items []string) []string
- func Reverse(in string) string
- func StrListContains(haystack []string, needle string) bool
- func StrListContainsCaseInsensitive(haystack []string, needle string) bool
- func StrListContainsGlob(haystack []string, needle string) bool
- func StrListDelete(s []string, d string) []string
- func StrListSubset(super, sub []string) bool
- func StringListToInterfaceList(in []string) []interface{}
- func TrimStrings(items []string) []string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AppendIfMissing ¶
AppendIfMissing adds a string to a slice if the given string is not present
func Difference ¶
Difference returns the set difference (A - B) of the two given slices. The result will also remove any duplicated values in set A regardless of whether that matches any values in set B.
func EqualStringMaps ¶
EqualStringMaps tests whether two map[string]string objects are equal. Equal means both maps have the same sets of keys and values. This function is 6-10x faster than a call to reflect.DeepEqual().
func EquivalentSlices ¶
EquivalentSlices checks whether the given string sets are equivalent, as in, they contain the same values.
func GetString ¶
GetString attempts to retrieve a value from the provided map and assert that it is a string. If the key does not exist in the map, this will return an empty string. If the key exists, but the value is not a string type, this will return an error. If no map or key is provied, this will return an error
func GlobbedStringsMatch ¶
GlobbedStringsMatch compares item to val with support for a leading and/or trailing wildcard '*' in item.
func MergeSlices ¶
MergeSlices adds an arbitrary number of slices together, uniquely
func ParseArbitraryKeyValues ¶
ParseArbitraryKeyValues parses arbitrary <key,value> tuples. The input can be one of the following:
- JSON string
- Base64 encoded JSON string
- Comma separated list of `<key>=<value>` pairs
- Base64 encoded string containing comma separated list of `<key>=<value>` pairs
Input will be parsed into the output parameter, which should be a non-nil map[string]string.
func ParseArbitraryStringSlice ¶
ParseArbitraryStringSlice parses arbitrary string slice. The input can be one of the following: * JSON string * Base64 encoded JSON string * `sep` separated list of values * Base64-encoded string containing a `sep` separated list of values
Note that the separator is ignored if the input is found to already be in a structured format (e.g., JSON)
The output will always be a valid slice but may be of length zero.
func ParseDedupAndSortStrings ¶
ParseDedupAndSortStrings parses a comma separated list of strings into a slice of strings. The return slice will be sorted and will not contain duplicate or empty items.
func ParseDedupLowercaseAndSortStrings ¶
ParseDedupLowercaseAndSortStrings parses a comma separated list of strings into a slice of strings. The return slice will be sorted and will not contain duplicate or empty items. The values will be converted to lower case.
func ParseKeyValues ¶
ParseKeyValues parses a comma separated list of `<key>=<value>` tuples into a map[string]string.
func ParseStringSlice ¶
ParseStringSlice parses a `sep`-separated list of strings into a []string with surrounding whitespace removed.
The output will always be a valid slice but may be of length zero.
func Printable ¶
Printable returns true if all characters in the string are printable according to Unicode
func RemoveDuplicates ¶
RemoveDuplicates removes duplicate and empty elements from a slice of strings. This also may convert the items in the slice to lower case and returns a sorted slice.
func RemoveDuplicatesStable ¶
RemoveDuplicatesStable removes duplicate and empty elements from a slice of strings, preserving order (and case) of the original slice. In all cases, strings are compared after trimming whitespace If caseInsensitive, strings will be compared after ToLower()
func RemoveEmpty ¶
RemoveEmpty removes empty elements from a slice of strings
func StrListContains ¶
StrListContains looks for a string in a list of strings.
func StrListContainsCaseInsensitive ¶
StrListContainsCaseInsensitive looks for a string in a list of strings.
func StrListContainsGlob ¶
StrListContainsGlob looks for a string in a list of strings and allows globs.
func StrListDelete ¶
StrListDelete removes the first occurrence of the given item from the slice of strings if the item exists.
func StrListSubset ¶
StrListSubset checks if a given list is a subset of another set
func StringListToInterfaceList ¶
func StringListToInterfaceList(in []string) []interface{}
StringListToInterfaceList simply takes a []string and turns it into a []interface{} to satisfy the input requirements for other library functions
func TrimStrings ¶
TrimStrings takes a slice of strings and returns a slice of strings with trimmed spaces
Types ¶
This section is empty.