Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // SkipNotEmptyRe // regexp for filter any not empty key SkipNotEmptyRe = regexp.MustCompile(`.+`) // SkipWithEmptyRe // regexp for filter any key (include empty) SkipWithEmptyRe = regexp.MustCompile(`.*`) )
Functions ¶
func MapKeysFilter ¶
MapKeysFilter returns go-cmp option for ignore golang map keys by path Every MapPath are paths to keys With it you can filter multiple keys by own path For create MapPath you can use NewMapPathStringComparator MapPathReComparator
func RepeatCompileRe ¶
RepeatCompileRe compile regexp and create list of regexp with count len
Types ¶
type MapPathComparator ¶
type MapPathComparator interface {
// Compare
// compare key part with index
Compare(indx int, keyPathPart string) bool
// Parts
// returns number of parts
Parts() int
}
MapPathComparator interface for compare key parts
type MapPathReComparator ¶
MapPathReComparator implementation of MapPathComparator This comparator compare every path part as regexp match
func NewMapPathReComparator ¶
func NewMapPathReComparator(parts ...string) (MapPathReComparator, error)
NewMapPathReComparator creates MapPathReComparator parts is regexp compatibility strings all parts will compile to regexp for example, for filter all keys "second" and "first" key as single regexp in map:
map[string]any {
"root": map[string]any{
"first": 42,
"second": "val",
"another": []string{"hello"}
}
}
you can use next call NewMapPathReComparator("root", "^(second|first)$") function returns all compile errors as single error
func NewMapPathReComparatorFromRe ¶
func NewMapPathReComparatorFromRe(parts ...*regexp.Regexp) MapPathReComparator
NewMapPathReComparator creates MapPathReComparator parts is regexp instances
func (MapPathReComparator) Compare ¶
func (c MapPathReComparator) Compare(indx int, keyPathPart string) bool
func (MapPathReComparator) Parts ¶
func (c MapPathReComparator) Parts() int
type MapPathStringComparator ¶
type MapPathStringComparator []string
MapPathStringComparator implementation of MapPathComparator This comparator compare every path part as full string equals
func NewMapPathStringComparator ¶
func NewMapPathStringComparator(parts ...string) MapPathStringComparator
NewMapPathStringComparator creates MapPathStringComparator parts is full path to key for filter for example, for filter "second" key in map:
map[string]any {
"root": map[string]any{
"first": 42,
"second": "val",
}
}
you can use next call NewMapPathStringComparator("root", "second")
func (MapPathStringComparator) Compare ¶
func (c MapPathStringComparator) Compare(indx int, keyPathPart string) bool
func (MapPathStringComparator) Parts ¶
func (c MapPathStringComparator) Parts() int