All Downloads are FREE. Search and download functionalities are using the official Maven repository.

node_modules.graphql.utilities.introspectionQuery.js.flow Maven / Gradle / Ivy

There is a newer version: 1.1.2
Show newest version
/* @flow */
/**
 *  Copyright (c) 2015, Facebook, Inc.
 *  All rights reserved.
 *
 *  This source code is licensed under the BSD-style license found in the
 *  LICENSE file in the root directory of this source tree. An additional grant
 *  of patent rights can be found in the PATENTS file in the same directory.
 */

import type { DirectiveLocationEnum } from '../type/directives';


export const introspectionQuery = `
  query IntrospectionQuery {
    __schema {
      queryType { name }
      mutationType { name }
      subscriptionType { name }
      types {
        ...FullType
      }
      directives {
        name
        description
        locations
        args {
          ...InputValue
        }
      }
    }
  }

  fragment FullType on __Type {
    kind
    name
    description
    fields(includeDeprecated: true) {
      name
      description
      args {
        ...InputValue
      }
      type {
        ...TypeRef
      }
      isDeprecated
      deprecationReason
    }
    inputFields {
      ...InputValue
    }
    interfaces {
      ...TypeRef
    }
    enumValues(includeDeprecated: true) {
      name
      description
      isDeprecated
      deprecationReason
    }
    possibleTypes {
      ...TypeRef
    }
  }

  fragment InputValue on __InputValue {
    name
    description
    type { ...TypeRef }
    defaultValue
  }

  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
                }
              }
            }
          }
        }
      }
    }
  }
`;

export type IntrospectionQuery = {
  __schema: IntrospectionSchema
};

export type IntrospectionSchema = {
  queryType: IntrospectionNamedTypeRef;
  mutationType: ?IntrospectionNamedTypeRef;
  subscriptionType: ?IntrospectionNamedTypeRef;
  types: Array;
  directives: Array;
};

export type IntrospectionType =
  | IntrospectionScalarType
  | IntrospectionObjectType
  | IntrospectionInterfaceType
  | IntrospectionUnionType
  | IntrospectionEnumType
  | IntrospectionInputObjectType;

export type IntrospectionScalarType = {
  kind: 'SCALAR';
  name: string;
  description: ?string;
};

export type IntrospectionObjectType = {
  kind: 'OBJECT';
  name: string;
  description: ?string;
  fields: Array;
  interfaces: Array;
};

export type IntrospectionInterfaceType = {
  kind: 'INTERFACE';
  name: string;
  description: ?string;
  fields: Array;
  possibleTypes: Array;
};

export type IntrospectionUnionType = {
  kind: 'UNION';
  name: string;
  description: ?string;
  possibleTypes: Array;
};

export type IntrospectionEnumType = {
  kind: 'ENUM';
  name: string;
  description: ?string;
  enumValues: Array;
};

export type IntrospectionInputObjectType = {
  kind: 'INPUT_OBJECT';
  name: string;
  description: ?string;
  inputFields: Array;
};

export type IntrospectionTypeRef =
  | IntrospectionNamedTypeRef
  | IntrospectionListTypeRef
  | IntrospectionNonNullTypeRef;

export type IntrospectionNamedTypeRef = {
  kind: string;
  name: string;
};

export type IntrospectionListTypeRef = {
  kind: 'LIST';
  ofType?: IntrospectionTypeRef;
};

export type IntrospectionNonNullTypeRef = {
  kind: 'NON_NULL';
  ofType?: IntrospectionTypeRef;
};

export type IntrospectionField = {
  name: string;
  description: ?string;
  args: Array;
  type: IntrospectionTypeRef;
  isDeprecated: boolean;
  deprecationReason: ?string;
};

export type IntrospectionInputValue = {
  name: string;
  description: ?string;
  type: IntrospectionTypeRef;
  defaultValue: ?string;
};

export type IntrospectionEnumValue = {
  name: string;
  description: ?string;
  isDeprecated: boolean;
  deprecationReason: ?string;
};

export type IntrospectionDirective = {
  name: string;
  description: ?string;
  locations: Array;
  args: Array;
};




© 2015 - 2024 Weber Informatics LLC | Privacy Policy