in pkg/wrapper/bundlewrapper.go [157:197]
func (bw *BundleWrapper) ExportAsObjects(opts options.JSONOptions) ([]*unstructured.Unstructured, error) {
switch bw.Kind() {
case "Component":
components := bw.Component()
if opts != nil {
applier := multi.NewDefaultApplier()
comp, err := applier.ApplyOptions(components, opts)
if err != nil {
return nil, fmt.Errorf("failed to apply options: %v", err)
}
components = comp
}
return components.Spec.Objects, nil
case "Bundle":
bun := bw.Bundle()
y, err := converter.FromObject(bun.ComponentSet()).ToYAML()
if err != nil {
return nil, err
}
o, err := converter.FromYAML(y).ToUnstructured()
if err != nil {
return nil, err
}
var objs []*unstructured.Unstructured
objs = append(objs, o)
for _, c := range bun.Components {
y, err := converter.FromObject(c).ToYAML()
if err != nil {
return nil, err
}
o, err := converter.FromYAML(y).ToUnstructured()
if err != nil {
return nil, err
}
objs = append(objs, o)
}
return objs, nil
default:
return nil, fmt.Errorf("bundle kind %q not supported for exporting", bw.Kind())
}
}