From 8680c46177c1dcd66759a301abc12e69289d224d Mon Sep 17 00:00:00 2001 From: Billy Chan Date: Sat, 4 Feb 2023 15:53:10 +0800 Subject: [PATCH] Refactor `select_as` & `save_as` implementation generated by derive macros (#1442) --- sea-orm-macros/src/derives/entity_model.rs | 10 ++------- src/entity/column.rs | 26 +++++++--------------- 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/sea-orm-macros/src/derives/entity_model.rs b/sea-orm-macros/src/derives/entity_model.rs index 3b981696..2b27121b 100644 --- a/sea-orm-macros/src/derives/entity_model.rs +++ b/sea-orm-macros/src/derives/entity_model.rs @@ -248,18 +248,12 @@ pub fn expand_derive_entity_model(data: Data, attrs: Vec) -> syn::Res if let Some(select_as) = select_as { columns_select_as.push(quote! { - Self::#field_name => sea_orm::sea_query::SimpleExpr::cast_as( - Into::::into(expr), - sea_orm::sea_query::Alias::new(&#select_as), - ) + Self::#field_name => expr.cast_as(sea_orm::sea_query::Alias::new(&#select_as)) }); } if let Some(save_as) = save_as { columns_save_as.push(quote! { - Self::#field_name => sea_orm::sea_query::SimpleExpr::cast_as( - Into::::into(val), - sea_orm::sea_query::Alias::new(&#save_as), - ) + Self::#field_name => val.cast_as(sea_orm::sea_query::Alias::new(&#save_as)) }); } diff --git a/src/entity/column.rs b/src/entity/column.rs index 93c40f9f..991aa699 100644 --- a/src/entity/column.rs +++ b/src/entity/column.rs @@ -931,10 +931,7 @@ mod tests { fn select_as(&self, expr: Expr) -> SimpleExpr { match self { - Self::Two => SimpleExpr::cast_as( - Into::::into(expr), - Alias::new("integer"), - ), + Self::Two => expr.cast_as(Alias::new("integer")), _ => self.select_enum_as(expr), } } @@ -1063,12 +1060,10 @@ mod tests { } } - fn save_as(&self, expr: Expr) -> SimpleExpr { + fn save_as(&self, val: Expr) -> SimpleExpr { match self { - Self::Two => { - SimpleExpr::cast_as(Into::::into(expr), Alias::new("text")) - } - _ => self.save_enum_as(expr), + Self::Two => val.cast_as(Alias::new("text")), + _ => self.save_enum_as(val), } } } @@ -1198,20 +1193,15 @@ mod tests { fn select_as(&self, expr: Expr) -> SimpleExpr { match self { - Self::Two => SimpleExpr::cast_as( - Into::::into(expr), - Alias::new("integer"), - ), + Self::Two => expr.cast_as(Alias::new("integer")), _ => self.select_enum_as(expr), } } - fn save_as(&self, expr: Expr) -> SimpleExpr { + fn save_as(&self, val: Expr) -> SimpleExpr { match self { - Self::Two => { - SimpleExpr::cast_as(Into::::into(expr), Alias::new("text")) - } - _ => self.save_enum_as(expr), + Self::Two => val.cast_as(Alias::new("text")), + _ => self.save_enum_as(val), } } }