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