cynic_introspection/
query_builder.rs

1use cynic::{Operation, OperationBuilder};
2
3use crate::{CapabilitySet, IntrospectionQuery, SpecificationVersion};
4
5impl IntrospectionQuery {
6    /// Builds an IntrospectionQuery for a server with the given capabilities
7    pub fn with_capabilities(capabilities: CapabilitySet) -> Operation<Self, ()> {
8        let mut builder = OperationBuilder::query().with_variables(());
9        match capabilities.specification_version {
10            SpecificationVersion::Unknown | SpecificationVersion::June2018 => {}
11            SpecificationVersion::October2021 => builder.enable_feature("2021"),
12        }
13        builder.build().expect("to succeed")
14    }
15}