21 lines
337 B
Go
21 lines
337 B
Go
package mdb
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/json"
|
|
|
|
"git.crumpington.com/private/mdb/kvstore"
|
|
)
|
|
|
|
func decode[T any](data []byte) *T {
|
|
item := new(T)
|
|
must(json.Unmarshal(data, item))
|
|
return item
|
|
}
|
|
|
|
func encode(item any) []byte {
|
|
w := bytes.NewBuffer(kvstore.GetDataBuf(0)[:0])
|
|
must(json.NewEncoder(w).Encode(item))
|
|
return w.Bytes()
|
|
}
|