var Error … var Dyn … var Bool … var Bytes … var Double … var Int … var Null … var String … var Uint … var Any … var Duration … var Timestamp … // NewAbstractType creates an abstract type declaration which references a proto // message name and may also include type parameters. func NewAbstractType(name string, paramTypes ...*exprpb.Type) *exprpb.Type { … } // NewOptionalType constructs an abstract type indicating that the parameterized type // may be contained within the object. func NewOptionalType(paramType *exprpb.Type) *exprpb.Type { … } // NewFunctionType creates a function invocation contract, typically only used // by type-checking steps after overload resolution. func NewFunctionType(resultType *exprpb.Type, argTypes ...*exprpb.Type) *exprpb.Type { … } // NewFunction creates a named function declaration with one or more overloads. func NewFunction(name string, overloads ...*exprpb.Decl_FunctionDecl_Overload) *exprpb.Decl { … } // NewIdent creates a named identifier declaration with an optional literal // value. // // Literal values are typically only associated with enum identifiers. // // Deprecated: Use NewVar or NewConst instead. func NewIdent(name string, t *exprpb.Type, v *exprpb.Constant) *exprpb.Decl { … } // NewConst creates a constant identifier with a CEL constant literal value. func NewConst(name string, t *exprpb.Type, v *exprpb.Constant) *exprpb.Decl { … } // NewVar creates a variable identifier. func NewVar(name string, t *exprpb.Type) *exprpb.Decl { … } // NewInstanceOverload creates a instance function overload contract. // First element of argTypes is instance. func NewInstanceOverload(id string, argTypes []*exprpb.Type, resultType *exprpb.Type) *exprpb.Decl_FunctionDecl_Overload { … } // NewListType generates a new list with elements of a certain type. func NewListType(elem *exprpb.Type) *exprpb.Type { … } // NewMapType generates a new map with typed keys and values. func NewMapType(key *exprpb.Type, value *exprpb.Type) *exprpb.Type { … } // NewObjectType creates an object type for a qualified type name. func NewObjectType(typeName string) *exprpb.Type { … } // NewOverload creates a function overload declaration which contains a unique // overload id as well as the expected argument and result types. Overloads // must be aggregated within a Function declaration. func NewOverload(id string, argTypes []*exprpb.Type, resultType *exprpb.Type) *exprpb.Decl_FunctionDecl_Overload { … } // NewParameterizedInstanceOverload creates a parametric function instance overload type. func NewParameterizedInstanceOverload(id string, argTypes []*exprpb.Type, resultType *exprpb.Type, typeParams []string) *exprpb.Decl_FunctionDecl_Overload { … } // NewParameterizedOverload creates a parametric function overload type. func NewParameterizedOverload(id string, argTypes []*exprpb.Type, resultType *exprpb.Type, typeParams []string) *exprpb.Decl_FunctionDecl_Overload { … } // NewPrimitiveType creates a type for a primitive value. See the var declarations // for Int, Uint, etc. func NewPrimitiveType(primitive exprpb.Type_PrimitiveType) *exprpb.Type { … } // NewTypeType creates a new type designating a type. func NewTypeType(nested *exprpb.Type) *exprpb.Type { … } // NewTypeParamType creates a type corresponding to a named, contextual parameter. func NewTypeParamType(name string) *exprpb.Type { … } // NewWellKnownType creates a type corresponding to a protobuf well-known type // value. func NewWellKnownType(wellKnown exprpb.Type_WellKnownType) *exprpb.Type { … } // NewWrapperType creates a wrapped primitive type instance. Wrapped types // are roughly equivalent to a nullable, or optionally valued type. func NewWrapperType(wrapped *exprpb.Type) *exprpb.Type { … }