1use thiserror::Error;
2
3#[derive(Error, Debug, PartialEq)]
4pub enum Error {
5 #[error("No word found")]
6 NoWordFound,
7 #[error("No word list provided")]
8 NoWordList,
9 #[error("String must be exactly 9 to 24 letters. Letters Provided: `{}`.", 0)]
10 TooFewOrManyLetters(usize),
11 #[error("String must be divisible by 3. Letters Provided: `{}`.", 0)]
12 MustBeDivisibleBy3(usize),
13 #[error("Unknown shape: {}.", 0)]
14 UnknownShape(String),
15 #[error("Unknown shape for {} edges.", 0)]
16 UnknownShapeForEdges(u8),
17 #[error("Solution already found.")]
18 SolutionAlreadyFound,
19 #[error("Failed to build word chain.")]
20 FailedToBuildWordChain,
21 #[error("Chain too long.")]
22 ChainTooLong,
23}