graphql 16.14.0 → 16.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/error/GraphQLError.d.ts +151 -15
- package/error/GraphQLError.js +143 -12
- package/error/GraphQLError.mjs +143 -12
- package/error/index.d.ts +6 -0
- package/error/index.mjs +6 -0
- package/error/locatedError.d.ts +20 -0
- package/error/locatedError.js +21 -0
- package/error/locatedError.mjs +20 -0
- package/error/syntaxError.d.ts +15 -0
- package/error/syntaxError.js +16 -0
- package/error/syntaxError.mjs +15 -0
- package/execution/collectFields.js +6 -0
- package/execution/collectFields.mjs +6 -0
- package/execution/execute.d.ts +211 -12
- package/execution/execute.js +214 -23
- package/execution/execute.mjs +213 -23
- package/execution/index.d.ts +6 -0
- package/execution/index.mjs +6 -0
- package/execution/mapAsyncIterator.d.ts +2 -0
- package/execution/mapAsyncIterator.js +2 -0
- package/execution/mapAsyncIterator.mjs +2 -0
- package/execution/subscribe.d.ts +195 -5
- package/execution/subscribe.js +154 -11
- package/execution/subscribe.mjs +153 -11
- package/execution/values.d.ts +167 -10
- package/execution/values.js +149 -5
- package/execution/values.mjs +148 -5
- package/graphql.d.ts +163 -41
- package/graphql.js +126 -4
- package/graphql.mjs +131 -41
- package/index.d.ts +11 -17
- package/index.mjs +13 -19
- package/jsutils/Maybe.d.ts +5 -1
- package/jsutils/ObjMap.d.ts +4 -0
- package/jsutils/Path.d.ts +30 -0
- package/jsutils/Path.js +29 -0
- package/jsutils/Path.mjs +29 -0
- package/jsutils/PromiseOrValue.d.ts +1 -0
- package/jsutils/devAssert.d.ts +1 -0
- package/jsutils/devAssert.js +1 -0
- package/jsutils/devAssert.mjs +1 -0
- package/jsutils/didYouMean.d.ts +4 -1
- package/jsutils/didYouMean.js +4 -1
- package/jsutils/didYouMean.mjs +4 -1
- package/jsutils/groupBy.d.ts +2 -0
- package/jsutils/groupBy.js +2 -0
- package/jsutils/groupBy.mjs +2 -0
- package/jsutils/identityFunc.d.ts +2 -0
- package/jsutils/identityFunc.js +2 -0
- package/jsutils/identityFunc.mjs +2 -0
- package/jsutils/inspect.d.ts +2 -0
- package/jsutils/inspect.js +2 -0
- package/jsutils/inspect.mjs +2 -0
- package/jsutils/instanceOf.d.ts +2 -0
- package/jsutils/instanceOf.js +2 -0
- package/jsutils/instanceOf.mjs +2 -0
- package/jsutils/invariant.d.ts +1 -0
- package/jsutils/invariant.js +1 -0
- package/jsutils/invariant.mjs +1 -0
- package/jsutils/isAsyncIterable.d.ts +2 -0
- package/jsutils/isAsyncIterable.js +2 -0
- package/jsutils/isAsyncIterable.mjs +2 -0
- package/jsutils/isIterableObject.d.ts +6 -5
- package/jsutils/isIterableObject.js +6 -5
- package/jsutils/isIterableObject.mjs +6 -5
- package/jsutils/isObjectLike.d.ts +2 -0
- package/jsutils/isObjectLike.js +2 -0
- package/jsutils/isObjectLike.mjs +2 -0
- package/jsutils/isPromise.d.ts +2 -0
- package/jsutils/isPromise.js +2 -0
- package/jsutils/isPromise.mjs +2 -0
- package/jsutils/keyMap.d.ts +7 -14
- package/jsutils/keyMap.js +7 -14
- package/jsutils/keyMap.mjs +7 -14
- package/jsutils/keyValMap.d.ts +9 -6
- package/jsutils/keyValMap.js +9 -6
- package/jsutils/keyValMap.mjs +9 -6
- package/jsutils/mapValue.d.ts +2 -0
- package/jsutils/mapValue.js +2 -0
- package/jsutils/mapValue.mjs +2 -0
- package/jsutils/memoize3.d.ts +2 -0
- package/jsutils/memoize3.js +2 -0
- package/jsutils/memoize3.mjs +2 -0
- package/jsutils/naturalCompare.d.ts +2 -0
- package/jsutils/naturalCompare.js +2 -0
- package/jsutils/naturalCompare.mjs +2 -0
- package/jsutils/printPathArray.d.ts +2 -0
- package/jsutils/printPathArray.js +2 -0
- package/jsutils/printPathArray.mjs +2 -0
- package/jsutils/promiseForObject.d.ts +2 -0
- package/jsutils/promiseForObject.js +2 -0
- package/jsutils/promiseForObject.mjs +2 -0
- package/jsutils/promiseReduce.d.ts +2 -0
- package/jsutils/promiseReduce.js +2 -0
- package/jsutils/promiseReduce.mjs +2 -0
- package/jsutils/suggestionList.d.ts +2 -0
- package/jsutils/suggestionList.js +4 -0
- package/jsutils/suggestionList.mjs +4 -0
- package/jsutils/toError.d.ts +2 -0
- package/jsutils/toError.js +2 -0
- package/jsutils/toError.mjs +2 -0
- package/jsutils/toObjMap.d.ts +1 -0
- package/jsutils/toObjMap.js +1 -0
- package/jsutils/toObjMap.mjs +1 -0
- package/language/ast.d.ts +412 -54
- package/language/ast.js +95 -38
- package/language/ast.mjs +95 -38
- package/language/blockString.d.ts +1 -3
- package/language/blockString.js +1 -3
- package/language/blockString.mjs +1 -3
- package/language/directiveLocation.d.ts +28 -8
- package/language/directiveLocation.js +9 -6
- package/language/directiveLocation.mjs +9 -6
- package/language/index.d.ts +6 -0
- package/language/index.mjs +6 -0
- package/language/kinds.d.ts +57 -18
- package/language/kinds.js +9 -6
- package/language/kinds.mjs +9 -6
- package/language/lexer.d.ts +47 -14
- package/language/lexer.js +71 -13
- package/language/lexer.mjs +70 -13
- package/language/location.d.ts +16 -3
- package/language/location.js +14 -3
- package/language/location.mjs +14 -3
- package/language/parser.d.ts +236 -13
- package/language/parser.js +224 -0
- package/language/parser.mjs +224 -3
- package/language/predicates.d.ts +169 -0
- package/language/predicates.js +170 -0
- package/language/predicates.mjs +180 -0
- package/language/printLocation.d.ts +28 -0
- package/language/printLocation.js +29 -0
- package/language/printLocation.mjs +28 -0
- package/language/printString.d.ts +2 -0
- package/language/printString.js +5 -1
- package/language/printString.mjs +5 -1
- package/language/printer.d.ts +12 -0
- package/language/printer.js +19 -0
- package/language/printer.mjs +18 -0
- package/language/schemaCoordinateLexer.d.ts +8 -6
- package/language/schemaCoordinateLexer.js +10 -6
- package/language/schemaCoordinateLexer.mjs +10 -6
- package/language/source.d.ts +28 -0
- package/language/source.js +32 -0
- package/language/source.mjs +31 -0
- package/language/tokenKind.d.ts +30 -3
- package/language/tokenKind.js +8 -3
- package/language/tokenKind.mjs +8 -3
- package/language/visitor.d.ts +200 -72
- package/language/visitor.js +122 -50
- package/language/visitor.mjs +122 -54
- package/package.json +1 -1
- package/subscription/index.d.ts +9 -3
- package/subscription/index.mjs +9 -3
- package/type/assertName.d.ts +18 -1
- package/type/assertName.js +19 -1
- package/type/assertName.mjs +18 -1
- package/type/definition.d.ts +2540 -79
- package/type/definition.js +2214 -61
- package/type/definition.mjs +2241 -60
- package/type/directives.d.ts +193 -18
- package/type/directives.js +196 -19
- package/type/directives.mjs +196 -19
- package/type/index.d.ts +6 -0
- package/type/index.mjs +6 -0
- package/type/introspection.d.ts +36 -0
- package/type/introspection.js +33 -0
- package/type/introspection.mjs +41 -0
- package/type/scalars.d.ts +29 -2
- package/type/scalars.js +37 -2
- package/type/scalars.mjs +36 -2
- package/type/schema.d.ts +490 -28
- package/type/schema.js +484 -26
- package/type/schema.mjs +484 -26
- package/type/validate.d.ts +31 -0
- package/type/validate.js +32 -0
- package/type/validate.mjs +31 -0
- package/utilities/TypeInfo.d.ts +441 -1
- package/utilities/TypeInfo.js +444 -1
- package/utilities/TypeInfo.mjs +443 -1
- package/utilities/assertValidName.d.ts +27 -2
- package/utilities/assertValidName.js +28 -2
- package/utilities/assertValidName.mjs +27 -2
- package/utilities/astFromValue.d.ts +33 -3
- package/utilities/astFromValue.js +36 -3
- package/utilities/astFromValue.mjs +35 -3
- package/utilities/buildASTSchema.d.ts +65 -6
- package/utilities/buildASTSchema.js +65 -6
- package/utilities/buildASTSchema.mjs +65 -6
- package/utilities/buildClientSchema.d.ts +15 -0
- package/utilities/buildClientSchema.js +16 -0
- package/utilities/buildClientSchema.mjs +15 -0
- package/utilities/coerceInputValue.d.ts +46 -0
- package/utilities/coerceInputValue.js +47 -0
- package/utilities/coerceInputValue.mjs +46 -0
- package/utilities/concatAST.d.ts +12 -0
- package/utilities/concatAST.js +13 -0
- package/utilities/concatAST.mjs +12 -0
- package/utilities/extendSchema.d.ts +56 -3
- package/utilities/extendSchema.js +63 -3
- package/utilities/extendSchema.mjs +62 -3
- package/utilities/findBreakingChanges.d.ts +95 -0
- package/utilities/findBreakingChanges.js +68 -0
- package/utilities/findBreakingChanges.mjs +70 -0
- package/utilities/getIntrospectionQuery.d.ts +132 -0
- package/utilities/getIntrospectionQuery.js +41 -0
- package/utilities/getIntrospectionQuery.mjs +41 -0
- package/utilities/getOperationAST.d.ts +15 -0
- package/utilities/getOperationAST.js +16 -0
- package/utilities/getOperationAST.mjs +15 -0
- package/utilities/getOperationRootType.d.ts +18 -1
- package/utilities/getOperationRootType.js +19 -1
- package/utilities/getOperationRootType.mjs +18 -1
- package/utilities/index.d.ts +7 -0
- package/utilities/index.mjs +7 -0
- package/utilities/introspectionFromSchema.d.ts +54 -0
- package/utilities/introspectionFromSchema.js +55 -0
- package/utilities/introspectionFromSchema.mjs +54 -0
- package/utilities/lexicographicSortSchema.d.ts +35 -0
- package/utilities/lexicographicSortSchema.js +36 -0
- package/utilities/lexicographicSortSchema.mjs +35 -0
- package/utilities/printSchema.d.ts +63 -0
- package/utilities/printSchema.js +66 -0
- package/utilities/printSchema.mjs +67 -0
- package/utilities/resolveSchemaCoordinate.d.ts +62 -0
- package/utilities/resolveSchemaCoordinate.js +64 -0
- package/utilities/resolveSchemaCoordinate.mjs +63 -0
- package/utilities/separateOperations.d.ts +30 -0
- package/utilities/separateOperations.js +31 -0
- package/utilities/separateOperations.mjs +30 -0
- package/utilities/stripIgnoredCharacters.d.ts +13 -6
- package/utilities/stripIgnoredCharacters.js +16 -6
- package/utilities/stripIgnoredCharacters.mjs +15 -6
- package/utilities/typeComparators.d.ts +84 -0
- package/utilities/typeComparators.js +85 -0
- package/utilities/typeComparators.mjs +84 -0
- package/utilities/typeFromAST.d.ts +86 -0
- package/utilities/typeFromAST.js +3 -0
- package/utilities/typeFromAST.mjs +3 -0
- package/utilities/typedQueryDocumentNode.d.ts +4 -0
- package/utilities/valueFromAST.d.ts +38 -0
- package/utilities/valueFromAST.js +39 -0
- package/utilities/valueFromAST.mjs +38 -0
- package/utilities/valueFromASTUntyped.d.ts +15 -2
- package/utilities/valueFromASTUntyped.js +16 -2
- package/utilities/valueFromASTUntyped.mjs +15 -2
- package/validation/ValidationContext.d.ts +399 -0
- package/validation/ValidationContext.js +400 -0
- package/validation/ValidationContext.mjs +401 -0
- package/validation/index.d.ts +6 -0
- package/validation/index.mjs +6 -0
- package/validation/rules/ExecutableDefinitionsRule.d.ts +28 -0
- package/validation/rules/ExecutableDefinitionsRule.js +29 -0
- package/validation/rules/ExecutableDefinitionsRule.mjs +28 -0
- package/validation/rules/FieldsOnCorrectTypeRule.d.ts +28 -0
- package/validation/rules/FieldsOnCorrectTypeRule.js +33 -0
- package/validation/rules/FieldsOnCorrectTypeRule.mjs +32 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +28 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.js +29 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.mjs +28 -0
- package/validation/rules/KnownArgumentNamesRule.d.ts +29 -3
- package/validation/rules/KnownArgumentNamesRule.js +30 -3
- package/validation/rules/KnownArgumentNamesRule.mjs +29 -3
- package/validation/rules/KnownDirectivesRule.d.ts +28 -0
- package/validation/rules/KnownDirectivesRule.js +29 -0
- package/validation/rules/KnownDirectivesRule.mjs +28 -0
- package/validation/rules/KnownFragmentNamesRule.d.ts +28 -0
- package/validation/rules/KnownFragmentNamesRule.js +29 -0
- package/validation/rules/KnownFragmentNamesRule.mjs +28 -0
- package/validation/rules/KnownTypeNamesRule.d.ts +28 -0
- package/validation/rules/KnownTypeNamesRule.js +29 -0
- package/validation/rules/KnownTypeNamesRule.mjs +28 -0
- package/validation/rules/LoneAnonymousOperationRule.d.ts +28 -0
- package/validation/rules/LoneAnonymousOperationRule.js +29 -0
- package/validation/rules/LoneAnonymousOperationRule.mjs +28 -0
- package/validation/rules/LoneSchemaDefinitionRule.d.ts +21 -0
- package/validation/rules/LoneSchemaDefinitionRule.js +22 -0
- package/validation/rules/LoneSchemaDefinitionRule.mjs +21 -0
- package/validation/rules/MaxIntrospectionDepthRule.d.ts +31 -0
- package/validation/rules/MaxIntrospectionDepthRule.js +33 -0
- package/validation/rules/MaxIntrospectionDepthRule.mjs +34 -0
- package/validation/rules/NoFragmentCyclesRule.d.ts +28 -0
- package/validation/rules/NoFragmentCyclesRule.js +29 -0
- package/validation/rules/NoFragmentCyclesRule.mjs +28 -0
- package/validation/rules/NoUndefinedVariablesRule.d.ts +28 -0
- package/validation/rules/NoUndefinedVariablesRule.js +29 -0
- package/validation/rules/NoUndefinedVariablesRule.mjs +28 -0
- package/validation/rules/NoUnusedFragmentsRule.d.ts +28 -0
- package/validation/rules/NoUnusedFragmentsRule.js +29 -0
- package/validation/rules/NoUnusedFragmentsRule.mjs +28 -0
- package/validation/rules/NoUnusedVariablesRule.d.ts +29 -0
- package/validation/rules/NoUnusedVariablesRule.js +30 -0
- package/validation/rules/NoUnusedVariablesRule.mjs +29 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +33 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +45 -6
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +45 -6
- package/validation/rules/PossibleFragmentSpreadsRule.d.ts +36 -0
- package/validation/rules/PossibleFragmentSpreadsRule.js +37 -0
- package/validation/rules/PossibleFragmentSpreadsRule.mjs +36 -0
- package/validation/rules/PossibleTypeExtensionsRule.d.ts +21 -0
- package/validation/rules/PossibleTypeExtensionsRule.js +22 -0
- package/validation/rules/PossibleTypeExtensionsRule.mjs +21 -0
- package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +29 -3
- package/validation/rules/ProvidedRequiredArgumentsRule.js +30 -3
- package/validation/rules/ProvidedRequiredArgumentsRule.mjs +29 -3
- package/validation/rules/ScalarLeafsRule.d.ts +28 -0
- package/validation/rules/ScalarLeafsRule.js +29 -0
- package/validation/rules/ScalarLeafsRule.mjs +28 -0
- package/validation/rules/SingleFieldSubscriptionsRule.d.ts +33 -0
- package/validation/rules/SingleFieldSubscriptionsRule.js +34 -0
- package/validation/rules/SingleFieldSubscriptionsRule.mjs +33 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +21 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js +22 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +21 -0
- package/validation/rules/UniqueArgumentNamesRule.d.ts +28 -0
- package/validation/rules/UniqueArgumentNamesRule.js +29 -0
- package/validation/rules/UniqueArgumentNamesRule.mjs +28 -0
- package/validation/rules/UniqueDirectiveNamesRule.d.ts +21 -0
- package/validation/rules/UniqueDirectiveNamesRule.js +22 -0
- package/validation/rules/UniqueDirectiveNamesRule.mjs +21 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +28 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.js +29 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs +28 -0
- package/validation/rules/UniqueEnumValueNamesRule.d.ts +21 -0
- package/validation/rules/UniqueEnumValueNamesRule.js +22 -0
- package/validation/rules/UniqueEnumValueNamesRule.mjs +21 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +21 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +22 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +21 -0
- package/validation/rules/UniqueFragmentNamesRule.d.ts +28 -0
- package/validation/rules/UniqueFragmentNamesRule.js +29 -0
- package/validation/rules/UniqueFragmentNamesRule.mjs +28 -0
- package/validation/rules/UniqueInputFieldNamesRule.d.ts +32 -0
- package/validation/rules/UniqueInputFieldNamesRule.js +33 -0
- package/validation/rules/UniqueInputFieldNamesRule.mjs +32 -0
- package/validation/rules/UniqueOperationNamesRule.d.ts +28 -0
- package/validation/rules/UniqueOperationNamesRule.js +29 -0
- package/validation/rules/UniqueOperationNamesRule.mjs +28 -0
- package/validation/rules/UniqueOperationTypesRule.d.ts +21 -0
- package/validation/rules/UniqueOperationTypesRule.js +22 -0
- package/validation/rules/UniqueOperationTypesRule.mjs +21 -0
- package/validation/rules/UniqueTypeNamesRule.d.ts +21 -0
- package/validation/rules/UniqueTypeNamesRule.js +22 -0
- package/validation/rules/UniqueTypeNamesRule.mjs +21 -0
- package/validation/rules/UniqueVariableNamesRule.d.ts +28 -0
- package/validation/rules/UniqueVariableNamesRule.js +29 -0
- package/validation/rules/UniqueVariableNamesRule.mjs +28 -0
- package/validation/rules/ValuesOfCorrectTypeRule.d.ts +28 -0
- package/validation/rules/ValuesOfCorrectTypeRule.js +31 -0
- package/validation/rules/ValuesOfCorrectTypeRule.mjs +30 -0
- package/validation/rules/VariablesAreInputTypesRule.d.ts +32 -0
- package/validation/rules/VariablesAreInputTypesRule.js +33 -0
- package/validation/rules/VariablesAreInputTypesRule.mjs +32 -0
- package/validation/rules/VariablesInAllowedPositionRule.d.ts +28 -0
- package/validation/rules/VariablesInAllowedPositionRule.js +35 -1
- package/validation/rules/VariablesInAllowedPositionRule.mjs +34 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +41 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.js +42 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs +41 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +28 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +29 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +28 -0
- package/validation/specifiedRules.d.ts +2 -3
- package/validation/specifiedRules.js +2 -3
- package/validation/specifiedRules.mjs +2 -3
- package/validation/validate.d.ts +70 -9
- package/validation/validate.js +63 -7
- package/validation/validate.mjs +63 -7
- package/version.d.ts +3 -6
- package/version.js +6 -8
- package/version.mjs +5 -8
|
@@ -1,12 +1,40 @@
|
|
|
1
|
+
/** @category Source */
|
|
1
2
|
import type { Location } from './ast';
|
|
2
3
|
import type { SourceLocation } from './location';
|
|
3
4
|
import type { Source } from './source';
|
|
4
5
|
/**
|
|
5
6
|
* Render a helpful description of the location in the GraphQL Source document.
|
|
7
|
+
* @param location - The AST location to print.
|
|
8
|
+
* @returns A formatted source excerpt with line and column information.
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { parse, printLocation } from 'graphql/language';
|
|
12
|
+
*
|
|
13
|
+
* const document = parse('type Query { hello: String }');
|
|
14
|
+
* const location = document.definitions[0].loc;
|
|
15
|
+
*
|
|
16
|
+
* if (location) {
|
|
17
|
+
* const printed = printLocation(location);
|
|
18
|
+
*
|
|
19
|
+
* printed; // => 'GraphQL request:1:1\n1 | type Query { hello: String }\n | ^'
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
6
22
|
*/
|
|
7
23
|
export declare function printLocation(location: Location): string;
|
|
8
24
|
/**
|
|
9
25
|
* Render a helpful description of the location in the GraphQL Source document.
|
|
26
|
+
* @param source - The source document that contains the location.
|
|
27
|
+
* @param sourceLocation - The 1-indexed line and column to print.
|
|
28
|
+
* @returns A formatted source excerpt with line and column information.
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* import { Source, printSourceLocation } from 'graphql/language';
|
|
32
|
+
*
|
|
33
|
+
* const source = new Source('type Query { hello: String }');
|
|
34
|
+
* const printed = printSourceLocation(source, { line: 1, column: 14 });
|
|
35
|
+
*
|
|
36
|
+
* printed; // => 'GraphQL request:1:14\n1 | type Query { hello: String }\n | ^'
|
|
37
|
+
* ```
|
|
10
38
|
*/
|
|
11
39
|
export declare function printSourceLocation(
|
|
12
40
|
source: Source,
|
|
@@ -8,8 +8,25 @@ exports.printSourceLocation = printSourceLocation;
|
|
|
8
8
|
|
|
9
9
|
var _location = require('./location.js');
|
|
10
10
|
|
|
11
|
+
/** @category Source */
|
|
12
|
+
|
|
11
13
|
/**
|
|
12
14
|
* Render a helpful description of the location in the GraphQL Source document.
|
|
15
|
+
* @param location - The AST location to print.
|
|
16
|
+
* @returns A formatted source excerpt with line and column information.
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* import { parse, printLocation } from 'graphql/language';
|
|
20
|
+
*
|
|
21
|
+
* const document = parse('type Query { hello: String }');
|
|
22
|
+
* const location = document.definitions[0].loc;
|
|
23
|
+
*
|
|
24
|
+
* if (location) {
|
|
25
|
+
* const printed = printLocation(location);
|
|
26
|
+
*
|
|
27
|
+
* printed; // => 'GraphQL request:1:1\n1 | type Query { hello: String }\n | ^'
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
13
30
|
*/
|
|
14
31
|
function printLocation(location) {
|
|
15
32
|
return printSourceLocation(
|
|
@@ -19,6 +36,18 @@ function printLocation(location) {
|
|
|
19
36
|
}
|
|
20
37
|
/**
|
|
21
38
|
* Render a helpful description of the location in the GraphQL Source document.
|
|
39
|
+
* @param source - The source document that contains the location.
|
|
40
|
+
* @param sourceLocation - The 1-indexed line and column to print.
|
|
41
|
+
* @returns A formatted source excerpt with line and column information.
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts
|
|
44
|
+
* import { Source, printSourceLocation } from 'graphql/language';
|
|
45
|
+
*
|
|
46
|
+
* const source = new Source('type Query { hello: String }');
|
|
47
|
+
* const printed = printSourceLocation(source, { line: 1, column: 14 });
|
|
48
|
+
*
|
|
49
|
+
* printed; // => 'GraphQL request:1:14\n1 | type Query { hello: String }\n | ^'
|
|
50
|
+
* ```
|
|
22
51
|
*/
|
|
23
52
|
|
|
24
53
|
function printSourceLocation(source, sourceLocation) {
|
|
@@ -1,7 +1,23 @@
|
|
|
1
|
+
/** @category Source */
|
|
1
2
|
import { getLocation } from './location.mjs';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Render a helpful description of the location in the GraphQL Source document.
|
|
6
|
+
* @param location - The AST location to print.
|
|
7
|
+
* @returns A formatted source excerpt with line and column information.
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { parse, printLocation } from 'graphql/language';
|
|
11
|
+
*
|
|
12
|
+
* const document = parse('type Query { hello: String }');
|
|
13
|
+
* const location = document.definitions[0].loc;
|
|
14
|
+
*
|
|
15
|
+
* if (location) {
|
|
16
|
+
* const printed = printLocation(location);
|
|
17
|
+
*
|
|
18
|
+
* printed; // => 'GraphQL request:1:1\n1 | type Query { hello: String }\n | ^'
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
5
21
|
*/
|
|
6
22
|
export function printLocation(location) {
|
|
7
23
|
return printSourceLocation(
|
|
@@ -11,6 +27,18 @@ export function printLocation(location) {
|
|
|
11
27
|
}
|
|
12
28
|
/**
|
|
13
29
|
* Render a helpful description of the location in the GraphQL Source document.
|
|
30
|
+
* @param source - The source document that contains the location.
|
|
31
|
+
* @param sourceLocation - The 1-indexed line and column to print.
|
|
32
|
+
* @returns A formatted source excerpt with line and column information.
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* import { Source, printSourceLocation } from 'graphql/language';
|
|
36
|
+
*
|
|
37
|
+
* const source = new Source('type Query { hello: String }');
|
|
38
|
+
* const printed = printSourceLocation(source, { line: 1, column: 14 });
|
|
39
|
+
*
|
|
40
|
+
* printed; // => 'GraphQL request:1:14\n1 | type Query { hello: String }\n | ^'
|
|
41
|
+
* ```
|
|
14
42
|
*/
|
|
15
43
|
|
|
16
44
|
export function printSourceLocation(source, sourceLocation) {
|
package/language/printString.js
CHANGED
|
@@ -8,10 +8,14 @@ exports.printString = printString;
|
|
|
8
8
|
/**
|
|
9
9
|
* Prints a string as a GraphQL StringValue literal. Replaces control characters
|
|
10
10
|
* and excluded characters (" U+0022 and \\ U+005C) with escape sequences.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
11
13
|
*/
|
|
12
14
|
function printString(str) {
|
|
13
15
|
return `"${str.replace(escapedRegExp, escapedReplacer)}"`;
|
|
14
|
-
}
|
|
16
|
+
}
|
|
17
|
+
/** @internal */
|
|
18
|
+
// eslint-disable-next-line no-control-regex
|
|
15
19
|
|
|
16
20
|
const escapedRegExp = /[\x00-\x1f\x22\x5c\x7f-\x9f]/g;
|
|
17
21
|
|
package/language/printString.mjs
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Prints a string as a GraphQL StringValue literal. Replaces control characters
|
|
3
3
|
* and excluded characters (" U+0022 and \\ U+005C) with escape sequences.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
4
6
|
*/
|
|
5
7
|
export function printString(str) {
|
|
6
8
|
return `"${str.replace(escapedRegExp, escapedReplacer)}"`;
|
|
7
|
-
}
|
|
9
|
+
}
|
|
10
|
+
/** @internal */
|
|
11
|
+
// eslint-disable-next-line no-control-regex
|
|
8
12
|
|
|
9
13
|
const escapedRegExp = /[\x00-\x1f\x22\x5c\x7f-\x9f]/g;
|
|
10
14
|
|
package/language/printer.d.ts
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
|
+
/** @category Printing */
|
|
1
2
|
import type { ASTNode } from './ast';
|
|
2
3
|
/**
|
|
3
4
|
* Converts an AST into a string, using one set of reasonable
|
|
4
5
|
* formatting rules.
|
|
6
|
+
* @param ast - The GraphQL AST node to print.
|
|
7
|
+
* @returns A stable string representation of the AST.
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { parse, print } from 'graphql';
|
|
11
|
+
*
|
|
12
|
+
* const ast = parse('{ hero { name } }');
|
|
13
|
+
* const text = print(ast);
|
|
14
|
+
*
|
|
15
|
+
* text; // => '{\n hero {\n name\n }\n}'
|
|
16
|
+
* ```
|
|
5
17
|
*/
|
|
6
18
|
export declare function print(ast: ASTNode): string;
|
package/language/printer.js
CHANGED
|
@@ -11,9 +11,22 @@ var _printString = require('./printString.js');
|
|
|
11
11
|
|
|
12
12
|
var _visitor = require('./visitor.js');
|
|
13
13
|
|
|
14
|
+
/** @category Printing */
|
|
15
|
+
|
|
14
16
|
/**
|
|
15
17
|
* Converts an AST into a string, using one set of reasonable
|
|
16
18
|
* formatting rules.
|
|
19
|
+
* @param ast - The GraphQL AST node to print.
|
|
20
|
+
* @returns A stable string representation of the AST.
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { parse, print } from 'graphql';
|
|
24
|
+
*
|
|
25
|
+
* const ast = parse('{ hero { name } }');
|
|
26
|
+
* const text = print(ast);
|
|
27
|
+
*
|
|
28
|
+
* text; // => '{\n hero {\n name\n }\n}'
|
|
29
|
+
* ```
|
|
17
30
|
*/
|
|
18
31
|
function print(ast) {
|
|
19
32
|
return (0, _visitor.visit)(ast, printDocASTReducer);
|
|
@@ -342,6 +355,8 @@ const printDocASTReducer = {
|
|
|
342
355
|
/**
|
|
343
356
|
* Given maybeArray, print an empty string if it is null or empty, otherwise
|
|
344
357
|
* print all items together separated by separator if provided
|
|
358
|
+
*
|
|
359
|
+
* @internal
|
|
345
360
|
*/
|
|
346
361
|
|
|
347
362
|
function join(maybeArray, separator = '') {
|
|
@@ -357,6 +372,8 @@ function join(maybeArray, separator = '') {
|
|
|
357
372
|
}
|
|
358
373
|
/**
|
|
359
374
|
* Given array, print each item on its own line, wrapped in an indented `{ }` block.
|
|
375
|
+
*
|
|
376
|
+
* @internal
|
|
360
377
|
*/
|
|
361
378
|
|
|
362
379
|
function block(array) {
|
|
@@ -364,6 +381,8 @@ function block(array) {
|
|
|
364
381
|
}
|
|
365
382
|
/**
|
|
366
383
|
* If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.
|
|
384
|
+
*
|
|
385
|
+
* @internal
|
|
367
386
|
*/
|
|
368
387
|
|
|
369
388
|
function wrap(start, maybeString, end = '') {
|
package/language/printer.mjs
CHANGED
|
@@ -1,9 +1,21 @@
|
|
|
1
|
+
/** @category Printing */
|
|
1
2
|
import { printBlockString } from './blockString.mjs';
|
|
2
3
|
import { printString } from './printString.mjs';
|
|
3
4
|
import { visit } from './visitor.mjs';
|
|
4
5
|
/**
|
|
5
6
|
* Converts an AST into a string, using one set of reasonable
|
|
6
7
|
* formatting rules.
|
|
8
|
+
* @param ast - The GraphQL AST node to print.
|
|
9
|
+
* @returns A stable string representation of the AST.
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { parse, print } from 'graphql';
|
|
13
|
+
*
|
|
14
|
+
* const ast = parse('{ hero { name } }');
|
|
15
|
+
* const text = print(ast);
|
|
16
|
+
*
|
|
17
|
+
* text; // => '{\n hero {\n name\n }\n}'
|
|
18
|
+
* ```
|
|
7
19
|
*/
|
|
8
20
|
|
|
9
21
|
export function print(ast) {
|
|
@@ -330,6 +342,8 @@ const printDocASTReducer = {
|
|
|
330
342
|
/**
|
|
331
343
|
* Given maybeArray, print an empty string if it is null or empty, otherwise
|
|
332
344
|
* print all items together separated by separator if provided
|
|
345
|
+
*
|
|
346
|
+
* @internal
|
|
333
347
|
*/
|
|
334
348
|
|
|
335
349
|
function join(maybeArray, separator = '') {
|
|
@@ -345,6 +359,8 @@ function join(maybeArray, separator = '') {
|
|
|
345
359
|
}
|
|
346
360
|
/**
|
|
347
361
|
* Given array, print each item on its own line, wrapped in an indented `{ }` block.
|
|
362
|
+
*
|
|
363
|
+
* @internal
|
|
348
364
|
*/
|
|
349
365
|
|
|
350
366
|
function block(array) {
|
|
@@ -352,6 +368,8 @@ function block(array) {
|
|
|
352
368
|
}
|
|
353
369
|
/**
|
|
354
370
|
* If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.
|
|
371
|
+
*
|
|
372
|
+
* @internal
|
|
355
373
|
*/
|
|
356
374
|
|
|
357
375
|
function wrap(start, maybeString, end = '') {
|
|
@@ -8,16 +8,14 @@ import type { Source } from './source';
|
|
|
8
8
|
* source lexes, the final Token emitted by the lexer will be of kind
|
|
9
9
|
* EOF, after which the lexer will repeatedly return the same EOF token
|
|
10
10
|
* whenever called.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
11
13
|
*/
|
|
12
14
|
export declare class SchemaCoordinateLexer implements LexerInterface {
|
|
13
15
|
source: Source;
|
|
14
|
-
/**
|
|
15
|
-
* The previously focused non-ignored token.
|
|
16
|
-
*/
|
|
16
|
+
/** The previously focused non-ignored token. */
|
|
17
17
|
lastToken: Token;
|
|
18
|
-
/**
|
|
19
|
-
* The currently focused non-ignored token.
|
|
20
|
-
*/
|
|
18
|
+
/** The currently focused non-ignored token. */
|
|
21
19
|
token: Token;
|
|
22
20
|
/**
|
|
23
21
|
* The (1-indexed) line containing the current token.
|
|
@@ -33,11 +31,15 @@ export declare class SchemaCoordinateLexer implements LexerInterface {
|
|
|
33
31
|
get [Symbol.toStringTag](): string;
|
|
34
32
|
/**
|
|
35
33
|
* Advances the token stream to the next non-ignored token.
|
|
34
|
+
*
|
|
35
|
+
* @internal
|
|
36
36
|
*/
|
|
37
37
|
advance(): Token;
|
|
38
38
|
/**
|
|
39
39
|
* Looks ahead and returns the next non-ignored token, but does not change
|
|
40
40
|
* the current Lexer token.
|
|
41
|
+
*
|
|
42
|
+
* @internal
|
|
41
43
|
*/
|
|
42
44
|
lookahead(): Token;
|
|
43
45
|
}
|
|
@@ -22,15 +22,13 @@ var _tokenKind = require('./tokenKind.js');
|
|
|
22
22
|
* source lexes, the final Token emitted by the lexer will be of kind
|
|
23
23
|
* EOF, after which the lexer will repeatedly return the same EOF token
|
|
24
24
|
* whenever called.
|
|
25
|
+
*
|
|
26
|
+
* @internal
|
|
25
27
|
*/
|
|
26
28
|
class SchemaCoordinateLexer {
|
|
27
|
-
/**
|
|
28
|
-
* The previously focused non-ignored token.
|
|
29
|
-
*/
|
|
29
|
+
/** The previously focused non-ignored token. */
|
|
30
30
|
|
|
31
|
-
/**
|
|
32
|
-
* The currently focused non-ignored token.
|
|
33
|
-
*/
|
|
31
|
+
/** The currently focused non-ignored token. */
|
|
34
32
|
|
|
35
33
|
/**
|
|
36
34
|
* The (1-indexed) line containing the current token.
|
|
@@ -62,6 +60,8 @@ class SchemaCoordinateLexer {
|
|
|
62
60
|
}
|
|
63
61
|
/**
|
|
64
62
|
* Advances the token stream to the next non-ignored token.
|
|
63
|
+
*
|
|
64
|
+
* @internal
|
|
65
65
|
*/
|
|
66
66
|
|
|
67
67
|
advance() {
|
|
@@ -72,6 +72,8 @@ class SchemaCoordinateLexer {
|
|
|
72
72
|
/**
|
|
73
73
|
* Looks ahead and returns the next non-ignored token, but does not change
|
|
74
74
|
* the current Lexer token.
|
|
75
|
+
*
|
|
76
|
+
* @internal
|
|
75
77
|
*/
|
|
76
78
|
|
|
77
79
|
lookahead() {
|
|
@@ -92,6 +94,8 @@ class SchemaCoordinateLexer {
|
|
|
92
94
|
}
|
|
93
95
|
/**
|
|
94
96
|
* Gets the next token from the source starting at the given position.
|
|
97
|
+
*
|
|
98
|
+
* @internal
|
|
95
99
|
*/
|
|
96
100
|
|
|
97
101
|
exports.SchemaCoordinateLexer = SchemaCoordinateLexer;
|
|
@@ -10,16 +10,14 @@ import { TokenKind } from './tokenKind.mjs';
|
|
|
10
10
|
* source lexes, the final Token emitted by the lexer will be of kind
|
|
11
11
|
* EOF, after which the lexer will repeatedly return the same EOF token
|
|
12
12
|
* whenever called.
|
|
13
|
+
*
|
|
14
|
+
* @internal
|
|
13
15
|
*/
|
|
14
16
|
|
|
15
17
|
export class SchemaCoordinateLexer {
|
|
16
|
-
/**
|
|
17
|
-
* The previously focused non-ignored token.
|
|
18
|
-
*/
|
|
18
|
+
/** The previously focused non-ignored token. */
|
|
19
19
|
|
|
20
|
-
/**
|
|
21
|
-
* The currently focused non-ignored token.
|
|
22
|
-
*/
|
|
20
|
+
/** The currently focused non-ignored token. */
|
|
23
21
|
|
|
24
22
|
/**
|
|
25
23
|
* The (1-indexed) line containing the current token.
|
|
@@ -45,6 +43,8 @@ export class SchemaCoordinateLexer {
|
|
|
45
43
|
}
|
|
46
44
|
/**
|
|
47
45
|
* Advances the token stream to the next non-ignored token.
|
|
46
|
+
*
|
|
47
|
+
* @internal
|
|
48
48
|
*/
|
|
49
49
|
|
|
50
50
|
advance() {
|
|
@@ -55,6 +55,8 @@ export class SchemaCoordinateLexer {
|
|
|
55
55
|
/**
|
|
56
56
|
* Looks ahead and returns the next non-ignored token, but does not change
|
|
57
57
|
* the current Lexer token.
|
|
58
|
+
*
|
|
59
|
+
* @internal
|
|
58
60
|
*/
|
|
59
61
|
|
|
60
62
|
lookahead() {
|
|
@@ -75,6 +77,8 @@ export class SchemaCoordinateLexer {
|
|
|
75
77
|
}
|
|
76
78
|
/**
|
|
77
79
|
* Gets the next token from the source starting at the given position.
|
|
80
|
+
*
|
|
81
|
+
* @internal
|
|
78
82
|
*/
|
|
79
83
|
|
|
80
84
|
function readNextToken(lexer, start) {
|
package/language/source.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category Source */
|
|
1
2
|
interface Location {
|
|
2
3
|
line: number;
|
|
3
4
|
column: number;
|
|
@@ -10,10 +11,37 @@ interface Location {
|
|
|
10
11
|
* The `line` and `column` properties in `locationOffset` are 1-indexed.
|
|
11
12
|
*/
|
|
12
13
|
export declare class Source {
|
|
14
|
+
/** The GraphQL source text. */
|
|
13
15
|
body: string;
|
|
16
|
+
/** Name used in diagnostics for this source, such as a file path or request name. */
|
|
14
17
|
name: string;
|
|
18
|
+
/** One-indexed line and column where this source begins. */
|
|
15
19
|
locationOffset: Location;
|
|
20
|
+
/**
|
|
21
|
+
* Creates a Source instance.
|
|
22
|
+
* @param body - The GraphQL source text.
|
|
23
|
+
* @param name - Name used in diagnostics for this source.
|
|
24
|
+
* @param locationOffset - One-indexed line and column where this source begins.
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* import { Source } from 'graphql/language';
|
|
28
|
+
*
|
|
29
|
+
* const source = new Source(
|
|
30
|
+
* 'type Query { greeting: String }',
|
|
31
|
+
* 'schema.graphql',
|
|
32
|
+
* { line: 10, column: 1 },
|
|
33
|
+
* );
|
|
34
|
+
*
|
|
35
|
+
* source.body; // => 'type Query { greeting: String }'
|
|
36
|
+
* source.name; // => 'schema.graphql'
|
|
37
|
+
* source.locationOffset; // => { line: 10, column: 1 }
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
16
40
|
constructor(body: string, name?: string, locationOffset?: Location);
|
|
41
|
+
/**
|
|
42
|
+
* Returns the value used by `Object.prototype.toString`.
|
|
43
|
+
* @returns The built-in string tag for this object.
|
|
44
|
+
*/
|
|
17
45
|
get [Symbol.toStringTag](): string;
|
|
18
46
|
}
|
|
19
47
|
/**
|
package/language/source.js
CHANGED
|
@@ -12,6 +12,8 @@ var _inspect = require('../jsutils/inspect.js');
|
|
|
12
12
|
|
|
13
13
|
var _instanceOf = require('../jsutils/instanceOf.js');
|
|
14
14
|
|
|
15
|
+
/** @category Source */
|
|
16
|
+
|
|
15
17
|
/**
|
|
16
18
|
* A representation of source input to GraphQL. The `name` and `locationOffset` parameters are
|
|
17
19
|
* optional, but they are useful for clients who store GraphQL documents in source files.
|
|
@@ -20,6 +22,32 @@ var _instanceOf = require('../jsutils/instanceOf.js');
|
|
|
20
22
|
* The `line` and `column` properties in `locationOffset` are 1-indexed.
|
|
21
23
|
*/
|
|
22
24
|
class Source {
|
|
25
|
+
/** The GraphQL source text. */
|
|
26
|
+
|
|
27
|
+
/** Name used in diagnostics for this source, such as a file path or request name. */
|
|
28
|
+
|
|
29
|
+
/** One-indexed line and column where this source begins. */
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Creates a Source instance.
|
|
33
|
+
* @param body - The GraphQL source text.
|
|
34
|
+
* @param name - Name used in diagnostics for this source.
|
|
35
|
+
* @param locationOffset - One-indexed line and column where this source begins.
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* import { Source } from 'graphql/language';
|
|
39
|
+
*
|
|
40
|
+
* const source = new Source(
|
|
41
|
+
* 'type Query { greeting: String }',
|
|
42
|
+
* 'schema.graphql',
|
|
43
|
+
* { line: 10, column: 1 },
|
|
44
|
+
* );
|
|
45
|
+
*
|
|
46
|
+
* source.body; // => 'type Query { greeting: String }'
|
|
47
|
+
* source.name; // => 'schema.graphql'
|
|
48
|
+
* source.locationOffset; // => { line: 10, column: 1 }
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
23
51
|
constructor(
|
|
24
52
|
body,
|
|
25
53
|
name = 'GraphQL request',
|
|
@@ -47,6 +75,10 @@ class Source {
|
|
|
47
75
|
'column in locationOffset is 1-indexed and must be positive.',
|
|
48
76
|
);
|
|
49
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Returns the value used by `Object.prototype.toString`.
|
|
80
|
+
* @returns The built-in string tag for this object.
|
|
81
|
+
*/
|
|
50
82
|
|
|
51
83
|
get [Symbol.toStringTag]() {
|
|
52
84
|
return 'Source';
|
package/language/source.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category Source */
|
|
1
2
|
import { devAssert } from '../jsutils/devAssert.mjs';
|
|
2
3
|
import { inspect } from '../jsutils/inspect.mjs';
|
|
3
4
|
import { instanceOf } from '../jsutils/instanceOf.mjs';
|
|
@@ -10,6 +11,32 @@ import { instanceOf } from '../jsutils/instanceOf.mjs';
|
|
|
10
11
|
* The `line` and `column` properties in `locationOffset` are 1-indexed.
|
|
11
12
|
*/
|
|
12
13
|
export class Source {
|
|
14
|
+
/** The GraphQL source text. */
|
|
15
|
+
|
|
16
|
+
/** Name used in diagnostics for this source, such as a file path or request name. */
|
|
17
|
+
|
|
18
|
+
/** One-indexed line and column where this source begins. */
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Creates a Source instance.
|
|
22
|
+
* @param body - The GraphQL source text.
|
|
23
|
+
* @param name - Name used in diagnostics for this source.
|
|
24
|
+
* @param locationOffset - One-indexed line and column where this source begins.
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* import { Source } from 'graphql/language';
|
|
28
|
+
*
|
|
29
|
+
* const source = new Source(
|
|
30
|
+
* 'type Query { greeting: String }',
|
|
31
|
+
* 'schema.graphql',
|
|
32
|
+
* { line: 10, column: 1 },
|
|
33
|
+
* );
|
|
34
|
+
*
|
|
35
|
+
* source.body; // => 'type Query { greeting: String }'
|
|
36
|
+
* source.name; // => 'schema.graphql'
|
|
37
|
+
* source.locationOffset; // => { line: 10, column: 1 }
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
13
40
|
constructor(
|
|
14
41
|
body,
|
|
15
42
|
name = 'GraphQL request',
|
|
@@ -34,6 +61,10 @@ export class Source {
|
|
|
34
61
|
'column in locationOffset is 1-indexed and must be positive.',
|
|
35
62
|
);
|
|
36
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Returns the value used by `Object.prototype.toString`.
|
|
66
|
+
* @returns The built-in string tag for this object.
|
|
67
|
+
*/
|
|
37
68
|
|
|
38
69
|
get [Symbol.toStringTag]() {
|
|
39
70
|
return 'Source';
|
package/language/tokenKind.d.ts
CHANGED
|
@@ -1,36 +1,63 @@
|
|
|
1
|
+
/** @category Lexing */
|
|
1
2
|
/**
|
|
2
3
|
* An exported enum describing the different kinds of tokens that the
|
|
3
4
|
* lexer emits.
|
|
4
5
|
*/
|
|
5
6
|
declare enum TokenKind {
|
|
7
|
+
/** Start-of-file token. */
|
|
6
8
|
SOF = '<SOF>',
|
|
9
|
+
/** End-of-file token. */
|
|
7
10
|
EOF = '<EOF>',
|
|
11
|
+
/** The `!` punctuation token. */
|
|
8
12
|
BANG = '!',
|
|
13
|
+
/** The `$` punctuation token. */
|
|
9
14
|
DOLLAR = '$',
|
|
15
|
+
/** The `&` punctuation token. */
|
|
10
16
|
AMP = '&',
|
|
17
|
+
/** The `(` punctuation token. */
|
|
11
18
|
PAREN_L = '(',
|
|
19
|
+
/** The `)` punctuation token. */
|
|
12
20
|
PAREN_R = ')',
|
|
21
|
+
/** The `.` punctuation token. */
|
|
13
22
|
DOT = '.',
|
|
23
|
+
/** The `...` spread punctuation token. */
|
|
14
24
|
SPREAD = '...',
|
|
25
|
+
/** The `:` punctuation token. */
|
|
15
26
|
COLON = ':',
|
|
27
|
+
/** The `=` punctuation token. */
|
|
16
28
|
EQUALS = '=',
|
|
29
|
+
/** The `@` punctuation token. */
|
|
17
30
|
AT = '@',
|
|
31
|
+
/** The `[` punctuation token. */
|
|
18
32
|
BRACKET_L = '[',
|
|
33
|
+
/** The `]` punctuation token. */
|
|
19
34
|
BRACKET_R = ']',
|
|
35
|
+
/** The `{` punctuation token. */
|
|
20
36
|
BRACE_L = '{',
|
|
37
|
+
/** The `|` punctuation token. */
|
|
21
38
|
PIPE = '|',
|
|
39
|
+
/** The `}` punctuation token. */
|
|
22
40
|
BRACE_R = '}',
|
|
41
|
+
/** A GraphQL name token or name AST node. */
|
|
23
42
|
NAME = 'Name',
|
|
43
|
+
/** An integer value token or AST node. */
|
|
24
44
|
INT = 'Int',
|
|
45
|
+
/** A floating-point value token or AST node. */
|
|
25
46
|
FLOAT = 'Float',
|
|
47
|
+
/** A string value token or AST node. */
|
|
26
48
|
STRING = 'String',
|
|
49
|
+
/** A block string value token. */
|
|
27
50
|
BLOCK_STRING = 'BlockString',
|
|
51
|
+
/** A comment token. */
|
|
28
52
|
COMMENT = 'Comment',
|
|
29
53
|
}
|
|
30
54
|
export { TokenKind };
|
|
31
55
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
56
|
+
* Deprecated legacy alias for the enum type representing token kind values.
|
|
57
|
+
* This alias will be removed in v17. In v17, `TokenKind` is exported as the
|
|
58
|
+
* single public symbol for both the runtime object and the corresponding
|
|
59
|
+
* TypeScript type.
|
|
60
|
+
* @deprecated Will be removed in v17. In v17, use `TokenKind` as both the
|
|
61
|
+
* runtime value and the type.
|
|
35
62
|
*/
|
|
36
63
|
export declare type TokenKindEnum = typeof TokenKind;
|
package/language/tokenKind.js
CHANGED
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
5
5
|
});
|
|
6
6
|
exports.TokenKind = void 0;
|
|
7
7
|
|
|
8
|
+
/** @category Lexing */
|
|
9
|
+
|
|
8
10
|
/**
|
|
9
11
|
* An exported enum describing the different kinds of tokens that the
|
|
10
12
|
* lexer emits.
|
|
@@ -38,7 +40,10 @@ exports.TokenKind = TokenKind;
|
|
|
38
40
|
TokenKind['COMMENT'] = 'Comment';
|
|
39
41
|
})(TokenKind || (exports.TokenKind = TokenKind = {}));
|
|
40
42
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
43
|
+
* Deprecated legacy alias for the enum type representing token kind values.
|
|
44
|
+
* This alias will be removed in v17. In v17, `TokenKind` is exported as the
|
|
45
|
+
* single public symbol for both the runtime object and the corresponding
|
|
46
|
+
* TypeScript type.
|
|
47
|
+
* @deprecated Will be removed in v17. In v17, use `TokenKind` as both the
|
|
48
|
+
* runtime value and the type.
|
|
44
49
|
*/
|
package/language/tokenKind.mjs
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** @category Lexing */
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* An exported enum describing the different kinds of tokens that the
|
|
3
5
|
* lexer emits.
|
|
@@ -32,7 +34,10 @@ var TokenKind;
|
|
|
32
34
|
|
|
33
35
|
export { TokenKind };
|
|
34
36
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
37
|
+
* Deprecated legacy alias for the enum type representing token kind values.
|
|
38
|
+
* This alias will be removed in v17. In v17, `TokenKind` is exported as the
|
|
39
|
+
* single public symbol for both the runtime object and the corresponding
|
|
40
|
+
* TypeScript type.
|
|
41
|
+
* @deprecated Will be removed in v17. In v17, use `TokenKind` as both the
|
|
42
|
+
* runtime value and the type.
|
|
38
43
|
*/
|