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

Function quantifierExistsOne

ext/comprehensions.go:278–296  ·  view source on GitHub ↗
(mef cel.MacroExprFactory, target ast.Expr, args []ast.Expr)

Source from the content-addressed store, hash-verified

276}
277
278func quantifierExistsOne(mef cel.MacroExprFactory, target ast.Expr, args []ast.Expr) (ast.Expr, *cel.Error) {
279 iterVar1, iterVar2, err := extractIterVars(mef, args[0], args[1])
280 if err != nil {
281 return nil, err
282 }
283
284 return mef.NewComprehensionTwoVar(
285 target,
286 iterVar1,
287 iterVar2,
288 mef.AccuIdentName(),
289 /*accuInit=*/ mef.NewLiteral(types.Int(0)),
290 /*condition=*/ mef.NewLiteral(types.True),
291 /*step=*/ mef.NewCall(operators.Conditional, args[2],
292 mef.NewCall(operators.Add, mef.NewAccuIdent(), mef.NewLiteral(types.Int(1))),
293 mef.NewAccuIdent()),
294 /*result=*/ mef.NewCall(operators.Equals, mef.NewAccuIdent(), mef.NewLiteral(types.Int(1))),
295 ), nil
296}
297
298func transformList(mef cel.MacroExprFactory, target ast.Expr, args []ast.Expr) (ast.Expr, *cel.Error) {
299 iterVar1, iterVar2, err := extractIterVars(mef, args[0], args[1])

Callers

nothing calls this directly

Calls 7

IntTypeAlias · 0.92
extractIterVarsFunction · 0.85
AccuIdentNameMethod · 0.65
NewLiteralMethod · 0.65
NewCallMethod · 0.65
NewAccuIdentMethod · 0.65

Tested by

no test coverage detected