Skip to content

Commit f9554d6

Browse files
committed
fix wasm
1 parent a0a49d4 commit f9554d6

File tree

1 file changed

+22
-7
lines changed

1 file changed

+22
-7
lines changed

lib/lib.rs

+22-7
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#![deny(clippy::disallowed_types)]
77
#![deny(clippy::unnecessary_wraps)]
88

9+
use deno_error::JsErrorBox;
910
use deno_graph::resolve_import;
1011
use deno_graph::source::load_data_url;
1112
use deno_graph::source::CacheInfo;
@@ -90,7 +91,11 @@ impl Loader for JsLoader {
9091
}
9192

9293
if specifier.scheme() == "data" {
93-
Box::pin(future::ready(load_data_url(specifier)))
94+
Box::pin(future::ready(load_data_url(specifier).map_err(|err| {
95+
deno_graph::source::LoadError::Other(Arc::new(JsErrorBox::from_err(
96+
err,
97+
)))
98+
})))
9499
} else {
95100
let specifier = specifier.clone();
96101
let context = JsValue::null();
@@ -114,7 +119,11 @@ impl Loader for JsLoader {
114119
};
115120
response
116121
.map(|value| serde_wasm_bindgen::from_value(value).unwrap())
117-
.map_err(|_| Arc::new(WasmError::Load).into())
122+
.map_err(|_| {
123+
deno_graph::source::LoadError::Other(Arc::new(
124+
JsErrorBox::from_err(WasmError::Load),
125+
))
126+
})
118127
};
119128
Box::pin(f)
120129
}
@@ -182,12 +191,17 @@ impl Resolver for JsResolver {
182191
let arg2 = JsValue::from(referrer_range.specifier.to_string());
183192
let value = match resolve.call2(&this, &arg1, &arg2) {
184193
Ok(value) => value,
185-
Err(_) => return Err(Box::new(WasmError::JavaScriptResolve).into()),
194+
Err(_) => {
195+
return Err(JsErrorBox::from_err(WasmError::JavaScriptResolve).into())
196+
}
186197
};
187198
let value: String = match serde_wasm_bindgen::from_value(value) {
188199
Ok(value) => value,
189200
Err(err) => {
190-
return Err(Box::new(WasmError::Deserialize(err.to_string())).into())
201+
return Err(
202+
JsErrorBox::from_err(WasmError::Deserialize(err.to_string()))
203+
.into(),
204+
)
191205
}
192206
};
193207
ModuleSpecifier::parse(&value)
@@ -207,10 +221,11 @@ impl Resolver for JsResolver {
207221
let arg1 = JsValue::from(specifier.to_string());
208222
let value = resolve_types
209223
.call1(&this, &arg1)
210-
.map_err(|_| Box::new(WasmError::JavaScriptResolveTypes))?;
224+
.map_err(|_| JsErrorBox::from_err(WasmError::JavaScriptResolveTypes))?;
211225
let result: Option<JsResolveTypesResponse> =
212-
serde_wasm_bindgen::from_value(value)
213-
.map_err(|err| Box::new(WasmError::Deserialize(err.to_string())))?;
226+
serde_wasm_bindgen::from_value(value).map_err(|err| {
227+
JsErrorBox::from_err(WasmError::Deserialize(err.to_string()))
228+
})?;
214229
Ok(result.map(|v| (v.types, v.source)))
215230
} else {
216231
Ok(None)

0 commit comments

Comments
 (0)