graphql 0.0.1-test.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/LICENSE +21 -0
- package/NotSupportedTSVersion.d.ts +1 -0
- package/README.md +158 -0
- package/error/GraphQLError.d.ts +142 -0
- package/error/GraphQLError.js +267 -0
- package/error/GraphQLError.mjs +253 -0
- package/error/index.d.ts +7 -0
- package/error/index.js +41 -0
- package/error/index.mjs +3 -0
- package/error/locatedError.d.ts +13 -0
- package/error/locatedError.js +40 -0
- package/error/locatedError.mjs +32 -0
- package/error/syntaxError.d.ts +11 -0
- package/error/syntaxError.js +21 -0
- package/error/syntaxError.mjs +11 -0
- package/execution/collectFields.d.ts +45 -0
- package/execution/collectFields.js +229 -0
- package/execution/collectFields.mjs +213 -0
- package/execution/execute.d.ts +185 -0
- package/execution/execute.js +1016 -0
- package/execution/execute.mjs +988 -0
- package/execution/index.d.ts +14 -0
- package/execution/index.js +67 -0
- package/execution/index.mjs +9 -0
- package/execution/mapAsyncIterator.d.ts +9 -0
- package/execution/mapAsyncIterator.js +68 -0
- package/execution/mapAsyncIterator.mjs +61 -0
- package/execution/subscribe.d.ts +68 -0
- package/execution/subscribe.js +261 -0
- package/execution/subscribe.mjs +239 -0
- package/execution/values.d.ts +81 -0
- package/execution/values.js +292 -0
- package/execution/values.mjs +255 -0
- package/graphql.d.ts +67 -0
- package/graphql.js +96 -0
- package/graphql.mjs +122 -0
- package/index.d.ts +411 -0
- package/index.js +1263 -0
- package/index.mjs +254 -0
- package/jsutils/Maybe.d.ts +2 -0
- package/jsutils/Maybe.js +5 -0
- package/jsutils/Maybe.mjs +1 -0
- package/jsutils/ObjMap.d.ts +16 -0
- package/jsutils/ObjMap.js +5 -0
- package/jsutils/ObjMap.mjs +1 -0
- package/jsutils/Path.d.ts +20 -0
- package/jsutils/Path.js +33 -0
- package/jsutils/Path.mjs +25 -0
- package/jsutils/PromiseOrValue.d.ts +1 -0
- package/jsutils/PromiseOrValue.js +5 -0
- package/jsutils/PromiseOrValue.mjs +1 -0
- package/jsutils/devAssert.d.ts +1 -0
- package/jsutils/devAssert.js +14 -0
- package/jsutils/devAssert.mjs +7 -0
- package/jsutils/didYouMean.d.ts +8 -0
- package/jsutils/didYouMean.js +38 -0
- package/jsutils/didYouMean.mjs +32 -0
- package/jsutils/groupBy.d.ts +7 -0
- package/jsutils/groupBy.js +26 -0
- package/jsutils/groupBy.mjs +19 -0
- package/jsutils/identityFunc.d.ts +4 -0
- package/jsutils/identityFunc.js +13 -0
- package/jsutils/identityFunc.mjs +6 -0
- package/jsutils/inspect.d.ts +4 -0
- package/jsutils/inspect.js +121 -0
- package/jsutils/inspect.mjs +115 -0
- package/jsutils/instanceOf.d.ts +16 -0
- package/jsutils/instanceOf.js +60 -0
- package/jsutils/instanceOf.mjs +52 -0
- package/jsutils/invariant.d.ts +4 -0
- package/jsutils/invariant.js +16 -0
- package/jsutils/invariant.mjs +9 -0
- package/jsutils/isAsyncIterable.d.ts +7 -0
- package/jsutils/isAsyncIterable.js +18 -0
- package/jsutils/isAsyncIterable.mjs +11 -0
- package/jsutils/isIterableObject.d.ts +20 -0
- package/jsutils/isIterableObject.js +32 -0
- package/jsutils/isIterableObject.mjs +25 -0
- package/jsutils/isObjectLike.d.ts +7 -0
- package/jsutils/isObjectLike.js +14 -0
- package/jsutils/isObjectLike.mjs +7 -0
- package/jsutils/isPromise.d.ts +5 -0
- package/jsutils/isPromise.js +17 -0
- package/jsutils/isPromise.mjs +10 -0
- package/jsutils/keyMap.d.ts +32 -0
- package/jsutils/keyMap.js +43 -0
- package/jsutils/keyMap.mjs +36 -0
- package/jsutils/keyValMap.d.ts +23 -0
- package/jsutils/keyValMap.js +33 -0
- package/jsutils/keyValMap.mjs +26 -0
- package/jsutils/mapValue.d.ts +9 -0
- package/jsutils/mapValue.js +20 -0
- package/jsutils/mapValue.mjs +13 -0
- package/jsutils/memoize3.d.ts +9 -0
- package/jsutils/memoize3.js +41 -0
- package/jsutils/memoize3.mjs +34 -0
- package/jsutils/naturalCompare.d.ts +8 -0
- package/jsutils/naturalCompare.js +69 -0
- package/jsutils/naturalCompare.mjs +61 -0
- package/jsutils/printPathArray.d.ts +6 -0
- package/jsutils/printPathArray.js +17 -0
- package/jsutils/printPathArray.mjs +10 -0
- package/jsutils/promiseForObject.d.ts +11 -0
- package/jsutils/promiseForObject.js +25 -0
- package/jsutils/promiseForObject.mjs +18 -0
- package/jsutils/promiseReduce.d.ts +13 -0
- package/jsutils/promiseReduce.js +27 -0
- package/jsutils/promiseReduce.mjs +20 -0
- package/jsutils/suggestionList.d.ts +8 -0
- package/jsutils/suggestionList.js +139 -0
- package/jsutils/suggestionList.mjs +130 -0
- package/jsutils/toError.d.ts +4 -0
- package/jsutils/toError.js +25 -0
- package/jsutils/toError.mjs +18 -0
- package/jsutils/toObjMap.d.ts +5 -0
- package/jsutils/toObjMap.js +24 -0
- package/jsutils/toObjMap.mjs +17 -0
- package/language/ast.d.ts +536 -0
- package/language/ast.js +224 -0
- package/language/ast.mjs +206 -0
- package/language/blockString.d.ts +28 -0
- package/language/blockString.js +195 -0
- package/language/blockString.mjs +178 -0
- package/language/characterClasses.d.ts +47 -0
- package/language/characterClasses.js +75 -0
- package/language/characterClasses.mjs +64 -0
- package/language/directiveLocation.d.ts +32 -0
- package/language/directiveLocation.js +40 -0
- package/language/directiveLocation.mjs +31 -0
- package/language/index.d.ts +97 -0
- package/language/index.js +215 -0
- package/language/index.mjs +29 -0
- package/language/kinds.d.ts +65 -0
- package/language/kinds.js +64 -0
- package/language/kinds.mjs +55 -0
- package/language/lexer.d.ts +45 -0
- package/language/lexer.js +1006 -0
- package/language/lexer.mjs +902 -0
- package/language/location.d.ts +16 -0
- package/language/location.js +38 -0
- package/language/location.mjs +30 -0
- package/language/parser.d.ts +554 -0
- package/language/parser.js +1567 -0
- package/language/parser.mjs +1524 -0
- package/language/predicates.d.ts +33 -0
- package/language/predicates.js +109 -0
- package/language/predicates.mjs +81 -0
- package/language/printLocation.d.ts +14 -0
- package/language/printLocation.js +74 -0
- package/language/printLocation.mjs +66 -0
- package/language/printString.d.ts +5 -0
- package/language/printString.js +183 -0
- package/language/printString.mjs +176 -0
- package/language/printer.d.ts +6 -0
- package/language/printer.js +351 -0
- package/language/printer.mjs +339 -0
- package/language/source.d.ts +25 -0
- package/language/source.js +65 -0
- package/language/source.mjs +50 -0
- package/language/tokenKind.d.ts +34 -0
- package/language/tokenKind.js +44 -0
- package/language/tokenKind.mjs +35 -0
- package/language/visitor.d.ts +194 -0
- package/language/visitor.js +377 -0
- package/language/visitor.mjs +361 -0
- package/package.json +40 -0
- package/subscription/index.d.ts +19 -0
- package/subscription/index.js +19 -0
- package/subscription/index.mjs +19 -0
- package/type/assertName.d.ts +10 -0
- package/type/assertName.js +59 -0
- package/type/assertName.mjs +44 -0
- package/type/definition.d.ts +917 -0
- package/type/definition.js +1329 -0
- package/type/definition.mjs +1167 -0
- package/type/directives.d.ts +86 -0
- package/type/directives.js +224 -0
- package/type/directives.mjs +190 -0
- package/type/index.d.ts +150 -0
- package/type/index.js +547 -0
- package/type/index.mjs +103 -0
- package/type/introspection.d.ts +29 -0
- package/type/introspection.js +617 -0
- package/type/introspection.mjs +550 -0
- package/type/scalars.d.ts +19 -0
- package/type/scalars.js +359 -0
- package/type/scalars.mjs +299 -0
- package/type/schema.d.ts +170 -0
- package/type/schema.js +402 -0
- package/type/schema.mjs +381 -0
- package/type/validate.d.ts +17 -0
- package/type/validate.js +672 -0
- package/type/validate.mjs +647 -0
- package/utilities/TypeInfo.d.ts +67 -0
- package/utilities/TypeInfo.js +418 -0
- package/utilities/TypeInfo.mjs +395 -0
- package/utilities/assertValidName.d.ts +13 -0
- package/utilities/assertValidName.js +51 -0
- package/utilities/assertValidName.mjs +40 -0
- package/utilities/astFromValue.d.ts +28 -0
- package/utilities/astFromValue.js +190 -0
- package/utilities/astFromValue.mjs +177 -0
- package/utilities/buildASTSchema.d.ts +35 -0
- package/utilities/buildASTSchema.js +115 -0
- package/utilities/buildASTSchema.mjs +97 -0
- package/utilities/buildClientSchema.d.ts +19 -0
- package/utilities/buildClientSchema.js +386 -0
- package/utilities/buildClientSchema.mjs +363 -0
- package/utilities/coerceInputValue.d.ts +16 -0
- package/utilities/coerceInputValue.js +191 -0
- package/utilities/coerceInputValue.mjs +172 -0
- package/utilities/concatAST.d.ts +9 -0
- package/utilities/concatAST.js +26 -0
- package/utilities/concatAST.mjs +19 -0
- package/utilities/extendSchema.d.ts +40 -0
- package/utilities/extendSchema.js +798 -0
- package/utilities/extendSchema.mjs +789 -0
- package/utilities/findBreakingChanges.d.ts +51 -0
- package/utilities/findBreakingChanges.js +547 -0
- package/utilities/findBreakingChanges.mjs +516 -0
- package/utilities/getIntrospectionQuery.d.ts +182 -0
- package/utilities/getIntrospectionQuery.js +134 -0
- package/utilities/getIntrospectionQuery.mjs +127 -0
- package/utilities/getOperationAST.d.ts +11 -0
- package/utilities/getOperationAST.js +43 -0
- package/utilities/getOperationAST.mjs +36 -0
- package/utilities/getOperationRootType.d.ts +15 -0
- package/utilities/getOperationRootType.js +59 -0
- package/utilities/getOperationRootType.mjs +52 -0
- package/utilities/index.d.ts +61 -0
- package/utilities/index.js +233 -0
- package/utilities/index.mjs +55 -0
- package/utilities/introspectionFromSchema.d.ts +18 -0
- package/utilities/introspectionFromSchema.js +42 -0
- package/utilities/introspectionFromSchema.mjs +30 -0
- package/utilities/lexicographicSortSchema.d.ts +9 -0
- package/utilities/lexicographicSortSchema.js +177 -0
- package/utilities/lexicographicSortSchema.mjs +172 -0
- package/utilities/printSchema.d.ts +5 -0
- package/utilities/printSchema.js +333 -0
- package/utilities/printSchema.mjs +309 -0
- package/utilities/separateOperations.d.ts +11 -0
- package/utilities/separateOperations.js +88 -0
- package/utilities/separateOperations.mjs +80 -0
- package/utilities/sortValueNode.d.ts +9 -0
- package/utilities/sortValueNode.js +47 -0
- package/utilities/sortValueNode.mjs +39 -0
- package/utilities/stripIgnoredCharacters.d.ts +62 -0
- package/utilities/stripIgnoredCharacters.js +121 -0
- package/utilities/stripIgnoredCharacters.mjs +104 -0
- package/utilities/typeComparators.d.ts +32 -0
- package/utilities/typeComparators.js +116 -0
- package/utilities/typeComparators.mjs +106 -0
- package/utilities/typeFromAST.d.ts +32 -0
- package/utilities/typeFromAST.js +27 -0
- package/utilities/typeFromAST.mjs +18 -0
- package/utilities/typedQueryDocumentNode.d.ts +22 -0
- package/utilities/typedQueryDocumentNode.js +5 -0
- package/utilities/typedQueryDocumentNode.mjs +1 -0
- package/utilities/valueFromAST.d.ts +29 -0
- package/utilities/valueFromAST.js +185 -0
- package/utilities/valueFromAST.mjs +172 -0
- package/utilities/valueFromASTUntyped.d.ts +23 -0
- package/utilities/valueFromASTUntyped.js +61 -0
- package/utilities/valueFromASTUntyped.mjs +53 -0
- package/validation/ValidationContext.d.ts +95 -0
- package/validation/ValidationContext.js +232 -0
- package/validation/ValidationContext.mjs +212 -0
- package/validation/index.d.ts +40 -0
- package/validation/index.js +317 -0
- package/validation/index.mjs +68 -0
- package/validation/rules/ExecutableDefinitionsRule.d.ts +13 -0
- package/validation/rules/ExecutableDefinitionsRule.js +44 -0
- package/validation/rules/ExecutableDefinitionsRule.mjs +35 -0
- package/validation/rules/FieldsOnCorrectTypeRule.d.ts +13 -0
- package/validation/rules/FieldsOnCorrectTypeRule.js +143 -0
- package/validation/rules/FieldsOnCorrectTypeRule.mjs +125 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +14 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.js +65 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.mjs +49 -0
- package/validation/rules/KnownArgumentNamesRule.d.ts +23 -0
- package/validation/rules/KnownArgumentNamesRule.js +116 -0
- package/validation/rules/KnownArgumentNamesRule.mjs +98 -0
- package/validation/rules/KnownDirectivesRule.d.ts +16 -0
- package/validation/rules/KnownDirectivesRule.js +163 -0
- package/validation/rules/KnownDirectivesRule.mjs +146 -0
- package/validation/rules/KnownFragmentNamesRule.d.ts +13 -0
- package/validation/rules/KnownFragmentNamesRule.js +34 -0
- package/validation/rules/KnownFragmentNamesRule.mjs +24 -0
- package/validation/rules/KnownTypeNamesRule.d.ts +16 -0
- package/validation/rules/KnownTypeNamesRule.js +87 -0
- package/validation/rules/KnownTypeNamesRule.mjs +75 -0
- package/validation/rules/LoneAnonymousOperationRule.d.ts +13 -0
- package/validation/rules/LoneAnonymousOperationRule.js +40 -0
- package/validation/rules/LoneAnonymousOperationRule.mjs +32 -0
- package/validation/rules/LoneSchemaDefinitionRule.d.ts +10 -0
- package/validation/rules/LoneSchemaDefinitionRule.js +63 -0
- package/validation/rules/LoneSchemaDefinitionRule.mjs +53 -0
- package/validation/rules/NoFragmentCyclesRule.d.ts +13 -0
- package/validation/rules/NoFragmentCyclesRule.js +83 -0
- package/validation/rules/NoFragmentCyclesRule.mjs +76 -0
- package/validation/rules/NoUndefinedVariablesRule.d.ts +13 -0
- package/validation/rules/NoUndefinedVariablesRule.js +50 -0
- package/validation/rules/NoUndefinedVariablesRule.mjs +43 -0
- package/validation/rules/NoUnusedFragmentsRule.d.ts +13 -0
- package/validation/rules/NoUnusedFragmentsRule.js +59 -0
- package/validation/rules/NoUnusedFragmentsRule.mjs +52 -0
- package/validation/rules/NoUnusedVariablesRule.d.ts +13 -0
- package/validation/rules/NoUnusedVariablesRule.js +55 -0
- package/validation/rules/NoUnusedVariablesRule.mjs +48 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule-old.js +805 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule-old.mjs +788 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +14 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +805 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +788 -0
- package/validation/rules/PossibleFragmentSpreadsRule.d.ts +12 -0
- package/validation/rules/PossibleFragmentSpreadsRule.js +91 -0
- package/validation/rules/PossibleFragmentSpreadsRule.mjs +69 -0
- package/validation/rules/PossibleTypeExtensionsRule.d.ts +10 -0
- package/validation/rules/PossibleTypeExtensionsRule.js +167 -0
- package/validation/rules/PossibleTypeExtensionsRule.mjs +147 -0
- package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +20 -0
- package/validation/rules/ProvidedRequiredArgumentsRule.js +158 -0
- package/validation/rules/ProvidedRequiredArgumentsRule.mjs +138 -0
- package/validation/rules/ScalarLeafsRule.d.ts +9 -0
- package/validation/rules/ScalarLeafsRule.js +51 -0
- package/validation/rules/ScalarLeafsRule.mjs +42 -0
- package/validation/rules/SingleFieldSubscriptionsRule.d.ts +13 -0
- package/validation/rules/SingleFieldSubscriptionsRule.js +82 -0
- package/validation/rules/SingleFieldSubscriptionsRule.mjs +73 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +11 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js +90 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +79 -0
- package/validation/rules/UniqueArgumentNamesRule.d.ts +13 -0
- package/validation/rules/UniqueArgumentNamesRule.js +53 -0
- package/validation/rules/UniqueArgumentNamesRule.mjs +42 -0
- package/validation/rules/UniqueDirectiveNamesRule.d.ts +10 -0
- package/validation/rules/UniqueDirectiveNamesRule.js +50 -0
- package/validation/rules/UniqueDirectiveNamesRule.mjs +43 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +16 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.js +93 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs +83 -0
- package/validation/rules/UniqueEnumValueNamesRule.d.ts +10 -0
- package/validation/rules/UniqueEnumValueNamesRule.js +71 -0
- package/validation/rules/UniqueEnumValueNamesRule.mjs +60 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +10 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +83 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +75 -0
- package/validation/rules/UniqueFragmentNamesRule.d.ts +12 -0
- package/validation/rules/UniqueFragmentNamesRule.js +39 -0
- package/validation/rules/UniqueFragmentNamesRule.mjs +32 -0
- package/validation/rules/UniqueInputFieldNamesRule.d.ts +13 -0
- package/validation/rules/UniqueInputFieldNamesRule.js +52 -0
- package/validation/rules/UniqueInputFieldNamesRule.mjs +44 -0
- package/validation/rules/UniqueOperationNamesRule.d.ts +12 -0
- package/validation/rules/UniqueOperationNamesRule.js +41 -0
- package/validation/rules/UniqueOperationNamesRule.mjs +34 -0
- package/validation/rules/UniqueOperationTypesRule.d.ts +10 -0
- package/validation/rules/UniqueOperationTypesRule.js +67 -0
- package/validation/rules/UniqueOperationTypesRule.mjs +60 -0
- package/validation/rules/UniqueTypeNamesRule.d.ts +10 -0
- package/validation/rules/UniqueTypeNamesRule.js +53 -0
- package/validation/rules/UniqueTypeNamesRule.mjs +46 -0
- package/validation/rules/UniqueVariableNamesRule.d.ts +10 -0
- package/validation/rules/UniqueVariableNamesRule.js +47 -0
- package/validation/rules/UniqueVariableNamesRule.mjs +39 -0
- package/validation/rules/ValuesOfCorrectTypeRule.d.ts +13 -0
- package/validation/rules/ValuesOfCorrectTypeRule.js +183 -0
- package/validation/rules/ValuesOfCorrectTypeRule.mjs +164 -0
- package/validation/rules/VariablesAreInputTypesRule.d.ts +13 -0
- package/validation/rules/VariablesAreInputTypesRule.js +44 -0
- package/validation/rules/VariablesAreInputTypesRule.mjs +31 -0
- package/validation/rules/VariablesInAllowedPositionRule.d.ts +12 -0
- package/validation/rules/VariablesInAllowedPositionRule.js +114 -0
- package/validation/rules/VariablesInAllowedPositionRule.mjs +95 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +15 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.js +121 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs +107 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +15 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +39 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +30 -0
- package/validation/specifiedRules.d.ts +12 -0
- package/validation/specifiedRules.js +160 -0
- package/validation/specifiedRules.mjs +123 -0
- package/validation/validate.d.ts +61 -0
- package/validation/validate.js +151 -0
- package/validation/validate.mjs +133 -0
- package/version.d.ts +13 -0
- package/version.js +25 -0
- package/version.mjs +17 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Source } from './source';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a location in a Source.
|
|
4
|
+
*/
|
|
5
|
+
export interface SourceLocation {
|
|
6
|
+
readonly line: number;
|
|
7
|
+
readonly column: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Takes a Source and a UTF-8 character offset, and returns the corresponding
|
|
11
|
+
* line and column as a SourceLocation.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getLocation(
|
|
14
|
+
source: Source,
|
|
15
|
+
position: number,
|
|
16
|
+
): SourceLocation;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true,
|
|
5
|
+
});
|
|
6
|
+
exports.getLocation = getLocation;
|
|
7
|
+
|
|
8
|
+
var _invariant = require('../jsutils/invariant.js');
|
|
9
|
+
|
|
10
|
+
const LineRegExp = /\r\n|[\n\r]/g;
|
|
11
|
+
/**
|
|
12
|
+
* Represents a location in a Source.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Takes a Source and a UTF-8 character offset, and returns the corresponding
|
|
17
|
+
* line and column as a SourceLocation.
|
|
18
|
+
*/
|
|
19
|
+
function getLocation(source, position) {
|
|
20
|
+
let lastLineStart = 0;
|
|
21
|
+
let line = 1;
|
|
22
|
+
|
|
23
|
+
for (const match of source.body.matchAll(LineRegExp)) {
|
|
24
|
+
typeof match.index === 'number' || (0, _invariant.invariant)(false);
|
|
25
|
+
|
|
26
|
+
if (match.index >= position) {
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
lastLineStart = match.index + match[0].length;
|
|
31
|
+
line += 1;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
line,
|
|
36
|
+
column: position + 1 - lastLineStart,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { invariant } from '../jsutils/invariant.mjs';
|
|
2
|
+
const LineRegExp = /\r\n|[\n\r]/g;
|
|
3
|
+
/**
|
|
4
|
+
* Represents a location in a Source.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Takes a Source and a UTF-8 character offset, and returns the corresponding
|
|
9
|
+
* line and column as a SourceLocation.
|
|
10
|
+
*/
|
|
11
|
+
export function getLocation(source, position) {
|
|
12
|
+
let lastLineStart = 0;
|
|
13
|
+
let line = 1;
|
|
14
|
+
|
|
15
|
+
for (const match of source.body.matchAll(LineRegExp)) {
|
|
16
|
+
typeof match.index === 'number' || invariant(false);
|
|
17
|
+
|
|
18
|
+
if (match.index >= position) {
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
lastLineStart = match.index + match[0].length;
|
|
23
|
+
line += 1;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return {
|
|
27
|
+
line,
|
|
28
|
+
column: position + 1 - lastLineStart,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
@@ -0,0 +1,554 @@
|
|
|
1
|
+
import type { Maybe } from '../jsutils/Maybe';
|
|
2
|
+
import type { GraphQLError } from '../error/GraphQLError';
|
|
3
|
+
import type {
|
|
4
|
+
ArgumentNode,
|
|
5
|
+
ConstArgumentNode,
|
|
6
|
+
ConstDirectiveNode,
|
|
7
|
+
ConstListValueNode,
|
|
8
|
+
ConstObjectFieldNode,
|
|
9
|
+
ConstObjectValueNode,
|
|
10
|
+
ConstValueNode,
|
|
11
|
+
DefinitionNode,
|
|
12
|
+
DirectiveDefinitionNode,
|
|
13
|
+
DirectiveNode,
|
|
14
|
+
DocumentNode,
|
|
15
|
+
EnumTypeDefinitionNode,
|
|
16
|
+
EnumTypeExtensionNode,
|
|
17
|
+
EnumValueDefinitionNode,
|
|
18
|
+
FieldDefinitionNode,
|
|
19
|
+
FieldNode,
|
|
20
|
+
FragmentDefinitionNode,
|
|
21
|
+
FragmentSpreadNode,
|
|
22
|
+
InlineFragmentNode,
|
|
23
|
+
InputObjectTypeDefinitionNode,
|
|
24
|
+
InputObjectTypeExtensionNode,
|
|
25
|
+
InputValueDefinitionNode,
|
|
26
|
+
InterfaceTypeDefinitionNode,
|
|
27
|
+
InterfaceTypeExtensionNode,
|
|
28
|
+
ListValueNode,
|
|
29
|
+
NamedTypeNode,
|
|
30
|
+
NameNode,
|
|
31
|
+
ObjectFieldNode,
|
|
32
|
+
ObjectTypeDefinitionNode,
|
|
33
|
+
ObjectTypeExtensionNode,
|
|
34
|
+
ObjectValueNode,
|
|
35
|
+
OperationDefinitionNode,
|
|
36
|
+
OperationTypeDefinitionNode,
|
|
37
|
+
ScalarTypeDefinitionNode,
|
|
38
|
+
ScalarTypeExtensionNode,
|
|
39
|
+
SchemaDefinitionNode,
|
|
40
|
+
SchemaExtensionNode,
|
|
41
|
+
SelectionNode,
|
|
42
|
+
SelectionSetNode,
|
|
43
|
+
StringValueNode,
|
|
44
|
+
Token,
|
|
45
|
+
TypeNode,
|
|
46
|
+
TypeSystemExtensionNode,
|
|
47
|
+
UnionTypeDefinitionNode,
|
|
48
|
+
UnionTypeExtensionNode,
|
|
49
|
+
ValueNode,
|
|
50
|
+
VariableDefinitionNode,
|
|
51
|
+
VariableNode,
|
|
52
|
+
} from './ast';
|
|
53
|
+
import { Location, OperationTypeNode } from './ast';
|
|
54
|
+
import { Lexer } from './lexer';
|
|
55
|
+
import { Source } from './source';
|
|
56
|
+
import { TokenKind } from './tokenKind';
|
|
57
|
+
/**
|
|
58
|
+
* Configuration options to control parser behavior
|
|
59
|
+
*/
|
|
60
|
+
export interface ParseOptions {
|
|
61
|
+
/**
|
|
62
|
+
* By default, the parser creates AST nodes that know the location
|
|
63
|
+
* in the source that they correspond to. This configuration flag
|
|
64
|
+
* disables that behavior for performance or testing.
|
|
65
|
+
*/
|
|
66
|
+
noLocation?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* @deprecated will be removed in the v17.0.0
|
|
69
|
+
*
|
|
70
|
+
* If enabled, the parser will understand and parse variable definitions
|
|
71
|
+
* contained in a fragment definition. They'll be represented in the
|
|
72
|
+
* `variableDefinitions` field of the FragmentDefinitionNode.
|
|
73
|
+
*
|
|
74
|
+
* The syntax is identical to normal, query-defined variables. For example:
|
|
75
|
+
*
|
|
76
|
+
* ```graphql
|
|
77
|
+
* fragment A($var: Boolean = false) on T {
|
|
78
|
+
* ...
|
|
79
|
+
* }
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
allowLegacyFragmentVariables?: boolean;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Given a GraphQL source, parses it into a Document.
|
|
86
|
+
* Throws GraphQLError if a syntax error is encountered.
|
|
87
|
+
*/
|
|
88
|
+
export declare function parse(
|
|
89
|
+
source: string | Source,
|
|
90
|
+
options?: ParseOptions,
|
|
91
|
+
): DocumentNode;
|
|
92
|
+
/**
|
|
93
|
+
* Given a string containing a GraphQL value (ex. `[42]`), parse the AST for
|
|
94
|
+
* that value.
|
|
95
|
+
* Throws GraphQLError if a syntax error is encountered.
|
|
96
|
+
*
|
|
97
|
+
* This is useful within tools that operate upon GraphQL Values directly and
|
|
98
|
+
* in isolation of complete GraphQL documents.
|
|
99
|
+
*
|
|
100
|
+
* Consider providing the results to the utility function: valueFromAST().
|
|
101
|
+
*/
|
|
102
|
+
export declare function parseValue(
|
|
103
|
+
source: string | Source,
|
|
104
|
+
options?: ParseOptions,
|
|
105
|
+
): ValueNode;
|
|
106
|
+
/**
|
|
107
|
+
* Similar to parseValue(), but raises a parse error if it encounters a
|
|
108
|
+
* variable. The return type will be a constant value.
|
|
109
|
+
*/
|
|
110
|
+
export declare function parseConstValue(
|
|
111
|
+
source: string | Source,
|
|
112
|
+
options?: ParseOptions,
|
|
113
|
+
): ConstValueNode;
|
|
114
|
+
/**
|
|
115
|
+
* Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for
|
|
116
|
+
* that type.
|
|
117
|
+
* Throws GraphQLError if a syntax error is encountered.
|
|
118
|
+
*
|
|
119
|
+
* This is useful within tools that operate upon GraphQL Types directly and
|
|
120
|
+
* in isolation of complete GraphQL documents.
|
|
121
|
+
*
|
|
122
|
+
* Consider providing the results to the utility function: typeFromAST().
|
|
123
|
+
*/
|
|
124
|
+
export declare function parseType(
|
|
125
|
+
source: string | Source,
|
|
126
|
+
options?: ParseOptions,
|
|
127
|
+
): TypeNode;
|
|
128
|
+
/**
|
|
129
|
+
* This class is exported only to assist people in implementing their own parsers
|
|
130
|
+
* without duplicating too much code and should be used only as last resort for cases
|
|
131
|
+
* such as experimental syntax or if certain features could not be contributed upstream.
|
|
132
|
+
*
|
|
133
|
+
* It is still part of the internal API and is versioned, so any changes to it are never
|
|
134
|
+
* considered breaking changes. If you still need to support multiple versions of the
|
|
135
|
+
* library, please use the `versionInfo` variable for version detection.
|
|
136
|
+
*
|
|
137
|
+
* @internal
|
|
138
|
+
*/
|
|
139
|
+
export declare class Parser {
|
|
140
|
+
protected _options: Maybe<ParseOptions>;
|
|
141
|
+
protected _lexer: Lexer;
|
|
142
|
+
constructor(source: string | Source, options?: ParseOptions);
|
|
143
|
+
/**
|
|
144
|
+
* Converts a name lex token into a name parse node.
|
|
145
|
+
*/
|
|
146
|
+
parseName(): NameNode;
|
|
147
|
+
/**
|
|
148
|
+
* Document : Definition+
|
|
149
|
+
*/
|
|
150
|
+
parseDocument(): DocumentNode;
|
|
151
|
+
/**
|
|
152
|
+
* Definition :
|
|
153
|
+
* - ExecutableDefinition
|
|
154
|
+
* - TypeSystemDefinition
|
|
155
|
+
* - TypeSystemExtension
|
|
156
|
+
*
|
|
157
|
+
* ExecutableDefinition :
|
|
158
|
+
* - OperationDefinition
|
|
159
|
+
* - FragmentDefinition
|
|
160
|
+
*
|
|
161
|
+
* TypeSystemDefinition :
|
|
162
|
+
* - SchemaDefinition
|
|
163
|
+
* - TypeDefinition
|
|
164
|
+
* - DirectiveDefinition
|
|
165
|
+
*
|
|
166
|
+
* TypeDefinition :
|
|
167
|
+
* - ScalarTypeDefinition
|
|
168
|
+
* - ObjectTypeDefinition
|
|
169
|
+
* - InterfaceTypeDefinition
|
|
170
|
+
* - UnionTypeDefinition
|
|
171
|
+
* - EnumTypeDefinition
|
|
172
|
+
* - InputObjectTypeDefinition
|
|
173
|
+
*/
|
|
174
|
+
parseDefinition(): DefinitionNode;
|
|
175
|
+
/**
|
|
176
|
+
* OperationDefinition :
|
|
177
|
+
* - SelectionSet
|
|
178
|
+
* - OperationType Name? VariableDefinitions? Directives? SelectionSet
|
|
179
|
+
*/
|
|
180
|
+
parseOperationDefinition(): OperationDefinitionNode;
|
|
181
|
+
/**
|
|
182
|
+
* OperationType : one of query mutation subscription
|
|
183
|
+
*/
|
|
184
|
+
parseOperationType(): OperationTypeNode;
|
|
185
|
+
/**
|
|
186
|
+
* VariableDefinitions : ( VariableDefinition+ )
|
|
187
|
+
*/
|
|
188
|
+
parseVariableDefinitions(): Array<VariableDefinitionNode>;
|
|
189
|
+
/**
|
|
190
|
+
* VariableDefinition : Variable : Type DefaultValue? Directives[Const]?
|
|
191
|
+
*/
|
|
192
|
+
parseVariableDefinition(): VariableDefinitionNode;
|
|
193
|
+
/**
|
|
194
|
+
* Variable : $ Name
|
|
195
|
+
*/
|
|
196
|
+
parseVariable(): VariableNode;
|
|
197
|
+
/**
|
|
198
|
+
* ```
|
|
199
|
+
* SelectionSet : { Selection+ }
|
|
200
|
+
* ```
|
|
201
|
+
*/
|
|
202
|
+
parseSelectionSet(): SelectionSetNode;
|
|
203
|
+
/**
|
|
204
|
+
* Selection :
|
|
205
|
+
* - Field
|
|
206
|
+
* - FragmentSpread
|
|
207
|
+
* - InlineFragment
|
|
208
|
+
*/
|
|
209
|
+
parseSelection(): SelectionNode;
|
|
210
|
+
/**
|
|
211
|
+
* Field : Alias? Name Arguments? Directives? SelectionSet?
|
|
212
|
+
*
|
|
213
|
+
* Alias : Name :
|
|
214
|
+
*/
|
|
215
|
+
parseField(): FieldNode;
|
|
216
|
+
/**
|
|
217
|
+
* Arguments[Const] : ( Argument[?Const]+ )
|
|
218
|
+
*/
|
|
219
|
+
parseArguments(isConst: true): Array<ConstArgumentNode>;
|
|
220
|
+
parseArguments(isConst: boolean): Array<ArgumentNode>;
|
|
221
|
+
/**
|
|
222
|
+
* Argument[Const] : Name : Value[?Const]
|
|
223
|
+
*/
|
|
224
|
+
parseArgument(isConst: true): ConstArgumentNode;
|
|
225
|
+
parseArgument(isConst?: boolean): ArgumentNode;
|
|
226
|
+
parseConstArgument(): ConstArgumentNode;
|
|
227
|
+
/**
|
|
228
|
+
* Corresponds to both FragmentSpread and InlineFragment in the spec.
|
|
229
|
+
*
|
|
230
|
+
* FragmentSpread : ... FragmentName Directives?
|
|
231
|
+
*
|
|
232
|
+
* InlineFragment : ... TypeCondition? Directives? SelectionSet
|
|
233
|
+
*/
|
|
234
|
+
parseFragment(): FragmentSpreadNode | InlineFragmentNode;
|
|
235
|
+
/**
|
|
236
|
+
* FragmentDefinition :
|
|
237
|
+
* - fragment FragmentName on TypeCondition Directives? SelectionSet
|
|
238
|
+
*
|
|
239
|
+
* TypeCondition : NamedType
|
|
240
|
+
*/
|
|
241
|
+
parseFragmentDefinition(): FragmentDefinitionNode;
|
|
242
|
+
/**
|
|
243
|
+
* FragmentName : Name but not `on`
|
|
244
|
+
*/
|
|
245
|
+
parseFragmentName(): NameNode;
|
|
246
|
+
/**
|
|
247
|
+
* Value[Const] :
|
|
248
|
+
* - [~Const] Variable
|
|
249
|
+
* - IntValue
|
|
250
|
+
* - FloatValue
|
|
251
|
+
* - StringValue
|
|
252
|
+
* - BooleanValue
|
|
253
|
+
* - NullValue
|
|
254
|
+
* - EnumValue
|
|
255
|
+
* - ListValue[?Const]
|
|
256
|
+
* - ObjectValue[?Const]
|
|
257
|
+
*
|
|
258
|
+
* BooleanValue : one of `true` `false`
|
|
259
|
+
*
|
|
260
|
+
* NullValue : `null`
|
|
261
|
+
*
|
|
262
|
+
* EnumValue : Name but not `true`, `false` or `null`
|
|
263
|
+
*/
|
|
264
|
+
parseValueLiteral(isConst: true): ConstValueNode;
|
|
265
|
+
parseValueLiteral(isConst: boolean): ValueNode;
|
|
266
|
+
parseConstValueLiteral(): ConstValueNode;
|
|
267
|
+
parseStringLiteral(): StringValueNode;
|
|
268
|
+
/**
|
|
269
|
+
* ListValue[Const] :
|
|
270
|
+
* - [ ]
|
|
271
|
+
* - [ Value[?Const]+ ]
|
|
272
|
+
*/
|
|
273
|
+
parseList(isConst: true): ConstListValueNode;
|
|
274
|
+
parseList(isConst: boolean): ListValueNode;
|
|
275
|
+
/**
|
|
276
|
+
* ```
|
|
277
|
+
* ObjectValue[Const] :
|
|
278
|
+
* - { }
|
|
279
|
+
* - { ObjectField[?Const]+ }
|
|
280
|
+
* ```
|
|
281
|
+
*/
|
|
282
|
+
parseObject(isConst: true): ConstObjectValueNode;
|
|
283
|
+
parseObject(isConst: boolean): ObjectValueNode;
|
|
284
|
+
/**
|
|
285
|
+
* ObjectField[Const] : Name : Value[?Const]
|
|
286
|
+
*/
|
|
287
|
+
parseObjectField(isConst: true): ConstObjectFieldNode;
|
|
288
|
+
parseObjectField(isConst: boolean): ObjectFieldNode;
|
|
289
|
+
/**
|
|
290
|
+
* Directives[Const] : Directive[?Const]+
|
|
291
|
+
*/
|
|
292
|
+
parseDirectives(isConst: true): Array<ConstDirectiveNode>;
|
|
293
|
+
parseDirectives(isConst: boolean): Array<DirectiveNode>;
|
|
294
|
+
parseConstDirectives(): Array<ConstDirectiveNode>;
|
|
295
|
+
/**
|
|
296
|
+
* ```
|
|
297
|
+
* Directive[Const] : @ Name Arguments[?Const]?
|
|
298
|
+
* ```
|
|
299
|
+
*/
|
|
300
|
+
parseDirective(isConst: true): ConstDirectiveNode;
|
|
301
|
+
parseDirective(isConst: boolean): DirectiveNode;
|
|
302
|
+
/**
|
|
303
|
+
* Type :
|
|
304
|
+
* - NamedType
|
|
305
|
+
* - ListType
|
|
306
|
+
* - NonNullType
|
|
307
|
+
*/
|
|
308
|
+
parseTypeReference(): TypeNode;
|
|
309
|
+
/**
|
|
310
|
+
* NamedType : Name
|
|
311
|
+
*/
|
|
312
|
+
parseNamedType(): NamedTypeNode;
|
|
313
|
+
peekDescription(): boolean;
|
|
314
|
+
/**
|
|
315
|
+
* Description : StringValue
|
|
316
|
+
*/
|
|
317
|
+
parseDescription(): undefined | StringValueNode;
|
|
318
|
+
/**
|
|
319
|
+
* ```
|
|
320
|
+
* SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }
|
|
321
|
+
* ```
|
|
322
|
+
*/
|
|
323
|
+
parseSchemaDefinition(): SchemaDefinitionNode;
|
|
324
|
+
/**
|
|
325
|
+
* OperationTypeDefinition : OperationType : NamedType
|
|
326
|
+
*/
|
|
327
|
+
parseOperationTypeDefinition(): OperationTypeDefinitionNode;
|
|
328
|
+
/**
|
|
329
|
+
* ScalarTypeDefinition : Description? scalar Name Directives[Const]?
|
|
330
|
+
*/
|
|
331
|
+
parseScalarTypeDefinition(): ScalarTypeDefinitionNode;
|
|
332
|
+
/**
|
|
333
|
+
* ObjectTypeDefinition :
|
|
334
|
+
* Description?
|
|
335
|
+
* type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?
|
|
336
|
+
*/
|
|
337
|
+
parseObjectTypeDefinition(): ObjectTypeDefinitionNode;
|
|
338
|
+
/**
|
|
339
|
+
* ImplementsInterfaces :
|
|
340
|
+
* - implements `&`? NamedType
|
|
341
|
+
* - ImplementsInterfaces & NamedType
|
|
342
|
+
*/
|
|
343
|
+
parseImplementsInterfaces(): Array<NamedTypeNode>;
|
|
344
|
+
/**
|
|
345
|
+
* ```
|
|
346
|
+
* FieldsDefinition : { FieldDefinition+ }
|
|
347
|
+
* ```
|
|
348
|
+
*/
|
|
349
|
+
parseFieldsDefinition(): Array<FieldDefinitionNode>;
|
|
350
|
+
/**
|
|
351
|
+
* FieldDefinition :
|
|
352
|
+
* - Description? Name ArgumentsDefinition? : Type Directives[Const]?
|
|
353
|
+
*/
|
|
354
|
+
parseFieldDefinition(): FieldDefinitionNode;
|
|
355
|
+
/**
|
|
356
|
+
* ArgumentsDefinition : ( InputValueDefinition+ )
|
|
357
|
+
*/
|
|
358
|
+
parseArgumentDefs(): Array<InputValueDefinitionNode>;
|
|
359
|
+
/**
|
|
360
|
+
* InputValueDefinition :
|
|
361
|
+
* - Description? Name : Type DefaultValue? Directives[Const]?
|
|
362
|
+
*/
|
|
363
|
+
parseInputValueDef(): InputValueDefinitionNode;
|
|
364
|
+
/**
|
|
365
|
+
* InterfaceTypeDefinition :
|
|
366
|
+
* - Description? interface Name Directives[Const]? FieldsDefinition?
|
|
367
|
+
*/
|
|
368
|
+
parseInterfaceTypeDefinition(): InterfaceTypeDefinitionNode;
|
|
369
|
+
/**
|
|
370
|
+
* UnionTypeDefinition :
|
|
371
|
+
* - Description? union Name Directives[Const]? UnionMemberTypes?
|
|
372
|
+
*/
|
|
373
|
+
parseUnionTypeDefinition(): UnionTypeDefinitionNode;
|
|
374
|
+
/**
|
|
375
|
+
* UnionMemberTypes :
|
|
376
|
+
* - = `|`? NamedType
|
|
377
|
+
* - UnionMemberTypes | NamedType
|
|
378
|
+
*/
|
|
379
|
+
parseUnionMemberTypes(): Array<NamedTypeNode>;
|
|
380
|
+
/**
|
|
381
|
+
* EnumTypeDefinition :
|
|
382
|
+
* - Description? enum Name Directives[Const]? EnumValuesDefinition?
|
|
383
|
+
*/
|
|
384
|
+
parseEnumTypeDefinition(): EnumTypeDefinitionNode;
|
|
385
|
+
/**
|
|
386
|
+
* ```
|
|
387
|
+
* EnumValuesDefinition : { EnumValueDefinition+ }
|
|
388
|
+
* ```
|
|
389
|
+
*/
|
|
390
|
+
parseEnumValuesDefinition(): Array<EnumValueDefinitionNode>;
|
|
391
|
+
/**
|
|
392
|
+
* EnumValueDefinition : Description? EnumValue Directives[Const]?
|
|
393
|
+
*/
|
|
394
|
+
parseEnumValueDefinition(): EnumValueDefinitionNode;
|
|
395
|
+
/**
|
|
396
|
+
* EnumValue : Name but not `true`, `false` or `null`
|
|
397
|
+
*/
|
|
398
|
+
parseEnumValueName(): NameNode;
|
|
399
|
+
/**
|
|
400
|
+
* InputObjectTypeDefinition :
|
|
401
|
+
* - Description? input Name Directives[Const]? InputFieldsDefinition?
|
|
402
|
+
*/
|
|
403
|
+
parseInputObjectTypeDefinition(): InputObjectTypeDefinitionNode;
|
|
404
|
+
/**
|
|
405
|
+
* ```
|
|
406
|
+
* InputFieldsDefinition : { InputValueDefinition+ }
|
|
407
|
+
* ```
|
|
408
|
+
*/
|
|
409
|
+
parseInputFieldsDefinition(): Array<InputValueDefinitionNode>;
|
|
410
|
+
/**
|
|
411
|
+
* TypeSystemExtension :
|
|
412
|
+
* - SchemaExtension
|
|
413
|
+
* - TypeExtension
|
|
414
|
+
*
|
|
415
|
+
* TypeExtension :
|
|
416
|
+
* - ScalarTypeExtension
|
|
417
|
+
* - ObjectTypeExtension
|
|
418
|
+
* - InterfaceTypeExtension
|
|
419
|
+
* - UnionTypeExtension
|
|
420
|
+
* - EnumTypeExtension
|
|
421
|
+
* - InputObjectTypeDefinition
|
|
422
|
+
*/
|
|
423
|
+
parseTypeSystemExtension(): TypeSystemExtensionNode;
|
|
424
|
+
/**
|
|
425
|
+
* ```
|
|
426
|
+
* SchemaExtension :
|
|
427
|
+
* - extend schema Directives[Const]? { OperationTypeDefinition+ }
|
|
428
|
+
* - extend schema Directives[Const]
|
|
429
|
+
* ```
|
|
430
|
+
*/
|
|
431
|
+
parseSchemaExtension(): SchemaExtensionNode;
|
|
432
|
+
/**
|
|
433
|
+
* ScalarTypeExtension :
|
|
434
|
+
* - extend scalar Name Directives[Const]
|
|
435
|
+
*/
|
|
436
|
+
parseScalarTypeExtension(): ScalarTypeExtensionNode;
|
|
437
|
+
/**
|
|
438
|
+
* ObjectTypeExtension :
|
|
439
|
+
* - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition
|
|
440
|
+
* - extend type Name ImplementsInterfaces? Directives[Const]
|
|
441
|
+
* - extend type Name ImplementsInterfaces
|
|
442
|
+
*/
|
|
443
|
+
parseObjectTypeExtension(): ObjectTypeExtensionNode;
|
|
444
|
+
/**
|
|
445
|
+
* InterfaceTypeExtension :
|
|
446
|
+
* - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition
|
|
447
|
+
* - extend interface Name ImplementsInterfaces? Directives[Const]
|
|
448
|
+
* - extend interface Name ImplementsInterfaces
|
|
449
|
+
*/
|
|
450
|
+
parseInterfaceTypeExtension(): InterfaceTypeExtensionNode;
|
|
451
|
+
/**
|
|
452
|
+
* UnionTypeExtension :
|
|
453
|
+
* - extend union Name Directives[Const]? UnionMemberTypes
|
|
454
|
+
* - extend union Name Directives[Const]
|
|
455
|
+
*/
|
|
456
|
+
parseUnionTypeExtension(): UnionTypeExtensionNode;
|
|
457
|
+
/**
|
|
458
|
+
* EnumTypeExtension :
|
|
459
|
+
* - extend enum Name Directives[Const]? EnumValuesDefinition
|
|
460
|
+
* - extend enum Name Directives[Const]
|
|
461
|
+
*/
|
|
462
|
+
parseEnumTypeExtension(): EnumTypeExtensionNode;
|
|
463
|
+
/**
|
|
464
|
+
* InputObjectTypeExtension :
|
|
465
|
+
* - extend input Name Directives[Const]? InputFieldsDefinition
|
|
466
|
+
* - extend input Name Directives[Const]
|
|
467
|
+
*/
|
|
468
|
+
parseInputObjectTypeExtension(): InputObjectTypeExtensionNode;
|
|
469
|
+
/**
|
|
470
|
+
* ```
|
|
471
|
+
* DirectiveDefinition :
|
|
472
|
+
* - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations
|
|
473
|
+
* ```
|
|
474
|
+
*/
|
|
475
|
+
parseDirectiveDefinition(): DirectiveDefinitionNode;
|
|
476
|
+
/**
|
|
477
|
+
* DirectiveLocations :
|
|
478
|
+
* - `|`? DirectiveLocation
|
|
479
|
+
* - DirectiveLocations | DirectiveLocation
|
|
480
|
+
*/
|
|
481
|
+
parseDirectiveLocations(): Array<NameNode>;
|
|
482
|
+
parseDirectiveLocation(): NameNode;
|
|
483
|
+
/**
|
|
484
|
+
* Returns a node that, if configured to do so, sets a "loc" field as a
|
|
485
|
+
* location object, used to identify the place in the source that created a
|
|
486
|
+
* given parsed object.
|
|
487
|
+
*/
|
|
488
|
+
node<
|
|
489
|
+
T extends {
|
|
490
|
+
loc?: Location;
|
|
491
|
+
},
|
|
492
|
+
>(startToken: Token, node: T): T;
|
|
493
|
+
/**
|
|
494
|
+
* Determines if the next token is of a given kind
|
|
495
|
+
*/
|
|
496
|
+
peek(kind: TokenKind): boolean;
|
|
497
|
+
/**
|
|
498
|
+
* If the next token is of the given kind, return that token after advancing the lexer.
|
|
499
|
+
* Otherwise, do not change the parser state and throw an error.
|
|
500
|
+
*/
|
|
501
|
+
expectToken(kind: TokenKind): Token;
|
|
502
|
+
/**
|
|
503
|
+
* If the next token is of the given kind, return "true" after advancing the lexer.
|
|
504
|
+
* Otherwise, do not change the parser state and return "false".
|
|
505
|
+
*/
|
|
506
|
+
expectOptionalToken(kind: TokenKind): boolean;
|
|
507
|
+
/**
|
|
508
|
+
* If the next token is a given keyword, advance the lexer.
|
|
509
|
+
* Otherwise, do not change the parser state and throw an error.
|
|
510
|
+
*/
|
|
511
|
+
expectKeyword(value: string): void;
|
|
512
|
+
/**
|
|
513
|
+
* If the next token is a given keyword, return "true" after advancing the lexer.
|
|
514
|
+
* Otherwise, do not change the parser state and return "false".
|
|
515
|
+
*/
|
|
516
|
+
expectOptionalKeyword(value: string): boolean;
|
|
517
|
+
/**
|
|
518
|
+
* Helper function for creating an error when an unexpected lexed token is encountered.
|
|
519
|
+
*/
|
|
520
|
+
unexpected(atToken?: Maybe<Token>): GraphQLError;
|
|
521
|
+
/**
|
|
522
|
+
* Returns a possibly empty list of parse nodes, determined by the parseFn.
|
|
523
|
+
* This list begins with a lex token of openKind and ends with a lex token of closeKind.
|
|
524
|
+
* Advances the parser to the next lex token after the closing token.
|
|
525
|
+
*/
|
|
526
|
+
any<T>(openKind: TokenKind, parseFn: () => T, closeKind: TokenKind): Array<T>;
|
|
527
|
+
/**
|
|
528
|
+
* Returns a list of parse nodes, determined by the parseFn.
|
|
529
|
+
* It can be empty only if open token is missing otherwise it will always return non-empty list
|
|
530
|
+
* that begins with a lex token of openKind and ends with a lex token of closeKind.
|
|
531
|
+
* Advances the parser to the next lex token after the closing token.
|
|
532
|
+
*/
|
|
533
|
+
optionalMany<T>(
|
|
534
|
+
openKind: TokenKind,
|
|
535
|
+
parseFn: () => T,
|
|
536
|
+
closeKind: TokenKind,
|
|
537
|
+
): Array<T>;
|
|
538
|
+
/**
|
|
539
|
+
* Returns a non-empty list of parse nodes, determined by the parseFn.
|
|
540
|
+
* This list begins with a lex token of openKind and ends with a lex token of closeKind.
|
|
541
|
+
* Advances the parser to the next lex token after the closing token.
|
|
542
|
+
*/
|
|
543
|
+
many<T>(
|
|
544
|
+
openKind: TokenKind,
|
|
545
|
+
parseFn: () => T,
|
|
546
|
+
closeKind: TokenKind,
|
|
547
|
+
): Array<T>;
|
|
548
|
+
/**
|
|
549
|
+
* Returns a non-empty list of parse nodes, determined by the parseFn.
|
|
550
|
+
* This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.
|
|
551
|
+
* Advances the parser to the next lex token after last item in the list.
|
|
552
|
+
*/
|
|
553
|
+
delimitedMany<T>(delimiterKind: TokenKind, parseFn: () => T): Array<T>;
|
|
554
|
+
}
|