use rsonpath_syntax::builder::JsonPathQueryBuilder;
use std::{error::Error, process::ExitCode};
fn main() -> Result<ExitCode, Box<dyn Error>> {
let query = JsonPathQueryBuilder::new()
.child_name("store")
.child_name("book")
.child_wildcard()
.child_name("author")
.to_query();
println!("{query}");
let query = JsonPathQueryBuilder::new().descendant_name("author").to_query();
println!("{query}");
let query = JsonPathQueryBuilder::new()
.child_name("store")
.child_wildcard()
.to_query();
println!("{query}");
let query = JsonPathQueryBuilder::new()
.child_name("store")
.descendant_name("price")
.to_query();
println!("{query}");
let query = JsonPathQueryBuilder::new()
.descendant_name("book")
.child_index(2)
.to_query();
println!("{query}");
let query = JsonPathQueryBuilder::new()
.descendant_name("book")
.child_index(2)
.child_name("author")
.to_query();
println!("{query}");
let query = JsonPathQueryBuilder::new()
.descendant_name("book")
.child_index(2)
.child_name("publisher")
.to_query();
println!("{query}");
let query = JsonPathQueryBuilder::new()
.descendant_name("book")
.child_index(-1)
.to_query();
println!("{query}");
let query = JsonPathQueryBuilder::new()
.descendant_name("book")
.child(|x| x.index(0).index(1))
.to_query();
println!("{query}");
let query = JsonPathQueryBuilder::new().descendant_wildcard().to_query();
println!("{query}");
println!("{query}");
Ok(ExitCode::SUCCESS)
}