# frozen_string_literal: true module CachedIntrospectionQuery def self.query_string <<~QUERY.squish query IntrospectionQuery { __schema { queryType { name kind } mutationType { name kind } subscriptionType { name kind } types { ...FullType } directives { name description locations args(includeDeprecated: true) { ...InputValue } } } } fragment FullType on __Type { kind name description fields(includeDeprecated: true) { name description args(includeDeprecated: true) { ...InputValue } type { ...TypeRef } isDeprecated deprecationReason } inputFields(includeDeprecated: true) { ...InputValue } interfaces { ...TypeRef } enumValues(includeDeprecated: true) { name description isDeprecated deprecationReason } possibleTypes { ...TypeRef } } fragment InputValue on __InputValue { name description type { ...TypeRef } defaultValue isDeprecated deprecationReason } fragment TypeRef on __Type { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name } } } } } } } } } } QUERY end end