add: db.load and save
This commit is contained in:
@@ -10,6 +10,7 @@ package main
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
@@ -18,14 +19,14 @@ type database struct {
|
||||
types map[string]item // the registry of the types
|
||||
}
|
||||
|
||||
// #v1
|
||||
// func (db *database) load(path string) error {
|
||||
// data, err := ioutil.ReadFile(path)
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// return json.Unmarshal(data, db)
|
||||
// }
|
||||
// load the list by decoding the data from a json file.
|
||||
func (db *database) load(path string) error { // #v1
|
||||
data, err := ioutil.ReadFile(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return json.Unmarshal(data, db)
|
||||
}
|
||||
|
||||
// #v2
|
||||
// func (db *database) load(r io.Reader) error {
|
||||
@@ -39,28 +40,6 @@ type database struct {
|
||||
// #v3
|
||||
// TODO: use decoder
|
||||
|
||||
// #v1
|
||||
// func (db *database) save(path string) error {
|
||||
// data, err := json.MarshalIndent(db, "", "\t")
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// return ioutil.WriteFile(path, data, 0644)
|
||||
// }
|
||||
|
||||
// #v2
|
||||
// func (db *database) save(w io.Writer) error {
|
||||
// data, err := json.MarshalIndent(db, "", "\t")
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
//
|
||||
// return io.Copy(w, bytes.NewReader(data))
|
||||
// }
|
||||
|
||||
// #v3
|
||||
// TODO: use encoder
|
||||
|
||||
func (db *database) MarshalJSON() ([]byte, error) {
|
||||
type encodable struct {
|
||||
Type string
|
||||
|
Reference in New Issue
Block a user