@@ -139,7 +139,7 @@ fn format_variant(
139139 } ;
140140
141141 let formatted = match ( untagged_variant, enum_attr. tagged ( ) ?) {
142- ( true , _) | ( _, Tagged :: Untagged ) => quote ! ( # parsed_ty) ,
142+ ( true , _) | ( _, Tagged :: Untagged ) => parsed_ty,
143143 ( false , Tagged :: Externally ) => match & variant. fields {
144144 Fields :: Unit => quote ! ( format!( "\" {}\" " , #ts_name) ) ,
145145 Fields :: Unnamed ( unnamed) if unnamed. unnamed . len ( ) == 1 => {
@@ -183,36 +183,29 @@ fn format_variant(
183183 format!( "{{ \" {}\" : \" {}\" , \" {}\" : {} }}" , #tag, #ts_name, #content, #parsed_ty)
184184 ) ,
185185 } ,
186- ( false , Tagged :: Internally { tag } ) => match variant_type. inline_flattened {
187- Some ( _) => {
188- quote ! { #parsed_ty }
189- }
190- None => match & variant. fields {
191- Fields :: Unnamed ( unnamed) if unnamed. unnamed . len ( ) == 1 => {
192- let field = & unnamed. unnamed [ 0 ] ;
193- let field_attr = FieldAttr :: from_attrs ( & unnamed. unnamed [ 0 ] . attrs ) ?;
194-
195- field_attr. assert_validity ( field) ?;
196-
197- if field_attr. skip {
198- quote ! ( format!( "{{ \" {}\" : \" {}\" }}" , #tag, #ts_name) )
199- } else {
200- let ty = match field_attr. type_override {
201- Some ( type_override) => quote ! { #type_override } ,
202- None => {
203- let ty = field_attr. type_as ( & field. ty ) ;
204- quote ! ( <#ty as #crate_rename:: TS >:: name( cfg) )
205- }
206- } ;
207-
208- quote ! ( format!( "{{ \" {}\" : \" {}\" }} & {}" , #tag, #ts_name, #ty) )
209- }
210- }
211- Fields :: Unit => quote ! ( format!( "{{ \" {}\" : \" {}\" }}" , #tag, #ts_name) ) ,
212- _ => {
213- quote ! ( format!( "{{ \" {}\" : \" {}\" }} & {}" , #tag, #ts_name, #parsed_ty) )
186+ ( false , Tagged :: Internally { tag } ) => match & variant. fields {
187+ Fields :: Unnamed ( unnamed) if unnamed. unnamed . len ( ) == 1 => {
188+ let field = & unnamed. unnamed [ 0 ] ;
189+ let field_attr = FieldAttr :: from_attrs ( & unnamed. unnamed [ 0 ] . attrs ) ?;
190+
191+ field_attr. assert_validity ( field) ?;
192+
193+ if field_attr. skip {
194+ quote ! ( format!( "{{ \" {}\" : \" {}\" }}" , #tag, #ts_name) )
195+ } else {
196+ let ty = match field_attr. type_override {
197+ Some ( type_override) => quote ! { #type_override } ,
198+ None => {
199+ let ty = field_attr. type_as ( & field. ty ) ;
200+ quote ! ( <#ty as #crate_rename:: TS >:: name( cfg) )
201+ }
202+ } ;
203+
204+ quote ! ( format!( "{{ \" {}\" : \" {}\" }} & {}" , #tag, #ts_name, #ty) )
214205 }
215- } ,
206+ }
207+ Fields :: Unit => quote ! ( format!( "{{ \" {}\" : \" {}\" }}" , #tag, #ts_name) ) ,
208+ _ => parsed_ty,
216209 } ,
217210 } ;
218211
0 commit comments