38 lines
715 B
Rust
38 lines
715 B
Rust
|
// TODO: remove on implementation
|
||
|
#![allow(unused_imports)]
|
||
|
#![allow(unused_variables)]
|
||
|
#![allow(dead_code)]
|
||
|
|
||
|
|
||
|
use crate::model::*;
|
||
|
|
||
|
pub struct Query {
|
||
|
filters: Vec<QueryFilterModifier>,
|
||
|
}
|
||
|
|
||
|
pub type QueryParserResult = Result<Query, QuerySyntaxError>;
|
||
|
pub enum QuerySyntaxError {
|
||
|
UnknownFilter,
|
||
|
}
|
||
|
|
||
|
impl Query {
|
||
|
pub fn parse(input: &[String]) -> QueryParserResult {
|
||
|
unimplemented!()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
pub fn search(input: &[Texture], query: &Query) -> Vec<Texture> {
|
||
|
unimplemented!()
|
||
|
}
|
||
|
|
||
|
enum QueryFilterModifier {
|
||
|
None(QueryFilter),
|
||
|
Not(QueryFilter),
|
||
|
}
|
||
|
|
||
|
enum QueryFilter {
|
||
|
TagName(String),
|
||
|
InName(String),
|
||
|
MinResolution(usize),
|
||
|
BeforeDate { year: u16, month: u16, day: u16 },
|
||
|
}
|