From 91b6ac1131cf807c0bdfc5e1356126558e70af77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Fernando=20Carri=C3=B3n?= Date: Mon, 30 Oct 2023 11:59:14 +0100 Subject: [PATCH] use more sugar for error checking --- go.mod | 2 +- go.sum | 4 ++-- main.go | 28 +++++++++++----------------- templates.go | 8 ++++---- 4 files changed, 18 insertions(+), 24 deletions(-) diff --git a/go.mod b/go.mod index 88caed1..21923f3 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/Masterminds/sprig/v3 v3.2.3 github.com/peterbourgon/mergemap v0.0.1 gitlab.com/CRThaze/helm-tmpl-lang v0.0.0-20231023121015-db8999e64395 - gitlab.com/CRThaze/sugar v0.0.2 + gitlab.com/CRThaze/sugar v0.0.3 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index ab1c8aa..354086d 100644 --- a/go.sum +++ b/go.sum @@ -126,8 +126,8 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= gitlab.com/CRThaze/helm-tmpl-lang v0.0.0-20231023121015-db8999e64395 h1:gRGvQGJhtG5dHV7F2C+amtdhyT5eE195lsdpz9ew37o= gitlab.com/CRThaze/helm-tmpl-lang v0.0.0-20231023121015-db8999e64395/go.mod h1:AJdDOAsr2yJZ5j4k5KGeBb/gcXbwpRzGmELX4fZWFQY= -gitlab.com/CRThaze/sugar v0.0.2 h1:kJvrruckSF15kj9v8HtHFusCmFmOCdHbcHZGgwyw6G8= -gitlab.com/CRThaze/sugar v0.0.2/go.mod h1:iEbJlix4YEoPONzHzzXMptItMeLeItVMvp0TdEmAzBE= +gitlab.com/CRThaze/sugar v0.0.3 h1:dNfRk2ft45uzOQr/fWbTONZoUodoJ0ldIQoVER3hPoQ= +gitlab.com/CRThaze/sugar v0.0.3/go.mod h1:iEbJlix4YEoPONzHzzXMptItMeLeItVMvp0TdEmAzBE= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= diff --git a/main.go b/main.go index 7fc9496..e9a5a48 100644 --- a/main.go +++ b/main.go @@ -11,6 +11,7 @@ import ( "time" sprig "github.com/Masterminds/sprig/v3" + s "gitlab.com/CRThaze/sugar" htl "gitlab.com/CRThaze/helm-tmpl-lang" ) @@ -164,13 +165,6 @@ func init() { } } -func checkErr(err error) { - if err != nil { - fmt.Fprintf(os.Stderr, "ERROR: %+v\n", err) - os.Exit(1) - } -} - func main() { var err error var ht *htl.Templater @@ -200,7 +194,7 @@ func main() { data, err = io.ReadAll(os.Stdin) // Tell the waiting routine that we got input on STDIN. ch <- struct{}{} - checkErr(err) + s.CheckExit(err) if flags.helm { ht = htl.NewTemplaterWithBytes(data, nil) @@ -209,27 +203,27 @@ func main() { } else { tpl, err = tpl.Parse(string(data)) } - checkErr(err) + s.CheckExit(err) } else if len(flag.Args()) == 1 && flag.Args()[0] == "-" { // If only a single non-flag argument is provided and it's a -, wait for STDIN indefinitely. var data []byte data, err = io.ReadAll(os.Stdin) - checkErr(err) + s.CheckExit(err) if flags.helm { ht = htl.NewTemplaterWithBytes(data, lo) } else { tpl, err = tpl.Parse(string(data)) } - checkErr(err) + s.CheckExit(err) } else { // Otherwise use the provided tplFiles/directories for templates to render. tplFiles := expandFiles(flag.Args()) if flags.helm { ht, err = htl.NewTemplaterWithFiles(tplFiles, lo) - checkErr(err) + s.CheckExit(err) rendered, err := ht.Render(values) - checkErr(err) + s.CheckExit(err) first := true for filename, content := range rendered { if first { @@ -251,7 +245,7 @@ func main() { } } else { tpl, err = tpl.ParseFiles(tplFiles...) - checkErr(err) + s.CheckExit(err) for i, file := range tplFiles { if i > 0 { out := os.Stdout @@ -266,16 +260,16 @@ func main() { } fmt.Fprintf(out, "%s%s\n", flags.outputFilenamePrefix, file) } - checkErr(tpl.ExecuteTemplate(os.Stdout, filepath.Base(file), values)) + s.CheckExit(tpl.ExecuteTemplate(os.Stdout, filepath.Base(file), values)) } } return } if ht != nil { rendered, err := ht.Render(values) - checkErr(err) + s.CheckExit(err) fmt.Fprintln(os.Stdout, rendered) } else { - checkErr(tpl.Execute(os.Stdout, values)) + s.CheckExit(tpl.Execute(os.Stdout, values)) } } diff --git a/templates.go b/templates.go index 2f73856..dbbc541 100644 --- a/templates.go +++ b/templates.go @@ -31,7 +31,7 @@ func expandFiles(files []string) (expFiles []string) { for _, path := range files { fileInfo, err := os.Stat(path) - checkErr(err) + s.CheckExit(err) if fileInfo.IsDir() { // When provided path is a directory, defer loading files from it. @@ -90,13 +90,13 @@ func mergeValues() (res map[string]interface{}) { } for _, vf := range flags.valuesFiles { vfContent, err := os.ReadFile(vf) - checkErr(err) + s.CheckExit(err) if strings.HasSuffix(vf, ".json") { err = json.Unmarshal(vfContent, &result) - checkErr(err) + s.CheckExit(err) } else { err = yaml.Unmarshal(vfContent, result) - checkErr(err) + s.CheckExit(err) } } for _, v := range flags.values {