UNPKG

@bufbuild/cel

Version:

A CEL evaluator for ECMAScript

37 lines (36 loc) 2.5 kB
import type { Constant, Expr, Expr_CreateStruct_Entry, SourceInfo } from "@bufbuild/cel-spec/cel/expr/syntax_pb.js"; export type Eventual<T> = () => T; export default class Builder { #private; sourceInfo: SourceInfo; nextExpr(offset: number, exprKind: Expr["exprKind"]): Expr; nextEntry(offset: number, keyKind: Expr_CreateStruct_Entry["keyKind"], value: Expr): Expr_CreateStruct_Entry; newConstExpr(offset: number, constantKind: Constant["constantKind"]): Expr; newCallExpr(offset: number, functionName: string, args: Expr[]): Expr; newMemberCallExpr(offset: number, target: Expr, functionName: string, args: Expr[]): Expr; newStringExpr(offset: number, sequence: (string | number[])[]): Expr; newBytesExpr(offset: number, sequence: (string | number[])[]): Expr; newBoolExpr(offset: number, keyword: "true" | "false"): Expr; newInt64Expr(offset: number, digits: string): Expr; newUnsignedInt64Expr(offset: number, digits: string): Expr; newDoubleExpr(offset: number, digits: string): Expr; newNullExpr(offset: number): Expr; newIdentExpr(offset: number, name: string): Expr; newInfixExpr(offset: number, op: string, args: Expr[]): Expr; newSelectExpr(offset: number, operand: Expr, field: string): Expr; newIndexExpr(offset: number, operand: Expr, index: Expr): Expr; expandHasMacro(offset: number, target: Expr): Expr; newListExpr(offset: number, elements: Expr[]): Expr; newBoolMacro(offset: number, iterRange: Expr, iterVar: string, init: boolean, loopStep: Expr, loopCondition: Expr): Expr; newListMacro(offset: number, iterRange: Expr, iterVar: string, loopStep: Expr): Expr; expandExistsMacro(offset: number, target: Expr, x: string, test: Expr): Expr; expandAllMacro(offset: number, target: Expr, x: string, test: Expr): Expr; expandMapMacro(offset: number, target: Expr, x: string, step: Expr): Expr; expandMapFilterMacro(offset: number, target: Expr, x: string, test: Expr, step: Expr): Expr; expandFilterMacro(offset: number, target: Expr, x: string, step: Expr): Expr; expandExistsOne(offset: number, iterRange: Expr, iterVar: string, step: Expr): Expr; maybeExpand(offset: number, call: Expr): Expr; newMapEntry(offset: number, key: Expr, value: Expr): Expr_CreateStruct_Entry; newStructExpr(offset: number, entries: Expr_CreateStruct_Entry[], messageName?: string): Expr; newStructEntry(offset: number, field: string, value: Expr): Expr_CreateStruct_Entry; }