use crate::{Archive, TableRef};
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct TableSelector {
schema: Vec<u8>,
name: Vec<u8>,
}
impl TableSelector {
pub fn new(schema: impl AsRef<[u8]>, name: impl AsRef<[u8]>) -> Self {
Self {
schema: schema.as_ref().to_vec(),
name: name.as_ref().to_vec(),
}
}
pub fn schema(&self) -> &[u8] {
&self.schema
}
pub fn name(&self) -> &[u8] {
&self.name
}
}
impl<R> Archive<R> {
pub fn resolve_table(&self, selector: &TableSelector) -> Option<TableRef<'_>> {
self.table(selector.schema(), selector.name())
}
}