diff options
Diffstat (limited to 'ext/node/errors.rs')
-rw-r--r-- | ext/node/errors.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/ext/node/errors.rs b/ext/node/errors.rs index 9dc6c7e7e..4b55d1982 100644 --- a/ext/node/errors.rs +++ b/ext/node/errors.rs @@ -3,6 +3,7 @@ use deno_core::error::generic_error; use deno_core::error::type_error; use deno_core::error::AnyError; +use deno_core::url::Url; pub fn err_invalid_module_specifier( request: &str, @@ -120,3 +121,23 @@ pub fn err_package_import_not_defined( type_error(msg) } + +pub fn err_unsupported_dir_import(path: &str, base: &str) -> AnyError { + generic_error(format!("[ERR_UNSUPPORTED_DIR_IMPORT] Directory import '{}' is not supported resolving ES modules imported from {}", path, base)) +} + +pub fn err_unsupported_esm_url_scheme(url: &Url) -> AnyError { + let mut msg = + "[ERR_UNSUPPORTED_ESM_URL_SCHEME] Only file and data URLS are supported by the default ESM loader" + .to_string(); + + if cfg!(window) && url.scheme().len() == 2 { + msg = format!( + "{}. On Windows, absolute path must be valid file:// URLs", + msg + ); + } + + msg = format!("{}. Received protocol '{}'", msg, url.scheme()); + generic_error(msg) +} |