cargo fmt

This commit is contained in:
Chris Tsang 2021-05-17 19:51:26 +08:00
parent 106bb20cb5
commit 62b3c37e20
10 changed files with 64 additions and 84 deletions

View File

@ -1,4 +1,4 @@
use sea_orm::{ColumnTrait, Database, EntityTrait, QueryErr, QueryHelper, FromQueryResult}; use sea_orm::{ColumnTrait, Database, EntityTrait, FromQueryResult, QueryErr, QueryHelper};
mod example_cake; mod example_cake;
mod example_fruit; mod example_fruit;

View File

@ -1,24 +1,24 @@
use heck::SnakeCase; use heck::SnakeCase;
use proc_macro2::{Ident, TokenStream}; use proc_macro2::{Ident, TokenStream};
use syn::{Data, DataEnum, Fields, Variant};
use quote::{quote, quote_spanned}; use quote::{quote, quote_spanned};
use syn::{Data, DataEnum, Fields, Variant};
pub fn expend_derive_column(ident: Ident, data: Data) -> syn::Result<TokenStream> { pub fn expend_derive_column(ident: Ident, data: Data) -> syn::Result<TokenStream> {
let variants = match data { let variants = match data {
syn::Data::Enum(DataEnum { variants, .. }) => variants, syn::Data::Enum(DataEnum { variants, .. }) => variants,
_ => return Ok(quote_spanned! { _ => {
return Ok(quote_spanned! {
ident.span() => compile_error!("you can only derive DeriveColumn on enums"); ident.span() => compile_error!("you can only derive DeriveColumn on enums");
}), })
}
}; };
let variant: Vec<TokenStream> = variants let variant: Vec<TokenStream> = variants
.iter() .iter()
.map(|Variant { ident, fields, .. }| { .map(|Variant { ident, fields, .. }| match fields {
match fields {
Fields::Named(_) => quote! { #ident{..} }, Fields::Named(_) => quote! { #ident{..} },
Fields::Unnamed(_) => quote! { #ident(..) }, Fields::Unnamed(_) => quote! { #ident(..) },
Fields::Unit => quote! { #ident }, Fields::Unit => quote! { #ident },
}
}) })
.collect(); .collect();

View File

@ -1,7 +1,7 @@
use heck::SnakeCase; use heck::SnakeCase;
use proc_macro2::{Ident, TokenStream}; use proc_macro2::{Ident, TokenStream};
use syn::{Attribute, Meta};
use quote::quote; use quote::quote;
use syn::{Attribute, Meta};
fn get_entity_attr(attrs: &[Attribute]) -> Option<syn::Lit> { fn get_entity_attr(attrs: &[Attribute]) -> Option<syn::Lit> {
for attr in attrs { for attr in attrs {

View File

@ -1,25 +1,23 @@
use proc_macro2::{Ident, TokenStream}; use proc_macro2::{Ident, TokenStream};
use syn::{Data, DataStruct, Field, Fields};
use quote::{format_ident, quote, quote_spanned}; use quote::{format_ident, quote, quote_spanned};
use syn::{Data, DataStruct, Field, Fields};
pub fn expend_derive_from_query_result(ident: Ident, data: Data) -> syn::Result<TokenStream> { pub fn expend_derive_from_query_result(ident: Ident, data: Data) -> syn::Result<TokenStream> {
let fields = match data { let fields = match data {
Data::Struct(DataStruct { Data::Struct(DataStruct {
fields: Fields::Named(named), fields: Fields::Named(named),
.. ..
}) => { }) => named.named,
named.named _ => {
}, return Ok(quote_spanned! {
_ => return Ok(quote_spanned! {
ident.span() => compile_error!("you can only derive DeriveModel on structs"); ident.span() => compile_error!("you can only derive DeriveModel on structs");
}), })
}
}; };
let field: Vec<Ident> = fields let field: Vec<Ident> = fields
.into_iter() .into_iter()
.map(|Field { ident, .. }| { .map(|Field { ident, .. }| format_ident!("{}", ident.unwrap().to_string()))
format_ident!("{}", ident.unwrap().to_string())
})
.collect(); .collect();
let name: Vec<TokenStream> = field let name: Vec<TokenStream> = field

View File

@ -1,11 +1,11 @@
mod column;
mod entity; mod entity;
mod from_query_result; mod from_query_result;
mod primary_key;
mod column;
mod model; mod model;
mod primary_key;
pub use column::*;
pub use entity::*; pub use entity::*;
pub use from_query_result::*; pub use from_query_result::*;
pub use primary_key::*;
pub use column::*;
pub use model::*; pub use model::*;
pub use primary_key::*;

View File

@ -1,34 +1,30 @@
use heck::CamelCase; use heck::CamelCase;
use proc_macro2::{Ident, TokenStream}; use proc_macro2::{Ident, TokenStream};
use syn::{Data, DataStruct, Field, Fields};
use quote::{format_ident, quote, quote_spanned}; use quote::{format_ident, quote, quote_spanned};
use syn::{Data, DataStruct, Field, Fields};
pub fn expend_derive_model(ident: Ident, data: Data) -> syn::Result<TokenStream> { pub fn expend_derive_model(ident: Ident, data: Data) -> syn::Result<TokenStream> {
let fields = match data { let fields = match data {
Data::Struct(DataStruct { Data::Struct(DataStruct {
fields: Fields::Named(named), fields: Fields::Named(named),
.. ..
}) => { }) => named.named,
named.named _ => {
}, return Ok(quote_spanned! {
_ => return Ok(quote_spanned! {
ident.span() => compile_error!("you can only derive DeriveModel on structs"); ident.span() => compile_error!("you can only derive DeriveModel on structs");
}), })
}
}; };
let field: Vec<Ident> = fields let field: Vec<Ident> = fields
.clone() .clone()
.into_iter() .into_iter()
.map(|Field { ident, .. }| { .map(|Field { ident, .. }| format_ident!("{}", ident.unwrap().to_string()))
format_ident!("{}", ident.unwrap().to_string())
})
.collect(); .collect();
let name: Vec<Ident> = fields let name: Vec<Ident> = fields
.into_iter() .into_iter()
.map(|Field { ident, .. }| { .map(|Field { ident, .. }| format_ident!("{}", ident.unwrap().to_string().to_camel_case()))
format_ident!("{}", ident.unwrap().to_string().to_camel_case())
})
.collect(); .collect();
Ok(quote!( Ok(quote!(

View File

@ -1,24 +1,24 @@
use heck::SnakeCase; use heck::SnakeCase;
use proc_macro2::{Ident, TokenStream}; use proc_macro2::{Ident, TokenStream};
use syn::{Data, DataEnum, Fields, Variant};
use quote::{quote, quote_spanned}; use quote::{quote, quote_spanned};
use syn::{Data, DataEnum, Fields, Variant};
pub fn expend_derive_primary_key(ident: Ident, data: Data) -> syn::Result<TokenStream> { pub fn expend_derive_primary_key(ident: Ident, data: Data) -> syn::Result<TokenStream> {
let variants = match data { let variants = match data {
syn::Data::Enum(DataEnum { variants, .. }) => variants, syn::Data::Enum(DataEnum { variants, .. }) => variants,
_ => return Ok(quote_spanned! { _ => {
return Ok(quote_spanned! {
ident.span() => compile_error!("you can only derive DerivePrimaryKey on enums"); ident.span() => compile_error!("you can only derive DerivePrimaryKey on enums");
}), })
}
}; };
let variant: Vec<TokenStream> = variants let variant: Vec<TokenStream> = variants
.iter() .iter()
.map(|Variant { ident, fields, .. }| { .map(|Variant { ident, fields, .. }| match fields {
match fields {
Fields::Named(_) => quote! { #ident{..} }, Fields::Named(_) => quote! { #ident{..} },
Fields::Unnamed(_) => quote! { #ident(..) }, Fields::Unnamed(_) => quote! { #ident(..) },
Fields::Unit => quote! { #ident }, Fields::Unit => quote! { #ident },
}
}) })
.collect(); .collect();

View File

@ -1,15 +1,13 @@
extern crate proc_macro; extern crate proc_macro;
use proc_macro::TokenStream; use proc_macro::TokenStream;
use syn::{DeriveInput, parse_macro_input}; use syn::{parse_macro_input, DeriveInput};
mod derives; mod derives;
#[proc_macro_derive(DeriveEntity, attributes(entity))] #[proc_macro_derive(DeriveEntity, attributes(entity))]
pub fn derive_entity(input: TokenStream) -> TokenStream { pub fn derive_entity(input: TokenStream) -> TokenStream {
let DeriveInput { let DeriveInput { ident, attrs, .. } = parse_macro_input!(input);
ident, attrs, ..
} = parse_macro_input!(input);
match derives::expend_derive_entity(ident, attrs) { match derives::expend_derive_entity(ident, attrs) {
Ok(ts) => ts.into(), Ok(ts) => ts.into(),
@ -19,9 +17,7 @@ pub fn derive_entity(input: TokenStream) -> TokenStream {
#[proc_macro_derive(DerivePrimaryKey)] #[proc_macro_derive(DerivePrimaryKey)]
pub fn derive_primary_key(input: TokenStream) -> TokenStream { pub fn derive_primary_key(input: TokenStream) -> TokenStream {
let DeriveInput { let DeriveInput { ident, data, .. } = parse_macro_input!(input);
ident, data, ..
} = parse_macro_input!(input);
match derives::expend_derive_primary_key(ident, data) { match derives::expend_derive_primary_key(ident, data) {
Ok(ts) => ts.into(), Ok(ts) => ts.into(),
@ -31,9 +27,7 @@ pub fn derive_primary_key(input: TokenStream) -> TokenStream {
#[proc_macro_derive(DeriveColumn)] #[proc_macro_derive(DeriveColumn)]
pub fn derive_column(input: TokenStream) -> TokenStream { pub fn derive_column(input: TokenStream) -> TokenStream {
let DeriveInput { let DeriveInput { ident, data, .. } = parse_macro_input!(input);
ident, data, ..
} = parse_macro_input!(input);
match derives::expend_derive_column(ident, data) { match derives::expend_derive_column(ident, data) {
Ok(ts) => ts.into(), Ok(ts) => ts.into(),
@ -43,9 +37,7 @@ pub fn derive_column(input: TokenStream) -> TokenStream {
#[proc_macro_derive(DeriveModel)] #[proc_macro_derive(DeriveModel)]
pub fn derive_model(input: TokenStream) -> TokenStream { pub fn derive_model(input: TokenStream) -> TokenStream {
let DeriveInput { let DeriveInput { ident, data, .. } = parse_macro_input!(input);
ident, data, ..
} = parse_macro_input!(input);
match derives::expend_derive_model(ident, data) { match derives::expend_derive_model(ident, data) {
Ok(ts) => ts.into(), Ok(ts) => ts.into(),
@ -55,9 +47,7 @@ pub fn derive_model(input: TokenStream) -> TokenStream {
#[proc_macro_derive(FromQueryResult)] #[proc_macro_derive(FromQueryResult)]
pub fn derive_from_query_result(input: TokenStream) -> TokenStream { pub fn derive_from_query_result(input: TokenStream) -> TokenStream {
let DeriveInput { let DeriveInput { ident, data, .. } = parse_macro_input!(input);
ident, data, ..
} = parse_macro_input!(input);
match derives::expend_derive_from_query_result(ident, data) { match derives::expend_derive_from_query_result(ident, data) {
Ok(ts) => ts.into(), Ok(ts) => ts.into(),

View File

@ -1,5 +1,5 @@
pub use crate::{ pub use crate::{
ColumnTrait, ColumnType, EntityName, EntityTrait, EnumIter, Iden, IdenStatic, ModelTrait, ColumnTrait, ColumnType, DeriveColumn, DeriveEntity, DeriveModel, DerivePrimaryKey, EntityName,
PrimaryKeyOfModel, PrimaryKeyTrait, QueryResult, Related, RelationDef, RelationTrait, Select, EntityTrait, EnumIter, Iden, IdenStatic, ModelTrait, PrimaryKeyOfModel, PrimaryKeyTrait,
TypeErr, Value, DeriveEntity, DerivePrimaryKey, DeriveColumn, DeriveModel QueryResult, Related, RelationDef, RelationTrait, Select, TypeErr, Value,
}; };

View File

@ -12,13 +12,9 @@ pub use driver::*;
pub use entity::*; pub use entity::*;
pub use query::*; pub use query::*;
pub use sea_orm_macros::{
DeriveColumn, DeriveEntity, DeriveModel, DerivePrimaryKey, FromQueryResult,
};
pub use sea_query; pub use sea_query;
pub use sea_query::Iden; pub use sea_query::Iden;
pub use strum::EnumIter; pub use strum::EnumIter;
pub use sea_orm_macros::{
DeriveEntity,
DerivePrimaryKey,
DeriveColumn,
DeriveModel,
FromQueryResult,
};