21 releases

0.3.6 Dec 1, 2023
0.3.5 Dec 9, 2022
0.2.5 Dec 3, 2022
0.2.2 Nov 29, 2022
0.1.3 Nov 30, 2021

#3 in #aoc

25 downloads per month

MIT/Apache

15KB
321 lines

Aoc Helpers

All functionality requires AoC session cookie, which you can get from you browser after logging in

(look in developer tools)

The most obvious way to use this library is with the calculate_and_post function

use aoc_driver::*;

fn solution(i: &str) -> String { unimplemented!() }

let session = std::fs::read_to_string(".session.txt").unwrap();
calculate_and_post(
    &session,
    2020,
    1,
    Part1,
    Some("inputs/2020/1.txt"),
    Some("cache/2022/1.json"),
    solution
).unwrap();

There is an even faster way though using the aoc_magic macro

use aoc_driver::*;

fn solution(i: &str) -> String { unimplemented!() }

let session = std::fs::read_to_string(".session.txt").unwrap();
aoc_magic!(&session, 2020:1:1, solution).unwrap()

This macro does the same as the above function call (including creating an inputs and cache directory), but more concisely


lib.rs:

Aoc Helpers

All functionality requires AoC session cookie, which you can get from you browser after logging in

(look in developer tools)

The most obvious way to use this library is with the calculate_and_post function

use aoc_driver::*;

fn solution(i: &str) -> String { unimplemented!() }

let session = std::fs::read_to_string(".session.txt").unwrap();
calculate_and_post(
    session,
    2020,
    1,
    Part1,
    Some("inputs/2020/1.txt"),
    Some("cache/2022/1.json"),
    solution
).unwrap();

There is an even faster way though using the aoc_magic macro

use aoc_driver::*;

fn solution(i: &str) -> String { unimplemented!() }

let session = std::fs::read_to_string(".session.txt").unwrap();
aoc_magic!(session, 2020:1:1, solution).unwrap()

This macro does the same as the above function call (including creating an inputs and cache directory), but more concisely

Dependencies

~1.8–3MB
~73K SLoC