You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bat/tests/syntax-tests/highlighted/GraphQL/test.graphql

146 lines
14 KiB
GraphQL

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

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