MCPcopy Create free account
hub / github.com/cel-expr/cel-go / ProtoToEntryExpr

Function ProtoToEntryExpr

common/ast/conversion.go:114–123  ·  view source on GitHub ↗

ProtoToEntryExpr converts a protobuf struct/map entry to an ast.EntryExpr

(e *exprpb.Expr_CreateStruct_Entry)

Source from the content-addressed store, hash-verified

112
113// ProtoToEntryExpr converts a protobuf struct/map entry to an ast.EntryExpr
114func ProtoToEntryExpr(e *exprpb.Expr_CreateStruct_Entry) (EntryExpr, error) {
115 factory := NewExprFactory()
116 switch e.GetKeyKind().(type) {
117 case *exprpb.Expr_CreateStruct_Entry_FieldKey:
118 return exprStructField(factory, e.GetId(), e)
119 case *exprpb.Expr_CreateStruct_Entry_MapKey:
120 return exprMapEntry(factory, e.GetId(), e)
121 }
122 return nil, fmt.Errorf("unsupported expr entry kind: %v", e)
123}
124
125func exprInternal(factory ExprFactory, e *exprpb.Expr) (Expr, error) {
126 id := e.GetId()

Callers 2

mustAdaptToEntryExprFunction · 0.92

Calls 4

NewExprFactoryFunction · 0.85
exprStructFieldFunction · 0.85
exprMapEntryFunction · 0.85
GetIdMethod · 0.65

Tested by 1