use google_cloud_bigquery_v2::model::{TableFieldSchema, TableSchema};
#[derive(Clone, Debug)]
pub(crate) struct Schema(TableSchema);
impl Schema {
pub(crate) fn new(schema: TableSchema) -> Self {
Self(schema)
}
pub(crate) fn get_field_index_by_name(&self, name: &str) -> Option<usize> {
self.0.fields.iter().position(|f| f.name == name)
}
pub(crate) fn get_field_by_index(&self, index: usize) -> Option<&TableFieldSchema> {
self.0.fields.get(index)
}
pub(crate) fn len(&self) -> usize {
self.0.fields.len()
}
pub(crate) fn fields(&self) -> &[TableFieldSchema] {
&self.0.fields
}
}