package presentation
import "github.com/open-policy-agent/opa/internal/presentation"
Package presentation prints results of an expression evaluation in json and tabular formats.
Index ¶
- Variables
- func Bindings(w io.Writer, r Output) error
- func Discard(w io.Writer, x interface{}) error
- func JSON(w io.Writer, x interface{}) error
- func Pretty(w io.Writer, r Output) error
- func PrettyWithOptions(w io.Writer, r Output, opts PrettyOptions) error
- func Raw(w io.Writer, r Output) error
- func Source(w io.Writer, r Output) error
- func Values(w io.Writer, r Output) error
- type DepAnalysisOutput
- func (o DepAnalysisOutput) JSON(w io.Writer) error
- func (o DepAnalysisOutput) Pretty(w io.Writer) error
- type Output
- type OutputError
- type OutputErrors
- type PrettyOptions
Variables ¶
var DefaultProfileSortOrder = []string{"total_time_ns", "num_eval", "num_redo", "file", "line"}
DefaultProfileSortOrder is the default ordering unless something is specified in the CLI
Functions ¶
func Bindings ¶
Bindings prints the bindings from r to w.
func Discard ¶
func JSON ¶
JSON writes x to w with indentation.
func Pretty ¶
Pretty prints all of r to w in a human-readable format.
func PrettyWithOptions ¶
func PrettyWithOptions(w io.Writer, r Output, opts PrettyOptions) error
PrettyWithOptions prints all of r to w in a human-readable format.
func Raw ¶
Raw prints the values from r to w. Each result is written on a separate line, and the expressions are separated by spaces. If the values are strings, they are written directly rather than formatted as compact JSON strings. This output format makes OPA useful in a scripting context.
func Source ¶
Source prints partial evaluation results in r to w in a source file friendly format.
func Values ¶
Values prints the values from r to w.
Types ¶
type DepAnalysisOutput ¶
type DepAnalysisOutput struct { Base []ast.Ref `json:"base,omitempty"` Virtual []ast.Ref `json:"virtual,omitempty"` }
DepAnalysisOutput contains the result of dependency analysis to be presented.
func (DepAnalysisOutput) JSON ¶
func (o DepAnalysisOutput) JSON(w io.Writer) error
JSON outputs o to w as JSON.
func (DepAnalysisOutput) Pretty ¶
func (o DepAnalysisOutput) Pretty(w io.Writer) error
Pretty outputs o to w in a human-readable format.
type Output ¶
type Output struct { Errors OutputErrors `json:"errors,omitempty"` Result rego.ResultSet `json:"result,omitempty"` Partial *rego.PartialQueries `json:"partial,omitempty"` Metrics metrics.Metrics `json:"metrics,omitempty"` AggregatedMetrics map[string]interface{} `json:"aggregated_metrics,omitempty"` Explanation []*topdown.Event `json:"explanation,omitempty"` Profile []profiler.ExprStats `json:"profile,omitempty"` AggregatedProfile []profiler.ExprStatsAggregated `json:"aggregated_profile,omitempty"` Coverage *cover.Report `json:"coverage,omitempty"` // contains filtered or unexported fields }
Output contains the result of evaluation to be presented.
func (Output) WithLimit ¶
WithLimit sets the output limit to set on stringified values.
type OutputError ¶
type OutputError struct { Message string `json:"message"` Code string `json:"code,omitempty"` Location *ast.Location `json:"location,omitempty"` Details interface{} `json:"details,omitempty"` // contains filtered or unexported fields }
OutputError provides a common structure for all OPA library errors so that the JSON output given by the presentation package is consistent and parsable.
func NewOutputErrors ¶
func NewOutputErrors(err error) []OutputError
NewOutputErrors creates a new slice of OutputError's based on the type of error passed in. Known structured types will be translated as appropriate, while unknown errors are placed into a structured format with their string value.
func (OutputError) Error ¶
func (j OutputError) Error() string
type OutputErrors ¶
type OutputErrors []OutputError
OutputErrors is a list of errors encountered which are to presented.
func (OutputErrors) Error ¶
func (e OutputErrors) Error() string
type PrettyOptions ¶
type PrettyOptions struct { TraceOpts topdown.PrettyTraceOptions }
Source Files ¶
- Version
- v1.4.2 (latest)
- Published
- May 2, 2025
- Platform
- linux/amd64
- Imports
- 19 packages
- Last checked
- 6 hours ago –
Tools for package owners.