vault: github.com/hashicorp/vault/sdk/helper/strutil Index | Files

package strutil

import "github.com/hashicorp/vault/sdk/helper/strutil"

Index

Package Files

strutil.go

func AppendIfMissing Uses

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

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

func Difference Uses

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 Uses

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 Uses

func EquivalentSlices(a, b []string) bool

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

func GlobbedStringsMatch Uses

func GlobbedStringsMatch(item, val string) bool

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

func MergeSlices Uses

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

MergeSlices adds an arbitrary number of slices together, uniquely

func ParseArbitraryKeyValues Uses

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 Uses

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 Uses

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 Uses

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 Uses

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 Uses

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 Uses

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 RemoveDuplicatesStable Uses

func RemoveDuplicatesStable(items []string, caseInsensitive bool) []string

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 Uses

func RemoveEmpty(items []string) []string

RemoveEmpty removes empty elements from a slice of strings

func StrListContains Uses

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

StrListContains looks for a string in a list of strings.

func StrListContainsGlob Uses

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

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

func StrListDelete Uses

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 Uses

func StrListSubset(super, sub []string) bool

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

func TrimStrings Uses

func TrimStrings(items []string) []string

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

Package strutil imports 7 packages (graph) and is imported by 58 packages. Updated 2019-05-28. Refresh now. Tools for package owners.