github.com/nextlinux/gosbom@v0.81.1-0.20230627115839-1ff50c281391/internal/ui/common_event_handlers.go (about)

     1  package ui
     2  
     3  import (
     4  	"fmt"
     5  
     6  	gosbomEventParsers "github.com/nextlinux/gosbom/gosbom/event/parsers"
     7  	"github.com/wagoodman/go-partybus"
     8  )
     9  
    10  // handleExit is a UI function for processing the Exit bus event,
    11  // and calling the given function to output the contents.
    12  func handleExit(event partybus.Event) error {
    13  	// show the report to stdout
    14  	fn, err := gosbomEventParsers.ParseExit(event)
    15  	if err != nil {
    16  		return fmt.Errorf("bad CatalogerFinished event: %w", err)
    17  	}
    18  
    19  	if err := fn(); err != nil {
    20  		return fmt.Errorf("unable to show package catalog report: %w", err)
    21  	}
    22  	return nil
    23  }