Schema {
    sources: {
        1: SourceFile {
            path: "built_in.graphql",
            source_text: include_str!("built_in.graphql"),
        },
        25: SourceFile {
            path: "0024_used_variables_in_directives.graphql",
            source_text: "type Query {\n  field(arg: Boolean): Int\n  fragField: Int\n  inlineField: Int\n}\n\nfragment fragment on Query {\n  fragField @include(if: $indirectDirective)\n}\n\nquery (\n  $fieldDirective: Boolean = true,\n  $fragDirective: Boolean = false,\n  $inlineDirective: Boolean = false,\n  $argDirective: Boolean = false,\n  $indirectDirective: Boolean = false,\n) {\n  field(arg: $argDirective) @skip(if: $fieldDirective)\n\n  ...fragment @include(if: $fragDirective)\n\n  ... @skip(if: $inlineDirective) {\n    inlineField\n  }\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"),
        "Int": built_in_type!("Int"),
        "String": built_in_type!("String"),
        "Boolean": built_in_type!("Boolean"),
        "Query": Object(
            0..77 @25 ObjectType {
                description: None,
                name: "Query",
                implements_interfaces: {},
                directives: [],
                fields: {
                    "field": Component {
                        origin: Definition,
                        node: 15..39 @25 FieldDefinition {
                            description: None,
                            name: "field",
                            arguments: [
                                21..33 @25 InputValueDefinition {
                                    description: None,
                                    name: "arg",
                                    ty: 26..33 @25 Named(
                                        "Boolean",
                                    ),
                                    default_value: None,
                                    directives: [],
                                },
                            ],
                            ty: Named(
                                "Int",
                            ),
                            directives: [],
                        },
                    },
                    "fragField": Component {
                        origin: Definition,
                        node: 42..56 @25 FieldDefinition {
                            description: None,
                            name: "fragField",
                            arguments: [],
                            ty: Named(
                                "Int",
                            ),
                            directives: [],
                        },
                    },
                    "inlineField": Component {
                        origin: Definition,
                        node: 59..75 @25 FieldDefinition {
                            description: None,
                            name: "inlineField",
                            arguments: [],
                            ty: Named(
                                "Int",
                            ),
                            directives: [],
                        },
                    },
                },
            },
        ),
    },
}
ExecutableDocument {
    sources: {
        1: SourceFile {
            path: "built_in.graphql",
            source_text: include_str!("built_in.graphql"),
        },
        25: SourceFile {
            path: "0024_used_variables_in_directives.graphql",
            source_text: "type Query {\n  field(arg: Boolean): Int\n  fragField: Int\n  inlineField: Int\n}\n\nfragment fragment on Query {\n  fragField @include(if: $indirectDirective)\n}\n\nquery (\n  $fieldDirective: Boolean = true,\n  $fragDirective: Boolean = false,\n  $inlineDirective: Boolean = false,\n  $argDirective: Boolean = false,\n  $indirectDirective: Boolean = false,\n) {\n  field(arg: $argDirective) @skip(if: $fieldDirective)\n\n  ...fragment @include(if: $fragDirective)\n\n  ... @skip(if: $inlineDirective) {\n    inlineField\n  }\n}\n",
        },
    },
    operations: OperationMap {
        anonymous: Some(
            156..505 @25 Operation {
                operation_type: Query,
                name: None,
                variables: [
                    166..197 @25 VariableDefinition {
                        name: "fieldDirective",
                        ty: 183..190 @25 Named(
                            "Boolean",
                        ),
                        default_value: Some(
                            193..197 @25 Boolean(
                                true,
                            ),
                        ),
                        directives: [],
                    },
                    201..232 @25 VariableDefinition {
                        name: "fragDirective",
                        ty: 217..224 @25 Named(
                            "Boolean",
                        ),
                        default_value: Some(
                            227..232 @25 Boolean(
                                false,
                            ),
                        ),
                        directives: [],
                    },
                    236..269 @25 VariableDefinition {
                        name: "inlineDirective",
                        ty: 254..261 @25 Named(
                            "Boolean",
                        ),
                        default_value: Some(
                            264..269 @25 Boolean(
                                false,
                            ),
                        ),
                        directives: [],
                    },
                    273..303 @25 VariableDefinition {
                        name: "argDirective",
                        ty: 288..295 @25 Named(
                            "Boolean",
                        ),
                        default_value: Some(
                            298..303 @25 Boolean(
                                false,
                            ),
                        ),
                        directives: [],
                    },
                    307..342 @25 VariableDefinition {
                        name: "indirectDirective",
                        ty: 327..334 @25 Named(
                            "Boolean",
                        ),
                        default_value: Some(
                            337..342 @25 Boolean(
                                false,
                            ),
                        ),
                        directives: [],
                    },
                ],
                directives: [],
                selection_set: SelectionSet {
                    ty: "Query",
                    selections: [
                        Field(
                            350..402 @25 Field {
                                definition: 15..39 @25 FieldDefinition {
                                    description: None,
                                    name: "field",
                                    arguments: [
                                        21..33 @25 InputValueDefinition {
                                            description: None,
                                            name: "arg",
                                            ty: 26..33 @25 Named(
                                                "Boolean",
                                            ),
                                            default_value: None,
                                            directives: [],
                                        },
                                    ],
                                    ty: Named(
                                        "Int",
                                    ),
                                    directives: [],
                                },
                                alias: None,
                                name: "field",
                                arguments: [
                                    356..374 @25 Argument {
                                        name: "arg",
                                        value: 361..374 @25 Variable(
                                            "argDirective",
                                        ),
                                    },
                                ],
                                directives: [
                                    376..402 @25 Directive {
                                        name: "skip",
                                        arguments: [
                                            382..401 @25 Argument {
                                                name: "if",
                                                value: 386..401 @25 Variable(
                                                    "fieldDirective",
                                                ),
                                            },
                                        ],
                                    },
                                ],
                                selection_set: SelectionSet {
                                    ty: "Int",
                                    selections: [],
                                },
                            },
                        ),
                        FragmentSpread(
                            406..446 @25 FragmentSpread {
                                fragment_name: "fragment",
                                directives: [
                                    418..446 @25 Directive {
                                        name: "include",
                                        arguments: [
                                            427..445 @25 Argument {
                                                name: "if",
                                                value: 431..445 @25 Variable(
                                                    "fragDirective",
                                                ),
                                            },
                                        ],
                                    },
                                ],
                            },
                        ),
                        InlineFragment(
                            450..503 @25 InlineFragment {
                                type_condition: None,
                                directives: [
                                    454..481 @25 Directive {
                                        name: "skip",
                                        arguments: [
                                            460..480 @25 Argument {
                                                name: "if",
                                                value: 464..480 @25 Variable(
                                                    "inlineDirective",
                                                ),
                                            },
                                        ],
                                    },
                                ],
                                selection_set: SelectionSet {
                                    ty: "Query",
                                    selections: [
                                        Field(
                                            488..499 @25 Field {
                                                definition: 59..75 @25 FieldDefinition {
                                                    description: None,
                                                    name: "inlineField",
                                                    arguments: [],
                                                    ty: Named(
                                                        "Int",
                                                    ),
                                                    directives: [],
                                                },
                                                alias: None,
                                                name: "inlineField",
                                                arguments: [],
                                                directives: [],
                                                selection_set: SelectionSet {
                                                    ty: "Int",
                                                    selections: [],
                                                },
                                            },
                                        ),
                                    ],
                                },
                            },
                        ),
                    ],
                },
            },
        ),
        named: {},
    },
    fragments: {
        "fragment": 79..154 @25 Fragment {
            name: "fragment",
            directives: [],
            selection_set: SelectionSet {
                ty: "Query",
                selections: [
                    Field(
                        110..152 @25 Field {
                            definition: 42..56 @25 FieldDefinition {
                                description: None,
                                name: "fragField",
                                arguments: [],
                                ty: Named(
                                    "Int",
                                ),
                                directives: [],
                            },
                            alias: None,
                            name: "fragField",
                            arguments: [],
                            directives: [
                                120..152 @25 Directive {
                                    name: "include",
                                    arguments: [
                                        129..151 @25 Argument {
                                            name: "if",
                                            value: 133..151 @25 Variable(
                                                "indirectDirective",
                                            ),
                                        },
                                    ],
                                },
                            ],
                            selection_set: SelectionSet {
                                ty: "Int",
                                selections: [],
                            },
                        },
                    ),
                ],
            },
        },
    },
}
