2018-02-08 16:58:08 +03:00
|
|
|
# Copyright (c) 2015-present, Facebook, Inc.
|
2016-04-24 14:01:04 +03:00
|
|
|
#
|
2018-02-08 16:58:08 +03:00
|
|
|
# This source code is licensed under the MIT license found in the
|
|
|
|
# LICENSE file in the root directory of this source tree.
|
2016-04-24 14:01:04 +03:00
|
|
|
|
|
|
|
schema {
|
|
|
|
query: QueryType
|
|
|
|
mutation: MutationType
|
|
|
|
}
|
|
|
|
|
2018-02-08 21:33:54 +03:00
|
|
|
"""
|
|
|
|
This is a description
|
|
|
|
of the `Foo` type.
|
|
|
|
"""
|
2016-04-24 14:01:04 +03:00
|
|
|
type Foo implements Bar {
|
|
|
|
one: Type
|
|
|
|
two(argument: InputType!): Type
|
|
|
|
three(argument: InputType, other: String): Int
|
|
|
|
four(argument: String = "string"): String
|
|
|
|
five(argument: [String] = ["string", "string"]): String
|
|
|
|
six(argument: InputType = {key: "value"}): Type
|
2016-11-18 19:59:28 +03:00
|
|
|
seven(argument: Int = null): Type
|
2016-04-24 14:01:04 +03:00
|
|
|
}
|
|
|
|
|
2016-10-16 22:57:24 +03:00
|
|
|
type AnnotatedObject @onObject(arg: "value") {
|
|
|
|
annotatedField(arg: Type = "default" @onArg): Type @onField
|
|
|
|
}
|
|
|
|
|
2016-04-24 14:01:04 +03:00
|
|
|
interface Bar {
|
|
|
|
one: Type
|
|
|
|
four(argument: String = "string"): String
|
|
|
|
}
|
|
|
|
|
2016-10-16 22:57:24 +03:00
|
|
|
interface AnnotatedInterface @onInterface {
|
|
|
|
annotatedField(arg: Type @onArg): Type @onField
|
|
|
|
}
|
|
|
|
|
2016-04-24 14:01:04 +03:00
|
|
|
union Feed = Story | Article | Advert
|
|
|
|
|
2016-10-16 22:57:24 +03:00
|
|
|
union AnnotatedUnion @onUnion = A | B
|
|
|
|
|
2017-07-05 14:42:27 +03:00
|
|
|
union AnnotatedUnionTwo @onUnion = | A | B
|
|
|
|
|
2016-04-24 14:01:04 +03:00
|
|
|
scalar CustomScalar
|
|
|
|
|
2016-10-16 22:57:24 +03:00
|
|
|
scalar AnnotatedScalar @onScalar
|
|
|
|
|
2016-04-24 14:01:04 +03:00
|
|
|
enum Site {
|
|
|
|
DESKTOP
|
|
|
|
MOBILE
|
|
|
|
}
|
|
|
|
|
2016-10-16 22:57:24 +03:00
|
|
|
enum AnnotatedEnum @onEnum {
|
|
|
|
ANNOTATED_VALUE @onEnumValue
|
|
|
|
OTHER_VALUE
|
|
|
|
}
|
|
|
|
|
2016-04-24 14:01:04 +03:00
|
|
|
input InputType {
|
|
|
|
key: String!
|
|
|
|
answer: Int = 42
|
|
|
|
}
|
|
|
|
|
2016-10-16 22:57:24 +03:00
|
|
|
input AnnotatedInput @onInputObjectType {
|
|
|
|
annotatedField: Type @onField
|
|
|
|
}
|
|
|
|
|
2016-04-24 14:01:04 +03:00
|
|
|
extend type Foo {
|
|
|
|
seven(argument: [String]): Type
|
|
|
|
}
|
|
|
|
|
2016-10-16 22:57:24 +03:00
|
|
|
extend type Foo @onType {}
|
|
|
|
|
|
|
|
type NoFields {}
|
|
|
|
|
2016-04-24 14:01:04 +03:00
|
|
|
directive @skip(if: Boolean!) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT
|
|
|
|
|
|
|
|
directive @include(if: Boolean!)
|
|
|
|
on FIELD
|
|
|
|
| FRAGMENT_SPREAD
|
|
|
|
| INLINE_FRAGMENT
|
2017-07-05 14:42:27 +03:00
|
|
|
|
|
|
|
directive @include2(if: Boolean!) on
|
|
|
|
| FIELD
|
|
|
|
| FRAGMENT_SPREAD
|
|
|
|
| INLINE_FRAGMENT
|