diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2021-02-17 13:47:18 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-17 13:47:18 -0500 |
commit | c7dabc99eed50fa20cdcafd7c0175ab615da3d50 (patch) | |
tree | ec2c611c627827bbdd61d3e27400ae1b9a50d459 /cli/lsp/utils.rs | |
parent | f6d6b24506410816833d802e1a8d9cd704f73289 (diff) |
Make ModuleSpecifier a type alias, not wrapper struct (#9531)
Diffstat (limited to 'cli/lsp/utils.rs')
-rw-r--r-- | cli/lsp/utils.rs | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/cli/lsp/utils.rs b/cli/lsp/utils.rs index 8f4de9c05..c7eae3147 100644 --- a/cli/lsp/utils.rs +++ b/cli/lsp/utils.rs @@ -1,6 +1,7 @@ // Copyright 2018-2021 the Deno authors. All rights reserved. MIT license. use deno_core::error::AnyError; +use deno_core::resolve_url; use deno_core::url::Position; use deno_core::url::Url; use deno_core::ModuleSpecifier; @@ -19,12 +20,11 @@ pub fn normalize_file_name(file_name: &str) -> Result<Url, AnyError> { pub fn normalize_specifier( specifier: &ModuleSpecifier, ) -> Result<Url, AnyError> { - let url = specifier.as_url(); - if url.scheme() == "file" { - Ok(url.clone()) + if specifier.scheme() == "file" { + Ok(specifier.clone()) } else { let specifier_str = - format!("deno:///{}", url.as_str().replacen("://", "/", 1)); + format!("deno:///{}", specifier.as_str().replacen("://", "/", 1)); Url::parse(&specifier_str).map_err(|err| err.into()) } } @@ -41,12 +41,12 @@ pub fn normalize_url(url: Url) -> ModuleSpecifier { if let Ok(specifier) = percent_encoding::percent_decode_str(&specifier_str).decode_utf8() { - if let Ok(specifier) = ModuleSpecifier::resolve_url(&specifier) { + if let Ok(specifier) = resolve_url(&specifier) { return specifier; } } } - ModuleSpecifier::from(url) + url } #[cfg(test)] @@ -63,8 +63,7 @@ mod tests { #[test] fn test_normalize_specifier() { - let fixture = - ModuleSpecifier::resolve_url("https://deno.land/x/mod.ts").unwrap(); + let fixture = resolve_url("https://deno.land/x/mod.ts").unwrap(); let actual = normalize_specifier(&fixture).unwrap(); let expected = Url::parse("deno:///https/deno.land/x/mod.ts").unwrap(); assert_eq!(actual, expected); @@ -74,9 +73,6 @@ mod tests { fn test_normalize_url() { let fixture = Url::parse("deno:///https/deno.land/x/mod.ts").unwrap(); let actual = normalize_url(fixture); - assert_eq!( - actual, - ModuleSpecifier::resolve_url("https://deno.land/x/mod.ts").unwrap() - ); + assert_eq!(actual, resolve_url("https://deno.land/x/mod.ts").unwrap()); } } |