mochi_rs/imports/
error.rs

1use core::num::ParseIntError;
2
3pub type Result<T> = core::result::Result<T, MochiError>;
4
5#[repr(C)]
6#[derive(PartialEq, Eq, Debug, Clone, Copy)]
7pub enum MochiError {
8    PtrCast(PtrCastError),
9    Node(NodeError),
10    JsonParseError,
11    Unimplemented,
12    Unknown
13}
14
15impl From<PtrCastError> for MochiError {
16    fn from(cast: PtrCastError) -> Self {
17        Self::PtrCast(cast)
18    }
19}
20
21impl From<NodeError> for MochiError {
22    fn from(scraping: NodeError) -> Self {
23        Self::Node(scraping)
24    }
25}
26
27impl From<ParseIntError> for MochiError {
28    fn from(_: ParseIntError) -> Self {
29        Self::Unimplemented
30    }
31}
32
33#[repr(C)]
34#[derive(PartialEq, Eq, Debug, Clone, Copy)]
35pub enum NodeError {
36    ParserError,
37    ModifyError
38}
39
40#[repr(C)]
41#[derive(PartialEq, Eq, Debug, Clone, Copy)]
42pub enum PtrCastError {
43    NullPointer,
44    Utf8NotValid,
45    NotArray,
46    NotObject,
47    NotString,
48    NotNumber,
49    NotBool,
50    NotNode
51}
52