polars_arrow/array/utf8/
fmt.rs

1use std::fmt::{Debug, Formatter, Result, Write};
2
3use super::super::fmt::write_vec;
4use super::Utf8Array;
5use crate::offset::Offset;
6
7pub fn write_value<O: Offset, W: Write>(array: &Utf8Array<O>, index: usize, f: &mut W) -> Result {
8    write!(f, "{}", array.value(index))
9}
10
11impl<O: Offset> Debug for Utf8Array<O> {
12    fn fmt(&self, f: &mut Formatter<'_>) -> Result {
13        let writer = |f: &mut Formatter, index| write_value(self, index, f);
14
15        let head = if O::IS_LARGE {
16            "LargeUtf8Array"
17        } else {
18            "Utf8Array"
19        };
20        write!(f, "{head}")?;
21        write_vec(f, writer, self.validity(), self.len(), "None", false)
22    }
23}