6
6
#![ deny( clippy:: disallowed_types) ]
7
7
#![ deny( clippy:: unnecessary_wraps) ]
8
8
9
+ use deno_error:: JsErrorBox ;
9
10
use deno_graph:: resolve_import;
10
11
use deno_graph:: source:: load_data_url;
11
12
use deno_graph:: source:: CacheInfo ;
@@ -90,7 +91,11 @@ impl Loader for JsLoader {
90
91
}
91
92
92
93
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
+ } ) ) )
94
99
} else {
95
100
let specifier = specifier. clone ( ) ;
96
101
let context = JsValue :: null ( ) ;
@@ -114,7 +119,11 @@ impl Loader for JsLoader {
114
119
} ;
115
120
response
116
121
. 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
+ } )
118
127
} ;
119
128
Box :: pin ( f)
120
129
}
@@ -182,12 +191,17 @@ impl Resolver for JsResolver {
182
191
let arg2 = JsValue :: from ( referrer_range. specifier . to_string ( ) ) ;
183
192
let value = match resolve. call2 ( & this, & arg1, & arg2) {
184
193
Ok ( value) => value,
185
- Err ( _) => return Err ( Box :: new ( WasmError :: JavaScriptResolve ) . into ( ) ) ,
194
+ Err ( _) => {
195
+ return Err ( JsErrorBox :: from_err ( WasmError :: JavaScriptResolve ) . into ( ) )
196
+ }
186
197
} ;
187
198
let value: String = match serde_wasm_bindgen:: from_value ( value) {
188
199
Ok ( value) => value,
189
200
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
+ )
191
205
}
192
206
} ;
193
207
ModuleSpecifier :: parse ( & value)
@@ -207,10 +221,11 @@ impl Resolver for JsResolver {
207
221
let arg1 = JsValue :: from ( specifier. to_string ( ) ) ;
208
222
let value = resolve_types
209
223
. call1 ( & this, & arg1)
210
- . map_err ( |_| Box :: new ( WasmError :: JavaScriptResolveTypes ) ) ?;
224
+ . map_err ( |_| JsErrorBox :: from_err ( WasmError :: JavaScriptResolveTypes ) ) ?;
211
225
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
+ } ) ?;
214
229
Ok ( result. map ( |v| ( v. types , v. source ) ) )
215
230
} else {
216
231
Ok ( None )
0 commit comments