summaryrefslogtreecommitdiff
path: root/cli/lsp/tsc.rs
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2021-02-17 13:47:18 -0500
committerGitHub <noreply@github.com>2021-02-17 13:47:18 -0500
commitc7dabc99eed50fa20cdcafd7c0175ab615da3d50 (patch)
treeec2c611c627827bbdd61d3e27400ae1b9a50d459 /cli/lsp/tsc.rs
parentf6d6b24506410816833d802e1a8d9cd704f73289 (diff)
Make ModuleSpecifier a type alias, not wrapper struct (#9531)
Diffstat (limited to 'cli/lsp/tsc.rs')
-rw-r--r--cli/lsp/tsc.rs54
1 files changed, 23 insertions, 31 deletions
diff --git a/cli/lsp/tsc.rs b/cli/lsp/tsc.rs
index 5dc7200b7..9a8dc7b21 100644
--- a/cli/lsp/tsc.rs
+++ b/cli/lsp/tsc.rs
@@ -19,6 +19,7 @@ use deno_core::error::anyhow;
use deno_core::error::custom_error;
use deno_core::error::AnyError;
use deno_core::json_op_sync;
+use deno_core::resolve_url;
use deno_core::serde::Deserialize;
use deno_core::serde::Serialize;
use deno_core::serde_json;
@@ -113,7 +114,7 @@ impl Default for Assets {
.iter()
.map(|(k, v)| {
let url_str = format!("asset:///{}", k);
- let specifier = ModuleSpecifier::resolve_url(&url_str).unwrap();
+ let specifier = resolve_url(&url_str).unwrap();
let asset = AssetDocument::new(v);
(specifier, Some(asset))
})
@@ -478,8 +479,7 @@ impl DocumentSpan {
line_index: &LineIndex,
language_server: &mut language_server::Inner,
) -> Option<lsp::LocationLink> {
- let target_specifier =
- ModuleSpecifier::resolve_url(&self.file_name).unwrap();
+ let target_specifier = resolve_url(&self.file_name).unwrap();
if let Ok(target_line_index) =
language_server.get_line_index(target_specifier).await
{
@@ -615,8 +615,7 @@ impl RenameLocations {
HashMap::new();
for location in self.locations.iter() {
let uri = utils::normalize_file_name(&location.document_span.file_name)?;
- let specifier =
- ModuleSpecifier::resolve_url(&location.document_span.file_name)?;
+ let specifier = resolve_url(&location.document_span.file_name)?;
// ensure TextDocumentEdit for `location.file_name`.
if text_document_edit_map.get(&uri).is_none() {
@@ -778,7 +777,7 @@ impl FileTextChanges {
&self,
language_server: &mut language_server::Inner,
) -> Result<lsp::TextDocumentEdit, AnyError> {
- let specifier = ModuleSpecifier::resolve_url(&self.file_name)?;
+ let specifier = resolve_url(&self.file_name)?;
let line_index = language_server.get_line_index(specifier.clone()).await?;
let edits = self
.text_changes
@@ -787,7 +786,7 @@ impl FileTextChanges {
.collect();
Ok(lsp::TextDocumentEdit {
text_document: lsp::OptionalVersionedTextDocumentIdentifier {
- uri: specifier.as_url().clone(),
+ uri: specifier.clone(),
version: language_server.document_version(specifier),
},
edits,
@@ -1063,7 +1062,7 @@ fn cache_snapshot(
.snapshots
.contains_key(&(specifier.clone().into(), version.clone().into()))
{
- let s = ModuleSpecifier::resolve_url(&specifier)?;
+ let s = resolve_url(&specifier)?;
let content = state.state_snapshot.documents.content(&s)?.unwrap();
state
.snapshots
@@ -1156,7 +1155,7 @@ fn get_change_range(state: &mut State, args: Value) -> Result<Value, AnyError> {
fn get_length(state: &mut State, args: Value) -> Result<Value, AnyError> {
let mark = state.state_snapshot.performance.mark("op_get_length");
let v: SourceSnapshotArgs = serde_json::from_value(args)?;
- let specifier = ModuleSpecifier::resolve_url(&v.specifier)?;
+ let specifier = resolve_url(&v.specifier)?;
if let Some(Some(asset)) = state.state_snapshot.assets.get(&specifier) {
Ok(json!(asset.length))
} else if state.state_snapshot.documents.contains_key(&specifier) {
@@ -1186,7 +1185,7 @@ struct GetTextArgs {
fn get_text(state: &mut State, args: Value) -> Result<Value, AnyError> {
let mark = state.state_snapshot.performance.mark("op_get_text");
let v: GetTextArgs = serde_json::from_value(args)?;
- let specifier = ModuleSpecifier::resolve_url(&v.specifier)?;
+ let specifier = resolve_url(&v.specifier)?;
let content =
if let Some(Some(content)) = state.state_snapshot.assets.get(&specifier) {
content.text.clone()
@@ -1208,7 +1207,7 @@ fn resolve(state: &mut State, args: Value) -> Result<Value, AnyError> {
let mark = state.state_snapshot.performance.mark("op_resolve");
let v: ResolveArgs = serde_json::from_value(args)?;
let mut resolved = Vec::<Option<(String, String)>>::new();
- let referrer = ModuleSpecifier::resolve_url(&v.base)?;
+ let referrer = resolve_url(&v.base)?;
let sources = &mut state.state_snapshot.sources;
if state.state_snapshot.documents.contains_key(&referrer) {
@@ -1311,8 +1310,8 @@ struct ScriptVersionArgs {
fn script_version(state: &mut State, args: Value) -> Result<Value, AnyError> {
let mark = state.state_snapshot.performance.mark("op_script_version");
let v: ScriptVersionArgs = serde_json::from_value(args)?;
- let specifier = ModuleSpecifier::resolve_url(&v.specifier)?;
- if specifier.as_url().scheme() == "asset" {
+ let specifier = resolve_url(&v.specifier)?;
+ if specifier.scheme() == "asset" {
return if state.state_snapshot.assets.contains_key(&specifier) {
Ok(json!("1"))
} else {
@@ -1673,8 +1672,8 @@ mod tests {
fn mock_state_snapshot(sources: Vec<(&str, &str, i32)>) -> StateSnapshot {
let mut documents = DocumentCache::default();
for (specifier, content, version) in sources {
- let specifier = ModuleSpecifier::resolve_url(specifier)
- .expect("failed to create specifier");
+ let specifier =
+ resolve_url(specifier).expect("failed to create specifier");
documents.open(specifier, version, content);
}
StateSnapshot {
@@ -1769,8 +1768,7 @@ mod tests {
}),
vec![("file:///a.ts", r#"console.log("hello deno");"#, 1)],
);
- let specifier = ModuleSpecifier::resolve_url("file:///a.ts")
- .expect("could not resolve url");
+ let specifier = resolve_url("file:///a.ts").expect("could not resolve url");
let result = request(
&mut runtime,
state_snapshot,
@@ -1815,8 +1813,7 @@ mod tests {
}),
vec![("file:///a.ts", r#"console.log(document.location);"#, 1)],
);
- let specifier = ModuleSpecifier::resolve_url("file:///a.ts")
- .expect("could not resolve url");
+ let specifier = resolve_url("file:///a.ts").expect("could not resolve url");
let result = request(
&mut runtime,
state_snapshot,
@@ -1849,8 +1846,7 @@ mod tests {
1,
)],
);
- let specifier = ModuleSpecifier::resolve_url("file:///a.ts")
- .expect("could not resolve url");
+ let specifier = resolve_url("file:///a.ts").expect("could not resolve url");
let result = request(
&mut runtime,
state_snapshot,
@@ -1879,8 +1875,7 @@ mod tests {
1,
)],
);
- let specifier = ModuleSpecifier::resolve_url("file:///a.ts")
- .expect("could not resolve url");
+ let specifier = resolve_url("file:///a.ts").expect("could not resolve url");
let result = request(
&mut runtime,
state_snapshot,
@@ -1933,8 +1928,7 @@ mod tests {
1,
)],
);
- let specifier = ModuleSpecifier::resolve_url("file:///a.ts")
- .expect("could not resolve url");
+ let specifier = resolve_url("file:///a.ts").expect("could not resolve url");
let result = request(
&mut runtime,
state_snapshot,
@@ -1970,8 +1964,7 @@ mod tests {
1,
)],
);
- let specifier = ModuleSpecifier::resolve_url("file:///a.ts")
- .expect("could not resolve url");
+ let specifier = resolve_url("file:///a.ts").expect("could not resolve url");
let result = request(
&mut runtime,
state_snapshot,
@@ -2028,8 +2021,7 @@ mod tests {
}),
vec![("file:///a.ts", r#"const url = new URL("b.js", import."#, 1)],
);
- let specifier = ModuleSpecifier::resolve_url("file:///a.ts")
- .expect("could not resolve url");
+ let specifier = resolve_url("file:///a.ts").expect("could not resolve url");
let result = request(
&mut runtime,
state_snapshot,
@@ -2052,8 +2044,8 @@ mod tests {
}),
vec![],
);
- let specifier = ModuleSpecifier::resolve_url("asset:///lib.esnext.d.ts")
- .expect("could not resolve url");
+ let specifier =
+ resolve_url("asset:///lib.esnext.d.ts").expect("could not resolve url");
let result = request(
&mut runtime,
state_snapshot,