5 "github.com/Kovensky/go-anidb/misc"
10 type MyListAnime struct {
13 EpisodesWithState MyListStateMap
15 WatchedEpisodes misc.EpisodeList
17 EpisodesPerGroup GroupEpisodes
22 type GroupEpisodes map[GID]misc.EpisodeList
24 func (ge GroupEpisodes) MarshalJSON() ([]byte, error) {
25 generic := make(map[string]misc.EpisodeList, len(ge))
26 for k, v := range ge {
27 generic[strconv.Itoa(int(k))] = v
29 return json.Marshal(generic)
32 func (ge GroupEpisodes) UnmarshalJSON(b []byte) error {
33 var generic map[string]misc.EpisodeList
34 if err := json.Unmarshal(b, &generic); err != nil {
37 for k, v := range generic {
38 ik, err := strconv.ParseInt(k, 10, 32)
49 type MyListStateMap map[MyListState]misc.EpisodeList
51 func (sm MyListStateMap) MarshalJSON() ([]byte, error) {
52 generic := make(map[string]misc.EpisodeList, len(sm))
53 for k, v := range sm {
54 generic[strconv.Itoa(int(k))] = v
56 return json.Marshal(generic)
59 func (sm MyListStateMap) UnmarshalJSON(b []byte) error {
60 var generic map[string]misc.EpisodeList
61 if err := json.Unmarshal(b, &generic); err != nil {
64 for k, v := range generic {
65 ik, err := strconv.ParseInt(k, 10, 32)
70 sm[MyListState(ik)] = v