summaryrefslogtreecommitdiff
path: root/cli/state.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-01-25 18:53:16 +0100
committerGitHub <noreply@github.com>2020-01-25 18:53:16 +0100
commitc824eb5817db675be4d9966a0d1a43d90dfa61fd (patch)
tree400906eb76f95b3457a15c90baca58ecd193b22f /cli/state.rs
parent37a7b01d5cf555bbc57d74dc9e04000115ec4867 (diff)
refactor: Modules and Loader trait (#3791)
* move is_dyn_import argument from Loader::resolve to Loader::load - it was always kind of strange that resolve() checks permissions. * change argument type from &str to &ModuleSpecifier where applicable
Diffstat (limited to 'cli/state.rs')
-rw-r--r--cli/state.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/cli/state.rs b/cli/state.rs
index 6f3f0a4c7..b224451c5 100644
--- a/cli/state.rs
+++ b/cli/state.rs
@@ -167,7 +167,6 @@ impl Loader for ThreadSafeState {
specifier: &str,
referrer: &str,
is_main: bool,
- is_dyn_import: bool,
) -> Result<ModuleSpecifier, ErrBox> {
if !is_main {
if let Some(import_map) = &self.import_map {
@@ -180,10 +179,6 @@ impl Loader for ThreadSafeState {
let module_specifier =
ModuleSpecifier::resolve_import(specifier, referrer)?;
- if is_dyn_import {
- self.check_dyn_import(&module_specifier)?;
- }
-
Ok(module_specifier)
}
@@ -192,7 +187,15 @@ impl Loader for ThreadSafeState {
&self,
module_specifier: &ModuleSpecifier,
maybe_referrer: Option<ModuleSpecifier>,
+ is_dyn_import: bool,
) -> Pin<Box<deno_core::SourceCodeInfoFuture>> {
+ if is_dyn_import {
+ if let Err(e) = self.check_dyn_import(&module_specifier) {
+ return async move { Err(e) }.boxed();
+ }
+ }
+
+ // TODO(bartlomieju): incrementing resolve_count here has no sense...
self.metrics.resolve_count.fetch_add(1, Ordering::SeqCst);
let module_url_specified = module_specifier.to_string();
let fut = self