From daab22bc8a8780c83c82ccad604d030801b7c9b5 Mon Sep 17 00:00:00 2001 From: Christoph Mertz Date: Thu, 22 Oct 2020 10:21:40 +0200 Subject: [PATCH] output: extract iniitializer function --- cmd/kubeconform/main.go | 15 +-------------- pkg/output/output.go | 13 +++++++++++++ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/cmd/kubeconform/main.go b/cmd/kubeconform/main.go index a694bbe..9a12118 100644 --- a/cmd/kubeconform/main.go +++ b/cmd/kubeconform/main.go @@ -136,19 +136,6 @@ func (ap *arrayParam) Set(value string) error { return nil } -func getLogger(outputFormat string, printSummary, verbose bool) (output.Output, error) { - w := os.Stdout - - switch { - case outputFormat == "text": - return output.Text(w, printSummary, verbose), nil - case outputFormat == "json": - return output.JSON(w, printSummary, verbose), nil - default: - return nil, fmt.Errorf("-output must be text or json") - } -} - func skipKindsMap(skipKindsCSV string) map[string]bool { splitKinds := strings.Split(skipKindsCSV, ",") skipKinds := map[string]bool{} @@ -281,7 +268,7 @@ func realMain() int { }() var o output.Output - if o, err = getLogger(outputFormat, summary, verbose); err != nil { + if o, err = output.New(outputFormat, summary, verbose); err != nil { fmt.Fprintln(os.Stderr, err) return 1 } diff --git a/pkg/output/output.go b/pkg/output/output.go index d5c0a4f..c7ebe64 100644 --- a/pkg/output/output.go +++ b/pkg/output/output.go @@ -18,6 +18,19 @@ type Output interface { Flush() error } +func New(outputFormat string, printSummary, verbose bool) (Output, error) { + w := os.Stdout + + switch { + case outputFormat == "text": + return Text(w, printSummary, verbose), nil + case outputFormat == "json": + return JSON(w, printSummary, verbose), nil + default: + return nil, fmt.Errorf("`outputFormat` must be 'text' or 'json'") + } +} + func status(kind, name string, err error, skipped bool) int { if name == "" && kind == "" && err == nil && skipped == false { return EMPTY