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) }