mal_api/
anime.rs

1//! Module for interacting with the `anime` and `user animelist` endpoints
2
3use self::requests::{AnimeCommonFields, AnimeDetail, AnimeDetailFields, AnimeField};
4use strum::IntoEnumIterator;
5
6/// Anime API client
7pub mod api;
8
9/// Anime API errors
10pub mod error;
11
12/// Anime API request structs
13pub mod requests;
14
15/// Anime API responses
16pub mod responses;
17
18/// Return all of the possible [AnimeField] fields
19pub fn all_common_fields() -> AnimeCommonFields {
20    let mut vec = Vec::with_capacity(AnimeField::iter().len());
21    for variant in AnimeField::iter() {
22        vec.push(variant);
23    }
24    AnimeCommonFields(vec)
25}
26
27/// Return all of the possible [AnimeDetail] fields
28pub fn all_detail_fields() -> AnimeDetailFields {
29    let mut vec = Vec::with_capacity(AnimeDetail::iter().len());
30    for variant in AnimeDetail::iter() {
31        vec.push(variant);
32    }
33    AnimeDetailFields(vec)
34}