matcher

package
v0.0.0-...-1c9a7a8 Latest Latest
Warning

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

Go to latest
Published: Nov 15, 2023 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	QueryOrOperator         = ", "
	QueryAndOperator        = " "
	QueryGroupOpenOperator  = "["
	QueryGroupCloseOperator = "]"
	QueryNegationOperator   = '^'
	QueryExactOperator      = '='
)

Variables

This section is empty.

Functions

func IsMatcherNegate

func IsMatcherNegate(m Matcher) bool

func IsMatcherOperator

func IsMatcherOperator(r rune) (ok bool)

func IsNotMatcherNegate

func IsNotMatcherNegate(m Matcher) bool

func KennungContainsExactlyMatchable

func KennungContainsExactlyMatchable(
	k kennung.KennungSansGattung,
	m *sku.Transacted,
) bool

func KennungContainsMatchable

func KennungContainsMatchable(
	k kennung.KennungSansGattung,
	m *sku.Transacted,
	ki kennung.Index,
) bool

func LenMatchers

func LenMatchers(
	matchers ...Matcher,
) (i int)

func MakeFilterFromQuery

func MakeFilterFromQuery(
	ms Query,
) schnittstellen.FuncIter[*sku.CheckedOut]

func MakeMatcherFuncIter

func MakeMatcherFuncIter[T *sku.Transacted](
	m Matcher,
) schnittstellen.FuncIter[T]

func MakeMatcherFuncIter2

func MakeMatcherFuncIter2(m Matcher) schnittstellen.FuncIter[*sku.Transacted]

func MakeMatcherGattung

func MakeMatcherGattung(m map[gattung.Gattung]Matcher) *matcherGattung

func SetQueryKennung

func SetQueryKennung(
	k schnittstellen.Setter,
	v string,
) (isNegated bool, isExact bool, err error)

func SplitMatcher

func SplitMatcher(
	data []byte,
	atEOF bool,
) (advance int, token []byte, err error)

func VisitAllMatcherKennungSansGattungWrappers

func VisitAllMatcherKennungSansGattungWrappers(
	f schnittstellen.FuncIter[MatcherKennungSansGattungWrapper],
	ex func(Matcher) bool,
	matchers ...Matcher,
) (err error)

func VisitAllMatchers

func VisitAllMatchers(
	f schnittstellen.FuncIter[Matcher],
	matchers ...Matcher,
) (err error)

Types

type FD

type FD fd.FD

func (FD) ContainsMatchable

func (f FD) ContainsMatchable(m *sku.Transacted) (ok bool)

func (FD) ContainsMatchableExactly

func (fd FD) ContainsMatchableExactly(m *sku.Transacted) (ok bool)

func (FD) Each

func (_ FD) Each(_ schnittstellen.FuncIter[Matcher]) error

func (FD) MatcherLen

func (fd FD) MatcherLen() int

func (FD) String

func (f FD) String() string

type FuncQueryTransactedLikePtr

type FuncQueryTransactedLikePtr func(Query, schnittstellen.FuncIter[*sku.Transacted]) error

type FuncReaderTransactedLikePtr

type FuncReaderTransactedLikePtr func(schnittstellen.FuncIter[*sku.Transacted]) error

type FuncSigilTransactedLikePtr

type FuncSigilTransactedLikePtr func(MatcherSigil, schnittstellen.FuncIter[*sku.Transacted]) error

type IdLikeGetter

type IdLikeGetter interface {
	GetKennungLike() kennung.Kennung
	GetKennungLikePtr() kennung.KennungPtr
}

type ImplicitEtikettenGetter

type ImplicitEtikettenGetter interface {
	GetImplicitEtiketten(*kennung.Etikett) kennung.EtikettSet
}

type Konfig

type Konfig kennung.Konfig

func (Konfig) ContainsMatchable

func (i Konfig) ContainsMatchable(m *sku.Transacted) bool

type MatchableAdder

type MatchableAdder interface {
	AddMatchable(*sku.Transacted) error
}

type MatchableGetter

type MatchableGetter interface {
	GetMatchable() *sku.Transacted
}

type Matcher

type Matcher interface {
	ContainsMatchable(*sku.Transacted) bool
	schnittstellen.Stringer
	MatcherLen() int
	Each(schnittstellen.FuncIter[Matcher]) error
}

func MakeArchiviert

func MakeArchiviert() Matcher

func MakeMatcher

func MakeMatcher(
	k kennung.KennungSansGattungPtr,
	v string,
	expander func(string) (string, error),
	ki kennung.Index,
	konfig schnittstellen.Konfig,
) (m Matcher, isNegated bool, isExact bool, err error)

func MakeMatcherAlways

func MakeMatcherAlways() Matcher

func MakeMatcherLua

func MakeMatcherLua(ki kennung.Index, script string) (m Matcher, err error)

func MakeMatcherNever

func MakeMatcherNever() Matcher

type MatcherBuilder

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

func (MatcherBuilder) Build

func (mb MatcherBuilder) Build(vs ...string) (m Matcher, err error)

func (*MatcherBuilder) WithCwd

func (mb *MatcherBuilder) WithCwd(
	cwd Matcher,
) *MatcherBuilder

func (*MatcherBuilder) WithDefaultGattungen

func (mb *MatcherBuilder) WithDefaultGattungen(
	defaultGattungen gattungen.Set,
) *MatcherBuilder

func (*MatcherBuilder) WithExpanders

func (mb *MatcherBuilder) WithExpanders(
	expanders kennung.Abbr,
) *MatcherBuilder

