Skip to main content

mal_api/
manga.rs

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