123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- /**
- * 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';
|