Path: blob/main/crates/polars-arrow/src/array/struct_/fmt.rs
6939 views
use std::fmt::{Debug, Formatter, Result, Write};12use super::super::fmt::{get_display, write_map, write_vec};3use super::StructArray;45pub fn write_value<W: Write>(6array: &StructArray,7index: usize,8null: &'static str,9f: &mut W,10) -> Result {11let writer = |f: &mut W, _index| {12for (i, (field, column)) in array.fields().iter().zip(array.values()).enumerate() {13if i != 0 {14write!(f, ", ")?;15}16let writer = get_display(column.as_ref(), null);17write!(f, "{}: ", field.name)?;18writer(f, index)?;19}20Ok(())21};2223write_map(f, writer, None, 1, null, false)24}2526impl Debug for StructArray {27fn fmt(&self, f: &mut Formatter<'_>) -> Result {28let writer = |f: &mut Formatter, index| write_value(self, index, "None", f);2930write!(f, "StructArray")?;31write_vec(f, writer, self.validity(), self.len(), "None", false)32}33}343536