pub struct InputValue { pub name: &'static str, pub description: Option<&'static str>, pub ty: String, pub default_value: Option<&'static str>, } pub struct Field { pub name: &'static str, pub description: Option<&'static str>, pub args: Vec, pub ty: String, pub deprecation: Option<&'static str>, } pub struct EnumValue { pub name: &'static str, pub description: Option<&'static str>, pub deprecation: Option<&'static str>, } pub enum Type { Scalar, Object { fields: Vec, }, Interface { fields: Vec, possible_types: Vec, }, Union { possible_types: Vec, }, Enum { enum_values: Vec, }, InputObject { input_fields: Vec, }, List { of_type: usize, }, NonNull { of_type: usize, }, }