Function parse

Source
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());