geoarrow_wasm/array/
primitive.rs1use crate::array::ffi::FFIArrowArray;
2use arrow2::datatypes::Field;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6pub struct BooleanArray(pub(crate) arrow2::array::BooleanArray);
7
8#[wasm_bindgen]
9impl BooleanArray {
10 #[wasm_bindgen]
17 pub fn to_ffi(&self) -> FFIArrowArray {
18 let arrow_array = self.0.clone().boxed();
19 let field = Field::new("", arrow_array.data_type().clone(), true);
20 FFIArrowArray::new(&field, arrow_array)
21 }
22}
23
24#[wasm_bindgen]
25pub struct FloatArray(pub(crate) arrow2::array::PrimitiveArray<f64>);
26
27#[wasm_bindgen]
28impl FloatArray {
29 #[wasm_bindgen(constructor)]
30 pub fn new(values: Vec<f64>) -> Self {
31 Self(arrow2::array::PrimitiveArray::from_vec(values))
32 }
33
34 #[wasm_bindgen]
35 pub fn to_ffi(&self) -> FFIArrowArray {
36 let arrow_array = self.0.clone().boxed();
37 let field = Field::new("", arrow_array.data_type().clone(), true);
38 FFIArrowArray::new(&field, arrow_array)
39 }
40}