jikan-rs 1.0.0

A basic wrapper for jikan.moe API
Documentation
use super::anime::*;
use serde::Deserialize;

#[derive(Debug, Deserialize)]
pub struct AnimeListResponse {
    pub data: Vec<Anime>,
    pub pagination: Pagination,
}

#[derive(Debug, Deserialize)]
pub struct Pagination { 
    pub last_visible_page: u32,
    pub has_next_page: bool,
    pub items: PaginationItems,
}

#[derive(Debug, Deserialize)]
pub struct PaginationItems { 
    pub count: u32,
    pub total: u32,
    pub per_page: u32,
}

#[derive(Debug, Deserialize)]
pub struct SeasonListResponse {
    pub data: Vec<SeasonEntry>
}

#[derive(Debug, Deserialize)]
pub struct SeasonEntry {
    pub year: u32,
    pub season: Vec<String>
}


#[derive(Debug, Deserialize)]
pub struct MangaListResponse {
    pub data: Vec<Manga>,
    pub pagination: Pagination,
}

#[derive(Debug, Deserialize)]
pub struct Manga {
    pub mal_id: u32,
    pub url: String,
    pub images: Images,
    pub approved: bool,
    pub titles: Vec<Title>,
    pub title: String,
    pub title_english: Option<String>,
    pub title_japanese: Option<String>,
    pub r#type: String,
    pub chapters: Option<u32>,
    pub volumes: Option<u32>,
    pub status: String,
    pub publishing: bool,
    pub published: Published,
    pub score: Option<f64>,
    pub scored_by: Option<u32>,
    pub rank: Option<u32>,
    pub popularity: u32,
    pub members: u32,
    pub favorites: u32,
    pub synopsis: Option<String>,
    pub background: Option<String>,
    pub authors: Vec<Producer>,
    pub serializations: Vec<Producer>,
    pub genres: Vec<Genre>,
    pub explicit_genres: Vec<Genre>,
    pub themes: Vec<Genre>,
    pub demographics: Vec<Genre>,
}

#[derive(Debug, Deserialize)]
pub struct Published {
    pub from: Option<String>,
    pub to: Option<String>,
    pub prop: PublishedProp,
    pub string: String,
}

#[derive(Debug, Deserialize)]
pub struct PublishedProp {
    pub from: Date,
    pub to: Date,
}