package dependencies

import "github.com/open-policy-agent/opa/dependencies"

Package dependencies provides functions for determining the set of ast.Refs that AST elements depend on.

Index

Functions

func All

func All(x interface{}) (resolved []ast.Ref, err error)

All returns the list of data ast.Refs that the given AST element depends on.

func Base

func Base(compiler *ast.Compiler, x interface{}) ([]ast.Ref, error)

Base returns the list of base data documents that the given AST element depends on.

The returned refs are always constant and are truncated at any point where they become dynamic. That is, a ref like data.a.b[x] will be truncated to data.a.b.

func Minimal

func Minimal(x interface{}) (resolved []ast.Ref, err error)

Minimal returns the list of data ast.Refs that the given AST element depends on. If an AST element depends on a ast.Ref that is a prefix of another dependency, the ast.Ref that is the prefix of the other will be the only one in the returned list.

As an example, if an element depends on data.x and data.x.y, only data.x will be in the returned list.

func Virtual

func Virtual(compiler *ast.Compiler, x interface{}) ([]ast.Ref, error)

Virtual returns the list of virtual data documents that the given AST element depends on.

The returned refs are always constant and are truncated at any point where they become dynamic. That is, a ref like data.a.b[x] will be truncated to data.a.b.

Source Files

deps.go doc.go

Version
v0.12.2
Published
Jul 27, 2019
Platform
windows/amd64
Imports
4 packages
Last checked
23 minutes ago

Tools for package owners.