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 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.3.0
Published
Aug 20, 2019
Platform
js/wasm
Last checked
6 seconds ago

Tools for package owners.