opa: github.com/open-policy-agent/opa/topdown/builtins Index | Files

package builtins

import "github.com/open-policy-agent/opa/topdown/builtins"

Package builtins contains utilities for implementing built-in functions.

Index

Package Files

builtins.go

func ArrayOperand Uses

func ArrayOperand(x ast.Value, pos int) (ast.Array, error)

ArrayOperand converts x to an array. If the cast fails, a descriptive error is returned.

func BigIntOperand Uses

func BigIntOperand(x ast.Value, pos int) (*big.Int, error)

BigIntOperand converts x to a big int. If the cast fails, a descriptive error is returned.

func FloatToNumber Uses

func FloatToNumber(f *big.Float) ast.Number

FloatToNumber converts f to a number.

func IntOperand Uses

func IntOperand(x ast.Value, pos int) (int, error)

IntOperand converts x to an int. If the cast fails, a descriptive error is returned.

func IntToNumber Uses

func IntToNumber(i *big.Int) ast.Number

IntToNumber converts i to a number.

func NewOperandElementErr Uses

func NewOperandElementErr(pos int, composite ast.Value, got ast.Value, expected ...string) error

NewOperandElementErr returns an operand error indicating an element in the composite operand was wrong.

func NewOperandEnumErr Uses

func NewOperandEnumErr(pos int, expected ...string) error

NewOperandEnumErr returns an operand error indicating a value was wrong.

func NewOperandErr Uses

func NewOperandErr(pos int, f string, a ...interface{}) error

NewOperandErr returns a generic operand error.

func NewOperandTypeErr Uses

func NewOperandTypeErr(pos int, got ast.Value, expected ...string) error

NewOperandTypeErr returns an operand error indicating the operand's type was wrong.

func NumberOperand Uses

func NumberOperand(x ast.Value, pos int) (ast.Number, error)

NumberOperand converts x to a number. If the cast fails, a descriptive error is returned.

func NumberToFloat Uses

func NumberToFloat(n ast.Number) *big.Float

NumberToFloat converts n to a big float.

func NumberToInt Uses

func NumberToInt(n ast.Number) (*big.Int, error)

NumberToInt converts n to a big int. If n cannot be converted to an big int, an error is returned.

func ObjectOperand Uses

func ObjectOperand(x ast.Value, pos int) (ast.Object, error)

ObjectOperand converts x to an object. If the cast fails, a descriptive error is returned.

func RuneSliceOperand Uses

func RuneSliceOperand(x ast.Value, pos int) ([]rune, error)

RuneSliceOperand converts x to a []rune. If the cast fails, a descriptive error is returned.

func SetOperand Uses

func SetOperand(x ast.Value, pos int) (ast.Set, error)

SetOperand converts x to a set. If the cast fails, a descriptive error is returned.

func StringOperand Uses

func StringOperand(x ast.Value, pos int) (ast.String, error)

StringOperand converts x to a string. If the cast fails, a descriptive error is returned.

func StringSliceOperand Uses

func StringSliceOperand(x ast.Value, pos int) ([]string, error)

StringSliceOperand converts x to a []string. If the cast fails, a descriptive error is returned.

type Cache Uses

type Cache map[interface{}]interface{}

Cache defines the built-in cache used by the top-down evaluation. The keys must be comparable and should not be of type string.

func (Cache) Get Uses

func (c Cache) Get(k interface{}) (interface{}, bool)

Get returns the cached value for k.

func (Cache) Put Uses

func (c Cache) Put(k, v interface{})

Put updates the cache for the named built-in.

type ErrOperand Uses

type ErrOperand string

ErrOperand represents an invalid operand has been passed to a built-in function. Built-ins should return ErrOperand to indicate a type error has occurred.

func (ErrOperand) Error Uses

func (err ErrOperand) Error() string

Package builtins imports 4 packages (graph) and is imported by 6 packages. Updated 2020-04-06. Refresh now. Tools for package owners.