@@ -3,7 +3,7 @@ mod constant;
33pub mod debug;
44pub mod is_special_property;
55pub mod optimize_value;
6- pub mod property_type ;
6+ pub mod rm_css_comment ;
77mod selector_separator;
88pub mod style_selector;
99pub mod utils;
@@ -15,7 +15,7 @@ use crate::constant::{COLOR_HASH, F_SPACE_RE, GLOBAL_STYLE_PROPERTY, ZERO_RE};
1515use crate :: debug:: is_debug;
1616use crate :: optimize_value:: optimize_value;
1717use crate :: style_selector:: StyleSelector ;
18- use crate :: utils:: { to_camel_case , to_kebab_case} ;
18+ use crate :: utils:: to_kebab_case;
1919
2020pub fn merge_selector ( class_name : & str , selector : Option < & StyleSelector > ) -> String {
2121 if let Some ( selector) = selector {
@@ -39,10 +39,25 @@ pub fn disassemble_property(property: &str) -> Vec<String> {
3939 GLOBAL_STYLE_PROPERTY
4040 . get ( property)
4141 . map ( |v| match v. len ( ) {
42- 1 => vec ! [ to_camel_case( v[ 0 ] ) ] ,
43- _ => v. iter ( ) . map ( |v| to_camel_case ( v) ) . collect ( ) ,
42+ 1 => vec ! [ v[ 0 ] . to_string( ) ] ,
43+ _ => v. iter ( ) . map ( |v| v. to_string ( ) ) . collect ( ) ,
44+ } )
45+ . unwrap_or_else ( || {
46+ vec ! [ if ( property. starts_with( "Webkit" )
47+ && property. len( ) > 6
48+ && property. chars( ) . nth( 6 ) . unwrap( ) . is_uppercase( ) )
49+ || ( property. starts_with( "Moz" )
50+ && property. len( ) > 3
51+ && property. chars( ) . nth( 3 ) . unwrap( ) . is_uppercase( ) )
52+ || ( property. starts_with( "ms" )
53+ && property. len( ) > 2
54+ && property. chars( ) . nth( 2 ) . unwrap( ) . is_uppercase( ) )
55+ {
56+ format!( "-{}" , to_kebab_case( property) )
57+ } else {
58+ to_kebab_case( property)
59+ } ]
4460 } )
45- . unwrap_or_else ( || vec ! [ property. to_string( ) ] )
4661}
4762
4863pub fn keyframes_to_keyframes_name ( keyframes : & str ) -> String {
0 commit comments