strutil

package
v1.1.5 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2019 License: MPL-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AppendIfMissing added in v0.8.0

func AppendIfMissing(slice []string, i string) []string

AppendIfMissing adds a string to a slice if the given string is not present

func Difference added in v0.11.2

func Difference(a, b []string, lowercase bool) []string

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 added in v1.0.3

func EqualStringMaps(a, b map[string]string) bool

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 added in v0.6.1

func EquivalentSlices(a, b []string) bool

EquivalentSlices checks whether the given string sets are equivalent, as in, they contain the same values.

func GlobbedStringsMatch added in v0.7.0

func GlobbedStringsMatch(item, val string) bool

GlobbedStringsMatch compares item to val with support for a leading and/or trailing wildcard '*' in item.

func MergeSlices added in v0.11.0

func MergeSlices(args ...[]string) []string

MergeSlices adds an arbitrary number of slices together, uniquely

func ParseArbitraryKeyValues added in v0.6.1

func ParseArbitraryKeyValues(input string, out map[string]string, sep string) error

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 added in v0.6.1

func ParseArbitraryStringSlice(input string, sep string) []string

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 added in v0.6.1

func ParseDedupAndSortStrings(input string, sep string) []string

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 added in v0.7.1

func ParseDedupLowercaseAndSortStrings(input string, sep string) []string

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 added in v0.6.1

func ParseKeyValues(input string, out map[string]string, sep string) error

ParseKeyValues parses a comma separated list of `<key>=<value>` tuples into a map[string]string.

func ParseStringSlice added in v0.6.1

func ParseStringSlice(input string, sep string) []string

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 RemoveDuplicates

func RemoveDuplicates(items []string, lowercase bool) []string

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 RemoveEmpty added in v0.11.6

func RemoveEmpty(items []string) []string

RemoveEmpty removes empty elements from a slice of strings

func StrListContains

func StrListContains(haystack []string, needle string) bool

StrListContains looks for a string in a list of strings.

func StrListContainsGlob added in v0.9.0

func StrListContainsGlob(haystack []string, needle string) bool

StrListContainsGlob looks for a string in a list of strings and allows globs.

func StrListDelete added in v0.6.4

func StrListDelete(s []string, d string) []string

StrListDelete removes the first occurrence of the given item from the slice of strings if the item exists.

func StrListSubset

func StrListSubset(super, sub []string) bool

StrListSubset checks if a given list is a subset of another set

func TrimStrings added in v0.7.1

func TrimStrings(items []string) []string

TrimStrings takes a slice of strings and returns a slice of strings with trimmed spaces

Types

This section is empty.

Jump to

Keyboard shortcuts

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