func()

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())
	}
}