prost_arrow/traits.rs
1use arrow_array::builder::ArrayBuilder;
2use arrow_schema::DataType;
3
4pub trait ToArrow {
5 type Item;
6 type Builder: ArrowBuilder<Self::Item> + ArrayBuilder;
7
8 fn to_datatype() -> DataType;
9}
10
11pub trait ArrowBuilder<T> {
12 fn new_with_capacity(capacity: usize) -> Self;
13 fn append_value(&mut self, value: T);
14 fn append_option(&mut self, value: Option<T>);
15}