index

package
v0.9.1 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2021 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrDuplicatePolicy signals that there are duplicate policy definitions.
	ErrDuplicatePolicy = errors.New("duplicate policy definitions")
	// ErrInvalidEntry signals that the index entry is invalid.
	ErrInvalidEntry = errors.New("invalid index entry")
)

Functions

This section is empty.

Types

type BuildError

type BuildError struct {
	Disabled       []string        `json:"disabled"`
	DuplicateDefs  []DuplicateDef  `json:"duplicateDefs"`
	LoadFailures   []LoadFailure   `json:"loadFailures"`
	MissingImports []MissingImport `json:"missingImports"`
}

BuildError is an error type that contains details about the failures encountered during the index build.

func (*BuildError) Error

func (ibe *BuildError) Error() string

type BuildOpt

type BuildOpt func(*buildOptions)

func WithRootDir

func WithRootDir(rootDir string) BuildOpt

type DuplicateDef

type DuplicateDef struct {
	File      string `json:"file"`
	OtherFile string `json:"otherFile"`
}

DuplicateDef describes a policy file that has a duplicate.

type Entry

type Entry struct {
	File   string
	Policy policy.Wrapper
}

type Index

type Index interface {
	GetCompilationUnits(...namer.ModuleID) (map[namer.ModuleID]*policy.CompilationUnit, error)
	GetDependents(...namer.ModuleID) (map[namer.ModuleID][]namer.ModuleID, error)
	AddOrUpdate(Entry) (storage.Event, error)
	Delete(Entry) (storage.Event, error)
	GetFiles() []string
	GetAllCompilationUnits(context.Context) <-chan *policy.CompilationUnit
	Clear() error
	GetPolicies(context.Context) ([]*policy.Wrapper, error)
}

func Build

func Build(ctx context.Context, fsys fs.FS, opts ...BuildOpt) (Index, error)

Build builds an index from the policy files stored in a directory.

type LoadFailure

type LoadFailure struct {
	File string
	Err  error
}

LoadFailure describes a failure to load a policy.

func (LoadFailure) MarshalJSON

func (lf LoadFailure) MarshalJSON() ([]byte, error)

type MissingImport

type MissingImport struct {
	ImportingFile string `json:"importingFile"`
	Desc          string `json:"desc"`
}

MissingImport describes an import that wasn't found.

Jump to

Keyboard shortcuts

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