Improved scoping

This commit is contained in:
Martino Ferrari
2026-01-29 23:03:46 +01:00
parent 2fd6d3d096
commit ecc7039306
4 changed files with 218 additions and 5 deletions

View File

@@ -221,6 +221,14 @@ func (v *Validator) valueToInterface(val parser.Value) interface{} {
return t.Value
case *parser.ReferenceValue:
return t.Value
case *parser.VariableReferenceValue:
name := strings.TrimPrefix(t.Name, "$")
if info, ok := v.Tree.Variables[name]; ok {
if info.Def.DefaultValue != nil {
return v.valueToInterface(info.Def.DefaultValue)
}
}
return nil
case *parser.ArrayValue:
var arr []interface{}
for _, e := range t.Elements {