Skip to main content

pick/
error.rs

1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum PickError {
5    #[error("key not found: {0}")]
6    KeyNotFound(String),
7
8    #[error("index out of bounds: {0}")]
9    IndexOutOfBounds(i64),
10
11    #[error("expected object for key '{0}', got {1}")]
12    NotAnObject(String, String),
13
14    #[error("expected array for index, got {0}")]
15    NotAnArray(String),
16
17    #[error("invalid selector: {0}")]
18    InvalidSelector(String),
19
20    #[error("failed to parse input as {0}: {1}")]
21    ParseError(String, String),
22
23    #[error("no input provided")]
24    NoInput,
25
26    #[error("could not detect input format")]
27    UnknownFormat,
28
29    #[error("input too large (max {} bytes)", .0)]
30    InputTooLarge(u64),
31
32    #[error("too many results (max {0})")]
33    TooManyResults(usize),
34
35    #[error("{0}")]
36    Io(#[from] std::io::Error),
37}