@@ -40,37 +40,37 @@ func (t Indexer[K]) ListKeys() []string {
4040}
4141
4242func (t Indexer [K ]) Get (obj K ) (item K , exists bool , err error ) {
43- var typedObj * K
43+ var zero K
4444 gotItem , gotExists , gotErr := t .indexer .Get (obj )
45- if err != nil || ! gotExists {
46- return * typedObj , gotExists , gotErr
45+ if gotErr != nil || ! gotExists {
46+ return zero , gotExists , gotErr
4747 }
4848 gotRObj , ok := gotItem .(runtime.Object )
4949 if ! ok {
50- return * typedObj , gotExists , fmt .Errorf ("%v is not a runtime.Object" , gotItem )
50+ return zero , gotExists , fmt .Errorf ("%v is not a runtime.Object" , gotItem )
5151 }
5252
5353 gotTypedObj , err := UnstructuredObjToTypedObj [K ](gotRObj )
5454 if err != nil {
55- return * typedObj , gotExists , fmt .Errorf ("could not convert %s to %T" , gotItem , * typedObj )
55+ return zero , gotExists , fmt .Errorf ("could not convert %s to %T" , gotItem , zero )
5656 }
5757 return gotTypedObj , gotExists , gotErr
5858}
5959
6060func (t Indexer [K ]) GetByKey (key string ) (item K , exists bool , err error ) {
61- var typedObj * K
61+ var zero K
6262 gotItem , gotExists , gotErr := t .indexer .GetByKey (key )
63- if err != nil || ! gotExists {
64- return * typedObj , gotExists , gotErr
63+ if gotErr != nil || ! gotExists {
64+ return zero , gotExists , gotErr
6565 }
6666 gotRObj , ok := gotItem .(runtime.Object )
6767 if ! ok {
68- return * typedObj , gotExists , fmt .Errorf ("%v is not a runtime.Object" , gotItem )
68+ return zero , gotExists , fmt .Errorf ("%v is not a runtime.Object" , gotItem )
6969 }
7070
7171 gotTypedObj , err := UnstructuredObjToTypedObj [K ](gotRObj )
7272 if err != nil {
73- return * typedObj , gotExists , fmt .Errorf ("could not convert %s to %T" , gotItem , * typedObj )
73+ return zero , gotExists , fmt .Errorf ("could not convert %s to %T" , gotItem , zero )
7474 }
7575 return gotTypedObj , gotExists , gotErr
7676}
0 commit comments