bat/tests/syntax-tests/highlighted/GraphQL/test.graphql
2020-10-11 09:46:25 +02:00

145 lines
14 KiB
GraphQL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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!
}