Skip to content

Commit 393d952

Browse files
authored
Add support for additional platforms (#4)
1 parent 33b93c3 commit 393d952

File tree

4 files changed

+111
-82
lines changed

4 files changed

+111
-82
lines changed

Cargo.lock

Lines changed: 73 additions & 62 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/bridge/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ neon = "1"
1717
lazy_static = "1"
1818
serde_json = "1"
1919
serde = "1"
20-
20+
eyre = "0.6"
2121

2222
[dependencies.tokio]
2323
version = "1"
@@ -32,4 +32,4 @@ version = "1"
3232
features = ["serde", "v4"]
3333

3434
[dependencies.kurrentdb]
35-
version = "1.0.0-alpha.3"
35+
version = "1.0.0-alpha.4"

crates/bridge/src/error.rs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use kurrentdb::Endpoint;
22
use neon::{object::Object, prelude::Context, prelude::JsError, result::JsResult};
3+
use eyre::Report;
34

45
#[derive(Debug)]
56
pub enum ErrorKind {
@@ -31,6 +32,20 @@ impl From<kurrentdb::ClientSettingsParseError> for ErrorKind {
3132
}
3233
}
3334

35+
impl From<Report> for ErrorKind {
36+
fn from(err: Report) -> Self {
37+
if let Some(kdb_err) = err.downcast_ref::<kurrentdb::Error>() {
38+
return ErrorKind::from(kdb_err.clone());
39+
}
40+
41+
if let Some(parse_err) = err.downcast_ref::<kurrentdb::ClientSettingsParseError>() {
42+
return ErrorKind::from(parse_err.clone());
43+
}
44+
45+
ErrorKind::UnknownError(err.to_string())
46+
}
47+
}
48+
3449
pub fn create_js_error<'a, C, E>(cx: &mut C, error: E) -> JsResult<'a, JsError>
3550
where
3651
C: Context<'a>,
@@ -45,7 +60,7 @@ where
4560
ErrorKind::ParseError(msg) => ("ParseError", msg.clone()),
4661
ErrorKind::AccessDeniedError => ("AccessDeniedError", format!("{:?}", kind)),
4762
ErrorKind::NotLeaderError(_) => ("NotLeaderError", format!("{:?}", kind)),
48-
ErrorKind::UnknownError(msg) => ("UnknownError", msg.clone())
63+
ErrorKind::UnknownError(msg) => ("UnknownError", msg.clone()),
4964
};
5065

5166
let error = JsError::error(cx, &error_message)?;

0 commit comments

Comments
 (0)