You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
255 lines
7.8 KiB
255 lines
7.8 KiB
/** |
|
* GraphQL.js provides a reference implementation for the GraphQL specification |
|
* but is also a useful utility for operating on GraphQL files and building |
|
* sophisticated tools. |
|
* |
|
* This primary module exports a general purpose function for fulfilling all |
|
* steps of the GraphQL specification in a single operation, but also includes |
|
* utilities for every part of the GraphQL specification: |
|
* |
|
* - Parsing the GraphQL language. |
|
* - Building a GraphQL type schema. |
|
* - Validating a GraphQL request against a type schema. |
|
* - Executing a GraphQL request against a type schema. |
|
* |
|
* This also includes utility functions for operating on GraphQL types and |
|
* GraphQL documents to facilitate building tools. |
|
* |
|
* You may also import from each sub-directory directly. For example, the |
|
* following two import statements are equivalent: |
|
* |
|
* ```ts |
|
* import { parse } from 'graphql'; |
|
* import { parse } from 'graphql/language'; |
|
* ``` |
|
* |
|
* @packageDocumentation |
|
*/ |
|
// The GraphQL.js version info. |
|
export { version, versionInfo } from './version.mjs'; // The primary entry point into fulfilling a GraphQL request. |
|
|
|
export { graphql, graphqlSync } from './graphql.mjs'; // Create and operate on GraphQL type definitions and schema. |
|
|
|
export { |
|
resolveObjMapThunk, |
|
resolveReadonlyArrayThunk, // Definitions |
|
GraphQLSchema, |
|
GraphQLDirective, |
|
GraphQLScalarType, |
|
GraphQLObjectType, |
|
GraphQLInterfaceType, |
|
GraphQLUnionType, |
|
GraphQLEnumType, |
|
GraphQLInputObjectType, |
|
GraphQLList, |
|
GraphQLNonNull, // Standard GraphQL Scalars |
|
specifiedScalarTypes, |
|
GraphQLInt, |
|
GraphQLFloat, |
|
GraphQLString, |
|
GraphQLBoolean, |
|
GraphQLID, // Int boundaries constants |
|
GRAPHQL_MAX_INT, |
|
GRAPHQL_MIN_INT, // Built-in Directives defined by the Spec |
|
specifiedDirectives, |
|
GraphQLIncludeDirective, |
|
GraphQLSkipDirective, |
|
GraphQLDeprecatedDirective, |
|
GraphQLSpecifiedByDirective, // "Enum" of Type Kinds |
|
TypeKind, // Constant Deprecation Reason |
|
DEFAULT_DEPRECATION_REASON, // GraphQL Types for introspection. |
|
introspectionTypes, |
|
__Schema, |
|
__Directive, |
|
__DirectiveLocation, |
|
__Type, |
|
__Field, |
|
__InputValue, |
|
__EnumValue, |
|
__TypeKind, // Meta-field definitions. |
|
SchemaMetaFieldDef, |
|
TypeMetaFieldDef, |
|
TypeNameMetaFieldDef, // Predicates |
|
isSchema, |
|
isDirective, |
|
isType, |
|
isScalarType, |
|
isObjectType, |
|
isInterfaceType, |
|
isUnionType, |
|
isEnumType, |
|
isInputObjectType, |
|
isListType, |
|
isNonNullType, |
|
isInputType, |
|
isOutputType, |
|
isLeafType, |
|
isCompositeType, |
|
isAbstractType, |
|
isWrappingType, |
|
isNullableType, |
|
isNamedType, |
|
isRequiredArgument, |
|
isRequiredInputField, |
|
isSpecifiedScalarType, |
|
isIntrospectionType, |
|
isSpecifiedDirective, // Assertions |
|
assertSchema, |
|
assertDirective, |
|
assertType, |
|
assertScalarType, |
|
assertObjectType, |
|
assertInterfaceType, |
|
assertUnionType, |
|
assertEnumType, |
|
assertInputObjectType, |
|
assertListType, |
|
assertNonNullType, |
|
assertInputType, |
|
assertOutputType, |
|
assertLeafType, |
|
assertCompositeType, |
|
assertAbstractType, |
|
assertWrappingType, |
|
assertNullableType, |
|
assertNamedType, // Un-modifiers |
|
getNullableType, |
|
getNamedType, // Validate GraphQL schema. |
|
validateSchema, |
|
assertValidSchema, // Upholds the spec rules about naming. |
|
assertName, |
|
assertEnumValueName, |
|
} from './type/index.mjs'; |
|
// Parse and operate on GraphQL language source files. |
|
export { |
|
Token, |
|
Source, |
|
Location, |
|
OperationTypeNode, |
|
getLocation, // Print source location. |
|
printLocation, |
|
printSourceLocation, // Lex |
|
Lexer, |
|
TokenKind, // Parse |
|
parse, |
|
parseValue, |
|
parseConstValue, |
|
parseType, // Print |
|
print, // Visit |
|
visit, |
|
visitInParallel, |
|
getVisitFn, |
|
getEnterLeaveForKind, |
|
BREAK, |
|
Kind, |
|
DirectiveLocation, // Predicates |
|
isDefinitionNode, |
|
isExecutableDefinitionNode, |
|
isSelectionNode, |
|
isValueNode, |
|
isConstValueNode, |
|
isTypeNode, |
|
isTypeSystemDefinitionNode, |
|
isTypeDefinitionNode, |
|
isTypeSystemExtensionNode, |
|
isTypeExtensionNode, |
|
} from './language/index.mjs'; |
|
// Execute GraphQL queries. |
|
export { |
|
execute, |
|
executeSync, |
|
defaultFieldResolver, |
|
defaultTypeResolver, |
|
responsePathAsArray, |
|
getArgumentValues, |
|
getVariableValues, |
|
getDirectiveValues, |
|
subscribe, |
|
createSourceEventStream, |
|
} from './execution/index.mjs'; |
|
// Validate GraphQL documents. |
|
export { |
|
validate, |
|
ValidationContext, // All validation rules in the GraphQL Specification. |
|
specifiedRules, // Individual validation rules. |
|
ExecutableDefinitionsRule, |
|
FieldsOnCorrectTypeRule, |
|
FragmentsOnCompositeTypesRule, |
|
KnownArgumentNamesRule, |
|
KnownDirectivesRule, |
|
KnownFragmentNamesRule, |
|
KnownTypeNamesRule, |
|
LoneAnonymousOperationRule, |
|
NoFragmentCyclesRule, |
|
NoUndefinedVariablesRule, |
|
NoUnusedFragmentsRule, |
|
NoUnusedVariablesRule, |
|
OverlappingFieldsCanBeMergedRule, |
|
PossibleFragmentSpreadsRule, |
|
ProvidedRequiredArgumentsRule, |
|
ScalarLeafsRule, |
|
SingleFieldSubscriptionsRule, |
|
UniqueArgumentNamesRule, |
|
UniqueDirectivesPerLocationRule, |
|
UniqueFragmentNamesRule, |
|
UniqueInputFieldNamesRule, |
|
UniqueOperationNamesRule, |
|
UniqueVariableNamesRule, |
|
ValuesOfCorrectTypeRule, |
|
VariablesAreInputTypesRule, |
|
VariablesInAllowedPositionRule, // SDL-specific validation rules |
|
LoneSchemaDefinitionRule, |
|
UniqueOperationTypesRule, |
|
UniqueTypeNamesRule, |
|
UniqueEnumValueNamesRule, |
|
UniqueFieldDefinitionNamesRule, |
|
UniqueArgumentDefinitionNamesRule, |
|
UniqueDirectiveNamesRule, |
|
PossibleTypeExtensionsRule, // Custom validation rules |
|
NoDeprecatedCustomRule, |
|
NoSchemaIntrospectionCustomRule, |
|
} from './validation/index.mjs'; |
|
// Create, format, and print GraphQL errors. |
|
export { |
|
GraphQLError, |
|
syntaxError, |
|
locatedError, |
|
printError, |
|
formatError, |
|
} from './error/index.mjs'; |
|
// Utilities for operating on GraphQL type schema and parsed sources. |
|
export { |
|
// Produce the GraphQL query recommended for a full schema introspection. |
|
// Accepts optional IntrospectionOptions. |
|
getIntrospectionQuery, // Gets the target Operation from a Document. |
|
getOperationAST, // Gets the Type for the target Operation AST. |
|
getOperationRootType, // Convert a GraphQLSchema to an IntrospectionQuery. |
|
introspectionFromSchema, // Build a GraphQLSchema from an introspection result. |
|
buildClientSchema, // Build a GraphQLSchema from a parsed GraphQL Schema language AST. |
|
buildASTSchema, // Build a GraphQLSchema from a GraphQL schema language document. |
|
buildSchema, // Extends an existing GraphQLSchema from a parsed GraphQL Schema language AST. |
|
extendSchema, // Sort a GraphQLSchema. |
|
lexicographicSortSchema, // Print a GraphQLSchema to GraphQL Schema language. |
|
printSchema, // Print a GraphQLType to GraphQL Schema language. |
|
printType, // Prints the built-in introspection schema in the Schema Language format. |
|
printIntrospectionSchema, // Create a GraphQLType from a GraphQL language AST. |
|
typeFromAST, // Create a JavaScript value from a GraphQL language AST with a Type. |
|
valueFromAST, // Create a JavaScript value from a GraphQL language AST without a Type. |
|
valueFromASTUntyped, // Create a GraphQL language AST from a JavaScript value. |
|
astFromValue, // A helper to use within recursive-descent visitors which need to be aware of the GraphQL type system. |
|
TypeInfo, |
|
visitWithTypeInfo, // Coerces a JavaScript value to a GraphQL type, or produces errors. |
|
coerceInputValue, // Concatenates multiple AST together. |
|
concatAST, // Separates an AST into an AST per Operation. |
|
separateOperations, // Strips characters that are not significant to the validity or execution of a GraphQL document. |
|
stripIgnoredCharacters, // Comparators for types |
|
isEqualType, |
|
isTypeSubTypeOf, |
|
doTypesOverlap, // Asserts a string is a valid GraphQL name. |
|
assertValidName, // Determine if a string is a valid GraphQL name. |
|
isValidNameError, // Compares two GraphQLSchemas and detects breaking changes. |
|
BreakingChangeType, |
|
DangerousChangeType, |
|
findBreakingChanges, |
|
findDangerousChanges, |
|
} from './utilities/index.mjs';
|
|
|