bat/tests/syntax-tests/highlighted/GraphQL/test.graphql

146 lines
14 KiB
GraphQL
Raw Normal View History

2020-10-10 20:41:00 +02:00
# Token::
# Punctuator
# Name
# IntValue
# FloatValue
# StringValue
# Punctuator:: one of
# ! $ ( ) ... : = @ [ ] { | }
# Name::
# /[_A-Za-z][_0-9A-Za-z]*/
# Document :
# Definition (list)
# Definition :
# ExecutableDefinition
# TypeSystemDefinition
# TypeSystemExtension
# ExecutableDefinition :
# FragmentDefinition
# OperationDefintion
# FragmentDefinition
type someType {
 id: ID
}
fragment subsriberFields on someType {
 id
 name
 fooInt(int: 1234, negInt: -56789, zero: 0)
 fooFloat(
 float: 1.1
 floatExp: 1.4e10
 floatExpSign1: 1.4e+10
 floatExpSign2: 1.5e-40
 floatExpBigE: 1.5E10
 )
 fooBool(x: true, y: false)
 fooString(str: "hello", strUni: "\u2116", strEscWs: "\t")
 fooLongStr(
 lStr: """
 Hello Reader,
 This is a long string block.
 Best,
 Writer
 """
 )
 fooNull(nullThing: null)
 fooList(numList: [1, 2, 3], strList: ["a", "b", "c"])
 fooObj(someObj: { str: "hi", int: 2 })
}
# OperationDefintion
query _A1 {
 getThings(strArg: "string") {
 id # commas here are ignored but valid
 name
 }
}
query _A2($x: String) {
 someFn(episode: $x) {
 name
 }
}
mutation B1 {
 changeThings(intArg: 123) {
 parent {
 nestedField1
 nestedField2
 }
 }
}
subscription C1_Hello {
 subsribePlease(floatArg: 1.4) {
 id
 ...subsriberFields
 }
}
# TypeSystemDefinition :
# SchemaDefinition
# TypeDefinition
schema {
 query: Query
 mutation: Mutation
}
type Query {
 """
 Can provide documentation this way.
 """
 scalars: Scalars
 someList: SomeLists
 fooBar: FooBar
}
interface Thing {
 id: ID!
}
type Scalars implements Thing {
 id: ID!
 int: Int!
 float: Float!
 str: String! @deprecated(reason: "Need to test a directive")
 bool: Boolean
 type: StringTypes
}
type SomeLists {
 ints: [Int!]!
}
type Foo {
 fooVal: String
}
type Bar {
 barVal: String
}
union FooBar = Foo | Bar
enum StringTypes {
 ONE
 TWO
}
input Xyz {
 id: ID!
}
type Mutation {
 createXyz(input: xyz!): Xyz!
}