chore: Internal refactor to remove repeitition (#1144)
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
|
|
||||||
use super::{Attributes, Method, Service};
|
use super::{Attributes, Method, Service};
|
||||||
use crate::{generate_doc_comments, naive_snake_case};
|
use crate::{format_method_name, generate_doc_comments, naive_snake_case};
|
||||||
use proc_macro2::TokenStream;
|
use proc_macro2::TokenStream;
|
||||||
use quote::{format_ident, quote};
|
use quote::{format_ident, quote};
|
||||||
|
|
||||||
@@ -190,13 +190,7 @@ fn generate_methods<T: Service>(
|
|||||||
method.identifier()
|
method.identifier()
|
||||||
);
|
);
|
||||||
|
|
||||||
if !disable_comments.contains(&format!(
|
if !disable_comments.contains(&format_method_name(package, service, method)) {
|
||||||
"{}{}{}.{}",
|
|
||||||
package,
|
|
||||||
if package.is_empty() { "" } else { "." },
|
|
||||||
service.identifier(),
|
|
||||||
method.identifier()
|
|
||||||
)) {
|
|
||||||
stream.extend(generate_doc_comments(method.comment()));
|
stream.extend(generate_doc_comments(method.comment()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+15
-1
@@ -197,6 +197,20 @@ impl Attributes {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn format_method_name<T: Service>(
|
||||||
|
package: &str,
|
||||||
|
service: &T,
|
||||||
|
method: &<T as Service>::Method,
|
||||||
|
) -> String {
|
||||||
|
format!(
|
||||||
|
"{}{}{}.{}",
|
||||||
|
package,
|
||||||
|
if package.is_empty() { "" } else { "." },
|
||||||
|
service.identifier(),
|
||||||
|
method.identifier()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
// Generates attributes given a list of (`pattern`, `attribute`) pairs. If `pattern` matches `name`, `attribute` will be included.
|
// Generates attributes given a list of (`pattern`, `attribute`) pairs. If `pattern` matches `name`, `attribute` will be included.
|
||||||
fn generate_attributes<'a>(
|
fn generate_attributes<'a>(
|
||||||
name: &str,
|
name: &str,
|
||||||
@@ -218,7 +232,7 @@ fn generate_attributes<'a>(
|
|||||||
fn generate_doc_comment<S: AsRef<str>>(comment: S) -> TokenStream {
|
fn generate_doc_comment<S: AsRef<str>>(comment: S) -> TokenStream {
|
||||||
let comment = comment.as_ref();
|
let comment = comment.as_ref();
|
||||||
|
|
||||||
let comment = if !comment.starts_with(" ") {
|
let comment = if !comment.starts_with(' ') {
|
||||||
format!(" {}", comment)
|
format!(" {}", comment)
|
||||||
} else {
|
} else {
|
||||||
comment.to_string()
|
comment.to_string()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
|
|
||||||
use super::{Attributes, Method, Service};
|
use super::{Attributes, Method, Service};
|
||||||
use crate::{generate_doc_comment, generate_doc_comments, naive_snake_case};
|
use crate::{format_method_name, generate_doc_comment, generate_doc_comments, naive_snake_case};
|
||||||
use proc_macro2::{Span, TokenStream};
|
use proc_macro2::{Span, TokenStream};
|
||||||
use quote::quote;
|
use quote::quote;
|
||||||
use syn::{Ident, Lit, LitStr};
|
use syn::{Ident, Lit, LitStr};
|
||||||
@@ -239,13 +239,8 @@ fn generate_trait_methods<T: Service>(
|
|||||||
let (req_message, res_message) =
|
let (req_message, res_message) =
|
||||||
method.request_response_name(proto_path, compile_well_known_types);
|
method.request_response_name(proto_path, compile_well_known_types);
|
||||||
|
|
||||||
let method_doc = if disable_comments.contains(&format!(
|
let method_doc = if disable_comments.contains(&format_method_name(package, service, method))
|
||||||
"{}{}{}.{}",
|
{
|
||||||
package,
|
|
||||||
if package.is_empty() { "" } else { "." },
|
|
||||||
service.identifier(),
|
|
||||||
method.identifier()
|
|
||||||
)) {
|
|
||||||
TokenStream::new()
|
TokenStream::new()
|
||||||
} else {
|
} else {
|
||||||
generate_doc_comments(method.comment())
|
generate_doc_comments(method.comment())
|
||||||
|
|||||||
Reference in New Issue
Block a user