@@ -33,8 +33,8 @@ type KubeObject struct {
3333 SubObject
3434}
3535
36- // ParseKubeObject parses input byte slice to a KubeObject .
37- func ParseKubeObject (in []byte ) (* KubeObject , error ) {
36+ // ParseKubeObjects parses input byte slice to multiple KubeObjects .
37+ func ParseKubeObjects (in []byte ) ([] * KubeObject , error ) {
3838 doc , err := internal .ParseDoc (in )
3939 if err != nil {
4040 return nil , fmt .Errorf ("failed to parse input bytes: %w" , err )
@@ -43,11 +43,25 @@ func ParseKubeObject(in []byte) (*KubeObject, error) {
4343 if err != nil {
4444 return nil , fmt .Errorf ("failed to extract objects: %w" , err )
4545 }
46+ var kubeObjects []* KubeObject
47+ for _ , obj := range objects {
48+ kubeObjects = append (kubeObjects , asKubeObject (obj ))
49+ }
50+ return kubeObjects , nil
51+ }
52+
53+ // ParseKubeObject parses input byte slice to a single KubeObject.
54+ func ParseKubeObject (in []byte ) (* KubeObject , error ) {
55+ objects , err := ParseKubeObjects (in )
56+ if err != nil {
57+ return nil , err
58+ }
59+
4660 if len (objects ) != 1 {
4761 return nil , fmt .Errorf ("expected exactly one object, got %d" , len (objects ))
4862 }
49- rlMap := objects [0 ]
50- return asKubeObject ( rlMap ) , nil
63+ obj := objects [0 ]
64+ return obj , nil
5165}
5266
5367// GetOrDie gets the value for a nested field located by fields. A pointer must
0 commit comments