summaryrefslogtreecommitdiff
path: root/core/examples/ts_module_loader.rs
diff options
context:
space:
mode:
Diffstat (limited to 'core/examples/ts_module_loader.rs')
-rw-r--r--core/examples/ts_module_loader.rs21
1 files changed, 11 insertions, 10 deletions
diff --git a/core/examples/ts_module_loader.rs b/core/examples/ts_module_loader.rs
index 4a38073ab..6adb27977 100644
--- a/core/examples/ts_module_loader.rs
+++ b/core/examples/ts_module_loader.rs
@@ -14,6 +14,7 @@ use anyhow::Error;
use deno_ast::MediaType;
use deno_ast::ParseParams;
use deno_ast::SourceTextInfo;
+use deno_core::error::AnyError;
use deno_core::resolve_import;
use deno_core::resolve_path;
use deno_core::JsRuntime;
@@ -41,11 +42,12 @@ impl ModuleLoader for TypescriptModuleLoader {
fn load(
&self,
module_specifier: &ModuleSpecifier,
- _maybe_referrer: Option<ModuleSpecifier>,
+ _maybe_referrer: Option<&ModuleSpecifier>,
_is_dyn_import: bool,
) -> Pin<Box<ModuleSourceFuture>> {
- let module_specifier = module_specifier.clone();
- async move {
+ fn load(
+ module_specifier: &ModuleSpecifier,
+ ) -> Result<ModuleSource, AnyError> {
let path = module_specifier
.to_file_path()
.map_err(|_| anyhow!("Only file:// URLs are supported."))?;
@@ -81,15 +83,14 @@ impl ModuleLoader for TypescriptModuleLoader {
} else {
code
};
- let module = ModuleSource {
- code: code.into(),
+ Ok(ModuleSource::new(
module_type,
- module_url_specified: module_specifier.to_string(),
- module_url_found: module_specifier.to_string(),
- };
- Ok(module)
+ code.into(),
+ module_specifier,
+ ))
}
- .boxed_local()
+
+ futures::future::ready(load(module_specifier)).boxed_local()
}
}