input InputType @a @b {
a: String! @input_a(test: 5)
}
type OutputType implements TestInterface @type {
id: String! @test
name: String!
body: String
}
type OutputType2 {
a: [Int!]!
}
type Query {
interface(x: TestEnum @validate): TestInterface!
output_type(input: InputType!): OutputType
enum(input: [TestEnum]!): TestEnum @pin
union: TestUnion!
scalar: TestScalar
}
enum TestEnum @oneOf {
A
B @default
C
}
interface TestInterface @test(a: 5, b: true, c: "str") {
id: String! @id
name: String!
}
scalar TestScalar @json
union TestUnion @wrap = OutputType | OutputType2
"""
Directs the executor to include this field or fragment only when the `if` argument is true.
"""
directive @include(if: Boolean!) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT
"""
Directs the executor to skip this field or fragment when the `if` argument is true.
"""
directive @skip(if: Boolean!) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT
schema {
query: Query
}