0..68 @10 OperationDefinition {
    operation_type: Query,
    name: Some(
        "getProduct",
    ),
    variables: [],
    directives: [],
    selection_set: [
        Field(
            21..25 @10 Field {
                alias: None,
                name: "size",
                arguments: [],
                directives: [],
                selection_set: [],
            },
        ),
        Field(
            28..66 @10 Field {
                alias: None,
                name: "topProducts",
                arguments: [],
                directives: [],
                selection_set: [
                    Field(
                        46..50 @10 Field {
                            alias: None,
                            name: "name",
                            arguments: [],
                            directives: [],
                            selection_set: [],
                        },
                    ),
                    Field(
                        55..62 @10 Field {
                            alias: None,
                            name: "inStock",
                            arguments: [],
                            directives: [],
                            selection_set: [],
                        },
                    ),
                ],
            },
        ),
    ],
}
70..134 @10 ObjectTypeDefinition {
    description: None,
    name: "Query",
    implements_interfaces: [],
    directives: [],
    fields: [
        85..105 @10 FieldDefinition {
            description: None,
            name: "topProducts",
            arguments: [],
            ty: Named(
                "Product",
            ),
            directives: [],
        },
        108..120 @10 FieldDefinition {
            description: None,
            name: "name",
            arguments: [],
            ty: Named(
                "String",
            ),
            directives: [],
        },
        123..132 @10 FieldDefinition {
            description: None,
            name: "size",
            arguments: [],
            ty: Named(
                "Int",
            ),
            directives: [],
        },
    ],
}
136..313 @10 ObjectTypeDefinition {
    description: None,
    name: "Product",
    implements_interfaces: [],
    directives: [],
    fields: [
        153..200 @10 FieldDefinition {
            description: None,
            name: "inStock",
            arguments: [],
            ty: Named(
                "Boolean",
            ),
            directives: [
                170..200 @10 Directive {
                    name: "join__field",
                    arguments: [
                        183..199 @10 Argument {
                            name: "graph",
                            value: 190..199 @10 Enum(
                                "INVENTORY",
                            ),
                        },
                    ],
                },
            ],
        },
        203..245 @10 FieldDefinition {
            description: None,
            name: "name",
            arguments: [],
            ty: Named(
                "String",
            ),
            directives: [
                216..245 @10 Directive {
                    name: "join__field",
                    arguments: [
                        229..244 @10 Argument {
                            name: "graph",
                            value: 236..244 @10 Enum(
                                "PRODUCTS",
                            ),
                        },
                    ],
                },
            ],
        },
        248..258 @10 FieldDefinition {
            description: None,
            name: "price",
            arguments: [],
            ty: Named(
                "Int",
            ),
            directives: [],
        },
        261..282 @10 FieldDefinition {
            description: None,
            name: "shippingEstimate",
            arguments: [],
            ty: Named(
                "Int",
            ),
            directives: [],
        },
        285..297 @10 FieldDefinition {
            description: None,
            name: "upc",
            arguments: [],
            ty: NonNullNamed(
                "String",
            ),
            directives: [],
        },
        300..311 @10 FieldDefinition {
            description: None,
            name: "weight",
            arguments: [],
            ty: Named(
                "Int",
            ),
            directives: [],
        },
    ],
}
315..377 @10 DirectiveDefinition {
    description: None,
    name: "join__field",
    arguments: [
        338..356 @10 InputValueDefinition {
            description: None,
            name: "graph",
            ty: 345..356 @10 Named(
                "join__Graph",
            ),
            default_value: None,
            directives: [],
        },
    ],
    repeatable: false,
    locations: [
        "FIELD_DEFINITION",
    ],
}
378..423 @10 EnumTypeDefinition {
    description: None,
    name: "join__Graph",
    directives: [],
    values: [
        399..408 @10 EnumValueDefinition {
            description: None,
            value: "INVENTORY",
            directives: [],
        },
        412..420 @10 EnumValueDefinition {
            description: None,
            value: "PRODUCTS",
            directives: [],
        },
    ],
}

