#![doc = include_str!("../README.md")]
use thiserror::Error;
pub mod strategy;
pub use strategy::Strategy;
pub mod words;
pub mod harness;
pub use harness::Harness;
pub mod perf;
pub use perf::{Perf, PerfSummary};
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Error)]
pub enum WordleError {
#[error("the index {0} does not correspond to a possible Wordle word")]
InvalidIndex(usize),
#[error("the string \"{0}\" is not in the Wordle wordlist")]
NotInWordlist(String),
#[error("the puzzle has already evaluated six guesses")]
OutOfGuesses,
#[error("that guess does not follow hardmode rules")]
InvalidHardmodeGuess,
#[error("the strategy {0} cheated")]
StrategyCheated(String),
}