dict: implemented sub-field access, e.g D=["sub-dict"]["sub-field"]

This commit is contained in:
2026-05-17 18:57:27 +02:00
parent 1bf8015da1
commit d34b9d8a48
3 changed files with 11 additions and 7 deletions
+3 -1
View File
@@ -6,6 +6,7 @@ package expr
import (
"errors"
"slices"
"git.portale-stac.it/go-pkg/expr/scan"
"golang.org/x/exp/constraints"
@@ -401,7 +402,8 @@ func couldBeACollection(t *scan.Term) bool {
if t != nil {
sym = t.Symbol()
}
return sym == scan.SymList || sym == scan.SymString || sym == scan.SymDict || sym == scan.SymExpression || sym == scan.SymVariable
// return sym == scan.SymList || sym == scan.SymString || sym == scan.SymDict || sym == scan.SymExpression || sym == scan.SymVariable
return slices.Contains([]scan.Symbol{scan.SymList, scan.SymString, scan.SymDict, scan.SymExpression, scan.SymVariable, scan.SymIndex}, sym)
}
func listSubTree(tree *scan.Ast, listTerm *scan.Term, allowIndeces bool) (root *scan.Term, err error) {