js_sandbox_ios/
js_error.rs1use std::{
2 error::Error,
3 fmt::{self, Display},
4};
5
6use crate::AnyError;
7
8#[derive(Debug)]
10pub enum JsError {
11 Json(serde_json::Error),
13
14 Runtime(AnyError),
16}
17
18impl Error for JsError {}
19
20impl Display for JsError {
21 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
22 match self {
23 JsError::Json(e) => write!(f, "{}", e),
24 JsError::Runtime(e) => write!(f, "{}", e),
25 }
26 }
27}
28
29impl From<AnyError> for JsError {
30 fn from(e: AnyError) -> JsError {
31 JsError::Runtime(e)
32 }
33}
34
35impl From<serde_json::Error> for JsError {
36 fn from(e: serde_json::Error) -> JsError {
37 JsError::Json(e)
38 }
39}