From 895778f236b38f1eca384c7a9bcb39e359e539e1 Mon Sep 17 00:00:00 2001 From: Celestino Amoroso Date: Sat, 27 Apr 2024 22:34:23 +0200 Subject: [PATCH] operator-dot.go: '*dataCursor' case added; to be enhanced --- operator-dot.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/operator-dot.go b/operator-dot.go index 212e8bb..1b43d6f 100644 --- a/operator-dot.go +++ b/operator-dot.go @@ -56,6 +56,18 @@ func evalDot(ctx ExprContext, self *term) (v any, err error) { if v, ok = unboxedValue[rightValue]; !ok { err = fmt.Errorf("key %v does not belong to the dictionary", rightValue) } + case *dataCursor: + if indexTerm.symbol() == SymString { + opName := indexTerm.value() + if opName == resetName { + err = unboxedValue.Reset() + } else if opName == cleanName { + err = unboxedValue.Clean() + } else { + err = indexTerm.Errorf("iterators do not support command %q", opName) + } + v = err == nil + } default: err = self.errIncompatibleTypes(leftValue, rightValue) }