some_random_api/endpoints/
animu.rs

1use crate::{AnimuQuote, Image, Requester};
2use anyhow::Result;
3
4/// An endpoint that sends random things related to anime
5///
6/// # Examples
7///
8/// ```
9/// use some_random_api::Client;
10///
11/// Client::new(None::<String>).animu.wink().await?;
12/// ```
13pub struct AnimuEndpoint(pub(crate) Requester);
14
15impl AnimuEndpoint {
16    /// Generate a random anime facepalm GIF
17    pub async fn facepalm(&self) -> Result<Image> {
18        self.0.request("animu/face-palm", None::<&()>).await
19    }
20
21    /// Generate a random anime hug GIF
22    pub async fn hug(&self) -> Result<Image> {
23        self.0.request("animu/hug", None::<&()>).await
24    }
25
26    /// Generate a random anime pat GIF
27    pub async fn pat(&self) -> Result<Image> {
28        self.0.request("animu/pat", None::<&()>).await
29    }
30
31    /// Generate a random anime quote
32    pub async fn quote(&self) -> Result<AnimuQuote> {
33        self.0.request("animu/quote", None::<&()>).await
34    }
35
36    /// Generate a random anime wink GIF
37    pub async fn wink(&self) -> Result<Image> {
38        self.0.request("animu/wink", None::<&()>).await
39    }
40}