diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2024-12-17 15:41:18 +0100 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2024-12-20 15:38:43 +0000 |
| commit | 1ac6aa80f6bb0b4deb3de864f2e1dc7b26a8ab4e (patch) | |
| tree | 7bfedf72054fef3a696cbd1742edfb38df8c3878 /pkg | |
| parent | de01e7268bab1e7a0f9752942e38330d0509268f (diff) | |
pkg/osutil: add a WriteJSON helper
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/osutil/osutil.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/pkg/osutil/osutil.go b/pkg/osutil/osutil.go index 3c98a7f68..f4a3cac18 100644 --- a/pkg/osutil/osutil.go +++ b/pkg/osutil/osutil.go @@ -7,6 +7,7 @@ import ( "bytes" "compress/gzip" "context" + "encoding/json" "errors" "fmt" "io" @@ -279,6 +280,14 @@ func WriteFile(filename string, data []byte) error { return os.WriteFile(filename, data, DefaultFilePerm) } +func WriteJSON[T any](filename string, obj T) error { + jsonData, err := json.MarshalIndent(obj, "", "\t") + if err != nil { + return fmt.Errorf("failed to marshal: %w", err) + } + return WriteFile(filename, jsonData) +} + func WriteGzipStream(filename string, reader io.Reader) error { f, err := os.Create(filename) if err != nil { |
