swc_css_minifier/compressor/
time.rs

1use swc_atoms::atom;
2use swc_css_ast::*;
3
4use super::Compressor;
5
6impl Compressor {
7    pub(super) fn compress_time(&self, time: &mut Time) {
8        match &*time.unit.value {
9            "ms" if time.value.value == 0.0 || time.value.value >= 100.0 => {
10                let new_value = time.value.value / 1000.0;
11
12                time.value = Number {
13                    span: time.value.span,
14                    value: new_value,
15                    raw: None,
16                };
17                time.unit = Ident {
18                    span: time.unit.span,
19                    value: atom!("s"),
20                    raw: None,
21                };
22            }
23            "s" if time.value.value > 0.0 && time.value.value < 0.1 => {
24                let new_value = time.value.value * 1000.0;
25
26                time.value = Number {
27                    value: new_value,
28                    raw: None,
29                    span: time.span,
30                };
31                time.unit = Ident {
32                    span: time.unit.span,
33                    value: atom!("ms"),
34                    raw: None,
35                };
36            }
37            _ => {}
38        }
39    }
40}