MCPcopy Create free account
hub / github.com/csskit/csskit / visit_time

Method visit_time

crates/csskit_transform/src/reduce_time_units.rs:26–41  ·  view source on GitHub ↗
(&mut self, time: &Time)

Source from the content-addressed store, hash-verified

24 N: Visitable + NodeWithMetadata<CssMetadata>,
25{
26 fn visit_time(&mut self, time: &Time) {
27 if let Time::Ms(dim) = time {
28 let seconds = time.as_seconds();
29 let sc = self.transformer.to_source_cursor((*dim).into());
30 let value = if seconds.fract() == 0.0 { format!("{}", seconds as i64) } else { format!("{seconds}") };
31 let seconds_len = value.len() - value.starts_with("0.") as usize - value.starts_with("-0.") as usize + 1;
32 let ms_len = if sc.may_compact() {
33 format!("{}", self.transformer.to_source_cursor((*dim).into()).compact()).len()
34 } else {
35 sc.token().len() as usize
36 };
37 if seconds_len < ms_len {
38 self.transformer.replace_parsed::<Time>(time.to_span(), &format!("{value}s"));
39 }
40 }
41 }
42}
43
44#[cfg(test)]

Callers

nothing calls this directly

Calls 6

as_secondsMethod · 0.80
may_compactMethod · 0.80
to_source_cursorMethod · 0.45
lenMethod · 0.45
tokenMethod · 0.45
to_spanMethod · 0.45

Tested by

no test coverage detected