func (*MatcherBuilder) WithFileExtensionGetter

func (mb *MatcherBuilder) WithFileExtensionGetter(
	feg schnittstellen.FileExtensionGetter,
) *MatcherBuilder

func (*MatcherBuilder) WithHidden

func (mb *MatcherBuilder) WithHidden(
	hidden Matcher,
) *MatcherBuilder

func (*MatcherBuilder) WithImplicitEtikettenGetter

func (mb *MatcherBuilder) WithImplicitEtikettenGetter(
	ieg ImplicitEtikettenGetter,
) *MatcherBuilder

type MatcherCwd

type MatcherCwd interface {
	Matcher
	GetCwdFDs() fd.Set
}

func MakeMatcherCwdNop

func MakeMatcherCwdNop(m Matcher) MatcherCwd

type MatcherExact

type MatcherExact interface {
	Matcher
	ContainsMatchableExactly(*sku.Transacted) bool
}

type MatcherExactlyThisOrAllOfThese

type MatcherExactlyThisOrAllOfThese interface {
	Matcher
	AddExactlyThis(Matcher) error
	AddAllOfThese(Matcher) error
}

func MakeMatcherExactlyThisOrAllOfThese

func MakeMatcherExactlyThisOrAllOfThese() MatcherExactlyThisOrAllOfThese

type MatcherImplicit

type MatcherImplicit interface {
	Matcher
	GetImplicitMatcher() matcherImplicit
}

type MatcherKennungSansGattungWrapper

type MatcherKennungSansGattungWrapper interface {
	Matcher
	GetKennung() kennung.KennungSansGattung
}

type MatcherParentPtr

type MatcherParentPtr interface {
	Matcher
	Add(Matcher) error
}

func MakeMatcherAnd

func MakeMatcherAnd(ms ...Matcher) MatcherParentPtr

func MakeMatcherAndDoNotMatchOnEmpty

func MakeMatcherAndDoNotMatchOnEmpty(ms ...Matcher) MatcherParentPtr

func MakeMatcherImplicit

func MakeMatcherImplicit(m Matcher) MatcherParentPtr

func MakeMatcherNegate

func MakeMatcherNegate(m Matcher) MatcherParentPtr

func MakeMatcherOr

func MakeMatcherOr(ms ...Matcher) MatcherParentPtr

func MakeMatcherOrDoNotMatchOnEmpty

func MakeMatcherOrDoNotMatchOnEmpty(ms ...Matcher) MatcherParentPtr

type MatcherSigil

type MatcherSigil interface {
	Matcher
	GetSigil() kennung.Sigil
}

type MatcherSigilPtr

type MatcherSigilPtr interface {
	MatcherSigil
	AddSigil(kennung.Sigil)
}

func MakeMatcherExcludeHidden

func MakeMatcherExcludeHidden(m Matcher, s kennung.Sigil) MatcherSigilPtr

func MakeMatcherSigil

func MakeMatcherSigil(s kennung.Sigil, m Matcher) MatcherSigilPtr

func MakeMatcherSigilMatchOnMissing

func MakeMatcherSigilMatchOnMissing(
	s kennung.Sigil,
	m Matcher,
) MatcherSigilPtr

func MakeMatcherWithSigil

func MakeMatcherWithSigil(m Matcher, s kennung.Sigil) MatcherSigilPtr

type Negate

type Negate struct {
	Child Matcher
}

func (*Negate) Add

func (matcher *Negate) Add(m Matcher) error

func (Negate) ContainsMatchable

func (matcher Negate) ContainsMatchable(matchable *sku.Transacted) bool

func (Negate) Each

func (matcher Negate) Each(f schnittstellen.FuncIter[Matcher]) error

func (Negate) MatcherLen

func (matcher Negate) MatcherLen() int

func (Negate) String

func (matcher Negate) String() string

type Query

type Query interface {
	Get(g gattung.Gattung) (s MatcherSigil, ok bool)
	GetCwdFDs() fd.Set
	GetExplicitCwdFDs() fd.Set
	GetEtiketten() kennung.EtikettSet
	GetTypen() schnittstellen.SetLike[kennung.Typ]
	Set(string) error
	SetMany(...string) error
	All(f func(gattung.Gattung, MatcherSigil) error) error
	GetGattungen() gattungen.Set
	Matcher
}

TODO-P3 rename to QueryGattungGroup

func MakeQueryFromCheckedOutSet

func MakeQueryFromCheckedOutSet(
	cos sku.CheckedOutSet,
) (q Query, err error)

type Sha

type Sha kennung.Sha

func (Sha) ContainsMatchable

func (t Sha) ContainsMatchable(m *sku.Transacted) bool

func (Sha) ContainsMatchableExactly

func (t Sha) ContainsMatchableExactly(m *sku.Transacted) bool

func (Sha) Each

func (Sha) MatcherLen

func (t Sha) MatcherLen() int

type Tai

type Tai kennung.Tai

func (Tai) ContainsMatchable

func (t Tai) ContainsMatchable(m *sku.Transacted) bool

func (Tai) ContainsMatchableExactly

func (t Tai) ContainsMatchableExactly(m *sku.Transacted) bool

type Time

type Time thyme.Time

func (Time) ContainsMatchable

func (t Time) ContainsMatchable(m *sku.Transacted) bool

type Typ

type Typ kennung.Typ

func (Typ) ContainsMatchableExactly

func (t Typ) ContainsMatchableExactly(m *sku.Transacted) bool

Jump to

Keyboard shortcuts

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