util

package
Version: v2.51.2 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2022 License: Apache-2.0 Imports: 10 Imported by: 40

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Array2DEquals

func Array2DEquals(a [][]string, b [][]string) bool

Array2DEquals determines whether two 2-dimensional string arrays are identical.

func ArrayEquals

func ArrayEquals(a []string, b []string) bool

ArrayEquals determines whether two string arrays are identical.

func ArrayRemoveDuplicates

func ArrayRemoveDuplicates(s *[]string)

ArrayRemoveDuplicates removes any duplicated elements in a string array.

func ArrayToString

func ArrayToString(s []string) string

ArrayToString gets a printable string for a string array.

func EscapeAssertion

func EscapeAssertion(s string) string

EscapeAssertion escapes the dots in the assertion, because the expression evaluation doesn't support such variable names.

func GenerateGFunction

func GenerateGFunction(rm rbac.RoleManager) govaluate.ExpressionFunction

GenerateGFunction is the factory method of the g(_, _[, _]) function.

func GetEvalValue added in v2.3.0

func GetEvalValue(s string) []string

GetEvalValue returns the parameters of function eval

func GlobMatch added in v2.2.2

func GlobMatch(key1 string, key2 string) (bool, error)

GlobMatch determines whether key1 matches the pattern of key2 using glob pattern

func GlobMatchFunc added in v2.2.2

func GlobMatchFunc(args ...interface{}) (interface{}, error)

GlobMatchFunc is the wrapper for GlobMatch.

func HasEval added in v2.3.0

func HasEval(s string) bool

HasEval determine whether matcher contains function eval

func IPMatch

func IPMatch(ip1 string, ip2 string) bool

IPMatch determines whether IP address ip1 matches the pattern of IP address ip2, ip2 can be an IP address or a CIDR pattern. For example, "192.168.2.123" matches "192.168.2.0/24"

func IPMatchFunc

func IPMatchFunc(args ...interface{}) (interface{}, error)

IPMatchFunc is the wrapper for IPMatch.

func JoinSlice

func JoinSlice(a string, b ...string) []string

JoinSlice joins a string and a slice into a new slice.

func JoinSliceAny

func JoinSliceAny(a string, b ...string) []interface{}

JoinSliceAny joins a string and a slice into a new interface{} slice.

func KeyGet added in v2.20.0

func KeyGet(key1, key2 string) string

KeyGet returns the matched part For example, "/foo/bar/foo" matches "/foo/*" "bar/foo" will been returned

func KeyGet2 added in v2.20.0

func KeyGet2(key1, key2 string, pathVar string) string

KeyGet2 returns value matched pattern For example, "/resource1" matches "/:resource" if the pathVar == "resource", then "resource1" will be returned

func KeyGet2Func added in v2.20.0

func KeyGet2Func(args ...interface{}) (interface{}, error)

KeyGet2Func is the wrapper for KeyGet2

func KeyGet3 added in v2.51.0

func KeyGet3(key1, key2 string, pathVar string) string

KeyGet3 returns value matched pattern For example, "project/proj_project1_admin/" matches "project/proj_{project}_admin/" if the pathVar == "project", then "project1" will be returned

func KeyGet3Func added in v2.51.0

func KeyGet3Func(args ...interface{}) (interface{}, error)

KeyGet3Func is the wrapper for KeyGet3

func KeyGetFunc added in v2.20.0

func KeyGetFunc(args ...interface{}) (interface{}, error)

KeyGetFunc is the wrapper for KeyGet

func KeyMatch

func KeyMatch(key1 string, key2 string) bool

KeyMatch determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *. For example, "/foo/bar" matches "/foo/*"

func KeyMatch2

func KeyMatch2(key1 string, key2 string) bool

KeyMatch2 determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *. For example, "/foo/bar" matches "/foo/*", "/resource1" matches "/:resource"

func KeyMatch2Func

func KeyMatch2Func(args ...interface{}) (interface{}, error)

KeyMatch2Func is the wrapper for KeyMatch2.

func KeyMatch3

