Skip to content

Commit bebbfca

Browse files
authored
feat: sort items in runWatch by metadata.name (#132)
1 parent 18bc422 commit bebbfca

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

gateway/resolver/subscription.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ package resolver
22

33
import (
44
"fmt"
5-
v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
65
"reflect"
6+
"slices"
77
"strings"
88

9+
v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
10+
911
"github.com/graphql-go/graphql/language/ast"
1012
"k8s.io/apimachinery/pkg/watch"
1113

@@ -168,6 +170,12 @@ func (r *Service) runWatch(
168170
items = append(items, item.DeepCopy().Object)
169171
}
170172

173+
slices.SortFunc(items, func(i, j map[string]any) int {
174+
nameA, _, _ := unstructured.NestedString(i, "metadata", "name")
175+
nameB, _, _ := unstructured.NestedString(j, "metadata", "name")
176+
return strings.Compare(nameA, nameB)
177+
})
178+
171179
select {
172180
case <-ctx.Done():
173181
return

0 commit comments

Comments
 (0)