func celMatcherStringListMacroExpander(funcName string) parser.MacroExpander {
	return func(eh parser.ExprHelper, target *exprpb.Expr, args []*exprpb.Expr) (*exprpb.Expr, *common.Error) {
		matchArgs := []*exprpb.Expr{}
		if len(args) == 0 {
			return nil, &common.Error{
				Message: "matcher requires at least one argument",
			}
		}
		for _, arg := range args {
			if isCELStringExpr(arg) {
				matchArgs = append(matchArgs, arg)
			} else {
				return nil, &common.Error{
					Location: eh.OffsetLocation(arg.GetId()),
					Message:  "matcher arguments must be string constants",
				}
			}
		}
		return eh.GlobalCall(funcName, eh.Ident("request"), eh.NewList(matchArgs...)), nil
	}
}
// celMatcherStringListMacroExpander validates that the macro is called
// with a variable number of string arguments (at least one).
//
// The arguments are collected into a single list argument the following
// function call returned: <funcName>(request, [args])
celMatcherStringListMacroExpander validates that the macro is called
with a variable number of string arguments (at least one).

The arguments are collected into a single list argument the following
function call returned: (request, [args])
// celMatcherStringListMacroExpander validates that the macro is called // with a variable number of string arguments ( at least one ) . // // The arguments are collected into a single list argument the following // function call returned : <funcName > ( request [ args ] )
func celMatcherStringListMacroExpander(funcName string) parser.MacroExpander {
	return func(eh parser.ExprHelper, target *exprpb.Expr, args []*exprpb.Expr) (*exprpb.Expr, *common.Error) {
		matchArgs := []*exprpb.Expr{}
		if len(args) == 0 {
			return nil, &common.Error{
				Message: "matcher requires at least one argument",
			}
		}
		for _, arg := range args {
			if isCELStringExpr(arg) {
				matchArgs = append(matchArgs, arg)
			} else {
				return nil, &common.Error{
					Location: eh.OffsetLocation(arg.GetId()),
					Message:  "matcher arguments must be string constants",
				}
			}
		}
		return eh.GlobalCall(funcName, eh.Ident("request"), eh.NewList(matchArgs...)), nil
	}
}
func celMatcherStringListMacroExpander ( funcName string ) parser . MacroExpander { return func ( eh parser . ExprHelper , target * exprpb . Expr , args [ ] * exprpb . Expr ) ( * exprpb . Expr , * common . Error ) { matchArgs := [ ] * exprpb . Expr { } if len ( args ) == 0 { return nil , & common . Error { Message : " " , } } for _ , arg := range args { if isCELStringExpr ( arg ) { matchArgs = append ( matchArgs , arg ) } else { return nil , & common . Error { Location : eh . OffsetLocation ( arg . GetId ( ) ) , Message : " " , } } } return eh . GlobalCall ( funcName , eh . Ident ( " " ) , eh . NewList ( matchArgs ... ) ) , nil } }
celMatcherStringListMacroExpander validates that the macro is called
with a variable number of string arguments (at least one).
celMatcherStringListMacroExpander validates that the macro is called with a variable number of string arguments ( at least one ) .