pub fn parse(input: &str) -> Result<Query, QueryError>Expand description
Reads a query, rejecting incomplete operators and invalid numeric bounds.
Juxtaposition means AND. Durations accept seconds or minutes:seconds;
all numeric bounds must be finite and nonnegative.
use aede_core::query::parse;
assert!(parse("(artist:ozzy OR artist:dio) duration:..5:00").is_ok());
assert!(parse("rating:NaN").is_err());
assert!(parse("title:Track AND").is_err());