package builtins

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

Package builtins contains utilities for implementing built-in functions.

Index

Functions

func FloatToNumber

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

FloatToNumber converts f to a number.

func IntOperand

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 NewOperandElementErr

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

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

NewOperandEnumErr returns an operand error indicating a value was wrong.

func NewOperandErr

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

NewOperandErr returns a generic operand error.

func NewOperandTypeErr

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

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

func NumberOperand

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

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

NumberToFloat converts n to a big float.

func SetOperand

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

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.

Types

type ErrOperand

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

func (err ErrOperand) Error() string

Source Files

builtins.go

Version
v0.4.5
Published
Feb 23, 2017
Platform
js/wasm
Imports
4 packages
Last checked
4 minutes ago

Tools for package owners.