Rust Wrapper around the https://magicthegathering.io/ API
In-depth documentation about the capabilities can be found here: https://docs.magicthegathering.io/
This Wrapper supplies the related methods to call the API and the conversion of the supplied json data into rust objects.
Documentation can be found on docs.rs: https://docs.rs/mtgapi-client
```
[dependencies] mtgapi-client = "0.1" ```
```
extern crate mtgapi_client; ```
// Create a client with the specified (per request) timeout
use mtgapi_client::MtgClient;
let api = MtgClient::new(100);
The Page size for cards requests is 100 cards by default.
``` // Create a unfiltered cards request let mut getcardsrequest = api.cards().all();
//Start at Page 20 getcardsrequest.set_page(20);
let mut cards: Vec
``` // Create a filtered cards request let mut getcardsrequest = api.cards().allfiltered( CardFilter::builder() .gameformat(GameFormat::Standard) .cardtypesor(&[CardType::Instant, CardType::Sorcery]) .convertedmana_cost(2) .rarities(&[CardRarity::Rare, CardRarity::MythicRare]) .build(), );
let mut cards: Vec
``` // Get all sets let sets = api.sets().all()?.content; println!("All Sets: {:?}", sets);
// Get an example booster pack from the specified set let boostercards = api.sets().booster("ktk")?.content; println!("Random Cards from Booster: {:?}", boostercards);
// Get all card types let types = api.types().all()?.content; println!("Types: {:?}", types);
// Get all card subtypes let subtypes = api.subtypes().all()?.content; println!("Subtypes: {:?}", subtypes);
// Get all card supertypes let supertypes = api.supertypes().all()?.content; println!("Supertypes: {:?}", supertypes);
// Get all game formats let formats = api.formats().all()?.content; println!("Formats: {:?}", formats); ```