Schema { sources: { 1: SourceFile { path: "built_in.graphql", source_text: include_str!("built_in.graphql"), }, 23: SourceFile { path: "0021_merge_identical_fields_with_arguments.graphql", source_text: "enum DogCommand {\n SIT\n HEEL\n}\n\ntype Dog {\n doesKnowCommand(dogCommand: DogCommand): Boolean\n}\n\ntype Query {\n pet: Dog\n}\n\nquery queryPupper {\n pet {\n ...mergeIdenticalFieldsWithIdenticalArgs\n }\n}\n\nquery queryPupperAgain($dogCommand: DogCommand) {\n pet {\n ...mergeIdenticalFieldsWithIdenticalValues\n }\n}\n\nfragment mergeIdenticalFieldsWithIdenticalArgs on Dog {\n doesKnowCommand(dogCommand: SIT)\n doesKnowCommand(dogCommand: SIT)\n}\n\nfragment mergeIdenticalFieldsWithIdenticalValues on Dog {\n doesKnowCommand(dogCommand: $dogCommand)\n doesKnowCommand(dogCommand: $dogCommand)\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"), "DogCommand": Enum( 0..32 @23 EnumType { description: None, name: "DogCommand", directives: [], values: { "SIT": Component { origin: Definition, node: 20..23 @23 EnumValueDefinition { description: None, value: "SIT", directives: [], }, }, "HEEL": Component { origin: Definition, node: 26..30 @23 EnumValueDefinition { description: None, value: "HEEL", directives: [], }, }, }, }, ), "Dog": Object( 34..97 @23 ObjectType { description: None, name: "Dog", implements_interfaces: {}, directives: [], fields: { "doesKnowCommand": Component { origin: Definition, node: 47..95 @23 FieldDefinition { description: None, name: "doesKnowCommand", arguments: [ 63..85 @23 InputValueDefinition { description: None, name: "dogCommand", ty: 75..85 @23 Named( "DogCommand", ), default_value: None, directives: [], }, ], ty: Named( "Boolean", ), directives: [], }, }, }, }, ), "Query": Object( 99..124 @23 ObjectType { description: None, name: "Query", implements_interfaces: {}, directives: [], fields: { "pet": Component { origin: Definition, node: 114..122 @23 FieldDefinition { description: None, name: "pet", arguments: [], ty: Named( "Dog", ), directives: [], }, }, }, }, ), }, } ExecutableDocument { sources: { 1: SourceFile { path: "built_in.graphql", source_text: include_str!("built_in.graphql"), }, 23: SourceFile { path: "0021_merge_identical_fields_with_arguments.graphql", source_text: "enum DogCommand {\n SIT\n HEEL\n}\n\ntype Dog {\n doesKnowCommand(dogCommand: DogCommand): Boolean\n}\n\ntype Query {\n pet: Dog\n}\n\nquery queryPupper {\n pet {\n ...mergeIdenticalFieldsWithIdenticalArgs\n }\n}\n\nquery queryPupperAgain($dogCommand: DogCommand) {\n pet {\n ...mergeIdenticalFieldsWithIdenticalValues\n }\n}\n\nfragment mergeIdenticalFieldsWithIdenticalArgs on Dog {\n doesKnowCommand(dogCommand: SIT)\n doesKnowCommand(dogCommand: SIT)\n}\n\nfragment mergeIdenticalFieldsWithIdenticalValues on Dog {\n doesKnowCommand(dogCommand: $dogCommand)\n doesKnowCommand(dogCommand: $dogCommand)\n}\n", }, }, operations: OperationMap { anonymous: None, named: { "queryPupper": 126..204 @23 Operation { operation_type: Query, name: Some( "queryPupper", ), variables: [], directives: [], selection_set: SelectionSet { ty: "Query", selections: [ Field( 148..202 @23 Field { definition: 114..122 @23 FieldDefinition { description: None, name: "pet", arguments: [], ty: Named( "Dog", ), directives: [], }, alias: None, name: "pet", arguments: [], directives: [], selection_set: SelectionSet { ty: "Dog", selections: [ FragmentSpread( 158..198 @23 FragmentSpread { fragment_name: "mergeIdenticalFieldsWithIdenticalArgs", directives: [], }, ), ], }, }, ), ], }, }, "queryPupperAgain": 206..316 @23 Operation { operation_type: Query, name: Some( "queryPupperAgain", ), variables: [ 229..252 @23 VariableDefinition { name: "dogCommand", ty: 242..252 @23 Named( "DogCommand", ), default_value: None, directives: [], }, ], directives: [], selection_set: SelectionSet { ty: "Query", selections: [ Field( 258..314 @23 Field { definition: 114..122 @23 FieldDefinition { description: None, name: "pet", arguments: [], ty: Named( "Dog", ), directives: [], }, alias: None, name: "pet", arguments: [], directives: [], selection_set: SelectionSet { ty: "Dog", selections: [ FragmentSpread( 268..310 @23 FragmentSpread { fragment_name: "mergeIdenticalFieldsWithIdenticalValues", directives: [], }, ), ], }, }, ), ], }, }, }, }, fragments: { "mergeIdenticalFieldsWithIdenticalArgs": 318..445 @23 Fragment { name: "mergeIdenticalFieldsWithIdenticalArgs", directives: [], selection_set: SelectionSet { ty: "Dog", selections: [ Field( 376..408 @23 Field { definition: 47..95 @23 FieldDefinition { description: None, name: "doesKnowCommand", arguments: [ 63..85 @23 InputValueDefinition { description: None, name: "dogCommand", ty: 75..85 @23 Named( "DogCommand", ), default_value: None, directives: [], }, ], ty: Named( "Boolean", ), directives: [], }, alias: None, name: "doesKnowCommand", arguments: [ 392..407 @23 Argument { name: "dogCommand", value: 404..407 @23 Enum( "SIT", ), }, ], directives: [], selection_set: SelectionSet { ty: "Boolean", selections: [], }, }, ), Field( 411..443 @23 Field { definition: 47..95 @23 FieldDefinition { description: None, name: "doesKnowCommand", arguments: [ 63..85 @23 InputValueDefinition { description: None, name: "dogCommand", ty: 75..85 @23 Named( "DogCommand", ), default_value: None, directives: [], }, ], ty: Named( "Boolean", ), directives: [], }, alias: None, name: "doesKnowCommand", arguments: [ 427..442 @23 Argument { name: "dogCommand", value: 439..442 @23 Enum( "SIT", ), }, ], directives: [], selection_set: SelectionSet { ty: "Boolean", selections: [], }, }, ), ], }, }, "mergeIdenticalFieldsWithIdenticalValues": 447..592 @23 Fragment { name: "mergeIdenticalFieldsWithIdenticalValues", directives: [], selection_set: SelectionSet { ty: "Dog", selections: [ Field( 507..547 @23 Field { definition: 47..95 @23 FieldDefinition { description: None, name: "doesKnowCommand", arguments: [ 63..85 @23 InputValueDefinition { description: None, name: "dogCommand", ty: 75..85 @23 Named( "DogCommand", ), default_value: None, directives: [], }, ], ty: Named( "Boolean", ), directives: [], }, alias: None, name: "doesKnowCommand", arguments: [ 523..546 @23 Argument { name: "dogCommand", value: 535..546 @23 Variable( "dogCommand", ), }, ], directives: [], selection_set: SelectionSet { ty: "Boolean", selections: [], }, }, ), Field( 550..590 @23 Field { definition: 47..95 @23 FieldDefinition { description: None, name: "doesKnowCommand", arguments: [ 63..85 @23 InputValueDefinition { description: None, name: "dogCommand", ty: 75..85 @23 Named( "DogCommand", ), default_value: None, directives: [], }, ], ty: Named( "Boolean", ), directives: [], }, alias: None, name: "doesKnowCommand", arguments: [ 566..589 @23 Argument { name: "dogCommand", value: 578..589 @23 Variable( "dogCommand", ), }, ], directives: [], selection_set: SelectionSet { ty: "Boolean", selections: [], }, }, ), ], }, }, }, }