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.
256 lines
7.8 KiB
256 lines
7.8 KiB
4 months ago
|
/**
|
||
|
* 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';
|