diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-01-31 22:15:22 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-01 03:15:22 +0000 |
commit | 4b7c6049ef9d40394eb823859c82cbf8d293430d (patch) | |
tree | 61e6de7c69c9d00faeef0ff7e6c223224a53de9e /cli/standalone/mod.rs | |
parent | 830d096b66696ad9f4e67b3ed8460fb1ff7a9170 (diff) |
refactor: load bytes in deno_graph (#22212)
Upgrades deno_graph to 0.64 where deno_graph is now responsible for
turning bytes into a string. This is in preparation for Wasm modules.
Diffstat (limited to 'cli/standalone/mod.rs')
-rw-r--r-- | cli/standalone/mod.rs | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/cli/standalone/mod.rs b/cli/standalone/mod.rs index 0175b9c11..4049d6709 100644 --- a/cli/standalone/mod.rs +++ b/cli/standalone/mod.rs @@ -9,7 +9,6 @@ use crate::args::StorageKeyResolver; use crate::cache::Caches; use crate::cache::DenoDirProvider; use crate::cache::NodeAnalysisCache; -use crate::file_fetcher::get_source_from_data_url; use crate::http_util::HttpClient; use crate::node::CliCjsCodeAnalyzer; use crate::npm::create_cli_npm_resolver; @@ -150,12 +149,22 @@ impl ModuleLoader for EmbeddedModuleLoader { is_dynamic: bool, _requested_module_type: RequestedModuleType, ) -> deno_core::ModuleLoadResponse { - let is_data_uri = get_source_from_data_url(original_specifier).ok(); - if let Some((source, _)) = is_data_uri { + if original_specifier.scheme() == "data" { + let data_url_text = + match deno_graph::source::RawDataUrl::parse(original_specifier) + .and_then(|url| url.decode().map_err(|err| err.into())) + { + Ok(response) => response, + Err(err) => { + return deno_core::ModuleLoadResponse::Sync(Err(type_error( + format!("{:#}", err), + ))); + } + }; return deno_core::ModuleLoadResponse::Sync(Ok( deno_core::ModuleSource::new( deno_core::ModuleType::JavaScript, - ModuleSourceCode::String(source.into()), + ModuleSourceCode::String(data_url_text.into()), original_specifier, ), )); |