aoc_api 3.0.1

a simple Advent of Code API
Documentation

Version Downloads

a simple Advent of Code API written in Rust - also checkout the C# version

Documentation

Add Crate

cargo add aoc_api
use aoc_api::Session;

Static functions

All of the blow mentioned functions are also available as static functions, not bound to the Session struct. These can be used for easier access (not having to initialize a Session struct) in your application. The Session struct just acts as a wrapper around the static functions, which do not differ in any way to the Session struct functions.

Session initialization

let client = Session::new("session cookie": String, year: u16, day: u8); // Initializes a new Session instance
let client = Session::new("session cookie": String, input: String, pattern: Regex); // Initializes a new Session instance

Features

Get input

let input_text: Result<String, Box<dyn Error>> = client.get_input_text().await; // Retrieves the input text of the AoC puzzle
let input_lines: Result<Vec<String>, Box<dyn Error>> = client.get_input_lines().await; // Retrieves the input lines of the AoC puzzle

Get sample input

let sample_input_text: Result<String, Box<dyn Error>> = client.get_sample_input_text(nth: u8).await; // Retrieves the nth sample input text of the AoC puzzle
let sample_input_lines: Result<Vec<String>, Box<dyn Error>> = client.get_sample_input_lines(nth: u8).await; // Retrieves the nth sample input lines of the AoC puzzle

Get achieved stars

let achieved_stars: Result<HashMap<u16, u8>, Box<dyn Error>> = client.get_all_stars().await; // Retrieves each year's number of stars earned (key: year, value: stars)

Submit answer

let response: Result<bool, SubmitAnswerError> = client.submit_answer_explicit_error(part: u8, answer: &str).await; // Submits an answer to part 1 or 2 of the AoC puzzle. Returns a boolean whether the answer is correct

credits to:

Max - markdown info icons > Monday Morning Haskell - documentation on how to obtaining session cookie > Developer.Mozilla - documentation on how to name Regex groups