@@ -670,15 +670,12 @@ func (n *containsAllEval) Eval(env Env) (types.Value, error) {
670670 if err != nil {
671671 return zeroValue (), err
672672 }
673- result := true
674- rhs .Iterate (func (e types.Value ) bool {
673+ for e := range rhs .All () {
675674 if ! lhs .Contains (e ) {
676- result = false
677- return false
675+ return types .Boolean (false ), nil
678676 }
679- return true
680- })
681- return types .Boolean (result ), nil
677+ }
678+ return types .Boolean (true ), nil
682679}
683680
684681// containsAnyEval
@@ -702,15 +699,12 @@ func (n *containsAnyEval) Eval(env Env) (types.Value, error) {
702699 if err != nil {
703700 return zeroValue (), err
704701 }
705- result := false
706- rhs .Iterate (func (e types.Value ) bool {
702+ for e := range rhs .All () {
707703 if lhs .Contains (e ) {
708- result = true
709- return false
704+ return types .Boolean (true ), nil
710705 }
711- return true
712- })
713- return types .Boolean (result ), nil
706+ }
707+ return types .Boolean (false ), nil
714708}
715709
716710// isEmptyEval
@@ -950,15 +944,14 @@ func entityInOne(env Env, entity types.EntityUID, parent types.EntityUID) bool {
950944 if fe .Parents .Contains (parent ) {
951945 return true
952946 }
953- fe .Parents .Iterate ( func ( k types. EntityUID ) bool {
947+ for k := range fe .Parents .All () {
954948 p , ok := env .Entities .Get (k )
955949 if ! ok || p .Parents .Len () == 0 || k == entity || known .Contains (k ) {
956- return true
950+ continue
957951 }
958952 todo = append (todo , k )
959953 known .Add (k )
960- return true
961- })
954+ }
962955 }
963956 if len (todo ) == 0 {
964957 return false
@@ -979,15 +972,14 @@ func entityInSet(env Env, entity types.EntityUID, parents mapset.Container[types
979972 if fe .Parents .Intersects (parents ) {
980973 return true
981974 }
982- fe .Parents .Iterate ( func ( k types. EntityUID ) bool {
975+ for k := range fe .Parents .All () {
983976 p , ok := env .Entities .Get (k )
984977 if ! ok || p .Parents .Len () == 0 || k == entity || known .Contains (k ) {
985- return true
978+ continue
986979 }
987980 todo = append (todo , k )
988981 known .Add (k )
989- return true
990- })
982+ }
991983 }
992984 if len (todo ) == 0 {
993985 return false
@@ -1016,17 +1008,12 @@ func doInEval(env Env, lhs types.EntityUID, rhs types.Value) (types.Value, error
10161008 return types .Boolean (entityInOne (env , lhs , rhsv )), nil
10171009 case types.Set :
10181010 query := mapset.Make [types.EntityUID ](rhsv .Len ())
1019- var err error
1020- rhsv .Iterate (func (rhv types.Value ) bool {
1021- var e types.EntityUID
1022- if e , err = ValueToEntity (rhv ); err != nil {
1023- return false
1011+ for rhv := range rhsv .All () {
1012+ e , err := ValueToEntity (rhv )
1013+ if err != nil {
1014+ return zeroValue (), err
10241015 }
10251016 query .Add (e )
1026- return true
1027- })
1028- if err != nil {
1029- return zeroValue (), err
10301017 }
10311018 return types .Boolean (entityInSet (env , lhs , query )), nil
10321019 }
0 commit comments