@@ -2,48 +2,40 @@ use lightningcss::{properties::Property, stylesheet::PrinterOptions, traits::ToC
22use swc_common:: DUMMY_SP ;
33use swc_ecma_ast:: { Expr , Ident , KeyValueProp , Lit , ObjectLit , Prop , PropName , PropOrSpread , Str } ;
44
5- use super :: { traits:: ToExpr , utils :: StringNumber } ;
5+ use super :: traits:: ToExpr ;
66
77#[ derive( Debug , Clone ) ]
88pub struct MarginPadding {
9- pub top : StringNumber ,
10- pub right : StringNumber ,
11- pub bottom : StringNumber ,
12- pub left : StringNumber ,
9+ pub top : String ,
10+ pub right : String ,
11+ pub bottom : String ,
12+ pub left : String ,
1313}
1414
1515impl MarginPadding {
1616 pub fn new ( ) -> Self {
1717 MarginPadding {
18- top : StringNumber :: String ( "0" . to_string ( ) ) ,
19- right : StringNumber :: String ( "0" . to_string ( ) ) ,
20- bottom : StringNumber :: String ( "0" . to_string ( ) ) ,
21- left : StringNumber :: String ( "0" . to_string ( ) ) ,
18+ top : "0" . to_string ( ) ,
19+ right : "0" . to_string ( ) ,
20+ bottom : "0" . to_string ( ) ,
21+ left : "0" . to_string ( )
2222 }
2323 }
2424
2525 pub fn set_top ( & mut self , top : & str ) {
26- self . top = StringNumber :: String ( top. to_string ( ) ) ;
27- // match parse_px_string(top) {
28- // Some(num) => {
29- // self.top = StringNumber::Number(num);
30- // },
31- // None => {
32- // self.top = StringNumber::String(top.to_string());
33- // }
34- // }
26+ self . top = top. to_string ( ) ;
3527 }
3628
3729 pub fn set_right ( & mut self , right : & str ) {
38- self . right = StringNumber :: String ( right. to_string ( ) ) ;
30+ self . right = right. to_string ( ) ;
3931 }
4032
4133 pub fn set_bottom ( & mut self , bottom : & str ) {
42- self . bottom = StringNumber :: String ( bottom. to_string ( ) ) ;
34+ self . bottom = bottom. to_string ( ) ;
4335 }
4436
4537 pub fn set_left ( & mut self , left : & str ) {
46- self . left = StringNumber :: String ( left. to_string ( ) ) ;
38+ self . left = left. to_string ( ) ;
4739 }
4840}
4941
@@ -60,51 +52,19 @@ impl ToExpr for MarginPadding {
6052 props : vec ! [
6153 PropOrSpread :: Prop ( Box :: new( Prop :: KeyValue ( KeyValueProp {
6254 key: PropName :: Ident ( Ident :: new( "top" . into( ) , DUMMY_SP ) ) ,
63- value: Expr :: Lit (
64- match & self . top {
65- StringNumber :: String ( str ) => Lit :: Str ( Str :: from( str . to_string( ) ) ) ,
66- StringNumber :: Number ( num) => {
67- let number: swc_ecma_ast:: Number = ( * num as f64 ) . into( ) ;
68- Lit :: Num ( number)
69- } ,
70- }
71- ) . into( ) ,
55+ value: Expr :: Lit ( Lit :: Str ( Str :: from( self . top. to_string( ) ) ) ) . into( ) ,
7256 } ) ) ) ,
7357 PropOrSpread :: Prop ( Box :: new( Prop :: KeyValue ( KeyValueProp {
7458 key: PropName :: Ident ( Ident :: new( "right" . into( ) , DUMMY_SP ) ) ,
75- value: Expr :: Lit (
76- match & self . right {
77- StringNumber :: String ( str ) => Lit :: Str ( Str :: from( str . to_string( ) ) ) ,
78- StringNumber :: Number ( num) => {
79- let number: swc_ecma_ast:: Number = ( * num as f64 ) . into( ) ;
80- Lit :: Num ( number)
81- } ,
82- }
83- ) . into( ) ,
59+ value: Expr :: Lit ( Lit :: Str ( Str :: from( self . right. to_string( ) ) ) ) . into( ) ,
8460 } ) ) ) ,
8561 PropOrSpread :: Prop ( Box :: new( Prop :: KeyValue ( KeyValueProp {
8662 key: PropName :: Ident ( Ident :: new( "bottom" . into( ) , DUMMY_SP ) ) ,
87- value: Expr :: Lit (
88- match & self . bottom {
89- StringNumber :: String ( str ) => Lit :: Str ( Str :: from( str . to_string( ) ) ) ,
90- StringNumber :: Number ( num) => {
91- let number: swc_ecma_ast:: Number = ( * num as f64 ) . into( ) ;
92- Lit :: Num ( number)
93- } ,
94- }
95- ) . into( ) ,
63+ value: Expr :: Lit ( Lit :: Str ( Str :: from( self . bottom. to_string( ) ) ) ) . into( ) ,
9664 } ) ) ) ,
9765 PropOrSpread :: Prop ( Box :: new( Prop :: KeyValue ( KeyValueProp {
9866 key: PropName :: Ident ( Ident :: new( "left" . into( ) , DUMMY_SP ) ) ,
99- value: Expr :: Lit (
100- match & self . left {
101- StringNumber :: String ( str ) => Lit :: Str ( Str :: from( str . to_string( ) ) ) ,
102- StringNumber :: Number ( num) => {
103- let number: swc_ecma_ast:: Number = ( * num as f64 ) . into( ) ;
104- Lit :: Num ( number)
105- } ,
106- }
107- ) . into( ) ,
67+ value: Expr :: Lit ( Lit :: Str ( Str :: from( self . left. to_string( ) ) ) ) . into( ) ,
10868 } ) ) ) ,
10969 ]
11070 . into ( ) ,
0 commit comments