Adding storage to our data

This commit is contained in:
2026-09-14 10:58:24 -04:00
parent b85c4c805a
commit 97ef735fc8
5 changed files with 93 additions and 23 deletions
+32
View File
@@ -0,0 +1,32 @@
package main
import (
"encoding/json"
"os"
)
type storage[T any] struct {
FileName string
}
func newStorage[T any](filename string) *storage[T] {
return &storage[T]{FileName: filename}
}
func (s *storage[T]) save(data T) error {
fileData, err := json.MarshalIndent(data, "", " ")
if err != nil {
return err
}
return os.WriteFile(s.FileName, fileData, 0o644)
}
func (s *storage[T]) load(data *T) error {
fileData, err := os.ReadFile(s.FileName)
if err != nil {
return err
}
return json.Unmarshal(fileData, data)
}