func KeyMatch3(key1 string, key2 string) bool

KeyMatch3 determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *. For example, "/foo/bar" matches "/foo/*", "/resource1" matches "/{resource}"

func KeyMatch3Func

func KeyMatch3Func(args ...interface{}) (interface{}, error)

KeyMatch3Func is the wrapper for KeyMatch3.

func KeyMatch4 added in v2.1.0

func KeyMatch4(key1 string, key2 string) bool

KeyMatch4 determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *. Besides what KeyMatch3 does, KeyMatch4 can also match repeated patterns: "/parent/123/child/123" matches "/parent/{id}/child/{id}" "/parent/123/child/456" does not match "/parent/{id}/child/{id}" But KeyMatch3 will match both.

func KeyMatch4Func added in v2.1.0

func KeyMatch4Func(args ...interface{}) (interface{}, error)

KeyMatch4Func is the wrapper for KeyMatch4.

func KeyMatch5 added in v2.39.0

func KeyMatch5(key1 string, key2 string) bool

KeyMatch determines whether key1 matches the pattern of key2 and ignores the parameters in key2. For example, "/foo/bar?status=1&type=2" matches "/foo/bar"

func KeyMatch5Func added in v2.39.0

func KeyMatch5Func(args ...interface{}) (interface{}, error)

KeyMatch5Func is the wrapper for KeyMatch5.

func KeyMatchFunc

func KeyMatchFunc(args ...interface{}) (interface{}, error)

KeyMatchFunc is the wrapper for KeyMatch.

func ParamsToString

func ParamsToString(s ...string) string

ParamsToString gets a printable string for variable number of parameters.

func RegexMatch

func RegexMatch(key1 string, key2 string) bool

RegexMatch determines whether key1 matches the pattern of key2 in regular expression.

func RegexMatchFunc

func RegexMatchFunc(args ...interface{}) (interface{}, error)

RegexMatchFunc is the wrapper for RegexMatch.

func RemoveComments

func RemoveComments(s string) string

RemoveComments removes the comments starting with # in the text.

func RemoveDuplicateElement added in v2.23.1

func RemoveDuplicateElement(s []string) []string

func ReplaceEval added in v2.3.0

func ReplaceEval(s string, rule string) string

ReplaceEval replace function eval with the value of its parameters

func ReplaceEvalWithMap added in v2.14.2

func ReplaceEvalWithMap(src string, sets map[string]string) string

ReplaceEvalWithMap replace function eval with the value of its parameters via given sets.

func Set2DEquals added in v2.43.2

func Set2DEquals(a [][]string, b [][]string) bool

SetEquals determines whether two string sets are identical.

func SetEquals

func SetEquals(a []string, b []string) bool

SetEquals determines whether two string sets are identical.

func SetEqualsInt added in v2.43.2

func SetEqualsInt(a []int, b []int) bool

SetEquals determines whether two string sets are identical.

func SetSubtract

func SetSubtract(a []string, b []string) []string

SetSubtract returns the elements in `a` that aren't in `b`.

Types

type LRUCache added in v2.43.2

type LRUCache struct {
	// contains filtered or unexported fields
}

func NewLRUCache added in v2.43.2

func NewLRUCache(capacity int) *LRUCache

func (*LRUCache) Get added in v2.43.2

func (cache *LRUCache) Get(key interface{}) (value interface{}, ok bool)

func (*LRUCache) Put added in v2.43.2

func (cache *LRUCache) Put(key interface{}, value interface{})

type SyncLRUCache added in v2.43.2

type SyncLRUCache struct {
	*LRUCache
	// contains filtered or unexported fields
}

func NewSyncLRUCache added in v2.43.2

func NewSyncLRUCache(capacity int) *SyncLRUCache

func (*SyncLRUCache) Get added in v2.43.2

func (cache *SyncLRUCache) Get(key interface{}) (value interface{}, ok bool)

func (*SyncLRUCache) Put added in v2.43.2

func (cache *SyncLRUCache) Put(key interface{}, value interface{})

Jump to

Keyboard shortcuts

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