schema { query: _Query } "The Boolean scalar type represents true or false." scalar Boolean "The Float scalar type represents signed double-precision fractional values." scalar Float """ The ID scalar type represents a unique identifier and it is serialized in the same way as a String but it accepts both numeric and string based values as input. """ scalar ID "The Int scalar type represents a signed 32-bit numeric non-fractional value." scalar Int "Scalar" scalar ScalarDesc """ The String scalar type represents textual data, represented as UTF-8 character sequences. """ scalar String "Enum" enum EnumDesc { } "The valid locations that a directive may be placed." enum __DirectiveLocation { "Mark as a executable directive usable on query objects." QUERY "Mark as a executable directive usable on mutation objects." MUTATION "Mark as a executable directive usable on subscription objects." SUBSCRIPTION "Mark as a executable directive usable on field objects." FIELD "Mark as a executable directive usable on fragment definition objects." FRAGMENT_DEFINITION "Mark as a executable directive usable on fragment spread objects." FRAGMENT_SPREAD "Mark as a executable directive usable on inline fragment objects." INLINE_FRAGMENT "Mark as a type system directive usable on schema definitions." SCHEMA "Mark as a type system directive usable on scalar definitions." SCALAR "Mark as a type system directive usable on object definitions." OBJECT "Mark as a type system directive usable on field definitions." FIELD_DEFINITION "Mark as a type system directive usable on argument definitions." ARGUMENT_DEFINITION "Mark as a type system directive usable on interface definitions." INTERFACE "Mark as a type system directive usable on union definitions." UNION "Mark as a type system directive usable on enum definitions." ENUM "Mark as a type system directive usable on enum value definitions." ENUM_VALUE "Mark as a type system directive usable on input object definitions." INPUT_OBJECT "Mark as a type system directive usable on input field definitions." INPUT_FIELD_DEFINITION } """ The fundamental unit of any GraphQL Schema is the type. This enum enlist all the valid base types. """ enum __TypeKind { "Scalar types represent primitive leaf values in a GraphQL type system.\n" SCALAR "Objects represent a list of named fields, each of which yield a value of a\nspecific type.\n" OBJECT "Interfaces represent a list of named fields and their types.\n" INTERFACE "Unions represent an object that could be one of a list of GraphQL Object types.\n" UNION "Enum types, like scalar types, also represent leaf values in a GraphQL\ntype system. However Enum types describe the set of possible values.\n" ENUM "Objects represent a list of named fields, each of which yield a value of\na specific type.\n" INPUT_OBJECT "A GraphQL list is a special collection type which declares the type of\neach item in the List (referred to as the item type of the list).\n" LIST "This type wraps an underlying type, and this type acts identically to that wrapped\ntype, with the exception that null is not a valid response for the wrapping type.\n" NON_NULL } "Input" input InputDescInput { } "Interface" interface InterfaceDesc { } "Union" union UnionDesc = "Object" type ObjectDesc { } type _Query { __schema: __Schema! __type(name: String!): __Type "A" sampleA: String "B" sampleB: String "C" sampleC: String sampleD: String "E" sampleE: String sampleF: String sampleField: String } """ Directives provide a way to describe alternate runtime execution and type validation behavior in a GraphQL document. In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor. """ # Assigned to Rails::GraphQL::Directive class type __Directive { args: [__InputValue!]! description: String isRepeatable: Boolean! locations: [__DirectiveLocation!]! name: String! } """ One of the values of an Enum object. It is unique within the Enum set of values. It's a string representation, not a numeric representation, of a value kept as all caps (ie. ONE_VALUE). """ type __EnumValue { deprecationReason: String description: String isDeprecated: Boolean! name: String! } """ Fields are the elements that compose both Objects and Interfaces. Each field in these other objects may contain arguments and always yields a value of a specific type. """ # Assigned to Rails::GraphQL::Field class type __Field { args: [__InputValue!]! deprecationReason: String description: String isDeprecated: Boolean! name: String! type: __Type! } """ Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value. """ # Assigned to Rails::GraphQL::Field::InputField class type __InputValue { defaultValue: String description: String name: String! type: __Type! } """ A GraphQL service's collective type system capabilities are referred to as that service's "schema". A schema is defined in terms of the types and directives it supports as well as the root operation types for each kind of operation: query, mutation, and subscription; this determines the place in the type system where those operations begin. """ # Assigned to Rails::GraphQL::Schema class type __Schema { directives: [__Directive!]! mutationType: __Type queryType: __Type! subscriptionType: __Type types: [__Type!]! } """ The fundamental unit of any GraphQL Schema is the type. There are six kinds of named type definitions in GraphQL, and two wrapping types. The most basic type is a +Scalar+. A scalar represents a primitive value, like a string or an integer. +Scalars+ and +Enums+ form the leaves in response trees; the intermediate levels are +Object+ types, which define a set of fields. An +Interface+ defines a list of fields; +Object+ types that implement that interface are guaranteed to implement those fields. A +Union+ defines a list of possible types; similar to interfaces, whenever the type system claims a union will be returned, one of the possible types will be returned. Finally, oftentimes it is useful to provide complex structs as inputs to GraphQL field arguments or variables; the +Input Object+ type allows the schema to define exactly what data is expected. """ # Assigned to Rails::GraphQL::Type class type __Type { description: String "ENUM only" enumValues(includeDeprecated: Boolean = false): [__EnumValue!] "OBJECT and INTERFACE only" fields(includeDeprecated: Boolean = false): [__Field!] "INPUT_OBJECT only" inputFields: [__InputValue!] "OBJECT only" interfaces: [__Type!] kind: __TypeKind! name: String "NON_NULL and LIST only" ofType: __Type "INTERFACE and UNION only" possibleTypes: [__Type!] specifiedByURL: String } """ Indicate deprecated portions of a GraphQL service's schema, such as deprecated fields on a type or deprecated enum values. """ directive @deprecated( """ Explain why the underlying element was marked as deprecated. If possible, indicate what element should be used instead. This description is formatted using Markdown syntax (as specified by [CommonMark](http://commonmark.org/)). """ reason: String ) on FIELD_DEFINITION | ENUM_VALUE "Allows for conditional inclusion during execution as described by the if argument." directive @include( "When false, the underlying element will be automatically marked as null." if: Boolean! ) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT "Allows for conditional exclusion during execution as described by the if argument." directive @skip( "When true, the underlying element will be automatically marked as null." if: Boolean! ) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT """ A built-in directive used within the type system definition language to provide a scalar specification URL for specifying the behavior of custom scalar types. """ directive @specifiedBy( "Point to a human-readable specification of the data format." url: String! ) on SCALAR