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}