From 4b7c6049ef9d40394eb823859c82cbf8d293430d Mon Sep 17 00:00:00 2001 From: David Sherret Date: Wed, 31 Jan 2024 22:15:22 -0500 Subject: 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. --- cli/standalone/mod.rs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'cli/standalone/mod.rs') 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, ), )); -- cgit v1.2.3