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

Method parseVariableInline

policy/parser.go:805–819  ·  view source on GitHub ↗
(ctx ParserContext, policy *Policy, v *Variable, node *yaml.Node)

Source from the content-addressed store, hash-verified

803}
804
805func (p *parserImpl) parseVariableInline(ctx ParserContext, policy *Policy, v *Variable, node *yaml.Node) *Variable {
806 iterations := 0
807 p.RangeMap(node, func(key, val *yaml.Node) bool {
808 keyVal := ctx.NewString(key)
809 v.SetName(keyVal)
810 v.SetExpression(ctx.NewString(val))
811 iterations++
812 if iterations > 1 {
813 p.ReportErrorAtID(keyVal.ID, "only one variable may be defined inline")
814 return false
815 }
816 return true
817 })
818 return v
819}
820
821func (p *parserImpl) parseVariableObject(ctx ParserContext, policy *Policy, v *Variable, node *yaml.Node) *Variable {
822 p.RangeMap(node, func(key, val *yaml.Node) bool {

Callers 1

ParseVariableMethod · 0.95

Calls 5

ReportErrorAtIDMethod · 0.95
RangeMapMethod · 0.80
SetExpressionMethod · 0.80
NewStringMethod · 0.65
SetNameMethod · 0.45

Tested by

no test coverage detected