diff --git a/operand-iterator.go b/operand-iterator.go index 6dcd220..63e5951 100644 --- a/operand-iterator.go +++ b/operand-iterator.go @@ -66,12 +66,13 @@ func evalFirstChild(ctx ExprContext, self *term) (value any, err error) { } func getDataSourceDict(ctx ExprContext, self *term, firstChildValue any) (ds map[string]Functor, err error) { - if dictAny, ok := firstChildValue.(map[any]any); ok { + // if dictAny, ok := firstChildValue.(map[any]any); ok { + if dictAny, ok := firstChildValue.(*DictType); ok { requiredFields := []string{currentName, nextName} fieldsMask := 0b11 foundFields := 0 ds = make(map[string]Functor) - for keyAny, item := range dictAny { + for keyAny, item := range *dictAny { if key, ok := keyAny.(string); ok { if functor, ok := item.(*funcDefFunctor); ok { ds[key] = functor