ydke_parser/lib.rs
1//! A crate for parsing and generating YGOPro deck URLs in the YDKE format.
2//!
3//! # Example
4//!
5//! ```
6//! use ydke_parser::{Deck, parse_url, to_url};
7//!
8//! // Create a deck
9//! let deck = Deck {
10//! main: vec![26077387, 37351133],
11//! extra: vec![63288574],
12//! side: vec![37351133],
13//! };
14//!
15//! let url1 = "ydke://y+iNAd3uOQI=!/rTFAw==!3e45Ag==!";
16//! // Convert deck to URL
17//! let url2 = to_url(&deck);
18//!
19//! // Parse the URL back into a deck
20//! let parsed_deck1 = parse_url(&url1).unwrap();
21//! let parsed_deck2 = parse_url(&url2).unwrap();
22//! assert_eq!(deck, parsed_deck1);
23//! assert_eq!(deck, parsed_deck2);
24//! ```
25
26mod error;
27mod deck;
28mod conversion;
29mod utils;
30
31pub use error::YdkeError;
32pub use deck::Deck;
33pub use conversion::{parse_url, parse_urls, to_url, to_urls};
34pub use utils::extract_urls;