Schema { sources: { 1: SourceFile { path: "built_in.graphql", source_text: include_str!("built_in.graphql"), }, 22: SourceFile { path: "0020_merge_identical_fields.graphql", source_text: "type Query {\n pet: Dog\n}\n\ntype Dog {\n nickname: String\n name: String!\n}\n\nquery queryPupper {\n pet {\n ...mergeIdenticalFields\n ...mergeIdenticalAliasesAndFields\n }\n}\n\nfragment mergeIdenticalFields on Dog {\n name\n name\n}\n\nfragment mergeIdenticalAliasesAndFields on Dog {\n otherName: name\n otherName: name\n}\n", }, }, schema_definition: SchemaDefinition { description: None, directives: [], query: Some( ComponentName { origin: Definition, name: "Query", }, ), mutation: None, subscription: None, }, directive_definitions: { "skip": built_in_directive!("skip"), "include": built_in_directive!("include"), "deprecated": built_in_directive!("deprecated"), "specifiedBy": built_in_directive!("specifiedBy"), }, types: { "__Schema": built_in_type!("__Schema"), "__Type": built_in_type!("__Type"), "__TypeKind": built_in_type!("__TypeKind"), "__Field": built_in_type!("__Field"), "__InputValue": built_in_type!("__InputValue"), "__EnumValue": built_in_type!("__EnumValue"), "__Directive": built_in_type!("__Directive"), "__DirectiveLocation": built_in_type!("__DirectiveLocation"), "String": built_in_type!("String"), "Boolean": built_in_type!("Boolean"), "Query": Object( 0..25 @22 ObjectType { description: None, name: "Query", implements_interfaces: {}, directives: [], fields: { "pet": Component { origin: Definition, node: 15..23 @22 FieldDefinition { description: None, name: "pet", arguments: [], ty: Named( "Dog", ), directives: [], }, }, }, }, ), "Dog": Object( 27..74 @22 ObjectType { description: None, name: "Dog", implements_interfaces: {}, directives: [], fields: { "nickname": Component { origin: Definition, node: 40..56 @22 FieldDefinition { description: None, name: "nickname", arguments: [], ty: Named( "String", ), directives: [], }, }, "name": Component { origin: Definition, node: 59..72 @22 FieldDefinition { description: None, name: "name", arguments: [], ty: NonNullNamed( "String", ), directives: [], }, }, }, }, ), }, } ExecutableDocument { sources: { 1: SourceFile { path: "built_in.graphql", source_text: include_str!("built_in.graphql"), }, 22: SourceFile { path: "0020_merge_identical_fields.graphql", source_text: "type Query {\n pet: Dog\n}\n\ntype Dog {\n nickname: String\n name: String!\n}\n\nquery queryPupper {\n pet {\n ...mergeIdenticalFields\n ...mergeIdenticalAliasesAndFields\n }\n}\n\nfragment mergeIdenticalFields on Dog {\n name\n name\n}\n\nfragment mergeIdenticalAliasesAndFields on Dog {\n otherName: name\n otherName: name\n}\n", }, }, operations: OperationMap { anonymous: None, named: { "queryPupper": 76..175 @22 Operation { operation_type: Query, name: Some( "queryPupper", ), variables: [], directives: [], selection_set: SelectionSet { ty: "Query", selections: [ Field( 98..173 @22 Field { definition: 15..23 @22 FieldDefinition { description: None, name: "pet", arguments: [], ty: Named( "Dog", ), directives: [], }, alias: None, name: "pet", arguments: [], directives: [], selection_set: SelectionSet { ty: "Dog", selections: [ FragmentSpread( 108..131 @22 FragmentSpread { fragment_name: "mergeIdenticalFields", directives: [], }, ), FragmentSpread( 136..169 @22 FragmentSpread { fragment_name: "mergeIdenticalAliasesAndFields", directives: [], }, ), ], }, }, ), ], }, }, }, }, fragments: { "mergeIdenticalFields": 177..231 @22 Fragment { name: "mergeIdenticalFields", directives: [], selection_set: SelectionSet { ty: "Dog", selections: [ Field( 218..222 @22 Field { definition: 59..72 @22 FieldDefinition { description: None, name: "name", arguments: [], ty: NonNullNamed( "String", ), directives: [], }, alias: None, name: "name", arguments: [], directives: [], selection_set: SelectionSet { ty: "String", selections: [], }, }, ), Field( 225..229 @22 Field { definition: 59..72 @22 FieldDefinition { description: None, name: "name", arguments: [], ty: NonNullNamed( "String", ), directives: [], }, alias: None, name: "name", arguments: [], directives: [], selection_set: SelectionSet { ty: "String", selections: [], }, }, ), ], }, }, "mergeIdenticalAliasesAndFields": 233..319 @22 Fragment { name: "mergeIdenticalAliasesAndFields", directives: [], selection_set: SelectionSet { ty: "Dog", selections: [ Field( 284..299 @22 Field { definition: 59..72 @22 FieldDefinition { description: None, name: "name", arguments: [], ty: NonNullNamed( "String", ), directives: [], }, alias: Some( "otherName", ), name: "name", arguments: [], directives: [], selection_set: SelectionSet { ty: "String", selections: [], }, }, ), Field( 302..317 @22 Field { definition: 59..72 @22 FieldDefinition { description: None, name: "name", arguments: [], ty: NonNullNamed( "String", ), directives: [], }, alias: Some( "otherName", ), name: "name", arguments: [], directives: [], selection_set: SelectionSet { ty: "String", selections: [], }, }, ), ], }, }, }, }