use std::collections::BTreeMap; use super::dynamic_state::{vato007::ingey::types::HostCsvRow, DynamicState}; pub struct CsvRow { values: BTreeMap, } impl HostCsvRow for DynamicState { fn columns(&mut self,self_:wasmtime::component::Resource,) -> wasmtime::component::__internal::Vec { let resource = self.resources.get(&self_).expect("Failed to find the required resource"); resource.values.keys().cloned().collect() } fn values(&mut self,self_:wasmtime::component::Resource,) -> wasmtime::component::__internal::Vec { let resource = self.resources.get(&self_).expect("Failed to find the required resource"); resource.values.values().cloned().collect() } fn entries(&mut self,self_:wasmtime::component::Resource,) -> wasmtime::component::__internal::Vec<(wasmtime::component::__internal::String,wasmtime::component::__internal::String,)> { let resource = self.resources.get(&self_).expect("Failed to find the required resource"); resource.values.keys().map(|key| (key.clone(), resource.values.get(key).unwrap().clone())).collect() } fn value(&mut self,self_:wasmtime::component::Resource,name:wasmtime::component::__internal::String,) -> Option { let resource = self.resources.get(&self_).expect("Failed to find the required resource"); resource.values.get(&name).cloned() } fn drop(&mut self,rep:wasmtime::component::Resource) -> wasmtime::Result<()> { self.resources.delete(rep)?; Ok(()) } }