use std::fmt::Write;
pub fn deeply_nested_query(depth: usize) -> String {
let mut out = String::with_capacity(depth * 30);
out.push_str("query DeeplyNested {\n");
for level in 0..depth {
let indent = " ".repeat(level + 1);
if level == 0 {
writeln!(out, "{indent}root {{").unwrap();
} else {
writeln!(out, "{indent}child {{").unwrap();
}
writeln!(out, "{indent} id").unwrap();
}
let inner_indent = " ".repeat(depth + 1);
writeln!(out, "{inner_indent}name").unwrap();
for level in (0..depth).rev() {
let indent = " ".repeat(level + 1);
writeln!(out, "{indent}}}").unwrap();
}
out.push_str("}\n");
out
}
pub fn many_operations(count: usize) -> String {
let mut out = String::with_capacity(count * 80);
for i in 0..count {
writeln!(out, "query Operation{i}($id: ID!) {{").unwrap();
writeln!(out, " node(id: $id) {{").unwrap();
writeln!(out, " id").unwrap();
writeln!(out, " name").unwrap();
writeln!(out, " field{i}: description").unwrap();
writeln!(out, " }}").unwrap();
writeln!(out, "}}\n").unwrap();
}
out
}