54 lines
899 B
Go
54 lines
899 B
Go
package remote
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/gob"
|
|
)
|
|
|
|
type loadListsResponse struct {
|
|
Lists []List `json:"list"`
|
|
}
|
|
|
|
type List struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
type Lists []List
|
|
|
|
func (l *List) Encode() ([]byte, error) {
|
|
buf := bytes.NewBuffer(nil)
|
|
enc := gob.NewEncoder(buf)
|
|
err := enc.Encode(*l)
|
|
return buf.Bytes(), err
|
|
}
|
|
|
|
func (l *List) Decode(b []byte) error {
|
|
buf := bytes.NewBuffer(b)
|
|
enc := gob.NewDecoder(buf)
|
|
err := enc.Decode(l)
|
|
return err
|
|
}
|
|
|
|
func (ls *Lists) Encode() ([]byte, error) {
|
|
buf := bytes.NewBuffer(nil)
|
|
enc := gob.NewEncoder(buf)
|
|
err := enc.Encode(*ls)
|
|
return buf.Bytes(), err
|
|
}
|
|
|
|
func (ls *Lists) Decode(b []byte) error {
|
|
buf := bytes.NewBuffer(b)
|
|
enc := gob.NewDecoder(buf)
|
|
err := enc.Decode(ls)
|
|
return err
|
|
}
|
|
|
|
func (ls Lists) Length() int {
|
|
return len(ls.ListArray())
|
|
}
|
|
|
|
func (ls Lists) ListArray() []List {
|
|
return []List(ls)
|
|
}
|