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

Function protoComprehension

common/ast/conversion.go:356–392  ·  view source on GitHub ↗
(id int64, comp ComprehensionExpr)

Source from the content-addressed store, hash-verified

354}
355
356func protoComprehension(id int64, comp ComprehensionExpr) (*exprpb.Expr, error) {
357 iterRange, err := ExprToProto(comp.IterRange())
358 if err != nil {
359 return nil, err
360 }
361 accuInit, err := ExprToProto(comp.AccuInit())
362 if err != nil {
363 return nil, err
364 }
365 loopCond, err := ExprToProto(comp.LoopCondition())
366 if err != nil {
367 return nil, err
368 }
369 loopStep, err := ExprToProto(comp.LoopStep())
370 if err != nil {
371 return nil, err
372 }
373 result, err := ExprToProto(comp.Result())
374 if err != nil {
375 return nil, err
376 }
377 return &exprpb.Expr{
378 Id: id,
379 ExprKind: &exprpb.Expr_ComprehensionExpr{
380 ComprehensionExpr: &exprpb.Expr_Comprehension{
381 IterVar: comp.IterVar(),
382 IterVar2: comp.IterVar2(),
383 IterRange: iterRange,
384 AccuVar: comp.AccuVar(),
385 AccuInit: accuInit,
386 LoopCondition: loopCond,
387 LoopStep: loopStep,
388 Result: result,
389 },
390 },
391 }, nil
392}
393
394func protoIdent(id int64, name string) (*exprpb.Expr, error) {
395 return &exprpb.Expr{

Callers 1

ExprToProtoFunction · 0.85

Calls 9

ExprToProtoFunction · 0.85
IterRangeMethod · 0.65
AccuInitMethod · 0.65
LoopConditionMethod · 0.65
LoopStepMethod · 0.65
ResultMethod · 0.65
IterVarMethod · 0.65
IterVar2Method · 0.65
AccuVarMethod · 0.65

Tested by

no test coverage detected