diff options
Diffstat (limited to 'ext/node/ops/require.rs')
-rw-r--r-- | ext/node/ops/require.rs | 65 |
1 files changed, 32 insertions, 33 deletions
diff --git a/ext/node/ops/require.rs b/ext/node/ops/require.rs index 1c8647bab..4a2b97187 100644 --- a/ext/node/ops/require.rs +++ b/ext/node/ops/require.rs @@ -16,7 +16,6 @@ use std::rc::Rc; use std::sync::Arc; use crate::resolution; -use crate::NodeEnv; use crate::NodeFs; use crate::NodeModuleKind; use crate::NodePermissions; @@ -88,12 +87,12 @@ pub fn op_require_init_paths() -> Vec<String> { } #[op] -pub fn op_require_node_module_paths<Env>( +pub fn op_require_node_module_paths<P>( state: &mut OpState, from: String, ) -> Result<Vec<String>, AnyError> where - Env: NodeEnv + 'static, + P: NodePermissions + 'static, { let fs = state.borrow::<Arc<dyn NodeFs>>(); // Guarantee that "from" is absolute. @@ -105,7 +104,7 @@ where .to_file_path() .unwrap(); - ensure_read_permission::<Env::P>(state, &from)?; + ensure_read_permission::<P>(state, &from)?; if cfg!(windows) { // return root node_modules when path is 'D:\\'. @@ -255,15 +254,15 @@ fn op_require_path_is_absolute(p: String) -> bool { } #[op] -fn op_require_stat<Env>( +fn op_require_stat<P>( state: &mut OpState, path: String, ) -> Result<i32, AnyError> where - Env: NodeEnv + 'static, + P: NodePermissions + 'static, { let path = PathBuf::from(path); - ensure_read_permission::<Env::P>(state, &path)?; + ensure_read_permission::<P>(state, &path)?; let fs = state.borrow::<Arc<dyn NodeFs>>(); if let Ok(metadata) = fs.metadata(&path) { if metadata.is_file { @@ -277,15 +276,15 @@ where } #[op] -fn op_require_real_path<Env>( +fn op_require_real_path<P>( state: &mut OpState, request: String, ) -> Result<String, AnyError> where - Env: NodeEnv + 'static, + P: NodePermissions + 'static, { let path = PathBuf::from(request); - ensure_read_permission::<Env::P>(state, &path)?; + ensure_read_permission::<P>(state, &path)?; let fs = state.borrow::<Arc<dyn NodeFs>>(); let canonicalized_path = deno_core::strip_unc_prefix(fs.canonicalize(&path)?); Ok(canonicalized_path.to_string_lossy().to_string()) @@ -328,14 +327,14 @@ fn op_require_path_basename(request: String) -> Result<String, AnyError> { } #[op] -fn op_require_try_self_parent_path<Env>( +fn op_require_try_self_parent_path<P>( state: &mut OpState, has_parent: bool, maybe_parent_filename: Option<String>, maybe_parent_id: Option<String>, ) -> Result<Option<String>, AnyError> where - Env: NodeEnv + 'static, + P: NodePermissions + 'static, { if !has_parent { return Ok(None); @@ -349,7 +348,7 @@ where if parent_id == "<repl>" || parent_id == "internal/preload" { let fs = state.borrow::<Arc<dyn NodeFs>>(); if let Ok(cwd) = fs.current_dir() { - ensure_read_permission::<Env::P>(state, &cwd)?; + ensure_read_permission::<P>(state, &cwd)?; return Ok(Some(cwd.to_string_lossy().to_string())); } } @@ -358,20 +357,20 @@ where } #[op] -fn op_require_try_self<Env>( +fn op_require_try_self<P>( state: &mut OpState, parent_path: Option<String>, request: String, ) -> Result<Option<String>, AnyError> where - Env: NodeEnv + 'static, + P: NodePermissions + 'static, { if parent_path.is_none() { return Ok(None); } let node_resolver = state.borrow::<Rc<NodeResolver>>(); - let permissions = state.borrow::<Env::P>(); + let permissions = state.borrow::<P>(); let pkg = node_resolver .get_package_scope_config( &Url::from_file_path(parent_path.unwrap()).unwrap(), @@ -421,15 +420,15 @@ where } #[op] -fn op_require_read_file<Env>( +fn op_require_read_file<P>( state: &mut OpState, file_path: String, ) -> Result<String, AnyError> where - Env: NodeEnv + 'static, + P: NodePermissions + 'static, { let file_path = PathBuf::from(file_path); - ensure_read_permission::<Env::P>(state, &file_path)?; + ensure_read_permission::<P>(state, &file_path)?; let fs = state.borrow::<Arc<dyn NodeFs>>(); Ok(fs.read_to_string(&file_path)?) } @@ -446,7 +445,7 @@ pub fn op_require_as_file_path(file_or_url: String) -> String { } #[op] -fn op_require_resolve_exports<Env>( +fn op_require_resolve_exports<P>( state: &mut OpState, uses_local_node_modules_dir: bool, modules_path: String, @@ -456,12 +455,12 @@ fn op_require_resolve_exports<Env>( parent_path: String, ) -> Result<Option<String>, AnyError> where - Env: NodeEnv + 'static, + P: NodePermissions + 'static, { let fs = state.borrow::<Arc<dyn NodeFs>>(); let npm_resolver = state.borrow::<Arc<dyn NpmResolver>>(); let node_resolver = state.borrow::<Rc<NodeResolver>>(); - let permissions = state.borrow::<Env::P>(); + let permissions = state.borrow::<P>(); let pkg_path = if npm_resolver .in_npm_package_at_path(&PathBuf::from(&modules_path)) @@ -502,19 +501,19 @@ where } #[op] -fn op_require_read_closest_package_json<Env>( +fn op_require_read_closest_package_json<P>( state: &mut OpState, filename: String, ) -> Result<PackageJson, AnyError> where - Env: NodeEnv + 'static, + P: NodePermissions + 'static, { - ensure_read_permission::<Env::P>( + ensure_read_permission::<P>( state, PathBuf::from(&filename).parent().unwrap(), )?; let node_resolver = state.borrow::<Rc<NodeResolver>>(); - let permissions = state.borrow::<Env::P>(); + let permissions = state.borrow::<P>(); node_resolver.get_closest_package_json( &Url::from_file_path(filename).unwrap(), permissions, @@ -522,15 +521,15 @@ where } #[op] -fn op_require_read_package_scope<Env>( +fn op_require_read_package_scope<P>( state: &mut OpState, package_json_path: String, ) -> Option<PackageJson> where - Env: NodeEnv + 'static, + P: NodePermissions + 'static, { let node_resolver = state.borrow::<Rc<NodeResolver>>(); - let permissions = state.borrow::<Env::P>(); + let permissions = state.borrow::<P>(); let package_json_path = PathBuf::from(package_json_path); node_resolver .load_package_json(permissions, package_json_path) @@ -538,18 +537,18 @@ where } #[op] -fn op_require_package_imports_resolve<Env>( +fn op_require_package_imports_resolve<P>( state: &mut OpState, parent_filename: String, request: String, ) -> Result<Option<String>, AnyError> where - Env: NodeEnv + 'static, + P: NodePermissions + 'static, { let parent_path = PathBuf::from(&parent_filename); - ensure_read_permission::<Env::P>(state, &parent_path)?; + ensure_read_permission::<P>(state, &parent_path)?; let node_resolver = state.borrow::<Rc<NodeResolver>>(); - let permissions = state.borrow::<Env::P>(); + let permissions = state.borrow::<P>(); let pkg = node_resolver .load_package_json(permissions, parent_path.join("package.json"))?; |