loader

package
v0.13.3 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2019 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package loader contains utilities for loading files into OPA.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CleanPath added in v0.5.9

func CleanPath(path string) string

CleanPath returns the normalized version of a path that can be used as an identifier.

func Paths

func Paths(path string, recurse bool) (paths []string, err error)

Paths returns a sorted list of files contained at path. If recurse is true and path is a directory, then Paths will walk the directory structure recursively and list files at each level.

func SplitPrefix

func SplitPrefix(path string) ([]string, string)

SplitPrefix returns a tuple specifying the document prefix and the file path.

Types

type Filter added in v0.8.2

type Filter func(abspath string, info os.FileInfo, depth int) bool

Filter defines the interface for filtering files during loading. If the filter returns true, the file should be excluded from the result.

func GlobExcludeName added in v0.8.2

func GlobExcludeName(pattern string, minDepth int) Filter

GlobExcludeName excludes files and directories whose names do not match the shell style pattern at minDepth or greater.

type RegoFile

type RegoFile struct {
	Name   string
	Parsed *ast.Module
	Raw    []byte
}

RegoFile represents the result of loading a single Rego source file.

func Rego

func Rego(path string) (*RegoFile, error)

Rego returns a RegoFile object loaded from the given path.

type Result

type Result struct {
	Documents map[string]interface{}
	Modules   map[string]*RegoFile
	// contains filtered or unexported fields
}

Result represents the result of successfully loading zero or more files.

func All

func All(paths []string) (*Result, error)

All returns a Result object loaded (recursively) from the specified paths.

func AllRegos

func AllRegos(paths []string) (*Result, error)

AllRegos returns a Result object loaded (recursively) with all Rego source files from the specified paths.

func Filtered added in v0.8.2

func Filtered(paths []string, filter Filter) (*Result, error)

Filtered returns a Result object loaded (recursively) from the specified paths while applying the given filters. If any filter returns true, the file/directory is excluded.

func (*Result) Compiler added in v0.10.0

func (l *Result) Compiler() (*ast.Compiler, error)

Compiler returns a Compiler object with the compiled modules from this loader result.

func (*Result) ParsedModules added in v0.10.0

func (l *Result) ParsedModules() map[string]*ast.Module

ParsedModules returns the parsed modules stored on the result.

func (*Result) Store added in v0.10.0

func (l *Result) Store() (storage.Store, error)

Store returns a Store object with the documents from this loader result.

Jump to

Keyboard shortcuts

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