/lordeckcodes-rs

Legends of Runeterra deck encoder/decoder in Rust. Port of https://github.com/RiotGames/LoRDeckCodes.

Primary LanguageRustMIT LicenseMIT

Legends of Runeterra - Deck Encoder/Decoder

Legends of Runeterra deck encoder/decoder in Rust. Port of LorDeckCodes.

Actions Status Crates.io MIT licensed

Documentation

API Documentation

Usage

To use lordeckcodes, add this to your Cargo.toml:

[dependencies]
lordeckcodes = "1"

Serde support

Serde support is optional and disabled by default. To enable use the feature serde.

[dependencies]
lordeckcodes = { version = "1", features = ["serde"] }

Examples

Obtain a deck from the provided code:

use lordeckcodes::encoder;

let deck = encoder::deck_from_code("CEBAEAIBAQTQMAIAAILSQLBNGUBACAIBFYDACAAHBEHR2IBLAEBACAIFAY");
assert!(deck.is_ok());

Generate a code from the provided deck:

use lordeckcodes::{encoder, CardCodeAndCount, Deck, LorError};
fn main() -> Result<(), LorError> {
    let deck: Deck = [
        ("01SI015", 3),
        ("01SI044", 3),
        ("01SI048", 3),
        ("01SI054", 3),
        ("01FR003", 3),
        ("01FR012", 3),
        ("01FR020", 3),
        ("01FR024", 3),
        ("01FR033", 3),
        ("01FR036", 3),
        ("01FR039", 3),
        ("01FR052", 3),
        ("01SI005", 2),
        ("01FR004", 2),
    ]
    .iter()
    .collect();
    let code = encoder::code_from_deck(&deck);
    assert!(code.is_ok());
    Ok(())
}