rusty_gql/types/
object.rs1use graphql_parser::{schema::ObjectType as ParserObjectType, Pos};
2
3use super::{directive::GqlDirective, field::FieldType};
4
5#[derive(Debug, Clone)]
6pub struct ObjectType {
7 pub name: String,
8 pub description: Option<String>,
9 pub position: Pos,
10 pub implements_interfaces: Vec<String>,
11 pub directives: Vec<GqlDirective>,
12 pub fields: Vec<FieldType>,
13}
14
15impl<'a> From<ParserObjectType<'a, String>> for ObjectType {
16 fn from(object: ParserObjectType<'a, String>) -> Self {
17 let directives = GqlDirective::from_vec_directive(object.directives);
18 let fields = FieldType::from_vec_field(object.fields);
19
20 ObjectType {
21 name: object.name,
22 description: object.description,
23 position: object.position,
24 implements_interfaces: object.implements_interfaces,
25 directives,
26 fields,
27 }
28 }
29}