#![allow(dead_code)]
use wasm_bindgen::JsError;
use crate::error::{MutationError, StorageError, TraversalError};
pub fn storage_error_to_js(err: StorageError) -> JsError {
JsError::new(&err.to_string())
}
pub fn traversal_error_to_js(err: TraversalError) -> JsError {
JsError::new(&err.to_string())
}
pub fn mutation_error_to_js(err: MutationError) -> JsError {
JsError::new(&err.to_string())
}
pub trait IntoJsResult<T> {
fn into_js(self) -> Result<T, JsError>;
}
impl<T> IntoJsResult<T> for Result<T, StorageError> {
fn into_js(self) -> Result<T, JsError> {
self.map_err(storage_error_to_js)
}
}
impl<T> IntoJsResult<T> for Result<T, TraversalError> {
fn into_js(self) -> Result<T, JsError> {
self.map_err(traversal_error_to_js)
}
}
impl<T> IntoJsResult<T> for Result<T, MutationError> {
fn into_js(self) -> Result<T, JsError> {
self.map_err(mutation_error_to_js)
}
}