syft/imgbom/presenter/option.go
Alfredo Deza acbeea9800 option: add a Text-based presenter
Signed-off-by: Alfredo Deza <adeza@anchore.com>
2020-06-19 15:45:58 -04:00

42 lines
636 B
Go

package presenter
import "strings"
const (
UnknownPresenter Option = iota
JSONPresenter
TextPresenter
)
var optionStr = []string{
"UnknownPresenter",
"json",
"text",
}
var Options = []Option{
JSONPresenter,
TextPresenter,
}
type Option int
func ParseOption(userStr string) Option {
switch strings.ToLower(userStr) {
case strings.ToLower(JSONPresenter.String()):
return JSONPresenter
case strings.ToLower(TextPresenter.String()):
return TextPresenter
default:
return UnknownPresenter
}
}
func (o Option) String() string {
if int(o) >= len(optionStr) || o < 0 {
return optionStr[0]
}
return optionStr[o]
}