File tree Expand file tree Collapse file tree 2 files changed +10
-3
lines changed Expand file tree Collapse file tree 2 files changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,9 @@ macro_rules! generate_prop_name {
1010#[ macro_export]
1111macro_rules! generate_expr_lit_str {
1212 ( $var: expr) => { {
13+ generate_expr_lit_str!( $var, true )
14+ } } ;
15+ ( $var: expr, $convert_lpx: expr) => { {
1316 use swc_core:: ecma:: ast:: * ;
1417
1518 let re = regex:: Regex :: new( r#"\b(\d+(?:px|vw|vh))\b"# ) . unwrap( ) ;
@@ -19,7 +22,11 @@ macro_rules! generate_expr_lit_str {
1922 let unit = & value[ value. len( ) - 2 ..] ;
2023 let parsed_value: i32 = value[ ..value. len( ) - 2 ] . parse( ) . unwrap( ) ;
2124 if unit == "px" {
22- format!( "{}lpx" , parsed_value)
25+ if $convert_lpx {
26+ format!( "{}lpx" , parsed_value)
27+ } else {
28+ format!( "{}vp" , parsed_value)
29+ }
2330 } else {
2431 format!( "{}{}" , parsed_value, unit)
2532 }
Original file line number Diff line number Diff line change @@ -148,7 +148,7 @@ impl StyleMedia {
148148 MediaValueType :: String ( val) => {
149149 return Some ( ExprOrSpread {
150150 spread : None ,
151- expr : Box :: new ( generate_expr_lit_str ! ( val) ) ,
151+ expr : Box :: new ( generate_expr_lit_str ! ( val, false ) ) ,
152152 } ) ;
153153 }
154154 }
@@ -341,7 +341,7 @@ impl StyleMedia {
341341 match feature_val {
342342 MediaFeatureValue :: Length ( length_value) => {
343343 let length_str = length_value. to_css_string ( PrinterOptions :: default ( ) ) ;
344- return Some ( MediaValueType :: String ( length_str. unwrap ( ) ) ) ;
344+ return Some ( MediaValueType :: String ( length_str. unwrap ( ) . clone ( ) ) ) ;
345345 }
346346 MediaFeatureValue :: Number ( value) => {
347347 return Some ( MediaValueType :: Float ( * value as f64 ) ) ;
You can’t perform that action at this time.
0 commit comments