Help us shape the future of Go! Take the 2026 Go Developer Survey

filters

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2023 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FilterDependencies

func FilterDependencies(filter Filter, ds map[string]*model.ProjectDependency) []*model.ProjectDependency

func FilterProjects

func FilterProjects(filter Filter, ps []*model.Project) []*model.Project

func IncludeDependency

func IncludeDependency(filter Filter, d *model.ProjectDependency) bool

func IncludeProject

func IncludeProject(filter Filter, p *model.Project) bool

func ParseAndFilterProjects

func ParseAndFilterProjects(ps *model.Projects, filters []string, ft model.FilterType) ([]*model.Project, error)

func ParseStringFilter

func ParseStringFilter(filter string) (func(string) bool, error)

Types

type Filter

type Filter interface {
	FilterProject(proj *model.Project) UsageType

	FilterDependency(dep *model.ProjectDependency) UsageType

	// Decide does not return DontCase, so it should decide what to do in this case
	Decide(u UsageType) UsageType
}

func CreateIgnoreExternalDependenciesFilter

func CreateIgnoreExternalDependenciesFilter() Filter

func CreateIgnoreFilter

func CreateIgnoreFilter() Filter

func CreateRootsFilter

func CreateRootsFilter(roots []string) (Filter, error)

func GroupFilters

func GroupFilters(filters ...Filter) Filter

func NewProjectFilter

func NewProjectFilter(filterType UsageType, projFilter func(*model.Project) bool) Filter

func ParseEdgeFilter

func ParseEdgeFilter(projs *model.Projects, filter string, filterType UsageType) (Filter, error)

func ParseFilter

func ParseFilter(projs *model.Projects, filter string, filterType UsageType) (Filter, error)

func ParseProjectFilter

func ParseProjectFilter(projs *model.Projects, filter string, filterType UsageType) (Filter, error)

type UsageType

type UsageType int
const (
	DontCare UsageType = iota
	Include
	Exclude // Exclude has preference over Include
)

func (UsageType) Merge

func (u UsageType) Merge(other UsageType) UsageType

Jump to

Keyboard shortcuts

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