about summary refs log tree commit diff stats
path: root/internal/config/cspgenerator.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/config/cspgenerator.go')
-rw-r--r--internal/config/cspgenerator.go28
1 files changed, 14 insertions, 14 deletions
diff --git a/internal/config/cspgenerator.go b/internal/config/cspgenerator.go
index 5ad3ef0..40eca01 100644
--- a/internal/config/cspgenerator.go
+++ b/internal/config/cspgenerator.go
@@ -9,13 +9,15 @@ import (
 
 	"github.com/crewjam/csp"
 	"github.com/fatih/structtag"
+	"github.com/pkg/errors"
 )
 
 func GenerateCSP() error {
 	t := reflect.TypeFor[csp.Header]()
 	file, err := os.OpenFile("./csp.go", os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0)
 	if err != nil {
-		return err
+
+		return errors.Wrap(err, "could not write to output")
 	}
 	defer file.Close()
 
@@ -29,46 +31,43 @@ import (
 
 `)
 	if err != nil {
-		return err
+
+		return errors.Wrap(err, "could not write to output")
 	}
 
 	_, err = fmt.Fprintf(file, "type CSP struct {\n")
 	if err != nil {
-		return err
+		return errors.Wrap(err, "could not write to output")
 	}
 
 	for i := 0; i < t.NumField(); i++ {
 		field := t.Field(i)
 		var t reflect.Type
-		if field.Type.Kind() == reflect.Slice {
-			t = field.Type
-		} else {
-			t = field.Type
-		}
+		t = field.Type
 		tags, err := structtag.Parse(string(field.Tag))
 		if err != nil {
-			return err
+			return errors.Wrap(err, "could not write to output")
 		}
 		cspTag, err := tags.Get("csp")
 		if err != nil {
-			return err
+			return errors.Wrap(err, "could not get csp tag")
 		}
 		err = tags.Set(&structtag.Tag{
 			Key:  "toml",
 			Name: cspTag.Name,
 		})
 		if err != nil {
-			return err
+			return errors.Wrap(err, "could not set toml tag")
 		}
 
 		_, err = fmt.Fprintf(file, "\t%-23s %-28s `%s`\n", field.Name, t, tags.String())
 		if err != nil {
-			return err
+			return errors.Wrap(err, "could not write to output")
 		}
 	}
 	_, err = fmt.Fprintln(file, "}")
 	if err != nil {
-		return err
+		return errors.Wrap(err, "could not write to output")
 	}
 
 	_, err = fmt.Fprintln(file, `
@@ -76,7 +75,8 @@ func (c *CSP) String() string {
 	return csp.Header(*c).String()
 }`)
 	if err != nil {
-		return err
+		return errors.Wrap(err, "could not write to output")
 	}
+
 	return nil
 }