polars_arrow/array/union/
fmt.rs

1use std::fmt::{Debug, Formatter, Result, Write};
2
3use super::super::fmt::{get_display, write_vec};
4use super::UnionArray;
5
6pub fn write_value<W: Write>(
7    array: &UnionArray,
8    index: usize,
9    null: &'static str,
10    f: &mut W,
11) -> Result {
12    let (field, index) = array.index(index);
13
14    get_display(array.fields()[field].as_ref(), null)(f, index)
15}
16
17impl Debug for UnionArray {
18    fn fmt(&self, f: &mut Formatter<'_>) -> Result {
19        let writer = |f: &mut Formatter, index| write_value(self, index, "None", f);
20
21        write!(f, "UnionArray")?;
22        write_vec(f, writer, None, self.len(), "None", false)
23    }
24}