♻️ (macros): Adapta main y test a Tokio
`#[pagetop::main]` y `#[pagetop::test]` expanden ahora a `#[tokio::main]` y `#[tokio::test]`, eliminando la dependencia de Actix-web.
This commit is contained in:
parent
c1afe0e70c
commit
7d43742a11
5 changed files with 12 additions and 13 deletions
|
|
@ -39,7 +39,7 @@ mod smart_default;
|
|||
|
||||
use proc_macro::TokenStream;
|
||||
use quote::{quote, quote_spanned};
|
||||
use syn::{parse_macro_input, spanned::Spanned, DeriveInput};
|
||||
use syn::{DeriveInput, parse_macro_input, spanned::Spanned};
|
||||
|
||||
/// Macro para escribir plantillas HTML (basada en [Maud](https://docs.rs/maud)).
|
||||
#[proc_macro]
|
||||
|
|
@ -164,7 +164,7 @@ pub fn derive_auto_default(input: TokenStream) -> TokenStream {
|
|||
/// documentación se mostrará la entrada del método `with_...()`.
|
||||
#[proc_macro_attribute]
|
||||
pub fn builder_fn(_: TokenStream, item: TokenStream) -> TokenStream {
|
||||
use syn::{parse2, FnArg, Ident, ImplItemFn, Pat, ReturnType, TraitItemFn, Type};
|
||||
use syn::{FnArg, Ident, ImplItemFn, Pat, ReturnType, TraitItemFn, Type, parse2};
|
||||
|
||||
let ts: proc_macro2::TokenStream = item.clone().into();
|
||||
|
||||
|
|
@ -451,7 +451,7 @@ pub fn builder_fn(_: TokenStream, item: TokenStream) -> TokenStream {
|
|||
#[proc_macro_attribute]
|
||||
pub fn main(_: TokenStream, item: TokenStream) -> TokenStream {
|
||||
let mut output: TokenStream = (quote! {
|
||||
#[::pagetop::service::rt::main(system = "::pagetop::service::rt::System")]
|
||||
#[::tokio::main]
|
||||
})
|
||||
.into();
|
||||
|
||||
|
|
@ -472,7 +472,7 @@ pub fn main(_: TokenStream, item: TokenStream) -> TokenStream {
|
|||
#[proc_macro_attribute]
|
||||
pub fn test(_: TokenStream, item: TokenStream) -> TokenStream {
|
||||
let mut output: TokenStream = (quote! {
|
||||
#[::pagetop::service::rt::test(system = "::pagetop::service::rt::System")]
|
||||
#[::tokio::test]
|
||||
})
|
||||
.into();
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ use proc_macro2::TokenStream;
|
|||
use proc_macro2_diagnostics::{Diagnostic, SpanDiagnosticExt};
|
||||
use quote::ToTokens;
|
||||
use syn::{
|
||||
braced, bracketed,
|
||||
Error, Expr, Ident, Lit, LitBool, LitInt, LitStr, Local, Pat, Stmt, braced, bracketed,
|
||||
ext::IdentExt,
|
||||
parenthesized,
|
||||
parse::{Lookahead1, Parse, ParseStream},
|
||||
|
|
@ -14,7 +14,6 @@ use syn::{
|
|||
At, Brace, Bracket, Colon, Comma, Dot, Else, Eq, FatArrow, For, If, In, Let, Match, Minus,
|
||||
Paren, Pound, Question, Semi, Slash, While,
|
||||
},
|
||||
Error, Expr, Ident, Lit, LitBool, LitInt, LitStr, Local, Pat, Stmt,
|
||||
};
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
|
|
@ -1079,7 +1078,7 @@ impl<E: ToTokens> ToTokens for MatchArm<E> {
|
|||
|
||||
pub trait DiagnosticParse: Sized {
|
||||
fn diagnostic_parse(input: ParseStream, diagnostics: &mut Vec<Diagnostic>)
|
||||
-> syn::Result<Self>;
|
||||
-> syn::Result<Self>;
|
||||
}
|
||||
|
||||
impl<T: DiagnosticParse> DiagnosticParse for Box<T> {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
use proc_macro2::{Ident, Span, TokenStream};
|
||||
use quote::{quote, ToTokens};
|
||||
use syn::{parse_quote, token::Brace, Expr, Local};
|
||||
use quote::{ToTokens, quote};
|
||||
use syn::{Expr, Local, parse_quote, token::Brace};
|
||||
|
||||
use crate::maud::{ast::*, escape};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
use proc_macro2::TokenStream;
|
||||
|
||||
use quote::quote;
|
||||
use syn::DeriveInput;
|
||||
use syn::parse::Error;
|
||||
use syn::spanned::Spanned;
|
||||
use syn::DeriveInput;
|
||||
|
||||
use crate::smart_default::default_attr::{ConversionStrategy, DefaultAttr};
|
||||
use crate::smart_default::util::find_only;
|
||||
|
|
@ -68,7 +68,7 @@ fn default_body_tt(body: &syn::Fields) -> Result<(TokenStream, String), Error> {
|
|||
let mut doc = String::new();
|
||||
use std::fmt::Write;
|
||||
let body_tt = match body {
|
||||
syn::Fields::Named(ref fields) => {
|
||||
syn::Fields::Named(fields) => {
|
||||
doc.push_str(" {");
|
||||
let result = {
|
||||
let field_assignments = fields
|
||||
|
|
@ -101,7 +101,7 @@ fn default_body_tt(body: &syn::Fields) -> Result<(TokenStream, String), Error> {
|
|||
doc.push('}');
|
||||
result
|
||||
}
|
||||
syn::Fields::Unnamed(ref fields) => {
|
||||
syn::Fields::Unnamed(fields) => {
|
||||
doc.push('(');
|
||||
let result = {
|
||||
let field_assignments = fields
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
use proc_macro2::TokenStream;
|
||||
use quote::ToTokens;
|
||||
use syn::{parse::Error, MetaNameValue};
|
||||
use syn::{MetaNameValue, parse::Error};
|
||||
|
||||
use crate::smart_default::util::find_only;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue