1#[non_exhaustive]
2#[derive(Debug, Clone)]
3pub enum Error {
4 LibError(libsql_ffi::Error),
5 Bug(&'static str),
6}
7
8impl std::fmt::Display for Error {
9 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
10 match self {
11 Self::LibError(e) => write!(f, "LibError({})", e),
12 Self::Bug(e) => write!(f, "Bug({})", e),
13 }
14 }
15}
16
17impl From<i32> for Error {
18 fn from(e: i32) -> Self {
19 Self::LibError(libsql_ffi::Error::new(e))
20 }
21}
22
23impl From<u32> for Error {
24 fn from(e: u32) -> Self {
25 Self::LibError(libsql_ffi::Error::new(e as _))
26 }
27}
28
29impl From<libsql_ffi::Error> for Error {
30 fn from(value: libsql_ffi::Error) -> Self {
31 Self::LibError(value)
32 }
33}
34
35pub type Result<T> = std::result::Result<T, Error>;