scryfall-client 0.1.0

an wrapper for the scryfall API
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::client::{Client, ClientError};
use serde::{Deserialize, Serialize};

#[derive(Clone, Debug, Deserialize, Serialize)]
struct AutocompleteResult {
    pub object: String,
    pub total_values: u64,
    pub data: Vec<String>,
}

impl Client {
    pub async fn autocomplete<S: ToString>(&self, name: S) -> Result<Vec<String>, ClientError> {
        let name = name.to_string();
        let query = self.autocomplete_client().form(&[("q", &name)]);
        let result = self.send_request::<AutocompleteResult>(query).await?;
        Ok(result.data)
    }
}