Skip to content

Commit 0ccd920

Browse files
Simplify
Signed-off-by: Dimitar Dimitrov <dimitar@spiraldb.com>
1 parent 1d9348f commit 0ccd920

1 file changed

Lines changed: 14 additions & 21 deletions

File tree

  • vortex-array/src/display

vortex-array/src/display/mod.rs

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -477,34 +477,27 @@ impl dyn DynArray + '_ {
477477
DisplayOptions::CommaSeparatedScalars {
478478
omit_comma_after_space,
479479
} => {
480-
write!(f, "{}", if f.alternate() { "[\n" } else { "[" })?;
480+
let opening_brace= if f.alternate() { "[\n" } else { "[" };
481+
let closing_brace = if f.alternate() { "\n]" } else { "]" };
482+
481483
let sep = if *omit_comma_after_space { "," } else { ", " };
482484
let sep = if f.alternate() { ",\n" } else { sep };
483485
let limit = self.len().min(f.precision().unwrap_or(DISPLAY_LIMIT));
484486
let is_truncated = self.len() > limit;
487+
488+
let fmt_scalar = |i| self
489+
.scalar_at(i)
490+
.map_or_else(|e| format!("<error: {e}>"), |s| s.to_string());
491+
485492
write!(
486493
f,
487-
"{}",
488-
(0..(limit - if is_truncated { 3 } else { 0 }))
489-
.map(|i| self
490-
.scalar_at(i)
491-
.map_or_else(|e| format!("<error: {e}>"), |s| s.to_string()))
494+
"{opening_brace}{}{closing_brace}",
495+
(0..limit.saturating_sub(3))
496+
.map(fmt_scalar)
497+
.chain(std::iter::repeat("...".to_string()).take(is_truncated as usize))
498+
.chain((self.len().saturating_sub(3)..self.len()).map(fmt_scalar))
492499
.format(sep)
493-
)?;
494-
if is_truncated {
495-
write!(f, "{sep}...{sep}")?;
496-
write!(
497-
f,
498-
"{}",
499-
(self.len() - 3..self.len())
500-
.map(|i| self
501-
.scalar_at(i)
502-
.map_or_else(|e| format!("<error: {e}>"), |s| s.to_string()))
503-
.format(sep)
504-
)?;
505-
}
506-
let closing_brace = if f.alternate() { "\n]" } else { "]" };
507-
write!(f, "{closing_brace}")
500+
)
508501
}
509502
DisplayOptions::TreeDisplay {
510503
buffers,

0 commit comments

Comments
 (0)