package operators

import "github.com/google/cel-go/common/operators"

Package operators defines the internal function names of operators.

ALl operators in the expression language are modelled as function calls.

Index

Constants

const (
	// Symbolic operators.
	Conditional   = "_?_:_"
	LogicalAnd    = "_&&_"
	LogicalOr     = "_||_"
	LogicalNot    = "!_"
	Equals        = "_==_"
	NotEquals     = "_!=_"
	Less          = "_<_"
	LessEquals    = "_<=_"
	Greater       = "_>_"
	GreaterEquals = "_>=_"
	Add           = "_+_"
	Subtract      = "_-_"
	Multiply      = "_*_"
	Divide        = "_/_"
	Modulo        = "_%_"
	Negate        = "-_"
	Index         = "_[_]"

	// Macros, must have a valid identifier.
	Has       = "has"
	All       = "all"
	Exists    = "exists"
	ExistsOne = "exists_one"
	Map       = "map"
	Filter    = "filter"

	// Named operators, must not have be valid identifiers.
	NotStrictlyFalse = "@not_strictly_false"
	In               = "@in"

	// Deprecated: named operators with valid identifiers.
	OldNotStrictlyFalse = "__not_strictly_false__"
	OldIn               = "_in_"
)

String "names" for CEL operators.

Functions

func Find

func Find(text string) (string, bool)

Find the internal function name for an operator, if the input text is one.

func FindReverse

func FindReverse(op string) (string, bool)

FindReverse returns the unmangled, text representation of the operator.

func FindReverseBinaryOperator

func FindReverseBinaryOperator(op string) (string, bool)

FindReverseBinaryOperator returns the unmangled, text representation of a binary operator.

func Precedence

func Precedence(op string) int

Precedence returns the operator precedence, where the higher the number indicates higher precedence operations.

Source Files

operators.go

Version
v0.7.3
Published
Mar 25, 2021
Platform
js/wasm
Last checked
12 seconds ago

Tools for package owners.