/**
 * Copyright (c) 2015-present, Facebook, Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * 
 */

// Name

export var NAME = 'Name';

// Document

export var DOCUMENT = 'Document';
export var OPERATION_DEFINITION = 'OperationDefinition';
export var VARIABLE_DEFINITION = 'VariableDefinition';
export var VARIABLE = 'Variable';
export var SELECTION_SET = 'SelectionSet';
export var FIELD = 'Field';
export var ARGUMENT = 'Argument';

// Fragments

export var FRAGMENT_SPREAD = 'FragmentSpread';
export var INLINE_FRAGMENT = 'InlineFragment';
export var FRAGMENT_DEFINITION = 'FragmentDefinition';

// Values

export var INT = 'IntValue';
export var FLOAT = 'FloatValue';
export var STRING = 'StringValue';
export var BOOLEAN = 'BooleanValue';
export var NULL = 'NullValue';
export var ENUM = 'EnumValue';
export var LIST = 'ListValue';
export var OBJECT = 'ObjectValue';
export var OBJECT_FIELD = 'ObjectField';

// Directives

export var DIRECTIVE = 'Directive';

// Types

export var NAMED_TYPE = 'NamedType';
export var LIST_TYPE = 'ListType';
export var NON_NULL_TYPE = 'NonNullType';

// Type System Definitions

export var SCHEMA_DEFINITION = 'SchemaDefinition';
export var OPERATION_TYPE_DEFINITION = 'OperationTypeDefinition';

// Type Definitions

export var SCALAR_TYPE_DEFINITION = 'ScalarTypeDefinition';
export var OBJECT_TYPE_DEFINITION = 'ObjectTypeDefinition';
export var FIELD_DEFINITION = 'FieldDefinition';
export var INPUT_VALUE_DEFINITION = 'InputValueDefinition';
export var INTERFACE_TYPE_DEFINITION = 'InterfaceTypeDefinition';
export var UNION_TYPE_DEFINITION = 'UnionTypeDefinition';
export var ENUM_TYPE_DEFINITION = 'EnumTypeDefinition';
export var ENUM_VALUE_DEFINITION = 'EnumValueDefinition';
export var INPUT_OBJECT_TYPE_DEFINITION = 'InputObjectTypeDefinition';

// Type Extensions

export var SCALAR_TYPE_EXTENSION = 'ScalarTypeExtension';
export var OBJECT_TYPE_EXTENSION = 'ObjectTypeExtension';
export var INTERFACE_TYPE_EXTENSION = 'InterfaceTypeExtension';
export var UNION_TYPE_EXTENSION = 'UnionTypeExtension';
export var ENUM_TYPE_EXTENSION = 'EnumTypeExtension';
export var INPUT_OBJECT_TYPE_EXTENSION = 'InputObjectTypeExtension';

// Directive Definitions

export var DIRECTIVE_DEFINITION = 'DirectiveDefinition';