graphql 17.0.0-beta.0 → 17.0.0-beta.2
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/__dev__/devMode.d.ts +1 -1
- package/__dev__/error/GraphQLError.d.ts +1 -1
- package/__dev__/error/ensureGraphQLError.d.ts +1 -1
- package/__dev__/error/index.d.ts +1 -1
- package/__dev__/error/locatedError.d.ts +1 -1
- package/__dev__/error/syntaxError.d.ts +1 -1
- package/__dev__/execution/AbortedGraphQLExecutionError.d.ts +1 -1
- package/__dev__/execution/AsyncWorkTracker.d.ts +1 -1
- package/__dev__/execution/ExecutionArgs.d.mts +1 -0
- package/__dev__/execution/ExecutionArgs.d.ts +1 -0
- package/__dev__/execution/ExecutionArgs.js +3 -0
- package/__dev__/execution/ExecutionArgs.mjs +3 -0
- package/__dev__/execution/Executor.d.ts +1 -1
- package/__dev__/execution/ExecutorThrowingOnIncremental.d.ts +1 -1
- package/__dev__/execution/buildResolveInfo.d.mts +1 -0
- package/__dev__/execution/buildResolveInfo.d.ts +1 -0
- package/__dev__/execution/buildResolveInfo.js +3 -0
- package/__dev__/execution/buildResolveInfo.mjs +3 -0
- package/__dev__/execution/cancellablePromise.d.ts +1 -1
- package/__dev__/execution/collectFields.d.ts +1 -1
- package/__dev__/execution/collectIteratorPromises.d.ts +1 -1
- package/__dev__/execution/createSharedExecutionContext.d.ts +1 -1
- package/__dev__/execution/execute.d.ts +1 -1
- package/__dev__/execution/getStreamUsage.d.ts +1 -1
- package/__dev__/execution/getVariableSignature.d.ts +1 -1
- package/__dev__/execution/hooks.d.ts +1 -1
- package/__dev__/execution/incremental/Computation.d.ts +1 -1
- package/__dev__/execution/incremental/IncrementalExecutor.d.ts +1 -1
- package/__dev__/execution/incremental/IncrementalPublisher.d.ts +1 -1
- package/__dev__/execution/incremental/Queue.d.ts +1 -1
- package/__dev__/execution/incremental/WorkQueue.d.ts +1 -1
- package/__dev__/execution/incremental/buildExecutionPlan.d.ts +1 -1
- package/__dev__/execution/index.d.ts +1 -1
- package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.d.mts +1 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.d.ts +1 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.js +3 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.mjs +3 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.d.mts +1 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.d.ts +1 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.js +3 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.mjs +3 -0
- package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.d.mts +1 -0
- package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.d.ts +1 -0
- package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.js +3 -0
- package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.mjs +3 -0
- package/__dev__/execution/mapAsyncIterable.d.ts +1 -1
- package/__dev__/execution/returnIteratorCatchingErrors.d.ts +1 -1
- package/__dev__/execution/values.d.ts +1 -1
- package/__dev__/execution/withConcurrentAbruptClose.d.ts +1 -1
- package/__dev__/graphql.d.ts +1 -1
- package/__dev__/harness.d.ts +1 -1
- package/__dev__/index.d.ts +1 -1
- package/__dev__/jsutils/AccumulatorMap.d.ts +1 -1
- package/__dev__/jsutils/Maybe.d.ts +1 -1
- package/__dev__/jsutils/ObjMap.d.ts +1 -1
- package/__dev__/jsutils/Path.d.ts +1 -1
- package/__dev__/jsutils/PromiseOrValue.d.ts +1 -1
- package/__dev__/jsutils/capitalize.d.ts +1 -1
- package/__dev__/jsutils/devAssert.d.ts +1 -1
- package/__dev__/jsutils/didYouMean.d.ts +1 -1
- package/__dev__/jsutils/formatList.d.ts +1 -1
- package/__dev__/jsutils/getBySet.d.ts +1 -1
- package/__dev__/jsutils/groupBy.d.ts +1 -1
- package/__dev__/jsutils/identityFunc.d.ts +1 -1
- package/__dev__/jsutils/inspect.d.ts +1 -1
- package/__dev__/jsutils/instanceOf.d.ts +1 -1
- package/__dev__/jsutils/invariant.d.ts +1 -1
- package/__dev__/jsutils/isAsyncIterable.d.ts +1 -1
- package/__dev__/jsutils/isIterableObject.d.ts +1 -1
- package/__dev__/jsutils/isObjectLike.d.ts +1 -1
- package/__dev__/jsutils/isPromise.d.ts +1 -1
- package/__dev__/jsutils/isSameSet.d.ts +1 -1
- package/__dev__/jsutils/keyMap.d.ts +1 -1
- package/__dev__/jsutils/keyValMap.d.ts +1 -1
- package/__dev__/jsutils/mapValue.d.ts +1 -1
- package/__dev__/jsutils/memoize1.d.ts +1 -1
- package/__dev__/jsutils/memoize2.d.ts +1 -1
- package/__dev__/jsutils/memoize3.d.ts +1 -1
- package/__dev__/jsutils/naturalCompare.d.ts +1 -1
- package/__dev__/jsutils/printPathArray.d.ts +1 -1
- package/__dev__/jsutils/promiseForObject.d.ts +1 -1
- package/__dev__/jsutils/promiseReduce.d.ts +1 -1
- package/__dev__/jsutils/promiseWithResolvers.d.ts +1 -1
- package/__dev__/jsutils/suggestionList.d.ts +1 -1
- package/__dev__/jsutils/toError.d.ts +1 -1
- package/__dev__/jsutils/toObjMap.d.ts +1 -1
- package/__dev__/language/KindTypeMap.d.ts +1 -1
- package/__dev__/language/ast.d.ts +1 -1
- package/__dev__/language/blockString.d.ts +1 -1
- package/__dev__/language/characterClasses.d.ts +1 -1
- package/__dev__/language/directiveLocation.d.ts +1 -1
- package/__dev__/language/index.d.ts +1 -1
- package/__dev__/language/kinds.d.ts +1 -1
- package/__dev__/language/kinds_.d.ts +1 -1
- package/__dev__/language/lexer.d.ts +1 -1
- package/__dev__/language/location.d.ts +1 -1
- package/__dev__/language/parser.d.ts +1 -1
- package/__dev__/language/predicates.d.ts +1 -1
- package/__dev__/language/printLocation.d.ts +1 -1
- package/__dev__/language/printString.d.ts +1 -1
- package/__dev__/language/printer.d.ts +1 -1
- package/__dev__/language/schemaCoordinateLexer.d.ts +1 -1
- package/__dev__/language/source.d.ts +1 -1
- package/__dev__/language/tokenKind.d.ts +1 -1
- package/__dev__/language/visitor.d.ts +1 -1
- package/__dev__/type/assertName.d.ts +1 -1
- package/__dev__/type/definition.d.ts +1 -1
- package/__dev__/type/directives.d.ts +1 -1
- package/__dev__/type/index.d.ts +1 -1
- package/__dev__/type/introspection.d.ts +1 -1
- package/__dev__/type/scalars.d.ts +1 -1
- package/__dev__/type/schema.d.ts +1 -1
- package/__dev__/type/validate.d.ts +1 -1
- package/__dev__/utilities/TypeInfo.d.ts +1 -1
- package/__dev__/utilities/astFromValue.d.ts +1 -1
- package/__dev__/utilities/buildASTSchema.d.ts +1 -1
- package/__dev__/utilities/buildClientSchema.d.ts +1 -1
- package/__dev__/utilities/coerceInputValue.d.ts +1 -1
- package/__dev__/utilities/concatAST.d.ts +1 -1
- package/__dev__/utilities/extendSchema.d.ts +1 -1
- package/__dev__/utilities/findSchemaChanges.d.ts +1 -1
- package/__dev__/utilities/getDefaultValueAST.d.ts +1 -1
- package/__dev__/utilities/getIntrospectionQuery.d.ts +1 -1
- package/__dev__/utilities/getOperationAST.d.ts +1 -1
- package/__dev__/utilities/index.d.ts +1 -1
- package/__dev__/utilities/introspectionFromSchema.d.ts +1 -1
- package/__dev__/utilities/lexicographicSortSchema.d.ts +1 -1
- package/__dev__/utilities/mapSchemaConfig.d.ts +1 -1
- package/__dev__/utilities/printSchema.d.ts +1 -1
- package/__dev__/utilities/replaceVariables.d.ts +1 -1
- package/__dev__/utilities/resolveSchemaCoordinate.d.ts +1 -1
- package/__dev__/utilities/separateOperations.d.ts +1 -1
- package/__dev__/utilities/sortValueNode.d.ts +1 -1
- package/__dev__/utilities/stripIgnoredCharacters.d.ts +1 -1
- package/__dev__/utilities/typeComparators.d.ts +1 -1
- package/__dev__/utilities/typeFromAST.d.ts +1 -1
- package/__dev__/utilities/typedQueryDocumentNode.d.ts +1 -1
- package/__dev__/utilities/validateInputValue.d.ts +1 -1
- package/__dev__/utilities/valueFromAST.d.ts +1 -1
- package/__dev__/utilities/valueFromASTUntyped.d.ts +1 -1
- package/__dev__/utilities/valueToLiteral.d.ts +1 -1
- package/__dev__/validation/ValidationContext.d.ts +1 -1
- package/__dev__/validation/index.d.ts +1 -1
- package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.d.ts +1 -1
- package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +1 -1
- package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +1 -1
- package/__dev__/validation/rules/ExecutableDefinitionsRule.d.ts +1 -1
- package/__dev__/validation/rules/FieldsOnCorrectTypeRule.d.ts +1 -1
- package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownArgumentNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownDirectivesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownFragmentNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownOperationTypesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownTypeNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/LoneAnonymousOperationRule.d.ts +1 -1
- package/__dev__/validation/rules/LoneSchemaDefinitionRule.d.ts +1 -1
- package/__dev__/validation/rules/MaxIntrospectionDepthRule.d.ts +1 -1
- package/__dev__/validation/rules/NoFragmentCyclesRule.d.ts +1 -1
- package/__dev__/validation/rules/NoUndefinedVariablesRule.d.ts +1 -1
- package/__dev__/validation/rules/NoUnusedFragmentsRule.d.ts +1 -1
- package/__dev__/validation/rules/NoUnusedVariablesRule.d.ts +1 -1
- package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +1 -1
- package/__dev__/validation/rules/PossibleFragmentSpreadsRule.d.ts +1 -1
- package/__dev__/validation/rules/PossibleTypeExtensionsRule.d.ts +1 -1
- package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.d.ts +1 -1
- package/__dev__/validation/rules/ScalarLeafsRule.d.ts +1 -1
- package/__dev__/validation/rules/SingleFieldSubscriptionsRule.d.ts +1 -1
- package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueArgumentNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueDirectiveNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueEnumValueNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueFragmentNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueInputFieldNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueOperationNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueOperationTypesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueTypeNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueVariableNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/ValuesOfCorrectTypeRule.d.ts +1 -1
- package/__dev__/validation/rules/VariablesAreInputTypesRule.d.ts +1 -1
- package/__dev__/validation/rules/VariablesInAllowedPositionRule.d.ts +1 -1
- package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.d.ts +1 -1
- package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +1 -1
- package/__dev__/validation/specifiedRules.d.ts +1 -1
- package/__dev__/validation/validate.d.ts +1 -1
- package/__dev__/version.d.ts +1 -1
- package/devMode.d.mts +29 -0
- package/devMode.d.ts +29 -0
- package/devMode.js +2 -2
- package/devMode.js.map +1 -1
- package/devMode.mjs.map +1 -1
- package/error/GraphQLError.d.mts +98 -14
- package/error/GraphQLError.d.ts +98 -14
- package/error/GraphQLError.js +18 -28
- package/error/GraphQLError.js.map +1 -1
- package/error/GraphQLError.mjs +11 -21
- package/error/GraphQLError.mjs.map +1 -1
- package/error/ensureGraphQLError.d.mts +3 -1
- package/error/ensureGraphQLError.d.ts +3 -1
- package/error/ensureGraphQLError.js +5 -8
- package/error/ensureGraphQLError.js.map +1 -1
- package/error/ensureGraphQLError.mjs +0 -3
- package/error/ensureGraphQLError.mjs.map +1 -1
- package/error/index.d.mts +10 -4
- package/error/index.d.ts +10 -4
- package/error/index.js +6 -6
- package/error/index.js.map +1 -1
- package/error/index.mjs.map +1 -1
- package/error/locatedError.d.mts +23 -3
- package/error/locatedError.d.ts +23 -3
- package/error/locatedError.js +4 -10
- package/error/locatedError.js.map +1 -1
- package/error/locatedError.mjs +0 -6
- package/error/locatedError.mjs.map +1 -1
- package/error/syntaxError.d.mts +17 -2
- package/error/syntaxError.d.ts +17 -2
- package/error/syntaxError.js +2 -6
- package/error/syntaxError.js.map +1 -1
- package/error/syntaxError.mjs +0 -4
- package/error/syntaxError.mjs.map +1 -1
- package/execution/AbortedGraphQLExecutionError.d.mts +28 -1
- package/execution/AbortedGraphQLExecutionError.d.ts +28 -1
- package/execution/AbortedGraphQLExecutionError.js.map +1 -1
- package/execution/AbortedGraphQLExecutionError.mjs.map +1 -1
- package/execution/AsyncWorkTracker.d.mts +1 -1
- package/execution/AsyncWorkTracker.d.ts +1 -1
- package/execution/AsyncWorkTracker.js +3 -7
- package/execution/AsyncWorkTracker.js.map +1 -1
- package/execution/AsyncWorkTracker.mjs +1 -5
- package/execution/AsyncWorkTracker.mjs.map +1 -1
- package/execution/ExecutionArgs.d.mts +101 -0
- package/execution/ExecutionArgs.d.ts +101 -0
- package/execution/ExecutionArgs.js +3 -0
- package/execution/ExecutionArgs.js.map +1 -0
- package/execution/ExecutionArgs.mjs +2 -0
- package/execution/ExecutionArgs.mjs.map +1 -0
- package/execution/Executor.d.mts +55 -52
- package/execution/Executor.d.ts +55 -52
- package/execution/Executor.js +84 -206
- package/execution/Executor.js.map +1 -1
- package/execution/Executor.mjs +3 -125
- package/execution/Executor.mjs.map +1 -1
- package/execution/ExecutorThrowingOnIncremental.d.mts +6 -6
- package/execution/ExecutorThrowingOnIncremental.d.ts +6 -6
- package/execution/ExecutorThrowingOnIncremental.js +11 -13
- package/execution/ExecutorThrowingOnIncremental.js.map +1 -1
- package/execution/ExecutorThrowingOnIncremental.mjs +0 -2
- package/execution/ExecutorThrowingOnIncremental.mjs.map +1 -1
- package/execution/buildResolveInfo.d.mts +16 -0
- package/execution/buildResolveInfo.d.ts +16 -0
- package/execution/buildResolveInfo.js +21 -0
- package/execution/buildResolveInfo.js.map +1 -0
- package/execution/buildResolveInfo.mjs +18 -0
- package/execution/buildResolveInfo.mjs.map +1 -0
- package/execution/cancellablePromise.d.mts +3 -0
- package/execution/cancellablePromise.d.ts +3 -0
- package/execution/cancellablePromise.js +2 -2
- package/execution/cancellablePromise.js.map +1 -1
- package/execution/cancellablePromise.mjs.map +1 -1
- package/execution/collectFields.d.mts +15 -9
- package/execution/collectFields.d.ts +15 -9
- package/execution/collectFields.js +19 -60
- package/execution/collectFields.js.map +1 -1
- package/execution/collectFields.mjs +0 -41
- package/execution/collectFields.mjs.map +1 -1
- package/execution/collectIteratorPromises.d.mts +2 -0
- package/execution/collectIteratorPromises.d.ts +2 -0
- package/execution/collectIteratorPromises.js +2 -7
- package/execution/collectIteratorPromises.js.map +1 -1
- package/execution/collectIteratorPromises.mjs +0 -5
- package/execution/collectIteratorPromises.mjs.map +1 -1
- package/execution/createSharedExecutionContext.d.mts +3 -2
- package/execution/createSharedExecutionContext.d.ts +3 -2
- package/execution/createSharedExecutionContext.js +2 -2
- package/execution/createSharedExecutionContext.js.map +1 -1
- package/execution/createSharedExecutionContext.mjs.map +1 -1
- package/execution/execute.d.mts +412 -47
- package/execution/execute.d.ts +412 -47
- package/execution/execute.js +73 -254
- package/execution/execute.js.map +1 -1
- package/execution/execute.mjs +12 -193
- package/execution/execute.mjs.map +1 -1
- package/execution/getStreamUsage.d.mts +5 -2
- package/execution/getStreamUsage.d.ts +5 -2
- package/execution/getStreamUsage.js +9 -16
- package/execution/getStreamUsage.js.map +1 -1
- package/execution/getStreamUsage.mjs +0 -7
- package/execution/getStreamUsage.mjs.map +1 -1
- package/execution/getVariableSignature.d.mts +7 -4
- package/execution/getVariableSignature.d.ts +7 -4
- package/execution/getVariableSignature.js +8 -10
- package/execution/getVariableSignature.js.map +1 -1
- package/execution/getVariableSignature.mjs +0 -2
- package/execution/getVariableSignature.mjs.map +1 -1
- package/execution/hooks.d.mts +4 -8
- package/execution/hooks.d.ts +4 -8
- package/execution/hooks.js +0 -1
- package/execution/hooks.js.map +1 -1
- package/execution/hooks.mjs +0 -1
- package/execution/hooks.mjs.map +1 -1
- package/execution/incremental/Computation.d.mts +2 -2
- package/execution/incremental/Computation.d.ts +2 -2
- package/execution/incremental/Computation.js +2 -3
- package/execution/incremental/Computation.js.map +1 -1
- package/execution/incremental/Computation.mjs +0 -1
- package/execution/incremental/Computation.mjs.map +1 -1
- package/execution/incremental/IncrementalExecutor.d.mts +137 -22
- package/execution/incremental/IncrementalExecutor.d.ts +137 -22
- package/execution/incremental/IncrementalExecutor.js +47 -77
- package/execution/incremental/IncrementalExecutor.js.map +1 -1
- package/execution/incremental/IncrementalExecutor.mjs +2 -32
- package/execution/incremental/IncrementalExecutor.mjs.map +1 -1
- package/execution/incremental/IncrementalPublisher.d.mts +4 -6
- package/execution/incremental/IncrementalPublisher.d.ts +4 -6
- package/execution/incremental/IncrementalPublisher.js +12 -18
- package/execution/incremental/IncrementalPublisher.js.map +1 -1
- package/execution/incremental/IncrementalPublisher.mjs +0 -6
- package/execution/incremental/IncrementalPublisher.mjs.map +1 -1
- package/execution/incremental/Queue.d.mts +1 -1
- package/execution/incremental/Queue.d.ts +1 -1
- package/execution/incremental/Queue.js +22 -79
- package/execution/incremental/Queue.js.map +1 -1
- package/execution/incremental/Queue.mjs +8 -64
- package/execution/incremental/Queue.mjs.map +1 -1
- package/execution/incremental/WorkQueue.d.mts +10 -2
- package/execution/incremental/WorkQueue.d.ts +10 -2
- package/execution/incremental/WorkQueue.js +7 -22
- package/execution/incremental/WorkQueue.js.map +1 -1
- package/execution/incremental/WorkQueue.mjs +0 -15
- package/execution/incremental/WorkQueue.mjs.map +1 -1
- package/execution/incremental/buildExecutionPlan.d.mts +4 -1
- package/execution/incremental/buildExecutionPlan.d.ts +4 -1
- package/execution/incremental/buildExecutionPlan.js +4 -4
- package/execution/incremental/buildExecutionPlan.js.map +1 -1
- package/execution/incremental/buildExecutionPlan.mjs.map +1 -1
- package/execution/index.d.mts +17 -8
- package/execution/index.d.ts +17 -8
- package/execution/index.js +26 -22
- package/execution/index.js.map +1 -1
- package/execution/index.mjs +2 -1
- package/execution/index.mjs.map +1 -1
- package/execution/legacyIncremental/BranchingIncrementalExecutor.d.mts +175 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.d.ts +175 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.js +69 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.js.map +1 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.mjs +65 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.mjs.map +1 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.d.mts +12 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.d.ts +12 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.js +131 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.js.map +1 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.mjs +127 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.mjs.map +1 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.d.mts +165 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.d.ts +165 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.js +17 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.js.map +1 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.mjs +13 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.mjs.map +1 -0
- package/execution/mapAsyncIterable.d.mts +3 -1
- package/execution/mapAsyncIterable.d.ts +3 -1
- package/execution/mapAsyncIterable.js +4 -9
- package/execution/mapAsyncIterable.js.map +1 -1
- package/execution/mapAsyncIterable.mjs +0 -5
- package/execution/mapAsyncIterable.mjs.map +1 -1
- package/execution/returnIteratorCatchingErrors.d.mts +1 -0
- package/execution/returnIteratorCatchingErrors.d.ts +1 -0
- package/execution/returnIteratorCatchingErrors.js +1 -2
- package/execution/returnIteratorCatchingErrors.js.map +1 -1
- package/execution/returnIteratorCatchingErrors.mjs +1 -2
- package/execution/returnIteratorCatchingErrors.mjs.map +1 -1
- package/execution/values.d.mts +196 -14
- package/execution/values.d.ts +196 -14
- package/execution/values.js +45 -86
- package/execution/values.js.map +1 -1
- package/execution/values.mjs +14 -55
- package/execution/values.mjs.map +1 -1
- package/execution/withConcurrentAbruptClose.d.mts +3 -1
- package/execution/withConcurrentAbruptClose.d.ts +3 -1
- package/execution/withConcurrentAbruptClose.js +3 -17
- package/execution/withConcurrentAbruptClose.js.map +1 -1
- package/execution/withConcurrentAbruptClose.mjs +1 -15
- package/execution/withConcurrentAbruptClose.mjs.map +1 -1
- package/graphql.d.mts +198 -50
- package/graphql.d.ts +198 -50
- package/graphql.js +11 -23
- package/graphql.js.map +1 -1
- package/graphql.mjs +0 -12
- package/graphql.mjs.map +1 -1
- package/harness.d.mts +21 -4
- package/harness.d.ts +21 -4
- package/harness.js +7 -7
- package/harness.js.map +1 -1
- package/harness.mjs.map +1 -1
- package/index.d.mts +41 -39
- package/index.d.ts +41 -39
- package/index.js +260 -346
- package/index.js.map +1 -1
- package/index.mjs +5 -149
- package/index.mjs.map +1 -1
- package/jsutils/AccumulatorMap.d.mts +2 -0
- package/jsutils/AccumulatorMap.d.ts +2 -0
- package/jsutils/AccumulatorMap.js +0 -4
- package/jsutils/AccumulatorMap.js.map +1 -1
- package/jsutils/AccumulatorMap.mjs +0 -4
- package/jsutils/AccumulatorMap.mjs.map +1 -1
- package/jsutils/Maybe.d.mts +5 -1
- package/jsutils/Maybe.d.ts +5 -1
- package/jsutils/Maybe.js.map +1 -1
- package/jsutils/Maybe.mjs.map +1 -1
- package/jsutils/ObjMap.d.mts +6 -0
- package/jsutils/ObjMap.d.ts +6 -0
- package/jsutils/ObjMap.js.map +1 -1
- package/jsutils/ObjMap.mjs.map +1 -1
- package/jsutils/Path.d.mts +31 -1
- package/jsutils/Path.d.ts +31 -1
- package/jsutils/Path.js +0 -6
- package/jsutils/Path.js.map +1 -1
- package/jsutils/Path.mjs +0 -6
- package/jsutils/Path.mjs.map +1 -1
- package/jsutils/PromiseOrValue.d.mts +1 -0
- package/jsutils/PromiseOrValue.d.ts +1 -0
- package/jsutils/PromiseOrValue.js.map +1 -1
- package/jsutils/PromiseOrValue.mjs.map +1 -1
- package/jsutils/capitalize.d.mts +2 -0
- package/jsutils/capitalize.d.ts +2 -0
- package/jsutils/capitalize.js +0 -3
- package/jsutils/capitalize.js.map +1 -1
- package/jsutils/capitalize.mjs +0 -3
- package/jsutils/capitalize.mjs.map +1 -1
- package/jsutils/devAssert.d.mts +1 -0
- package/jsutils/devAssert.d.ts +1 -0
- package/jsutils/devAssert.js.map +1 -1
- package/jsutils/devAssert.mjs.map +1 -1
- package/jsutils/didYouMean.d.mts +4 -1
- package/jsutils/didYouMean.d.ts +4 -1
- package/jsutils/didYouMean.js +2 -2
- package/jsutils/didYouMean.js.map +1 -1
- package/jsutils/didYouMean.mjs.map +1 -1
- package/jsutils/formatList.d.mts +6 -2
- package/jsutils/formatList.d.ts +6 -2
- package/jsutils/formatList.js +2 -8
- package/jsutils/formatList.js.map +1 -1
- package/jsutils/formatList.mjs +0 -6
- package/jsutils/formatList.mjs.map +1 -1
- package/jsutils/getBySet.d.mts +1 -0
- package/jsutils/getBySet.d.ts +1 -0
- package/jsutils/getBySet.js +2 -2
- package/jsutils/getBySet.js.map +1 -1
- package/jsutils/getBySet.mjs.map +1 -1
- package/jsutils/groupBy.d.mts +2 -0
- package/jsutils/groupBy.d.ts +2 -0
- package/jsutils/groupBy.js +2 -5
- package/jsutils/groupBy.js.map +1 -1
- package/jsutils/groupBy.mjs +0 -3
- package/jsutils/groupBy.mjs.map +1 -1
- package/jsutils/identityFunc.d.mts +2 -0
- package/jsutils/identityFunc.d.ts +2 -0
- package/jsutils/identityFunc.js +0 -3
- package/jsutils/identityFunc.js.map +1 -1
- package/jsutils/identityFunc.mjs +0 -3
- package/jsutils/identityFunc.mjs.map +1 -1
- package/jsutils/inspect.d.mts +2 -0
- package/jsutils/inspect.d.ts +2 -0
- package/jsutils/inspect.js +0 -4
- package/jsutils/inspect.js.map +1 -1
- package/jsutils/inspect.mjs +0 -4
- package/jsutils/inspect.mjs.map +1 -1
- package/jsutils/instanceOf.d.mts +2 -0
- package/jsutils/instanceOf.d.ts +2 -0
- package/jsutils/instanceOf.js +3 -14
- package/jsutils/instanceOf.js.map +1 -1
- package/jsutils/instanceOf.mjs +1 -12
- package/jsutils/instanceOf.mjs.map +1 -1
- package/jsutils/invariant.d.mts +1 -0
- package/jsutils/invariant.d.ts +1 -0
- package/jsutils/invariant.js.map +1 -1
- package/jsutils/invariant.mjs.map +1 -1
- package/jsutils/isAsyncIterable.d.mts +2 -0
- package/jsutils/isAsyncIterable.d.ts +2 -0
- package/jsutils/isAsyncIterable.js +0 -4
- package/jsutils/isAsyncIterable.js.map +1 -1
- package/jsutils/isAsyncIterable.mjs +0 -4
- package/jsutils/isAsyncIterable.mjs.map +1 -1
- package/jsutils/isIterableObject.d.mts +6 -5
- package/jsutils/isIterableObject.d.ts +6 -5
- package/jsutils/isIterableObject.js +0 -17
- package/jsutils/isIterableObject.js.map +1 -1
- package/jsutils/isIterableObject.mjs +0 -17
- package/jsutils/isIterableObject.mjs.map +1 -1
- package/jsutils/isObjectLike.d.mts +2 -0
- package/jsutils/isObjectLike.d.ts +2 -0
- package/jsutils/isObjectLike.js +0 -4
- package/jsutils/isObjectLike.js.map +1 -1
- package/jsutils/isObjectLike.mjs +0 -4
- package/jsutils/isObjectLike.mjs.map +1 -1
- package/jsutils/isPromise.d.mts +3 -0
- package/jsutils/isPromise.d.ts +3 -0
- package/jsutils/isPromise.js +0 -4
- package/jsutils/isPromise.js.map +1 -1
- package/jsutils/isPromise.mjs +0 -4
- package/jsutils/isPromise.mjs.map +1 -1
- package/jsutils/isSameSet.d.mts +1 -0
- package/jsutils/isSameSet.d.ts +1 -0
- package/jsutils/isSameSet.js.map +1 -1
- package/jsutils/isSameSet.mjs.map +1 -1
- package/jsutils/keyMap.d.mts +8 -15
- package/jsutils/keyMap.d.ts +8 -15
- package/jsutils/keyMap.js +0 -27
- package/jsutils/keyMap.js.map +1 -1
- package/jsutils/keyMap.mjs +0 -27
- package/jsutils/keyMap.mjs.map +1 -1
- package/jsutils/keyValMap.d.mts +10 -7
- package/jsutils/keyValMap.d.ts +10 -7
- package/jsutils/keyValMap.js +0 -17
- package/jsutils/keyValMap.js.map +1 -1
- package/jsutils/keyValMap.mjs +0 -17
- package/jsutils/keyValMap.mjs.map +1 -1
- package/jsutils/mapValue.d.mts +3 -1
- package/jsutils/mapValue.d.ts +3 -1
- package/jsutils/mapValue.js +0 -4
- package/jsutils/mapValue.js.map +1 -1
- package/jsutils/mapValue.mjs +0 -4
- package/jsutils/mapValue.mjs.map +1 -1
- package/jsutils/memoize1.d.mts +2 -0
- package/jsutils/memoize1.d.ts +2 -0
- package/jsutils/memoize1.js +0 -3
- package/jsutils/memoize1.js.map +1 -1
- package/jsutils/memoize1.mjs +0 -3
- package/jsutils/memoize1.mjs.map +1 -1
- package/jsutils/memoize2.d.mts +2 -0
- package/jsutils/memoize2.d.ts +2 -0
- package/jsutils/memoize2.js +0 -3
- package/jsutils/memoize2.js.map +1 -1
- package/jsutils/memoize2.mjs +0 -3
- package/jsutils/memoize2.mjs.map +1 -1
- package/jsutils/memoize3.d.mts +2 -0
- package/jsutils/memoize3.d.ts +2 -0
- package/jsutils/memoize3.js +0 -3
- package/jsutils/memoize3.js.map +1 -1
- package/jsutils/memoize3.mjs +0 -3
- package/jsutils/memoize3.mjs.map +1 -1
- package/jsutils/naturalCompare.d.mts +1 -0
- package/jsutils/naturalCompare.d.ts +1 -0
- package/jsutils/naturalCompare.js +0 -7
- package/jsutils/naturalCompare.js.map +1 -1
- package/jsutils/naturalCompare.mjs +0 -7
- package/jsutils/naturalCompare.mjs.map +1 -1
- package/jsutils/printPathArray.d.mts +2 -0
- package/jsutils/printPathArray.d.ts +2 -0
- package/jsutils/printPathArray.js +0 -3
- package/jsutils/printPathArray.js.map +1 -1
- package/jsutils/printPathArray.mjs +0 -3
- package/jsutils/printPathArray.mjs.map +1 -1
- package/jsutils/promiseForObject.d.mts +4 -2
- package/jsutils/promiseForObject.d.ts +4 -2
- package/jsutils/promiseForObject.js +0 -7
- package/jsutils/promiseForObject.js.map +1 -1
- package/jsutils/promiseForObject.mjs +0 -7
- package/jsutils/promiseForObject.mjs.map +1 -1
- package/jsutils/promiseReduce.d.mts +3 -1
- package/jsutils/promiseReduce.d.ts +3 -1
- package/jsutils/promiseReduce.js +2 -9
- package/jsutils/promiseReduce.js.map +1 -1
- package/jsutils/promiseReduce.mjs +0 -7
- package/jsutils/promiseReduce.mjs.map +1 -1
- package/jsutils/promiseWithResolvers.d.mts +3 -1
- package/jsutils/promiseWithResolvers.d.ts +3 -1
- package/jsutils/promiseWithResolvers.js +0 -5
- package/jsutils/promiseWithResolvers.js.map +1 -1
- package/jsutils/promiseWithResolvers.mjs +0 -5
- package/jsutils/promiseWithResolvers.mjs.map +1 -1
- package/jsutils/suggestionList.d.mts +2 -0
- package/jsutils/suggestionList.d.ts +2 -0
- package/jsutils/suggestionList.js +3 -26
- package/jsutils/suggestionList.js.map +1 -1
- package/jsutils/suggestionList.mjs +1 -24
- package/jsutils/suggestionList.mjs.map +1 -1
- package/jsutils/toError.d.mts +2 -0
- package/jsutils/toError.d.ts +2 -0
- package/jsutils/toError.js +2 -5
- package/jsutils/toError.js.map +1 -1
- package/jsutils/toError.mjs +0 -3
- package/jsutils/toError.mjs.map +1 -1
- package/jsutils/toObjMap.d.mts +4 -2
- package/jsutils/toObjMap.d.ts +4 -2
- package/jsutils/toObjMap.js.map +1 -1
- package/jsutils/toObjMap.mjs.map +1 -1
- package/language/KindTypeMap.d.mts +2 -1
- package/language/KindTypeMap.d.ts +2 -1
- package/language/KindTypeMap.js.map +1 -1
- package/language/KindTypeMap.mjs.map +1 -1
- package/language/ast.d.mts +425 -58
- package/language/ast.d.ts +425 -58
- package/language/ast.js +8 -21
- package/language/ast.js.map +1 -1
- package/language/ast.mjs +8 -21
- package/language/ast.mjs.map +1 -1
- package/language/blockString.d.mts +1 -3
- package/language/blockString.d.ts +1 -3
- package/language/blockString.js +15 -41
- package/language/blockString.js.map +1 -1
- package/language/blockString.mjs +11 -37
- package/language/blockString.mjs.map +1 -1
- package/language/characterClasses.js +2 -45
- package/language/characterClasses.js.map +1 -1
- package/language/characterClasses.mjs +2 -45
- package/language/characterClasses.mjs.map +1 -1
- package/language/directiveLocation.d.mts +26 -6
- package/language/directiveLocation.d.ts +26 -6
- package/language/directiveLocation.js +2 -6
- package/language/directiveLocation.js.map +1 -1
- package/language/directiveLocation.mjs +2 -6
- package/language/directiveLocation.mjs.map +1 -1
- package/language/index.d.mts +22 -16
- package/language/index.d.ts +22 -16
- package/language/index.js +45 -49
- package/language/index.js.map +1 -1
- package/language/index.mjs +0 -4
- package/language/index.mjs.map +1 -1
- package/language/kinds.d.mts +5 -2
- package/language/kinds.d.ts +5 -2
- package/language/kinds.js.map +1 -1
- package/language/kinds.mjs.map +1 -1
- package/language/kinds_.d.mts +102 -12
- package/language/kinds_.d.ts +102 -12
- package/language/kinds_.js +2 -14
- package/language/kinds_.js.map +1 -1
- package/language/kinds_.mjs +1 -13
- package/language/kinds_.mjs.map +1 -1
- package/language/lexer.d.mts +51 -18
- package/language/lexer.d.ts +51 -18
- package/language/lexer.js +102 -343
- package/language/lexer.js.map +1 -1
- package/language/lexer.mjs +37 -278
- package/language/lexer.mjs.map +1 -1
- package/language/location.d.mts +17 -4
- package/language/location.d.ts +17 -4
- package/language/location.js +2 -6
- package/language/location.js.map +1 -1
- package/language/location.mjs +0 -4
- package/language/location.mjs.map +1 -1
- package/language/parser.d.mts +243 -15
- package/language/parser.d.ts +243 -15
- package/language/parser.js +183 -528
- package/language/parser.js.map +1 -1
- package/language/parser.mjs +26 -371
- package/language/parser.mjs.map +1 -1
- package/language/predicates.d.mts +182 -1
- package/language/predicates.d.ts +182 -1
- package/language/predicates.js +45 -49
- package/language/predicates.js.map +1 -1
- package/language/predicates.mjs +3 -7
- package/language/predicates.mjs.map +1 -1
- package/language/printLocation.d.mts +31 -3
- package/language/printLocation.d.ts +31 -3
- package/language/printLocation.js +2 -10
- package/language/printLocation.js.map +1 -1
- package/language/printLocation.mjs +0 -8
- package/language/printLocation.mjs.map +1 -1
- package/language/printString.d.mts +2 -0
- package/language/printString.d.ts +2 -0
- package/language/printString.js +5 -11
- package/language/printString.js.map +1 -1
- package/language/printString.mjs +5 -11
- package/language/printString.mjs.map +1 -1
- package/language/printer.d.mts +13 -1
- package/language/printer.d.ts +13 -1
- package/language/printer.js +10 -31
- package/language/printer.js.map +1 -1
- package/language/printer.mjs +5 -26
- package/language/printer.mjs.map +1 -1
- package/language/schemaCoordinateLexer.d.mts +17 -3
- package/language/schemaCoordinateLexer.d.ts +17 -3
- package/language/schemaCoordinateLexer.js +21 -51
- package/language/schemaCoordinateLexer.js.map +1 -1
- package/language/schemaCoordinateLexer.mjs +5 -35
- package/language/schemaCoordinateLexer.mjs.map +1 -1
- package/language/source.d.mts +28 -1
- package/language/source.d.ts +28 -1
- package/language/source.js +5 -17
- package/language/source.js.map +1 -1
- package/language/source.mjs +0 -12
- package/language/source.mjs.map +1 -1
- package/language/tokenKind.d.mts +5 -0
- package/language/tokenKind.d.ts +5 -0
- package/language/tokenKind.js +0 -4
- package/language/tokenKind.js.map +1 -1
- package/language/tokenKind.mjs +0 -4
- package/language/tokenKind.mjs.map +1 -1
- package/language/visitor.d.mts +184 -74
- package/language/visitor.d.ts +184 -74
- package/language/visitor.js +10 -25
- package/language/visitor.js.map +1 -1
- package/language/visitor.mjs +0 -15
- package/language/visitor.mjs.map +1 -1
- package/package.json +2 -2
- package/type/assertName.d.mts +18 -1
- package/type/assertName.d.ts +18 -1
- package/type/assertName.js +8 -16
- package/type/assertName.js.map +1 -1
- package/type/assertName.mjs +0 -8
- package/type/assertName.mjs.map +1 -1
- package/type/definition.d.mts +3268 -138
- package/type/definition.d.ts +3268 -138
- package/type/definition.js +99 -346
- package/type/definition.js.map +1 -1
- package/type/definition.mjs +5 -252
- package/type/definition.mjs.map +1 -1
- package/type/directives.d.mts +220 -26
- package/type/directives.d.ts +220 -26
- package/type/directives.js +51 -83
- package/type/directives.js.map +1 -1
- package/type/directives.mjs +5 -37
- package/type/directives.mjs.map +1 -1
- package/type/index.d.mts +18 -12
- package/type/index.d.ts +18 -12
- package/type/index.js +106 -129
- package/type/index.js.map +1 -1
- package/type/index.mjs +5 -48
- package/type/index.mjs.map +1 -1
- package/type/introspection.d.mts +38 -2
- package/type/introspection.d.ts +38 -2
- package/type/introspection.js +122 -107
- package/type/introspection.js.map +1 -1
- package/type/introspection.mjs +24 -9
- package/type/introspection.mjs.map +1 -1
- package/type/scalars.d.mts +31 -4
- package/type/scalars.d.ts +31 -4
- package/type/scalars.js +61 -76
- package/type/scalars.js.map +1 -1
- package/type/scalars.mjs +0 -15
- package/type/scalars.mjs.map +1 -1
- package/type/schema.d.mts +514 -38
- package/type/schema.d.ts +514 -38
- package/type/schema.js +32 -129
- package/type/schema.js.map +1 -1
- package/type/schema.mjs +0 -97
- package/type/schema.mjs.map +1 -1
- package/type/validate.d.mts +36 -7
- package/type/validate.d.ts +36 -7
- package/type/validate.js +83 -195
- package/type/validate.js.map +1 -1
- package/type/validate.mjs +1 -113
- package/type/validate.mjs.map +1 -1
- package/utilities/TypeInfo.d.mts +570 -7
- package/utilities/TypeInfo.d.ts +570 -7
- package/utilities/TypeInfo.js +62 -85
- package/utilities/TypeInfo.js.map +1 -1
- package/utilities/TypeInfo.mjs +2 -25
- package/utilities/TypeInfo.mjs.map +1 -1
- package/utilities/astFromValue.d.mts +39 -6
- package/utilities/astFromValue.d.ts +39 -6
- package/utilities/astFromValue.js +30 -74
- package/utilities/astFromValue.js.map +1 -1
- package/utilities/astFromValue.mjs +0 -44
- package/utilities/astFromValue.mjs.map +1 -1
- package/utilities/buildASTSchema.d.mts +71 -11
- package/utilities/buildASTSchema.d.ts +71 -11
- package/utilities/buildASTSchema.js +11 -31
- package/utilities/buildASTSchema.js.map +1 -1
- package/utilities/buildASTSchema.mjs +1 -21
- package/utilities/buildASTSchema.mjs.map +1 -1
- package/utilities/buildClientSchema.d.mts +20 -5
- package/utilities/buildClientSchema.d.ts +20 -5
- package/utilities/buildClientSchema.js +53 -83
- package/utilities/buildClientSchema.js.map +1 -1
- package/utilities/buildClientSchema.mjs +1 -30
- package/utilities/buildClientSchema.mjs.map +1 -1
- package/utilities/coerceInputValue.d.mts +88 -6
- package/utilities/coerceInputValue.d.ts +88 -6
- package/utilities/coerceInputValue.js +52 -81
- package/utilities/coerceInputValue.js.map +1 -1
- package/utilities/coerceInputValue.mjs +21 -50
- package/utilities/coerceInputValue.mjs.map +1 -1
- package/utilities/concatAST.d.mts +13 -1
- package/utilities/concatAST.d.ts +13 -1
- package/utilities/concatAST.js +2 -7
- package/utilities/concatAST.js.map +1 -1
- package/utilities/concatAST.mjs +0 -5
- package/utilities/concatAST.mjs.map +1 -1
- package/utilities/extendSchema.d.mts +61 -6
- package/utilities/extendSchema.d.ts +61 -6
- package/utilities/extendSchema.js +92 -126
- package/utilities/extendSchema.js.map +1 -1
- package/utilities/extendSchema.mjs +27 -61
- package/utilities/extendSchema.mjs.map +1 -1
- package/utilities/findSchemaChanges.d.mts +100 -2
- package/utilities/findSchemaChanges.d.ts +100 -2
- package/utilities/findSchemaChanges.js +41 -75
- package/utilities/findSchemaChanges.js.map +1 -1
- package/utilities/findSchemaChanges.mjs +3 -37
- package/utilities/findSchemaChanges.mjs.map +1 -1
- package/utilities/getDefaultValueAST.d.mts +3 -2
- package/utilities/getDefaultValueAST.d.ts +3 -2
- package/utilities/getDefaultValueAST.js +7 -7
- package/utilities/getDefaultValueAST.js.map +1 -1
- package/utilities/getDefaultValueAST.mjs.map +1 -1
- package/utilities/getIntrospectionQuery.d.mts +151 -3
- package/utilities/getIntrospectionQuery.d.ts +151 -3
- package/utilities/getIntrospectionQuery.js +22 -42
- package/utilities/getIntrospectionQuery.js.map +1 -1
- package/utilities/getIntrospectionQuery.mjs +22 -42
- package/utilities/getIntrospectionQuery.mjs.map +1 -1
- package/utilities/getOperationAST.d.mts +17 -2
- package/utilities/getOperationAST.d.ts +17 -2
- package/utilities/getOperationAST.js +2 -10
- package/utilities/getOperationAST.js.map +1 -1
- package/utilities/getOperationAST.mjs +0 -8
- package/utilities/getOperationAST.mjs.map +1 -1
- package/utilities/index.d.mts +45 -30
- package/utilities/index.d.ts +45 -30
- package/utilities/index.js +61 -88
- package/utilities/index.js.map +1 -1
- package/utilities/index.mjs +4 -37
- package/utilities/index.mjs.map +1 -1
- package/utilities/introspectionFromSchema.d.mts +56 -2
- package/utilities/introspectionFromSchema.d.ts +56 -2
- package/utilities/introspectionFromSchema.js +8 -16
- package/utilities/introspectionFromSchema.js.map +1 -1
- package/utilities/introspectionFromSchema.mjs +1 -9
- package/utilities/introspectionFromSchema.mjs.map +1 -1
- package/utilities/lexicographicSortSchema.d.mts +36 -1
- package/utilities/lexicographicSortSchema.d.ts +36 -1
- package/utilities/lexicographicSortSchema.js +14 -19
- package/utilities/lexicographicSortSchema.js.map +1 -1
- package/utilities/lexicographicSortSchema.mjs +0 -5
- package/utilities/lexicographicSortSchema.mjs.map +1 -1
- package/utilities/mapSchemaConfig.d.mts +9 -6
- package/utilities/mapSchemaConfig.d.ts +9 -6
- package/utilities/mapSchemaConfig.js +28 -40
- package/utilities/mapSchemaConfig.js.map +1 -1
- package/utilities/mapSchemaConfig.mjs +0 -12
- package/utilities/mapSchemaConfig.mjs.map +1 -1
- package/utilities/printSchema.d.mts +87 -3
- package/utilities/printSchema.d.ts +87 -3
- package/utilities/printSchema.js +30 -59
- package/utilities/printSchema.js.map +1 -1
- package/utilities/printSchema.mjs +1 -30
- package/utilities/printSchema.mjs.map +1 -1
- package/utilities/replaceVariables.d.mts +40 -4
- package/utilities/replaceVariables.d.ts +40 -4
- package/utilities/replaceVariables.js +9 -17
- package/utilities/replaceVariables.js.map +1 -1
- package/utilities/replaceVariables.mjs +0 -8
- package/utilities/replaceVariables.mjs.map +1 -1
- package/utilities/resolveSchemaCoordinate.d.mts +67 -5
- package/utilities/resolveSchemaCoordinate.d.ts +67 -5
- package/utilities/resolveSchemaCoordinate.js +23 -79
- package/utilities/resolveSchemaCoordinate.js.map +1 -1
- package/utilities/resolveSchemaCoordinate.mjs +0 -56
- package/utilities/resolveSchemaCoordinate.mjs.map +1 -1
- package/utilities/separateOperations.d.mts +32 -2
- package/utilities/separateOperations.d.ts +32 -2
- package/utilities/separateOperations.js +7 -22
- package/utilities/separateOperations.js.map +1 -1
- package/utilities/separateOperations.mjs +0 -15
- package/utilities/separateOperations.mjs.map +1 -1
- package/utilities/sortValueNode.d.mts +1 -1
- package/utilities/sortValueNode.d.ts +1 -1
- package/utilities/sortValueNode.js +12 -19
- package/utilities/sortValueNode.js.map +1 -1
- package/utilities/sortValueNode.mjs +0 -7
- package/utilities/sortValueNode.mjs.map +1 -1
- package/utilities/stripIgnoredCharacters.d.mts +14 -7
- package/utilities/stripIgnoredCharacters.d.ts +14 -7
- package/utilities/stripIgnoredCharacters.js +11 -76
- package/utilities/stripIgnoredCharacters.js.map +1 -1
- package/utilities/stripIgnoredCharacters.mjs +0 -65
- package/utilities/stripIgnoredCharacters.mjs.map +1 -1
- package/utilities/typeComparators.d.mts +86 -2
- package/utilities/typeComparators.d.ts +86 -2
- package/utilities/typeComparators.js +14 -47
- package/utilities/typeComparators.js.map +1 -1
- package/utilities/typeComparators.mjs +0 -33
- package/utilities/typeComparators.mjs.map +1 -1
- package/utilities/typeFromAST.d.mts +90 -4
- package/utilities/typeFromAST.d.ts +90 -4
- package/utilities/typeFromAST.js +7 -7
- package/utilities/typeFromAST.js.map +1 -1
- package/utilities/typeFromAST.mjs.map +1 -1
- package/utilities/typedQueryDocumentNode.d.mts +5 -1
- package/utilities/typedQueryDocumentNode.d.ts +5 -1
- package/utilities/typedQueryDocumentNode.js.map +1 -1
- package/utilities/typedQueryDocumentNode.mjs.map +1 -1
- package/utilities/validateInputValue.d.mts +129 -6
- package/utilities/validateInputValue.d.ts +129 -6
- package/utilities/validateInputValue.js +60 -80
- package/utilities/validateInputValue.js.map +1 -1
- package/utilities/validateInputValue.mjs +0 -20
- package/utilities/validateInputValue.mjs.map +1 -1
- package/utilities/valueFromAST.d.mts +45 -4
- package/utilities/valueFromAST.d.ts +45 -4
- package/utilities/valueFromAST.js +32 -72
- package/utilities/valueFromAST.js.map +1 -1
- package/utilities/valueFromAST.mjs +13 -53
- package/utilities/valueFromAST.mjs.map +1 -1
- package/utilities/valueFromASTUntyped.d.mts +18 -5
- package/utilities/valueFromASTUntyped.d.ts +18 -5
- package/utilities/valueFromASTUntyped.js +12 -28
- package/utilities/valueFromASTUntyped.js.map +1 -1
- package/utilities/valueFromASTUntyped.mjs +0 -16
- package/utilities/valueFromASTUntyped.mjs.map +1 -1
- package/utilities/valueToLiteral.d.mts +32 -3
- package/utilities/valueToLiteral.d.ts +32 -3
- package/utilities/valueToLiteral.js +37 -70
- package/utilities/valueToLiteral.js.map +1 -1
- package/utilities/valueToLiteral.mjs +7 -40
- package/utilities/valueToLiteral.mjs.map +1 -1
- package/validation/ValidationContext.d.mts +499 -9
- package/validation/ValidationContext.d.ts +499 -9
- package/validation/ValidationContext.js +9 -16
- package/validation/ValidationContext.js.map +1 -1
- package/validation/ValidationContext.mjs +1 -8
- package/validation/ValidationContext.mjs.map +1 -1
- package/validation/index.d.mts +53 -46
- package/validation/index.d.ts +53 -46
- package/validation/index.js +91 -125
- package/validation/index.js.map +1 -1
- package/validation/index.mjs +0 -34
- package/validation/index.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveLabelRule.d.mts +32 -2
- package/validation/rules/DeferStreamDirectiveLabelRule.d.ts +32 -2
- package/validation/rules/DeferStreamDirectiveLabelRule.js +9 -14
- package/validation/rules/DeferStreamDirectiveLabelRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveLabelRule.mjs +0 -5
- package/validation/rules/DeferStreamDirectiveLabelRule.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +30 -2
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +30 -2
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js +8 -13
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs +0 -5
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +54 -2
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +54 -2
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js +14 -19
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs +0 -5
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs.map +1 -1
- package/validation/rules/ExecutableDefinitionsRule.d.mts +30 -2
- package/validation/rules/ExecutableDefinitionsRule.d.ts +30 -2
- package/validation/rules/ExecutableDefinitionsRule.js +7 -15
- package/validation/rules/ExecutableDefinitionsRule.js.map +1 -1
- package/validation/rules/ExecutableDefinitionsRule.mjs +0 -8
- package/validation/rules/ExecutableDefinitionsRule.mjs.map +1 -1
- package/validation/rules/FieldsOnCorrectTypeRule.d.mts +30 -2
- package/validation/rules/FieldsOnCorrectTypeRule.d.ts +30 -2
- package/validation/rules/FieldsOnCorrectTypeRule.js +14 -41
- package/validation/rules/FieldsOnCorrectTypeRule.js.map +1 -1
- package/validation/rules/FieldsOnCorrectTypeRule.mjs +0 -27
- package/validation/rules/FieldsOnCorrectTypeRule.mjs.map +1 -1
- package/validation/rules/FragmentsOnCompositeTypesRule.d.mts +30 -2
- package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +30 -2
- package/validation/rules/FragmentsOnCompositeTypesRule.js +12 -21
- package/validation/rules/FragmentsOnCompositeTypesRule.js.map +1 -1
- package/validation/rules/FragmentsOnCompositeTypesRule.mjs +0 -9
- package/validation/rules/FragmentsOnCompositeTypesRule.mjs.map +1 -1
- package/validation/rules/KnownArgumentNamesRule.d.mts +31 -5
- package/validation/rules/KnownArgumentNamesRule.d.ts +31 -5
- package/validation/rules/KnownArgumentNamesRule.js +16 -29
- package/validation/rules/KnownArgumentNamesRule.js.map +1 -1
- package/validation/rules/KnownArgumentNamesRule.mjs +0 -13
- package/validation/rules/KnownArgumentNamesRule.mjs.map +1 -1
- package/validation/rules/KnownDirectivesRule.d.mts +30 -2
- package/validation/rules/KnownDirectivesRule.d.ts +30 -2
- package/validation/rules/KnownDirectivesRule.js +66 -73
- package/validation/rules/KnownDirectivesRule.js.map +1 -1
- package/validation/rules/KnownDirectivesRule.mjs +3 -10
- package/validation/rules/KnownDirectivesRule.mjs.map +1 -1
- package/validation/rules/KnownFragmentNamesRule.d.mts +30 -2
- package/validation/rules/KnownFragmentNamesRule.d.ts +30 -2
- package/validation/rules/KnownFragmentNamesRule.js +2 -10
- package/validation/rules/KnownFragmentNamesRule.js.map +1 -1
- package/validation/rules/KnownFragmentNamesRule.mjs +0 -8
- package/validation/rules/KnownFragmentNamesRule.mjs.map +1 -1
- package/validation/rules/KnownOperationTypesRule.d.mts +22 -2
- package/validation/rules/KnownOperationTypesRule.d.ts +22 -2
- package/validation/rules/KnownOperationTypesRule.js +2 -10
- package/validation/rules/KnownOperationTypesRule.js.map +1 -1
- package/validation/rules/KnownOperationTypesRule.mjs +0 -8
- package/validation/rules/KnownOperationTypesRule.mjs.map +1 -1
- package/validation/rules/KnownTypeNamesRule.d.mts +30 -2
- package/validation/rules/KnownTypeNamesRule.d.ts +30 -2
- package/validation/rules/KnownTypeNamesRule.js +11 -19
- package/validation/rules/KnownTypeNamesRule.js.map +1 -1
- package/validation/rules/KnownTypeNamesRule.mjs +0 -8
- package/validation/rules/KnownTypeNamesRule.mjs.map +1 -1
- package/validation/rules/LoneAnonymousOperationRule.d.mts +30 -2
- package/validation/rules/LoneAnonymousOperationRule.d.ts +30 -2
- package/validation/rules/LoneAnonymousOperationRule.js +4 -12
- package/validation/rules/LoneAnonymousOperationRule.js.map +1 -1
- package/validation/rules/LoneAnonymousOperationRule.mjs +0 -8
- package/validation/rules/LoneAnonymousOperationRule.mjs.map +1 -1
- package/validation/rules/LoneSchemaDefinitionRule.d.mts +23 -2
- package/validation/rules/LoneSchemaDefinitionRule.d.ts +23 -2
- package/validation/rules/LoneSchemaDefinitionRule.js +3 -8
- package/validation/rules/LoneSchemaDefinitionRule.js.map +1 -1
- package/validation/rules/LoneSchemaDefinitionRule.mjs +0 -5
- package/validation/rules/LoneSchemaDefinitionRule.mjs.map +1 -1
- package/validation/rules/MaxIntrospectionDepthRule.d.mts +33 -2
- package/validation/rules/MaxIntrospectionDepthRule.d.ts +33 -2
- package/validation/rules/MaxIntrospectionDepthRule.js +5 -19
- package/validation/rules/MaxIntrospectionDepthRule.js.map +1 -1
- package/validation/rules/MaxIntrospectionDepthRule.mjs +0 -14
- package/validation/rules/MaxIntrospectionDepthRule.mjs.map +1 -1
- package/validation/rules/NoFragmentCyclesRule.d.mts +30 -2
- package/validation/rules/NoFragmentCyclesRule.d.ts +30 -2
- package/validation/rules/NoFragmentCyclesRule.js +2 -17
- package/validation/rules/NoFragmentCyclesRule.js.map +1 -1
- package/validation/rules/NoFragmentCyclesRule.mjs +0 -15
- package/validation/rules/NoFragmentCyclesRule.mjs.map +1 -1
- package/validation/rules/NoUndefinedVariablesRule.d.mts +30 -2
- package/validation/rules/NoUndefinedVariablesRule.d.ts +30 -2
- package/validation/rules/NoUndefinedVariablesRule.js +2 -10
- package/validation/rules/NoUndefinedVariablesRule.js.map +1 -1
- package/validation/rules/NoUndefinedVariablesRule.mjs +0 -8
- package/validation/rules/NoUndefinedVariablesRule.mjs.map +1 -1
- package/validation/rules/NoUnusedFragmentsRule.d.mts +30 -2
- package/validation/rules/NoUnusedFragmentsRule.d.ts +30 -2
- package/validation/rules/NoUnusedFragmentsRule.js +2 -10
- package/validation/rules/NoUnusedFragmentsRule.js.map +1 -1
- package/validation/rules/NoUnusedFragmentsRule.mjs +0 -8
- package/validation/rules/NoUnusedFragmentsRule.mjs.map +1 -1
- package/validation/rules/NoUnusedVariablesRule.d.mts +31 -2
- package/validation/rules/NoUnusedVariablesRule.d.ts +31 -2
- package/validation/rules/NoUnusedVariablesRule.js +3 -11
- package/validation/rules/NoUnusedVariablesRule.js.map +1 -1
- package/validation/rules/NoUnusedVariablesRule.mjs +0 -8
- package/validation/rules/NoUnusedVariablesRule.mjs.map +1 -1
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +35 -2
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +35 -2
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +32 -206
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js.map +1 -1
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +1 -175
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs.map +1 -1
- package/validation/rules/PossibleFragmentSpreadsRule.d.mts +38 -2
- package/validation/rules/PossibleFragmentSpreadsRule.d.ts +38 -2
- package/validation/rules/PossibleFragmentSpreadsRule.js +17 -24
- package/validation/rules/PossibleFragmentSpreadsRule.js.map +1 -1
- package/validation/rules/PossibleFragmentSpreadsRule.mjs +0 -7
- package/validation/rules/PossibleFragmentSpreadsRule.mjs.map +1 -1
- package/validation/rules/PossibleTypeExtensionsRule.d.mts +23 -2
- package/validation/rules/PossibleTypeExtensionsRule.d.ts +23 -2
- package/validation/rules/PossibleTypeExtensionsRule.js +38 -49
- package/validation/rules/PossibleTypeExtensionsRule.js.map +1 -1
- package/validation/rules/PossibleTypeExtensionsRule.mjs +0 -11
- package/validation/rules/PossibleTypeExtensionsRule.mjs.map +1 -1
- package/validation/rules/ProvidedRequiredArgumentsRule.d.mts +31 -5
- package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +31 -5
- package/validation/rules/ProvidedRequiredArgumentsRule.js +20 -33
- package/validation/rules/ProvidedRequiredArgumentsRule.js.map +1 -1
- package/validation/rules/ProvidedRequiredArgumentsRule.mjs +0 -13
- package/validation/rules/ProvidedRequiredArgumentsRule.mjs.map +1 -1
- package/validation/rules/ScalarLeafsRule.d.mts +30 -2
- package/validation/rules/ScalarLeafsRule.d.ts +30 -2
- package/validation/rules/ScalarLeafsRule.js +10 -16
- package/validation/rules/ScalarLeafsRule.js.map +1 -1
- package/validation/rules/ScalarLeafsRule.mjs +0 -6
- package/validation/rules/ScalarLeafsRule.mjs.map +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.d.mts +36 -4
- package/validation/rules/SingleFieldSubscriptionsRule.d.ts +36 -4
- package/validation/rules/SingleFieldSubscriptionsRule.js +8 -17
- package/validation/rules/SingleFieldSubscriptionsRule.js.map +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.mjs +0 -9
- package/validation/rules/SingleFieldSubscriptionsRule.mjs.map +1 -1
- package/validation/rules/StreamDirectiveOnListFieldRule.d.mts +23 -2
- package/validation/rules/StreamDirectiveOnListFieldRule.d.ts +23 -2
- package/validation/rules/StreamDirectiveOnListFieldRule.js +7 -12
- package/validation/rules/StreamDirectiveOnListFieldRule.js.map +1 -1
- package/validation/rules/StreamDirectiveOnListFieldRule.mjs +0 -5
- package/validation/rules/StreamDirectiveOnListFieldRule.mjs.map +1 -1
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +23 -2
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +23 -2
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js +4 -10
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js.map +1 -1
- package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +0 -6
- package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueArgumentNamesRule.d.mts +30 -2
- package/validation/rules/UniqueArgumentNamesRule.d.ts +30 -2
- package/validation/rules/UniqueArgumentNamesRule.js +4 -12
- package/validation/rules/UniqueArgumentNamesRule.js.map +1 -1
- package/validation/rules/UniqueArgumentNamesRule.mjs +0 -8
- package/validation/rules/UniqueArgumentNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueDirectiveNamesRule.d.mts +23 -2
- package/validation/rules/UniqueDirectiveNamesRule.d.ts +23 -2
- package/validation/rules/UniqueDirectiveNamesRule.js +3 -8
- package/validation/rules/UniqueDirectiveNamesRule.js.map +1 -1
- package/validation/rules/UniqueDirectiveNamesRule.mjs +0 -5
- package/validation/rules/UniqueDirectiveNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueDirectivesPerLocationRule.d.mts +30 -2
- package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +30 -2
- package/validation/rules/UniqueDirectivesPerLocationRule.js +20 -21
- package/validation/rules/UniqueDirectivesPerLocationRule.js.map +1 -1
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs +10 -11
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs.map +1 -1
- package/validation/rules/UniqueEnumValueNamesRule.d.mts +23 -2
- package/validation/rules/UniqueEnumValueNamesRule.d.ts +23 -2
- package/validation/rules/UniqueEnumValueNamesRule.js +5 -10
- package/validation/rules/UniqueEnumValueNamesRule.js.map +1 -1
- package/validation/rules/UniqueEnumValueNamesRule.mjs +0 -5
- package/validation/rules/UniqueEnumValueNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +23 -2
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +23 -2
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +5 -10
- package/validation/rules/UniqueFieldDefinitionNamesRule.js.map +1 -1
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +0 -5
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueFragmentNamesRule.d.mts +30 -2
- package/validation/rules/UniqueFragmentNamesRule.d.ts +30 -2
- package/validation/rules/UniqueFragmentNamesRule.js +2 -9
- package/validation/rules/UniqueFragmentNamesRule.js.map +1 -1
- package/validation/rules/UniqueFragmentNamesRule.mjs +0 -7
- package/validation/rules/UniqueFragmentNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.d.mts +34 -2
- package/validation/rules/UniqueInputFieldNamesRule.d.ts +34 -2
- package/validation/rules/UniqueInputFieldNamesRule.js +4 -12
- package/validation/rules/UniqueInputFieldNamesRule.js.map +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.mjs +0 -8
- package/validation/rules/UniqueInputFieldNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueOperationNamesRule.d.mts +30 -2
- package/validation/rules/UniqueOperationNamesRule.d.ts +30 -2
- package/validation/rules/UniqueOperationNamesRule.js +2 -9
- package/validation/rules/UniqueOperationNamesRule.js.map +1 -1
- package/validation/rules/UniqueOperationNamesRule.mjs +0 -7
- package/validation/rules/UniqueOperationNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueOperationTypesRule.d.mts +23 -2
- package/validation/rules/UniqueOperationTypesRule.d.ts +23 -2
- package/validation/rules/UniqueOperationTypesRule.js +3 -8
- package/validation/rules/UniqueOperationTypesRule.js.map +1 -1
- package/validation/rules/UniqueOperationTypesRule.mjs +0 -5
- package/validation/rules/UniqueOperationTypesRule.mjs.map +1 -1
- package/validation/rules/UniqueTypeNamesRule.d.mts +23 -2
- package/validation/rules/UniqueTypeNamesRule.d.ts +23 -2
- package/validation/rules/UniqueTypeNamesRule.js +3 -8
- package/validation/rules/UniqueTypeNamesRule.js.map +1 -1
- package/validation/rules/UniqueTypeNamesRule.mjs +0 -5
- package/validation/rules/UniqueTypeNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueVariableNamesRule.d.mts +30 -2
- package/validation/rules/UniqueVariableNamesRule.d.ts +30 -2
- package/validation/rules/UniqueVariableNamesRule.js +4 -9
- package/validation/rules/UniqueVariableNamesRule.js.map +1 -1
- package/validation/rules/UniqueVariableNamesRule.mjs +0 -5
- package/validation/rules/UniqueVariableNamesRule.mjs.map +1 -1
- package/validation/rules/ValuesOfCorrectTypeRule.d.mts +30 -2
- package/validation/rules/ValuesOfCorrectTypeRule.d.ts +30 -2
- package/validation/rules/ValuesOfCorrectTypeRule.js +3 -23
- package/validation/rules/ValuesOfCorrectTypeRule.js.map +1 -1
- package/validation/rules/ValuesOfCorrectTypeRule.mjs +1 -21
- package/validation/rules/ValuesOfCorrectTypeRule.mjs.map +1 -1
- package/validation/rules/VariablesAreInputTypesRule.d.mts +34 -2
- package/validation/rules/VariablesAreInputTypesRule.d.ts +34 -2
- package/validation/rules/VariablesAreInputTypesRule.js +8 -16
- package/validation/rules/VariablesAreInputTypesRule.js.map +1 -1
- package/validation/rules/VariablesAreInputTypesRule.mjs +0 -8
- package/validation/rules/VariablesAreInputTypesRule.mjs.map +1 -1
- package/validation/rules/VariablesInAllowedPositionRule.d.mts +30 -2
- package/validation/rules/VariablesInAllowedPositionRule.d.ts +30 -2
- package/validation/rules/VariablesInAllowedPositionRule.js +14 -34
- package/validation/rules/VariablesInAllowedPositionRule.js.map +1 -1
- package/validation/rules/VariablesInAllowedPositionRule.mjs +0 -20
- package/validation/rules/VariablesInAllowedPositionRule.mjs.map +1 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.d.mts +43 -2
- package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +43 -2
- package/validation/rules/custom/NoDeprecatedCustomRule.js +8 -18
- package/validation/rules/custom/NoDeprecatedCustomRule.js.map +1 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs +0 -10
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs.map +1 -1
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +30 -2
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +30 -2
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +6 -16
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.map +1 -1
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +0 -10
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs.map +1 -1
- package/validation/specifiedRules.d.mts +3 -4
- package/validation/specifiedRules.d.ts +3 -4
- package/validation/specifiedRules.js +87 -133
- package/validation/specifiedRules.js.map +1 -1
- package/validation/specifiedRules.mjs +0 -46
- package/validation/specifiedRules.mjs.map +1 -1
- package/validation/validate.d.mts +70 -12
- package/validation/validate.d.ts +70 -12
- package/validation/validate.js +19 -60
- package/validation/validate.js.map +1 -1
- package/validation/validate.mjs +0 -41
- package/validation/validate.mjs.map +1 -1
- package/version.d.mts +3 -6
- package/version.d.ts +3 -6
- package/version.js +2 -10
- package/version.js.map +1 -1
- package/version.mjs +2 -10
- package/version.mjs.map +1 -1
package/language/parser.js
CHANGED
|
@@ -6,18 +6,14 @@ exports.parseValue = parseValue;
|
|
|
6
6
|
exports.parseConstValue = parseConstValue;
|
|
7
7
|
exports.parseType = parseType;
|
|
8
8
|
exports.parseSchemaCoordinate = parseSchemaCoordinate;
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
/**
|
|
18
|
-
* Given a GraphQL source, parses it into a Document.
|
|
19
|
-
* Throws GraphQLError if a syntax error is encountered.
|
|
20
|
-
*/
|
|
9
|
+
const syntaxError_ts_1 = require("../error/syntaxError.js");
|
|
10
|
+
const ast_ts_1 = require("./ast.js");
|
|
11
|
+
const directiveLocation_ts_1 = require("./directiveLocation.js");
|
|
12
|
+
const kinds_ts_1 = require("./kinds.js");
|
|
13
|
+
const lexer_ts_1 = require("./lexer.js");
|
|
14
|
+
const schemaCoordinateLexer_ts_1 = require("./schemaCoordinateLexer.js");
|
|
15
|
+
const source_ts_1 = require("./source.js");
|
|
16
|
+
const tokenKind_ts_1 = require("./tokenKind.js");
|
|
21
17
|
function parse(source, options) {
|
|
22
18
|
const parser = new Parser(source, options);
|
|
23
19
|
const document = parser.parseDocument();
|
|
@@ -27,78 +23,36 @@ function parse(source, options) {
|
|
|
27
23
|
});
|
|
28
24
|
return document;
|
|
29
25
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Given a string containing a GraphQL value (ex. `[42]`), parse the AST for
|
|
32
|
-
* that value.
|
|
33
|
-
* Throws GraphQLError if a syntax error is encountered.
|
|
34
|
-
*
|
|
35
|
-
* This is useful within tools that operate upon GraphQL Values directly and
|
|
36
|
-
* in isolation of complete GraphQL documents.
|
|
37
|
-
*/
|
|
38
26
|
function parseValue(source, options) {
|
|
39
27
|
const parser = new Parser(source, options);
|
|
40
|
-
parser.expectToken(
|
|
28
|
+
parser.expectToken(tokenKind_ts_1.TokenKind.SOF);
|
|
41
29
|
const value = parser.parseValueLiteral(false);
|
|
42
|
-
parser.expectToken(
|
|
30
|
+
parser.expectToken(tokenKind_ts_1.TokenKind.EOF);
|
|
43
31
|
return value;
|
|
44
32
|
}
|
|
45
|
-
/**
|
|
46
|
-
* Similar to parseValue(), but raises a parse error if it encounters a
|
|
47
|
-
* variable. The return type will be a constant value.
|
|
48
|
-
*/
|
|
49
33
|
function parseConstValue(source, options) {
|
|
50
34
|
const parser = new Parser(source, options);
|
|
51
|
-
parser.expectToken(
|
|
35
|
+
parser.expectToken(tokenKind_ts_1.TokenKind.SOF);
|
|
52
36
|
const value = parser.parseConstValueLiteral();
|
|
53
|
-
parser.expectToken(
|
|
37
|
+
parser.expectToken(tokenKind_ts_1.TokenKind.EOF);
|
|
54
38
|
return value;
|
|
55
39
|
}
|
|
56
|
-
/**
|
|
57
|
-
* Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for
|
|
58
|
-
* that type.
|
|
59
|
-
* Throws GraphQLError if a syntax error is encountered.
|
|
60
|
-
*
|
|
61
|
-
* This is useful within tools that operate upon GraphQL Types directly and
|
|
62
|
-
* in isolation of complete GraphQL documents.
|
|
63
|
-
*
|
|
64
|
-
* Consider providing the results to the utility function: typeFromAST().
|
|
65
|
-
*/
|
|
66
40
|
function parseType(source, options) {
|
|
67
41
|
const parser = new Parser(source, options);
|
|
68
|
-
parser.expectToken(
|
|
42
|
+
parser.expectToken(tokenKind_ts_1.TokenKind.SOF);
|
|
69
43
|
const type = parser.parseTypeReference();
|
|
70
|
-
parser.expectToken(
|
|
44
|
+
parser.expectToken(tokenKind_ts_1.TokenKind.EOF);
|
|
71
45
|
return type;
|
|
72
46
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Given a string containing a GraphQL Schema Coordinate (ex. `Type.field`),
|
|
75
|
-
* parse the AST for that schema coordinate.
|
|
76
|
-
* Throws GraphQLError if a syntax error is encountered.
|
|
77
|
-
*
|
|
78
|
-
* Consider providing the results to the utility function:
|
|
79
|
-
* resolveASTSchemaCoordinate(). Or calling resolveSchemaCoordinate() directly
|
|
80
|
-
* with an unparsed source.
|
|
81
|
-
*/
|
|
82
47
|
function parseSchemaCoordinate(source) {
|
|
83
|
-
const sourceObj = (0,
|
|
84
|
-
const lexer = new
|
|
48
|
+
const sourceObj = (0, source_ts_1.isSource)(source) ? source : new source_ts_1.Source(source);
|
|
49
|
+
const lexer = new schemaCoordinateLexer_ts_1.SchemaCoordinateLexer(sourceObj);
|
|
85
50
|
const parser = new Parser(source, { lexer });
|
|
86
|
-
parser.expectToken(
|
|
51
|
+
parser.expectToken(tokenKind_ts_1.TokenKind.SOF);
|
|
87
52
|
const coordinate = parser.parseSchemaCoordinate();
|
|
88
|
-
parser.expectToken(
|
|
53
|
+
parser.expectToken(tokenKind_ts_1.TokenKind.EOF);
|
|
89
54
|
return coordinate;
|
|
90
55
|
}
|
|
91
|
-
/**
|
|
92
|
-
* This class is exported only to assist people in implementing their own parsers
|
|
93
|
-
* without duplicating too much code and should be used only as last resort for cases
|
|
94
|
-
* such as experimental syntax or if certain features could not be contributed upstream.
|
|
95
|
-
*
|
|
96
|
-
* It is still part of the internal API and is versioned, so any changes to it are never
|
|
97
|
-
* considered breaking changes. If you still need to support multiple versions of the
|
|
98
|
-
* library, please use the `versionInfo` variable for version detection.
|
|
99
|
-
*
|
|
100
|
-
* @internal
|
|
101
|
-
*/
|
|
102
56
|
class Parser {
|
|
103
57
|
constructor(source, options = {}) {
|
|
104
58
|
const { lexer, ..._options } = options;
|
|
@@ -106,8 +60,8 @@ class Parser {
|
|
|
106
60
|
this._lexer = lexer;
|
|
107
61
|
}
|
|
108
62
|
else {
|
|
109
|
-
const sourceObj = (0,
|
|
110
|
-
this._lexer = new
|
|
63
|
+
const sourceObj = (0, source_ts_1.isSource)(source) ? source : new source_ts_1.Source(source);
|
|
64
|
+
this._lexer = new lexer_ts_1.Lexer(sourceObj);
|
|
111
65
|
}
|
|
112
66
|
this._options = _options;
|
|
113
67
|
this._tokenCounter = 0;
|
|
@@ -115,62 +69,31 @@ class Parser {
|
|
|
115
69
|
get tokenCount() {
|
|
116
70
|
return this._tokenCounter;
|
|
117
71
|
}
|
|
118
|
-
/**
|
|
119
|
-
* Converts a name lex token into a name parse node.
|
|
120
|
-
*/
|
|
121
72
|
parseName() {
|
|
122
|
-
const token = this.expectToken(
|
|
73
|
+
const token = this.expectToken(tokenKind_ts_1.TokenKind.NAME);
|
|
123
74
|
return this.node(token, {
|
|
124
|
-
kind:
|
|
75
|
+
kind: kinds_ts_1.Kind.NAME,
|
|
125
76
|
value: token.value,
|
|
126
77
|
});
|
|
127
78
|
}
|
|
128
|
-
// Implements the parsing rules in the Document section.
|
|
129
|
-
/**
|
|
130
|
-
* Document : Definition+
|
|
131
|
-
*/
|
|
132
79
|
parseDocument() {
|
|
133
80
|
return this.node(this._lexer.token, {
|
|
134
|
-
kind:
|
|
135
|
-
definitions: this.many(
|
|
81
|
+
kind: kinds_ts_1.Kind.DOCUMENT,
|
|
82
|
+
definitions: this.many(tokenKind_ts_1.TokenKind.SOF, this.parseDefinition, tokenKind_ts_1.TokenKind.EOF),
|
|
136
83
|
});
|
|
137
84
|
}
|
|
138
|
-
/**
|
|
139
|
-
* Definition :
|
|
140
|
-
* - ExecutableDefinition
|
|
141
|
-
* - TypeSystemDefinition
|
|
142
|
-
* - TypeSystemExtension
|
|
143
|
-
*
|
|
144
|
-
* ExecutableDefinition :
|
|
145
|
-
* - OperationDefinition
|
|
146
|
-
* - FragmentDefinition
|
|
147
|
-
*
|
|
148
|
-
* TypeSystemDefinition :
|
|
149
|
-
* - SchemaDefinition
|
|
150
|
-
* - TypeDefinition
|
|
151
|
-
* - DirectiveDefinition
|
|
152
|
-
*
|
|
153
|
-
* TypeDefinition :
|
|
154
|
-
* - ScalarTypeDefinition
|
|
155
|
-
* - ObjectTypeDefinition
|
|
156
|
-
* - InterfaceTypeDefinition
|
|
157
|
-
* - UnionTypeDefinition
|
|
158
|
-
* - EnumTypeDefinition
|
|
159
|
-
* - InputObjectTypeDefinition
|
|
160
|
-
*/
|
|
161
85
|
parseDefinition() {
|
|
162
|
-
if (this.peek(
|
|
86
|
+
if (this.peek(tokenKind_ts_1.TokenKind.BRACE_L)) {
|
|
163
87
|
return this.parseOperationDefinition();
|
|
164
88
|
}
|
|
165
|
-
// Many definitions begin with a description and require a lookahead.
|
|
166
89
|
const hasDescription = this.peekDescription();
|
|
167
90
|
const keywordToken = hasDescription
|
|
168
91
|
? this._lexer.lookahead()
|
|
169
92
|
: this._lexer.token;
|
|
170
|
-
if (hasDescription && keywordToken.kind ===
|
|
171
|
-
throw (0,
|
|
93
|
+
if (hasDescription && keywordToken.kind === tokenKind_ts_1.TokenKind.BRACE_L) {
|
|
94
|
+
throw (0, syntaxError_ts_1.syntaxError)(this._lexer.source, this._lexer.token.start, 'Unexpected description, descriptions are not supported on shorthand queries.');
|
|
172
95
|
}
|
|
173
|
-
if (keywordToken.kind ===
|
|
96
|
+
if (keywordToken.kind === tokenKind_ts_1.TokenKind.NAME) {
|
|
174
97
|
switch (keywordToken.value) {
|
|
175
98
|
case 'schema':
|
|
176
99
|
return this.parseSchemaDefinition();
|
|
@@ -198,7 +121,7 @@ class Parser {
|
|
|
198
121
|
return this.parseFragmentDefinition();
|
|
199
122
|
}
|
|
200
123
|
if (hasDescription) {
|
|
201
|
-
throw (0,
|
|
124
|
+
throw (0, syntaxError_ts_1.syntaxError)(this._lexer.source, this._lexer.token.start, 'Unexpected description, only GraphQL definitions support descriptions.');
|
|
202
125
|
}
|
|
203
126
|
switch (keywordToken.value) {
|
|
204
127
|
case 'extend':
|
|
@@ -207,18 +130,12 @@ class Parser {
|
|
|
207
130
|
}
|
|
208
131
|
throw this.unexpected(keywordToken);
|
|
209
132
|
}
|
|
210
|
-
// Implements the parsing rules in the Operations section.
|
|
211
|
-
/**
|
|
212
|
-
* OperationDefinition :
|
|
213
|
-
* - SelectionSet
|
|
214
|
-
* - OperationType Name? VariableDefinitions? Directives? SelectionSet
|
|
215
|
-
*/
|
|
216
133
|
parseOperationDefinition() {
|
|
217
134
|
const start = this._lexer.token;
|
|
218
|
-
if (this.peek(
|
|
135
|
+
if (this.peek(tokenKind_ts_1.TokenKind.BRACE_L)) {
|
|
219
136
|
return this.node(start, {
|
|
220
|
-
kind:
|
|
221
|
-
operation:
|
|
137
|
+
kind: kinds_ts_1.Kind.OPERATION_DEFINITION,
|
|
138
|
+
operation: ast_ts_1.OperationTypeNode.QUERY,
|
|
222
139
|
description: undefined,
|
|
223
140
|
name: undefined,
|
|
224
141
|
variableDefinitions: undefined,
|
|
@@ -229,11 +146,11 @@ class Parser {
|
|
|
229
146
|
const description = this.parseDescription();
|
|
230
147
|
const operation = this.parseOperationType();
|
|
231
148
|
let name;
|
|
232
|
-
if (this.peek(
|
|
149
|
+
if (this.peek(tokenKind_ts_1.TokenKind.NAME)) {
|
|
233
150
|
name = this.parseName();
|
|
234
151
|
}
|
|
235
152
|
return this.node(start, {
|
|
236
|
-
kind:
|
|
153
|
+
kind: kinds_ts_1.Kind.OPERATION_DEFINITION,
|
|
237
154
|
operation,
|
|
238
155
|
description,
|
|
239
156
|
name,
|
|
@@ -242,86 +159,58 @@ class Parser {
|
|
|
242
159
|
selectionSet: this.parseSelectionSet(),
|
|
243
160
|
});
|
|
244
161
|
}
|
|
245
|
-
/**
|
|
246
|
-
* OperationType : one of query mutation subscription
|
|
247
|
-
*/
|
|
248
162
|
parseOperationType() {
|
|
249
|
-
const operationToken = this.expectToken(
|
|
163
|
+
const operationToken = this.expectToken(tokenKind_ts_1.TokenKind.NAME);
|
|
250
164
|
switch (operationToken.value) {
|
|
251
165
|
case 'query':
|
|
252
|
-
return
|
|
166
|
+
return ast_ts_1.OperationTypeNode.QUERY;
|
|
253
167
|
case 'mutation':
|
|
254
|
-
return
|
|
168
|
+
return ast_ts_1.OperationTypeNode.MUTATION;
|
|
255
169
|
case 'subscription':
|
|
256
|
-
return
|
|
170
|
+
return ast_ts_1.OperationTypeNode.SUBSCRIPTION;
|
|
257
171
|
}
|
|
258
172
|
throw this.unexpected(operationToken);
|
|
259
173
|
}
|
|
260
|
-
/**
|
|
261
|
-
* VariableDefinitions : ( VariableDefinition+ )
|
|
262
|
-
*/
|
|
263
174
|
parseVariableDefinitions() {
|
|
264
|
-
return this.optionalMany(
|
|
175
|
+
return this.optionalMany(tokenKind_ts_1.TokenKind.PAREN_L, this.parseVariableDefinition, tokenKind_ts_1.TokenKind.PAREN_R);
|
|
265
176
|
}
|
|
266
|
-
/**
|
|
267
|
-
* VariableDefinition : Variable : Type DefaultValue? Directives[Const]?
|
|
268
|
-
*/
|
|
269
177
|
parseVariableDefinition() {
|
|
270
178
|
return this.node(this._lexer.token, {
|
|
271
|
-
kind:
|
|
179
|
+
kind: kinds_ts_1.Kind.VARIABLE_DEFINITION,
|
|
272
180
|
description: this.parseDescription(),
|
|
273
181
|
variable: this.parseVariable(),
|
|
274
|
-
type: (this.expectToken(
|
|
275
|
-
defaultValue: this.expectOptionalToken(
|
|
182
|
+
type: (this.expectToken(tokenKind_ts_1.TokenKind.COLON), this.parseTypeReference()),
|
|
183
|
+
defaultValue: this.expectOptionalToken(tokenKind_ts_1.TokenKind.EQUALS)
|
|
276
184
|
? this.parseConstValueLiteral()
|
|
277
185
|
: undefined,
|
|
278
186
|
directives: this.parseConstDirectives(),
|
|
279
187
|
});
|
|
280
188
|
}
|
|
281
|
-
/**
|
|
282
|
-
* Variable : $ Name
|
|
283
|
-
*/
|
|
284
189
|
parseVariable() {
|
|
285
190
|
const start = this._lexer.token;
|
|
286
|
-
this.expectToken(
|
|
191
|
+
this.expectToken(tokenKind_ts_1.TokenKind.DOLLAR);
|
|
287
192
|
return this.node(start, {
|
|
288
|
-
kind:
|
|
193
|
+
kind: kinds_ts_1.Kind.VARIABLE,
|
|
289
194
|
name: this.parseName(),
|
|
290
195
|
});
|
|
291
196
|
}
|
|
292
|
-
/**
|
|
293
|
-
* ```
|
|
294
|
-
* SelectionSet : { Selection+ }
|
|
295
|
-
* ```
|
|
296
|
-
*/
|
|
297
197
|
parseSelectionSet() {
|
|
298
198
|
return this.node(this._lexer.token, {
|
|
299
|
-
kind:
|
|
300
|
-
selections: this.many(
|
|
199
|
+
kind: kinds_ts_1.Kind.SELECTION_SET,
|
|
200
|
+
selections: this.many(tokenKind_ts_1.TokenKind.BRACE_L, this.parseSelection, tokenKind_ts_1.TokenKind.BRACE_R),
|
|
301
201
|
});
|
|
302
202
|
}
|
|
303
|
-
/**
|
|
304
|
-
* Selection :
|
|
305
|
-
* - Field
|
|
306
|
-
* - FragmentSpread
|
|
307
|
-
* - InlineFragment
|
|
308
|
-
*/
|
|
309
203
|
parseSelection() {
|
|
310
|
-
return this.peek(
|
|
204
|
+
return this.peek(tokenKind_ts_1.TokenKind.SPREAD)
|
|
311
205
|
? this.parseFragment()
|
|
312
206
|
: this.parseField();
|
|
313
207
|
}
|
|
314
|
-
/**
|
|
315
|
-
* Field : Alias? Name Arguments? Directives? SelectionSet?
|
|
316
|
-
*
|
|
317
|
-
* Alias : Name :
|
|
318
|
-
*/
|
|
319
208
|
parseField() {
|
|
320
209
|
const start = this._lexer.token;
|
|
321
210
|
const nameOrAlias = this.parseName();
|
|
322
211
|
let alias;
|
|
323
212
|
let name;
|
|
324
|
-
if (this.expectOptionalToken(
|
|
213
|
+
if (this.expectOptionalToken(tokenKind_ts_1.TokenKind.COLON)) {
|
|
325
214
|
alias = nameOrAlias;
|
|
326
215
|
name = this.parseName();
|
|
327
216
|
}
|
|
@@ -329,31 +218,30 @@ class Parser {
|
|
|
329
218
|
name = nameOrAlias;
|
|
330
219
|
}
|
|
331
220
|
return this.node(start, {
|
|
332
|
-
kind:
|
|
221
|
+
kind: kinds_ts_1.Kind.FIELD,
|
|
333
222
|
alias,
|
|
334
223
|
name,
|
|
335
224
|
arguments: this.parseArguments(false),
|
|
336
225
|
directives: this.parseDirectives(false),
|
|
337
|
-
selectionSet: this.peek(
|
|
226
|
+
selectionSet: this.peek(tokenKind_ts_1.TokenKind.BRACE_L)
|
|
338
227
|
? this.parseSelectionSet()
|
|
339
228
|
: undefined,
|
|
340
229
|
});
|
|
341
230
|
}
|
|
342
231
|
parseArguments(isConst) {
|
|
343
232
|
const item = isConst ? this.parseConstArgument : this.parseArgument;
|
|
344
|
-
return this.optionalMany(
|
|
233
|
+
return this.optionalMany(tokenKind_ts_1.TokenKind.PAREN_L, item, tokenKind_ts_1.TokenKind.PAREN_R);
|
|
345
234
|
}
|
|
346
|
-
/* experimental */
|
|
347
235
|
parseFragmentArguments() {
|
|
348
236
|
const item = this.parseFragmentArgument;
|
|
349
|
-
return this.optionalMany(
|
|
237
|
+
return this.optionalMany(tokenKind_ts_1.TokenKind.PAREN_L, item, tokenKind_ts_1.TokenKind.PAREN_R);
|
|
350
238
|
}
|
|
351
239
|
parseArgument(isConst = false) {
|
|
352
240
|
const start = this._lexer.token;
|
|
353
241
|
const name = this.parseName();
|
|
354
|
-
this.expectToken(
|
|
242
|
+
this.expectToken(tokenKind_ts_1.TokenKind.COLON);
|
|
355
243
|
return this.node(start, {
|
|
356
|
-
kind:
|
|
244
|
+
kind: kinds_ts_1.Kind.ARGUMENT,
|
|
357
245
|
name,
|
|
358
246
|
value: this.parseValueLiteral(isConst),
|
|
359
247
|
});
|
|
@@ -361,66 +249,51 @@ class Parser {
|
|
|
361
249
|
parseConstArgument() {
|
|
362
250
|
return this.parseArgument(true);
|
|
363
251
|
}
|
|
364
|
-
/* experimental */
|
|
365
252
|
parseFragmentArgument() {
|
|
366
253
|
const start = this._lexer.token;
|
|
367
254
|
const name = this.parseName();
|
|
368
|
-
this.expectToken(
|
|
255
|
+
this.expectToken(tokenKind_ts_1.TokenKind.COLON);
|
|
369
256
|
return this.node(start, {
|
|
370
|
-
kind:
|
|
257
|
+
kind: kinds_ts_1.Kind.FRAGMENT_ARGUMENT,
|
|
371
258
|
name,
|
|
372
259
|
value: this.parseValueLiteral(false),
|
|
373
260
|
});
|
|
374
261
|
}
|
|
375
|
-
// Implements the parsing rules in the Fragments section.
|
|
376
|
-
/**
|
|
377
|
-
* Corresponds to both FragmentSpread and InlineFragment in the spec.
|
|
378
|
-
*
|
|
379
|
-
* FragmentSpread : ... FragmentName Arguments? Directives?
|
|
380
|
-
*
|
|
381
|
-
* InlineFragment : ... TypeCondition? Directives? SelectionSet
|
|
382
|
-
*/
|
|
383
262
|
parseFragment() {
|
|
384
263
|
const start = this._lexer.token;
|
|
385
|
-
this.expectToken(
|
|
264
|
+
this.expectToken(tokenKind_ts_1.TokenKind.SPREAD);
|
|
386
265
|
const hasTypeCondition = this.expectOptionalKeyword('on');
|
|
387
|
-
if (!hasTypeCondition && this.peek(
|
|
266
|
+
if (!hasTypeCondition && this.peek(tokenKind_ts_1.TokenKind.NAME)) {
|
|
388
267
|
const name = this.parseFragmentName();
|
|
389
|
-
if (this.peek(
|
|
268
|
+
if (this.peek(tokenKind_ts_1.TokenKind.PAREN_L) &&
|
|
390
269
|
this._options.experimentalFragmentArguments) {
|
|
391
270
|
return this.node(start, {
|
|
392
|
-
kind:
|
|
271
|
+
kind: kinds_ts_1.Kind.FRAGMENT_SPREAD,
|
|
393
272
|
name,
|
|
394
273
|
arguments: this.parseFragmentArguments(),
|
|
395
274
|
directives: this.parseDirectives(false),
|
|
396
275
|
});
|
|
397
276
|
}
|
|
398
277
|
return this.node(start, {
|
|
399
|
-
kind:
|
|
278
|
+
kind: kinds_ts_1.Kind.FRAGMENT_SPREAD,
|
|
400
279
|
name,
|
|
401
280
|
directives: this.parseDirectives(false),
|
|
402
281
|
});
|
|
403
282
|
}
|
|
404
283
|
return this.node(start, {
|
|
405
|
-
kind:
|
|
284
|
+
kind: kinds_ts_1.Kind.INLINE_FRAGMENT,
|
|
406
285
|
typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,
|
|
407
286
|
directives: this.parseDirectives(false),
|
|
408
287
|
selectionSet: this.parseSelectionSet(),
|
|
409
288
|
});
|
|
410
289
|
}
|
|
411
|
-
/**
|
|
412
|
-
* FragmentDefinition :
|
|
413
|
-
* - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet
|
|
414
|
-
*
|
|
415
|
-
* TypeCondition : NamedType
|
|
416
|
-
*/
|
|
417
290
|
parseFragmentDefinition() {
|
|
418
291
|
const start = this._lexer.token;
|
|
419
292
|
const description = this.parseDescription();
|
|
420
293
|
this.expectKeyword('fragment');
|
|
421
294
|
if (this._options.experimentalFragmentArguments === true) {
|
|
422
295
|
return this.node(start, {
|
|
423
|
-
kind:
|
|
296
|
+
kind: kinds_ts_1.Kind.FRAGMENT_DEFINITION,
|
|
424
297
|
description,
|
|
425
298
|
name: this.parseFragmentName(),
|
|
426
299
|
variableDefinitions: this.parseVariableDefinitions(),
|
|
@@ -430,7 +303,7 @@ class Parser {
|
|
|
430
303
|
});
|
|
431
304
|
}
|
|
432
305
|
return this.node(start, {
|
|
433
|
-
kind:
|
|
306
|
+
kind: kinds_ts_1.Kind.FRAGMENT_DEFINITION,
|
|
434
307
|
description,
|
|
435
308
|
name: this.parseFragmentName(),
|
|
436
309
|
typeCondition: (this.expectKeyword('on'), this.parseNamedType()),
|
|
@@ -438,9 +311,6 @@ class Parser {
|
|
|
438
311
|
selectionSet: this.parseSelectionSet(),
|
|
439
312
|
});
|
|
440
313
|
}
|
|
441
|
-
/**
|
|
442
|
-
* FragmentName : Name but not `on`
|
|
443
|
-
*/
|
|
444
314
|
parseFragmentName() {
|
|
445
315
|
if (this._lexer.token.value === 'on') {
|
|
446
316
|
throw this.unexpected();
|
|
@@ -450,52 +320,52 @@ class Parser {
|
|
|
450
320
|
parseValueLiteral(isConst) {
|
|
451
321
|
const token = this._lexer.token;
|
|
452
322
|
switch (token.kind) {
|
|
453
|
-
case
|
|
323
|
+
case tokenKind_ts_1.TokenKind.BRACKET_L:
|
|
454
324
|
return this.parseList(isConst);
|
|
455
|
-
case
|
|
325
|
+
case tokenKind_ts_1.TokenKind.BRACE_L:
|
|
456
326
|
return this.parseObject(isConst);
|
|
457
|
-
case
|
|
327
|
+
case tokenKind_ts_1.TokenKind.INT:
|
|
458
328
|
this.advanceLexer();
|
|
459
329
|
return this.node(token, {
|
|
460
|
-
kind:
|
|
330
|
+
kind: kinds_ts_1.Kind.INT,
|
|
461
331
|
value: token.value,
|
|
462
332
|
});
|
|
463
|
-
case
|
|
333
|
+
case tokenKind_ts_1.TokenKind.FLOAT:
|
|
464
334
|
this.advanceLexer();
|
|
465
335
|
return this.node(token, {
|
|
466
|
-
kind:
|
|
336
|
+
kind: kinds_ts_1.Kind.FLOAT,
|
|
467
337
|
value: token.value,
|
|
468
338
|
});
|
|
469
|
-
case
|
|
470
|
-
case
|
|
339
|
+
case tokenKind_ts_1.TokenKind.STRING:
|
|
340
|
+
case tokenKind_ts_1.TokenKind.BLOCK_STRING:
|
|
471
341
|
return this.parseStringLiteral();
|
|
472
|
-
case
|
|
342
|
+
case tokenKind_ts_1.TokenKind.NAME:
|
|
473
343
|
this.advanceLexer();
|
|
474
344
|
switch (token.value) {
|
|
475
345
|
case 'true':
|
|
476
346
|
return this.node(token, {
|
|
477
|
-
kind:
|
|
347
|
+
kind: kinds_ts_1.Kind.BOOLEAN,
|
|
478
348
|
value: true,
|
|
479
349
|
});
|
|
480
350
|
case 'false':
|
|
481
351
|
return this.node(token, {
|
|
482
|
-
kind:
|
|
352
|
+
kind: kinds_ts_1.Kind.BOOLEAN,
|
|
483
353
|
value: false,
|
|
484
354
|
});
|
|
485
355
|
case 'null':
|
|
486
|
-
return this.node(token, { kind:
|
|
356
|
+
return this.node(token, { kind: kinds_ts_1.Kind.NULL });
|
|
487
357
|
default:
|
|
488
358
|
return this.node(token, {
|
|
489
|
-
kind:
|
|
359
|
+
kind: kinds_ts_1.Kind.ENUM,
|
|
490
360
|
value: token.value,
|
|
491
361
|
});
|
|
492
362
|
}
|
|
493
|
-
case
|
|
363
|
+
case tokenKind_ts_1.TokenKind.DOLLAR:
|
|
494
364
|
if (isConst) {
|
|
495
|
-
this.expectToken(
|
|
496
|
-
if (this._lexer.token.kind ===
|
|
365
|
+
this.expectToken(tokenKind_ts_1.TokenKind.DOLLAR);
|
|
366
|
+
if (this._lexer.token.kind === tokenKind_ts_1.TokenKind.NAME) {
|
|
497
367
|
const varName = this._lexer.token.value;
|
|
498
|
-
throw (0,
|
|
368
|
+
throw (0, syntaxError_ts_1.syntaxError)(this._lexer.source, token.start, `Unexpected variable "$${varName}" in constant value.`);
|
|
499
369
|
}
|
|
500
370
|
else {
|
|
501
371
|
throw this.unexpected(token);
|
|
@@ -513,38 +383,38 @@ class Parser {
|
|
|
513
383
|
const token = this._lexer.token;
|
|
514
384
|
this.advanceLexer();
|
|
515
385
|
return this.node(token, {
|
|
516
|
-
kind:
|
|
386
|
+
kind: kinds_ts_1.Kind.STRING,
|
|
517
387
|
value: token.value,
|
|
518
|
-
block: token.kind ===
|
|
388
|
+
block: token.kind === tokenKind_ts_1.TokenKind.BLOCK_STRING,
|
|
519
389
|
});
|
|
520
390
|
}
|
|
521
391
|
parseList(isConst) {
|
|
522
392
|
const item = () => this.parseValueLiteral(isConst);
|
|
523
393
|
return this.node(this._lexer.token, {
|
|
524
|
-
kind:
|
|
525
|
-
values: this.any(
|
|
394
|
+
kind: kinds_ts_1.Kind.LIST,
|
|
395
|
+
values: this.any(tokenKind_ts_1.TokenKind.BRACKET_L, item, tokenKind_ts_1.TokenKind.BRACKET_R),
|
|
526
396
|
});
|
|
527
397
|
}
|
|
528
398
|
parseObject(isConst) {
|
|
529
399
|
const item = () => this.parseObjectField(isConst);
|
|
530
400
|
return this.node(this._lexer.token, {
|
|
531
|
-
kind:
|
|
532
|
-
fields: this.any(
|
|
401
|
+
kind: kinds_ts_1.Kind.OBJECT,
|
|
402
|
+
fields: this.any(tokenKind_ts_1.TokenKind.BRACE_L, item, tokenKind_ts_1.TokenKind.BRACE_R),
|
|
533
403
|
});
|
|
534
404
|
}
|
|
535
405
|
parseObjectField(isConst) {
|
|
536
406
|
const start = this._lexer.token;
|
|
537
407
|
const name = this.parseName();
|
|
538
|
-
this.expectToken(
|
|
408
|
+
this.expectToken(tokenKind_ts_1.TokenKind.COLON);
|
|
539
409
|
return this.node(start, {
|
|
540
|
-
kind:
|
|
410
|
+
kind: kinds_ts_1.Kind.OBJECT_FIELD,
|
|
541
411
|
name,
|
|
542
412
|
value: this.parseValueLiteral(isConst),
|
|
543
413
|
});
|
|
544
414
|
}
|
|
545
415
|
parseDirectives(isConst) {
|
|
546
416
|
const directives = [];
|
|
547
|
-
while (this.peek(
|
|
417
|
+
while (this.peek(tokenKind_ts_1.TokenKind.AT)) {
|
|
548
418
|
directives.push(this.parseDirective(isConst));
|
|
549
419
|
}
|
|
550
420
|
if (directives.length) {
|
|
@@ -557,98 +427,73 @@ class Parser {
|
|
|
557
427
|
}
|
|
558
428
|
parseDirective(isConst) {
|
|
559
429
|
const start = this._lexer.token;
|
|
560
|
-
this.expectToken(
|
|
430
|
+
this.expectToken(tokenKind_ts_1.TokenKind.AT);
|
|
561
431
|
return this.node(start, {
|
|
562
|
-
kind:
|
|
432
|
+
kind: kinds_ts_1.Kind.DIRECTIVE,
|
|
563
433
|
name: this.parseName(),
|
|
564
434
|
arguments: this.parseArguments(isConst),
|
|
565
435
|
});
|
|
566
436
|
}
|
|
567
|
-
// Implements the parsing rules in the Types section.
|
|
568
|
-
/**
|
|
569
|
-
* Type :
|
|
570
|
-
* - NamedType
|
|
571
|
-
* - ListType
|
|
572
|
-
* - NonNullType
|
|
573
|
-
*/
|
|
574
437
|
parseTypeReference() {
|
|
575
438
|
const start = this._lexer.token;
|
|
576
439
|
let type;
|
|
577
|
-
if (this.expectOptionalToken(
|
|
440
|
+
if (this.expectOptionalToken(tokenKind_ts_1.TokenKind.BRACKET_L)) {
|
|
578
441
|
const innerType = this.parseTypeReference();
|
|
579
|
-
this.expectToken(
|
|
442
|
+
this.expectToken(tokenKind_ts_1.TokenKind.BRACKET_R);
|
|
580
443
|
type = this.node(start, {
|
|
581
|
-
kind:
|
|
444
|
+
kind: kinds_ts_1.Kind.LIST_TYPE,
|
|
582
445
|
type: innerType,
|
|
583
446
|
});
|
|
584
447
|
}
|
|
585
448
|
else {
|
|
586
449
|
type = this.parseNamedType();
|
|
587
450
|
}
|
|
588
|
-
if (this.expectOptionalToken(
|
|
451
|
+
if (this.expectOptionalToken(tokenKind_ts_1.TokenKind.BANG)) {
|
|
589
452
|
return this.node(start, {
|
|
590
|
-
kind:
|
|
453
|
+
kind: kinds_ts_1.Kind.NON_NULL_TYPE,
|
|
591
454
|
type,
|
|
592
455
|
});
|
|
593
456
|
}
|
|
594
457
|
return type;
|
|
595
458
|
}
|
|
596
|
-
/**
|
|
597
|
-
* NamedType : Name
|
|
598
|
-
*/
|
|
599
459
|
parseNamedType() {
|
|
600
460
|
return this.node(this._lexer.token, {
|
|
601
|
-
kind:
|
|
461
|
+
kind: kinds_ts_1.Kind.NAMED_TYPE,
|
|
602
462
|
name: this.parseName(),
|
|
603
463
|
});
|
|
604
464
|
}
|
|
605
|
-
// Implements the parsing rules in the Type Definition section.
|
|
606
465
|
peekDescription() {
|
|
607
|
-
return this.peek(
|
|
466
|
+
return this.peek(tokenKind_ts_1.TokenKind.STRING) || this.peek(tokenKind_ts_1.TokenKind.BLOCK_STRING);
|
|
608
467
|
}
|
|
609
|
-
/**
|
|
610
|
-
* Description : StringValue
|
|
611
|
-
*/
|
|
612
468
|
parseDescription() {
|
|
613
469
|
if (this.peekDescription()) {
|
|
614
470
|
return this.parseStringLiteral();
|
|
615
471
|
}
|
|
616
472
|
}
|
|
617
|
-
/**
|
|
618
|
-
* ```
|
|
619
|
-
* SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }
|
|
620
|
-
* ```
|
|
621
|
-
*/
|
|
622
473
|
parseSchemaDefinition() {
|
|
623
474
|
const start = this._lexer.token;
|
|
624
475
|
const description = this.parseDescription();
|
|
625
476
|
this.expectKeyword('schema');
|
|
626
477
|
const directives = this.parseConstDirectives();
|
|
627
|
-
const operationTypes = this.many(
|
|
478
|
+
const operationTypes = this.many(tokenKind_ts_1.TokenKind.BRACE_L, this.parseOperationTypeDefinition, tokenKind_ts_1.TokenKind.BRACE_R);
|
|
628
479
|
return this.node(start, {
|
|
629
|
-
kind:
|
|
480
|
+
kind: kinds_ts_1.Kind.SCHEMA_DEFINITION,
|
|
630
481
|
description,
|
|
631
482
|
directives,
|
|
632
483
|
operationTypes,
|
|
633
484
|
});
|
|
634
485
|
}
|
|
635
|
-
/**
|
|
636
|
-
* OperationTypeDefinition : OperationType : NamedType
|
|
637
|
-
*/
|
|
638
486
|
parseOperationTypeDefinition() {
|
|
639
487
|
const start = this._lexer.token;
|
|
640
488
|
const operation = this.parseOperationType();
|
|
641
|
-
this.expectToken(
|
|
489
|
+
this.expectToken(tokenKind_ts_1.TokenKind.COLON);
|
|
642
490
|
const type = this.parseNamedType();
|
|
643
491
|
return this.node(start, {
|
|
644
|
-
kind:
|
|
492
|
+
kind: kinds_ts_1.Kind.OPERATION_TYPE_DEFINITION,
|
|
645
493
|
operation,
|
|
646
494
|
type,
|
|
647
495
|
});
|
|
648
496
|
}
|
|
649
|
-
/**
|
|
650
|
-
* ScalarTypeDefinition : Description? scalar Name Directives[Const]?
|
|
651
|
-
*/
|
|
652
497
|
parseScalarTypeDefinition() {
|
|
653
498
|
const start = this._lexer.token;
|
|
654
499
|
const description = this.parseDescription();
|
|
@@ -656,17 +501,12 @@ class Parser {
|
|
|
656
501
|
const name = this.parseName();
|
|
657
502
|
const directives = this.parseConstDirectives();
|
|
658
503
|
return this.node(start, {
|
|
659
|
-
kind:
|
|
504
|
+
kind: kinds_ts_1.Kind.SCALAR_TYPE_DEFINITION,
|
|
660
505
|
description,
|
|
661
506
|
name,
|
|
662
507
|
directives,
|
|
663
508
|
});
|
|
664
509
|
}
|
|
665
|
-
/**
|
|
666
|
-
* ObjectTypeDefinition :
|
|
667
|
-
* Description?
|
|
668
|
-
* type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?
|
|
669
|
-
*/
|
|
670
510
|
parseObjectTypeDefinition() {
|
|
671
511
|
const start = this._lexer.token;
|
|
672
512
|
const description = this.parseDescription();
|
|
@@ -676,7 +516,7 @@ class Parser {
|
|
|
676
516
|
const directives = this.parseConstDirectives();
|
|
677
517
|
const fields = this.parseFieldsDefinition();
|
|
678
518
|
return this.node(start, {
|
|
679
|
-
kind:
|
|
519
|
+
kind: kinds_ts_1.Kind.OBJECT_TYPE_DEFINITION,
|
|
680
520
|
description,
|
|
681
521
|
name,
|
|
682
522
|
interfaces,
|
|
@@ -684,38 +524,24 @@ class Parser {
|
|
|
684
524
|
fields,
|
|
685
525
|
});
|
|
686
526
|
}
|
|
687
|
-
/**
|
|
688
|
-
* ImplementsInterfaces :
|
|
689
|
-
* - implements `&`? NamedType
|
|
690
|
-
* - ImplementsInterfaces & NamedType
|
|
691
|
-
*/
|
|
692
527
|
parseImplementsInterfaces() {
|
|
693
528
|
return this.expectOptionalKeyword('implements')
|
|
694
|
-
? this.delimitedMany(
|
|
529
|
+
? this.delimitedMany(tokenKind_ts_1.TokenKind.AMP, this.parseNamedType)
|
|
695
530
|
: undefined;
|
|
696
531
|
}
|
|
697
|
-
/**
|
|
698
|
-
* ```
|
|
699
|
-
* FieldsDefinition : { FieldDefinition+ }
|
|
700
|
-
* ```
|
|
701
|
-
*/
|
|
702
532
|
parseFieldsDefinition() {
|
|
703
|
-
return this.optionalMany(
|
|
533
|
+
return this.optionalMany(tokenKind_ts_1.TokenKind.BRACE_L, this.parseFieldDefinition, tokenKind_ts_1.TokenKind.BRACE_R);
|
|
704
534
|
}
|
|
705
|
-
/**
|
|
706
|
-
* FieldDefinition :
|
|
707
|
-
* - Description? Name ArgumentsDefinition? : Type Directives[Const]?
|
|
708
|
-
*/
|
|
709
535
|
parseFieldDefinition() {
|
|
710
536
|
const start = this._lexer.token;
|
|
711
537
|
const description = this.parseDescription();
|
|
712
538
|
const name = this.parseName();
|
|
713
539
|
const args = this.parseArgumentDefs();
|
|
714
|
-
this.expectToken(
|
|
540
|
+
this.expectToken(tokenKind_ts_1.TokenKind.COLON);
|
|
715
541
|
const type = this.parseTypeReference();
|
|
716
542
|
const directives = this.parseConstDirectives();
|
|
717
543
|
return this.node(start, {
|
|
718
|
-
kind:
|
|
544
|
+
kind: kinds_ts_1.Kind.FIELD_DEFINITION,
|
|
719
545
|
description,
|
|
720
546
|
name,
|
|
721
547
|
arguments: args,
|
|
@@ -723,29 +549,22 @@ class Parser {
|
|
|
723
549
|
directives,
|
|
724
550
|
});
|
|
725
551
|
}
|
|
726
|
-
/**
|
|
727
|
-
* ArgumentsDefinition : ( InputValueDefinition+ )
|
|
728
|
-
*/
|
|
729
552
|
parseArgumentDefs() {
|
|
730
|
-
return this.optionalMany(
|
|
553
|
+
return this.optionalMany(tokenKind_ts_1.TokenKind.PAREN_L, this.parseInputValueDef, tokenKind_ts_1.TokenKind.PAREN_R);
|
|
731
554
|
}
|
|
732
|
-
/**
|
|
733
|
-
* InputValueDefinition :
|
|
734
|
-
* - Description? Name : Type DefaultValue? Directives[Const]?
|
|
735
|
-
*/
|
|
736
555
|
parseInputValueDef() {
|
|
737
556
|
const start = this._lexer.token;
|
|
738
557
|
const description = this.parseDescription();
|
|
739
558
|
const name = this.parseName();
|
|
740
|
-
this.expectToken(
|
|
559
|
+
this.expectToken(tokenKind_ts_1.TokenKind.COLON);
|
|
741
560
|
const type = this.parseTypeReference();
|
|
742
561
|
let defaultValue;
|
|
743
|
-
if (this.expectOptionalToken(
|
|
562
|
+
if (this.expectOptionalToken(tokenKind_ts_1.TokenKind.EQUALS)) {
|
|
744
563
|
defaultValue = this.parseConstValueLiteral();
|
|
745
564
|
}
|
|
746
565
|
const directives = this.parseConstDirectives();
|
|
747
566
|
return this.node(start, {
|
|
748
|
-
kind:
|
|
567
|
+
kind: kinds_ts_1.Kind.INPUT_VALUE_DEFINITION,
|
|
749
568
|
description,
|
|
750
569
|
name,
|
|
751
570
|
type,
|
|
@@ -753,10 +572,6 @@ class Parser {
|
|
|
753
572
|
directives,
|
|
754
573
|
});
|
|
755
574
|
}
|
|
756
|
-
/**
|
|
757
|
-
* InterfaceTypeDefinition :
|
|
758
|
-
* - Description? interface Name Directives[Const]? FieldsDefinition?
|
|
759
|
-
*/
|
|
760
575
|
parseInterfaceTypeDefinition() {
|
|
761
576
|
const start = this._lexer.token;
|
|
762
577
|
const description = this.parseDescription();
|
|
@@ -766,7 +581,7 @@ class Parser {
|
|
|
766
581
|
const directives = this.parseConstDirectives();
|
|
767
582
|
const fields = this.parseFieldsDefinition();
|
|
768
583
|
return this.node(start, {
|
|
769
|
-
kind:
|
|
584
|
+
kind: kinds_ts_1.Kind.INTERFACE_TYPE_DEFINITION,
|
|
770
585
|
description,
|
|
771
586
|
name,
|
|
772
587
|
interfaces,
|
|
@@ -774,10 +589,6 @@ class Parser {
|
|
|
774
589
|
fields,
|
|
775
590
|
});
|
|
776
591
|
}
|
|
777
|
-
/**
|
|
778
|
-
* UnionTypeDefinition :
|
|
779
|
-
* - Description? union Name Directives[Const]? UnionMemberTypes?
|
|
780
|
-
*/
|
|
781
592
|
parseUnionTypeDefinition() {
|
|
782
593
|
const start = this._lexer.token;
|
|
783
594
|
const description = this.parseDescription();
|
|
@@ -786,27 +597,18 @@ class Parser {
|
|
|
786
597
|
const directives = this.parseConstDirectives();
|
|
787
598
|
const types = this.parseUnionMemberTypes();
|
|
788
599
|
return this.node(start, {
|
|
789
|
-
kind:
|
|
600
|
+
kind: kinds_ts_1.Kind.UNION_TYPE_DEFINITION,
|
|
790
601
|
description,
|
|
791
602
|
name,
|
|
792
603
|
directives,
|
|
793
604
|
types,
|
|
794
605
|
});
|
|
795
606
|
}
|
|
796
|
-
/**
|
|
797
|
-
* UnionMemberTypes :
|
|
798
|
-
* - = `|`? NamedType
|
|
799
|
-
* - UnionMemberTypes | NamedType
|
|
800
|
-
*/
|
|
801
607
|
parseUnionMemberTypes() {
|
|
802
|
-
return this.expectOptionalToken(
|
|
803
|
-
? this.delimitedMany(
|
|
608
|
+
return this.expectOptionalToken(tokenKind_ts_1.TokenKind.EQUALS)
|
|
609
|
+
? this.delimitedMany(tokenKind_ts_1.TokenKind.PIPE, this.parseNamedType)
|
|
804
610
|
: undefined;
|
|
805
611
|
}
|
|
806
|
-
/**
|
|
807
|
-
* EnumTypeDefinition :
|
|
808
|
-
* - Description? enum Name Directives[Const]? EnumValuesDefinition?
|
|
809
|
-
*/
|
|
810
612
|
parseEnumTypeDefinition() {
|
|
811
613
|
const start = this._lexer.token;
|
|
812
614
|
const description = this.parseDescription();
|
|
@@ -815,51 +617,36 @@ class Parser {
|
|
|
815
617
|
const directives = this.parseConstDirectives();
|
|
816
618
|
const values = this.parseEnumValuesDefinition();
|
|
817
619
|
return this.node(start, {
|
|
818
|
-
kind:
|
|
620
|
+
kind: kinds_ts_1.Kind.ENUM_TYPE_DEFINITION,
|
|
819
621
|
description,
|
|
820
622
|
name,
|
|
821
623
|
directives,
|
|
822
624
|
values,
|
|
823
625
|
});
|
|
824
626
|
}
|
|
825
|
-
/**
|
|
826
|
-
* ```
|
|
827
|
-
* EnumValuesDefinition : { EnumValueDefinition+ }
|
|
828
|
-
* ```
|
|
829
|
-
*/
|
|
830
627
|
parseEnumValuesDefinition() {
|
|
831
|
-
return this.optionalMany(
|
|
628
|
+
return this.optionalMany(tokenKind_ts_1.TokenKind.BRACE_L, this.parseEnumValueDefinition, tokenKind_ts_1.TokenKind.BRACE_R);
|
|
832
629
|
}
|
|
833
|
-
/**
|
|
834
|
-
* EnumValueDefinition : Description? EnumValue Directives[Const]?
|
|
835
|
-
*/
|
|
836
630
|
parseEnumValueDefinition() {
|
|
837
631
|
const start = this._lexer.token;
|
|
838
632
|
const description = this.parseDescription();
|
|
839
633
|
const name = this.parseEnumValueName();
|
|
840
634
|
const directives = this.parseConstDirectives();
|
|
841
635
|
return this.node(start, {
|
|
842
|
-
kind:
|
|
636
|
+
kind: kinds_ts_1.Kind.ENUM_VALUE_DEFINITION,
|
|
843
637
|
description,
|
|
844
638
|
name,
|
|
845
639
|
directives,
|
|
846
640
|
});
|
|
847
641
|
}
|
|
848
|
-
/**
|
|
849
|
-
* EnumValue : Name but not `true`, `false` or `null`
|
|
850
|
-
*/
|
|
851
642
|
parseEnumValueName() {
|
|
852
643
|
if (this._lexer.token.value === 'true' ||
|
|
853
644
|
this._lexer.token.value === 'false' ||
|
|
854
645
|
this._lexer.token.value === 'null') {
|
|
855
|
-
throw (0,
|
|
646
|
+
throw (0, syntaxError_ts_1.syntaxError)(this._lexer.source, this._lexer.token.start, `${getTokenDesc(this._lexer.token)} is reserved and cannot be used for an enum value.`);
|
|
856
647
|
}
|
|
857
648
|
return this.parseName();
|
|
858
649
|
}
|
|
859
|
-
/**
|
|
860
|
-
* InputObjectTypeDefinition :
|
|
861
|
-
* - Description? input Name Directives[Const]? InputFieldsDefinition?
|
|
862
|
-
*/
|
|
863
650
|
parseInputObjectTypeDefinition() {
|
|
864
651
|
const start = this._lexer.token;
|
|
865
652
|
const description = this.parseDescription();
|
|
@@ -868,37 +655,19 @@ class Parser {
|
|
|
868
655
|
const directives = this.parseConstDirectives();
|
|
869
656
|
const fields = this.parseInputFieldsDefinition();
|
|
870
657
|
return this.node(start, {
|
|
871
|
-
kind:
|
|
658
|
+
kind: kinds_ts_1.Kind.INPUT_OBJECT_TYPE_DEFINITION,
|
|
872
659
|
description,
|
|
873
660
|
name,
|
|
874
661
|
directives,
|
|
875
662
|
fields,
|
|
876
663
|
});
|
|
877
664
|
}
|
|
878
|
-
/**
|
|
879
|
-
* ```
|
|
880
|
-
* InputFieldsDefinition : { InputValueDefinition+ }
|
|
881
|
-
* ```
|
|
882
|
-
*/
|
|
883
665
|
parseInputFieldsDefinition() {
|
|
884
|
-
return this.optionalMany(
|
|
885
|
-
}
|
|
886
|
-
/**
|
|
887
|
-
* TypeSystemExtension :
|
|
888
|
-
* - SchemaExtension
|
|
889
|
-
* - TypeExtension
|
|
890
|
-
*
|
|
891
|
-
* TypeExtension :
|
|
892
|
-
* - ScalarTypeExtension
|
|
893
|
-
* - ObjectTypeExtension
|
|
894
|
-
* - InterfaceTypeExtension
|
|
895
|
-
* - UnionTypeExtension
|
|
896
|
-
* - EnumTypeExtension
|
|
897
|
-
* - InputObjectTypeDefinition
|
|
898
|
-
*/
|
|
666
|
+
return this.optionalMany(tokenKind_ts_1.TokenKind.BRACE_L, this.parseInputValueDef, tokenKind_ts_1.TokenKind.BRACE_R);
|
|
667
|
+
}
|
|
899
668
|
parseTypeSystemExtension() {
|
|
900
669
|
const keywordToken = this._lexer.lookahead();
|
|
901
|
-
if (keywordToken.kind ===
|
|
670
|
+
if (keywordToken.kind === tokenKind_ts_1.TokenKind.NAME) {
|
|
902
671
|
switch (keywordToken.value) {
|
|
903
672
|
case 'schema':
|
|
904
673
|
return this.parseSchemaExtension();
|
|
@@ -914,36 +683,30 @@ class Parser {
|
|
|
914
683
|
return this.parseEnumTypeExtension();
|
|
915
684
|
case 'input':
|
|
916
685
|
return this.parseInputObjectTypeExtension();
|
|
686
|
+
case 'directive':
|
|
687
|
+
if (this._options.experimentalDirectivesOnDirectiveDefinitions) {
|
|
688
|
+
return this.parseDirectiveDefinitionExtension();
|
|
689
|
+
}
|
|
690
|
+
break;
|
|
917
691
|
}
|
|
918
692
|
}
|
|
919
693
|
throw this.unexpected(keywordToken);
|
|
920
694
|
}
|
|
921
|
-
/**
|
|
922
|
-
* ```
|
|
923
|
-
* SchemaExtension :
|
|
924
|
-
* - extend schema Directives[Const]? { OperationTypeDefinition+ }
|
|
925
|
-
* - extend schema Directives[Const]
|
|
926
|
-
* ```
|
|
927
|
-
*/
|
|
928
695
|
parseSchemaExtension() {
|
|
929
696
|
const start = this._lexer.token;
|
|
930
697
|
this.expectKeyword('extend');
|
|
931
698
|
this.expectKeyword('schema');
|
|
932
699
|
const directives = this.parseConstDirectives();
|
|
933
|
-
const operationTypes = this.optionalMany(
|
|
700
|
+
const operationTypes = this.optionalMany(tokenKind_ts_1.TokenKind.BRACE_L, this.parseOperationTypeDefinition, tokenKind_ts_1.TokenKind.BRACE_R);
|
|
934
701
|
if (directives === undefined && operationTypes === undefined) {
|
|
935
702
|
throw this.unexpected();
|
|
936
703
|
}
|
|
937
704
|
return this.node(start, {
|
|
938
|
-
kind:
|
|
705
|
+
kind: kinds_ts_1.Kind.SCHEMA_EXTENSION,
|
|
939
706
|
directives,
|
|
940
707
|
operationTypes,
|
|
941
708
|
});
|
|
942
709
|
}
|
|
943
|
-
/**
|
|
944
|
-
* ScalarTypeExtension :
|
|
945
|
-
* - extend scalar Name Directives[Const]
|
|
946
|
-
*/
|
|
947
710
|
parseScalarTypeExtension() {
|
|
948
711
|
const start = this._lexer.token;
|
|
949
712
|
this.expectKeyword('extend');
|
|
@@ -954,17 +717,11 @@ class Parser {
|
|
|
954
717
|
throw this.unexpected();
|
|
955
718
|
}
|
|
956
719
|
return this.node(start, {
|
|
957
|
-
kind:
|
|
720
|
+
kind: kinds_ts_1.Kind.SCALAR_TYPE_EXTENSION,
|
|
958
721
|
name,
|
|
959
722
|
directives,
|
|
960
723
|
});
|
|
961
724
|
}
|
|
962
|
-
/**
|
|
963
|
-
* ObjectTypeExtension :
|
|
964
|
-
* - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition
|
|
965
|
-
* - extend type Name ImplementsInterfaces? Directives[Const]
|
|
966
|
-
* - extend type Name ImplementsInterfaces
|
|
967
|
-
*/
|
|
968
725
|
parseObjectTypeExtension() {
|
|
969
726
|
const start = this._lexer.token;
|
|
970
727
|
this.expectKeyword('extend');
|
|
@@ -979,19 +736,13 @@ class Parser {
|
|
|
979
736
|
throw this.unexpected();
|
|
980
737
|
}
|
|
981
738
|
return this.node(start, {
|
|
982
|
-
kind:
|
|
739
|
+
kind: kinds_ts_1.Kind.OBJECT_TYPE_EXTENSION,
|
|
983
740
|
name,
|
|
984
741
|
interfaces,
|
|
985
742
|
directives,
|
|
986
743
|
fields,
|
|
987
744
|
});
|
|
988
745
|
}
|
|
989
|
-
/**
|
|
990
|
-
* InterfaceTypeExtension :
|
|
991
|
-
* - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition
|
|
992
|
-
* - extend interface Name ImplementsInterfaces? Directives[Const]
|
|
993
|
-
* - extend interface Name ImplementsInterfaces
|
|
994
|
-
*/
|
|
995
746
|
parseInterfaceTypeExtension() {
|
|
996
747
|
const start = this._lexer.token;
|
|
997
748
|
this.expectKeyword('extend');
|
|
@@ -1006,18 +757,13 @@ class Parser {
|
|
|
1006
757
|
throw this.unexpected();
|
|
1007
758
|
}
|
|
1008
759
|
return this.node(start, {
|
|
1009
|
-
kind:
|
|
760
|
+
kind: kinds_ts_1.Kind.INTERFACE_TYPE_EXTENSION,
|
|
1010
761
|
name,
|
|
1011
762
|
interfaces,
|
|
1012
763
|
directives,
|
|
1013
764
|
fields,
|
|
1014
765
|
});
|
|
1015
766
|
}
|
|
1016
|
-
/**
|
|
1017
|
-
* UnionTypeExtension :
|
|
1018
|
-
* - extend union Name Directives[Const]? UnionMemberTypes
|
|
1019
|
-
* - extend union Name Directives[Const]
|
|
1020
|
-
*/
|
|
1021
767
|
parseUnionTypeExtension() {
|
|
1022
768
|
const start = this._lexer.token;
|
|
1023
769
|
this.expectKeyword('extend');
|
|
@@ -1029,17 +775,12 @@ class Parser {
|
|
|
1029
775
|
throw this.unexpected();
|
|
1030
776
|
}
|
|
1031
777
|
return this.node(start, {
|
|
1032
|
-
kind:
|
|
778
|
+
kind: kinds_ts_1.Kind.UNION_TYPE_EXTENSION,
|
|
1033
779
|
name,
|
|
1034
780
|
directives,
|
|
1035
781
|
types,
|
|
1036
782
|
});
|
|
1037
783
|
}
|
|
1038
|
-
/**
|
|
1039
|
-
* EnumTypeExtension :
|
|
1040
|
-
* - extend enum Name Directives[Const]? EnumValuesDefinition
|
|
1041
|
-
* - extend enum Name Directives[Const]
|
|
1042
|
-
*/
|
|
1043
784
|
parseEnumTypeExtension() {
|
|
1044
785
|
const start = this._lexer.token;
|
|
1045
786
|
this.expectKeyword('extend');
|
|
@@ -1051,17 +792,12 @@ class Parser {
|
|
|
1051
792
|
throw this.unexpected();
|
|
1052
793
|
}
|
|
1053
794
|
return this.node(start, {
|
|
1054
|
-
kind:
|
|
795
|
+
kind: kinds_ts_1.Kind.ENUM_TYPE_EXTENSION,
|
|
1055
796
|
name,
|
|
1056
797
|
directives,
|
|
1057
798
|
values,
|
|
1058
799
|
});
|
|
1059
800
|
}
|
|
1060
|
-
/**
|
|
1061
|
-
* InputObjectTypeExtension :
|
|
1062
|
-
* - extend input Name Directives[Const]? InputFieldsDefinition
|
|
1063
|
-
* - extend input Name Directives[Const]
|
|
1064
|
-
*/
|
|
1065
801
|
parseInputObjectTypeExtension() {
|
|
1066
802
|
const start = this._lexer.token;
|
|
1067
803
|
this.expectKeyword('extend');
|
|
@@ -1073,171 +809,128 @@ class Parser {
|
|
|
1073
809
|
throw this.unexpected();
|
|
1074
810
|
}
|
|
1075
811
|
return this.node(start, {
|
|
1076
|
-
kind:
|
|
812
|
+
kind: kinds_ts_1.Kind.INPUT_OBJECT_TYPE_EXTENSION,
|
|
1077
813
|
name,
|
|
1078
814
|
directives,
|
|
1079
815
|
fields,
|
|
1080
816
|
});
|
|
1081
817
|
}
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
818
|
+
parseDirectiveDefinitionExtension() {
|
|
819
|
+
const start = this._lexer.token;
|
|
820
|
+
this.expectKeyword('extend');
|
|
821
|
+
this.expectKeyword('directive');
|
|
822
|
+
this.expectToken(tokenKind_ts_1.TokenKind.AT);
|
|
823
|
+
const name = this.parseName();
|
|
824
|
+
const directives = this.parseConstDirectives();
|
|
825
|
+
if (directives === undefined) {
|
|
826
|
+
throw this.unexpected();
|
|
827
|
+
}
|
|
828
|
+
return this.node(start, {
|
|
829
|
+
kind: kinds_ts_1.Kind.DIRECTIVE_EXTENSION,
|
|
830
|
+
name,
|
|
831
|
+
directives,
|
|
832
|
+
});
|
|
833
|
+
}
|
|
1088
834
|
parseDirectiveDefinition() {
|
|
1089
835
|
const start = this._lexer.token;
|
|
1090
836
|
const description = this.parseDescription();
|
|
1091
837
|
this.expectKeyword('directive');
|
|
1092
|
-
this.expectToken(
|
|
838
|
+
this.expectToken(tokenKind_ts_1.TokenKind.AT);
|
|
1093
839
|
const name = this.parseName();
|
|
1094
840
|
const args = this.parseArgumentDefs();
|
|
841
|
+
const directives = this._options
|
|
842
|
+
.experimentalDirectivesOnDirectiveDefinitions
|
|
843
|
+
? this.parseConstDirectives()
|
|
844
|
+
: undefined;
|
|
1095
845
|
const repeatable = this.expectOptionalKeyword('repeatable');
|
|
1096
846
|
this.expectKeyword('on');
|
|
1097
847
|
const locations = this.parseDirectiveLocations();
|
|
1098
848
|
return this.node(start, {
|
|
1099
|
-
kind:
|
|
849
|
+
kind: kinds_ts_1.Kind.DIRECTIVE_DEFINITION,
|
|
1100
850
|
description,
|
|
1101
851
|
name,
|
|
1102
852
|
arguments: args,
|
|
853
|
+
directives,
|
|
1103
854
|
repeatable,
|
|
1104
855
|
locations,
|
|
1105
856
|
});
|
|
1106
857
|
}
|
|
1107
|
-
/**
|
|
1108
|
-
* DirectiveLocations :
|
|
1109
|
-
* - `|`? DirectiveLocation
|
|
1110
|
-
* - DirectiveLocations | DirectiveLocation
|
|
1111
|
-
*/
|
|
1112
858
|
parseDirectiveLocations() {
|
|
1113
|
-
return this.delimitedMany(
|
|
1114
|
-
}
|
|
1115
|
-
/*
|
|
1116
|
-
* DirectiveLocation :
|
|
1117
|
-
* - ExecutableDirectiveLocation
|
|
1118
|
-
* - TypeSystemDirectiveLocation
|
|
1119
|
-
*
|
|
1120
|
-
* ExecutableDirectiveLocation : one of
|
|
1121
|
-
* `QUERY`
|
|
1122
|
-
* `MUTATION`
|
|
1123
|
-
* `SUBSCRIPTION`
|
|
1124
|
-
* `FIELD`
|
|
1125
|
-
* `FRAGMENT_DEFINITION`
|
|
1126
|
-
* `FRAGMENT_SPREAD`
|
|
1127
|
-
* `INLINE_FRAGMENT`
|
|
1128
|
-
*
|
|
1129
|
-
* TypeSystemDirectiveLocation : one of
|
|
1130
|
-
* `SCHEMA`
|
|
1131
|
-
* `SCALAR`
|
|
1132
|
-
* `OBJECT`
|
|
1133
|
-
* `FIELD_DEFINITION`
|
|
1134
|
-
* `ARGUMENT_DEFINITION`
|
|
1135
|
-
* `INTERFACE`
|
|
1136
|
-
* `UNION`
|
|
1137
|
-
* `ENUM`
|
|
1138
|
-
* `ENUM_VALUE`
|
|
1139
|
-
* `INPUT_OBJECT`
|
|
1140
|
-
* `INPUT_FIELD_DEFINITION`
|
|
1141
|
-
*/
|
|
859
|
+
return this.delimitedMany(tokenKind_ts_1.TokenKind.PIPE, this.parseDirectiveLocation);
|
|
860
|
+
}
|
|
1142
861
|
parseDirectiveLocation() {
|
|
1143
862
|
const start = this._lexer.token;
|
|
1144
863
|
const name = this.parseName();
|
|
1145
|
-
if (Object.hasOwn(
|
|
864
|
+
if (Object.hasOwn(directiveLocation_ts_1.DirectiveLocation, name.value)) {
|
|
1146
865
|
return name;
|
|
1147
866
|
}
|
|
1148
867
|
throw this.unexpected(start);
|
|
1149
868
|
}
|
|
1150
|
-
// Implements the parsing rules in the Schema Coordinates section.
|
|
1151
|
-
/**
|
|
1152
|
-
* SchemaCoordinate :
|
|
1153
|
-
* - Name
|
|
1154
|
-
* - Name . Name
|
|
1155
|
-
* - Name . Name ( Name : )
|
|
1156
|
-
* - @ Name
|
|
1157
|
-
* - @ Name ( Name : )
|
|
1158
|
-
*/
|
|
1159
869
|
parseSchemaCoordinate() {
|
|
1160
870
|
const start = this._lexer.token;
|
|
1161
|
-
const ofDirective = this.expectOptionalToken(
|
|
871
|
+
const ofDirective = this.expectOptionalToken(tokenKind_ts_1.TokenKind.AT);
|
|
1162
872
|
const name = this.parseName();
|
|
1163
873
|
let memberName;
|
|
1164
|
-
if (!ofDirective && this.expectOptionalToken(
|
|
874
|
+
if (!ofDirective && this.expectOptionalToken(tokenKind_ts_1.TokenKind.DOT)) {
|
|
1165
875
|
memberName = this.parseName();
|
|
1166
876
|
}
|
|
1167
877
|
let argumentName;
|
|
1168
878
|
if ((ofDirective || memberName) &&
|
|
1169
|
-
this.expectOptionalToken(
|
|
879
|
+
this.expectOptionalToken(tokenKind_ts_1.TokenKind.PAREN_L)) {
|
|
1170
880
|
argumentName = this.parseName();
|
|
1171
|
-
this.expectToken(
|
|
1172
|
-
this.expectToken(
|
|
881
|
+
this.expectToken(tokenKind_ts_1.TokenKind.COLON);
|
|
882
|
+
this.expectToken(tokenKind_ts_1.TokenKind.PAREN_R);
|
|
1173
883
|
}
|
|
1174
884
|
if (ofDirective) {
|
|
1175
885
|
if (argumentName) {
|
|
1176
886
|
return this.node(start, {
|
|
1177
|
-
kind:
|
|
887
|
+
kind: kinds_ts_1.Kind.DIRECTIVE_ARGUMENT_COORDINATE,
|
|
1178
888
|
name,
|
|
1179
889
|
argumentName,
|
|
1180
890
|
});
|
|
1181
891
|
}
|
|
1182
892
|
return this.node(start, {
|
|
1183
|
-
kind:
|
|
893
|
+
kind: kinds_ts_1.Kind.DIRECTIVE_COORDINATE,
|
|
1184
894
|
name,
|
|
1185
895
|
});
|
|
1186
896
|
}
|
|
1187
897
|
else if (memberName) {
|
|
1188
898
|
if (argumentName) {
|
|
1189
899
|
return this.node(start, {
|
|
1190
|
-
kind:
|
|
900
|
+
kind: kinds_ts_1.Kind.ARGUMENT_COORDINATE,
|
|
1191
901
|
name,
|
|
1192
902
|
fieldName: memberName,
|
|
1193
903
|
argumentName,
|
|
1194
904
|
});
|
|
1195
905
|
}
|
|
1196
906
|
return this.node(start, {
|
|
1197
|
-
kind:
|
|
907
|
+
kind: kinds_ts_1.Kind.MEMBER_COORDINATE,
|
|
1198
908
|
name,
|
|
1199
909
|
memberName,
|
|
1200
910
|
});
|
|
1201
911
|
}
|
|
1202
912
|
return this.node(start, {
|
|
1203
|
-
kind:
|
|
913
|
+
kind: kinds_ts_1.Kind.TYPE_COORDINATE,
|
|
1204
914
|
name,
|
|
1205
915
|
});
|
|
1206
916
|
}
|
|
1207
|
-
// Core parsing utility functions
|
|
1208
|
-
/**
|
|
1209
|
-
* Returns a node that, if configured to do so, sets a "loc" field as a
|
|
1210
|
-
* location object, used to identify the place in the source that created a
|
|
1211
|
-
* given parsed object.
|
|
1212
|
-
*/
|
|
1213
917
|
node(startToken, node) {
|
|
1214
918
|
if (this._options.noLocation !== true) {
|
|
1215
|
-
node.loc = new
|
|
919
|
+
node.loc = new ast_ts_1.Location(startToken, this._lexer.lastToken, this._lexer.source);
|
|
1216
920
|
}
|
|
1217
921
|
return node;
|
|
1218
922
|
}
|
|
1219
|
-
/**
|
|
1220
|
-
* Determines if the next token is of a given kind
|
|
1221
|
-
*/
|
|
1222
923
|
peek(kind) {
|
|
1223
924
|
return this._lexer.token.kind === kind;
|
|
1224
925
|
}
|
|
1225
|
-
/**
|
|
1226
|
-
* If the next token is of the given kind, return that token after advancing the lexer.
|
|
1227
|
-
* Otherwise, do not change the parser state and throw an error.
|
|
1228
|
-
*/
|
|
1229
926
|
expectToken(kind) {
|
|
1230
927
|
const token = this._lexer.token;
|
|
1231
928
|
if (token.kind === kind) {
|
|
1232
929
|
this.advanceLexer();
|
|
1233
930
|
return token;
|
|
1234
931
|
}
|
|
1235
|
-
throw (0,
|
|
932
|
+
throw (0, syntaxError_ts_1.syntaxError)(this._lexer.source, token.start, `Expected ${getTokenKindDesc(kind)}, found ${getTokenDesc(token)}.`);
|
|
1236
933
|
}
|
|
1237
|
-
/**
|
|
1238
|
-
* If the next token is of the given kind, return "true" after advancing the lexer.
|
|
1239
|
-
* Otherwise, do not change the parser state and return "false".
|
|
1240
|
-
*/
|
|
1241
934
|
expectOptionalToken(kind) {
|
|
1242
935
|
const token = this._lexer.token;
|
|
1243
936
|
if (token.kind === kind) {
|
|
@@ -1246,43 +939,27 @@ class Parser {
|
|
|
1246
939
|
}
|
|
1247
940
|
return false;
|
|
1248
941
|
}
|
|
1249
|
-
/**
|
|
1250
|
-
* If the next token is a given keyword, advance the lexer.
|
|
1251
|
-
* Otherwise, do not change the parser state and throw an error.
|
|
1252
|
-
*/
|
|
1253
942
|
expectKeyword(value) {
|
|
1254
943
|
const token = this._lexer.token;
|
|
1255
|
-
if (token.kind ===
|
|
944
|
+
if (token.kind === tokenKind_ts_1.TokenKind.NAME && token.value === value) {
|
|
1256
945
|
this.advanceLexer();
|
|
1257
946
|
}
|
|
1258
947
|
else {
|
|
1259
|
-
throw (0,
|
|
948
|
+
throw (0, syntaxError_ts_1.syntaxError)(this._lexer.source, token.start, `Expected "${value}", found ${getTokenDesc(token)}.`);
|
|
1260
949
|
}
|
|
1261
950
|
}
|
|
1262
|
-
/**
|
|
1263
|
-
* If the next token is a given keyword, return "true" after advancing the lexer.
|
|
1264
|
-
* Otherwise, do not change the parser state and return "false".
|
|
1265
|
-
*/
|
|
1266
951
|
expectOptionalKeyword(value) {
|
|
1267
952
|
const token = this._lexer.token;
|
|
1268
|
-
if (token.kind ===
|
|
953
|
+
if (token.kind === tokenKind_ts_1.TokenKind.NAME && token.value === value) {
|
|
1269
954
|
this.advanceLexer();
|
|
1270
955
|
return true;
|
|
1271
956
|
}
|
|
1272
957
|
return false;
|
|
1273
958
|
}
|
|
1274
|
-
/**
|
|
1275
|
-
* Helper function for creating an error when an unexpected lexed token is encountered.
|
|
1276
|
-
*/
|
|
1277
959
|
unexpected(atToken) {
|
|
1278
960
|
const token = atToken ?? this._lexer.token;
|
|
1279
|
-
return (0,
|
|
961
|
+
return (0, syntaxError_ts_1.syntaxError)(this._lexer.source, token.start, `Unexpected ${getTokenDesc(token)}.`);
|
|
1280
962
|
}
|
|
1281
|
-
/**
|
|
1282
|
-
* Returns a possibly empty list of parse nodes, determined by the parseFn.
|
|
1283
|
-
* This list begins with a lex token of openKind and ends with a lex token of closeKind.
|
|
1284
|
-
* Advances the parser to the next lex token after the closing token.
|
|
1285
|
-
*/
|
|
1286
963
|
any(openKind, parseFn, closeKind) {
|
|
1287
964
|
this.expectToken(openKind);
|
|
1288
965
|
const nodes = [];
|
|
@@ -1291,12 +968,6 @@ class Parser {
|
|
|
1291
968
|
}
|
|
1292
969
|
return nodes;
|
|
1293
970
|
}
|
|
1294
|
-
/**
|
|
1295
|
-
* Returns a list of parse nodes, determined by the parseFn.
|
|
1296
|
-
* It can be empty only if open token is missing otherwise it will always return non-empty list
|
|
1297
|
-
* that begins with a lex token of openKind and ends with a lex token of closeKind.
|
|
1298
|
-
* Advances the parser to the next lex token after the closing token.
|
|
1299
|
-
*/
|
|
1300
971
|
optionalMany(openKind, parseFn, closeKind) {
|
|
1301
972
|
if (this.expectOptionalToken(openKind)) {
|
|
1302
973
|
const nodes = [];
|
|
@@ -1307,11 +978,6 @@ class Parser {
|
|
|
1307
978
|
}
|
|
1308
979
|
return undefined;
|
|
1309
980
|
}
|
|
1310
|
-
/**
|
|
1311
|
-
* Returns a non-empty list of parse nodes, determined by the parseFn.
|
|
1312
|
-
* This list begins with a lex token of openKind and ends with a lex token of closeKind.
|
|
1313
|
-
* Advances the parser to the next lex token after the closing token.
|
|
1314
|
-
*/
|
|
1315
981
|
many(openKind, parseFn, closeKind) {
|
|
1316
982
|
this.expectToken(openKind);
|
|
1317
983
|
const nodes = [];
|
|
@@ -1320,11 +986,6 @@ class Parser {
|
|
|
1320
986
|
} while (!this.expectOptionalToken(closeKind));
|
|
1321
987
|
return nodes;
|
|
1322
988
|
}
|
|
1323
|
-
/**
|
|
1324
|
-
* Returns a non-empty list of parse nodes, determined by the parseFn.
|
|
1325
|
-
* This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.
|
|
1326
|
-
* Advances the parser to the next lex token after last item in the list.
|
|
1327
|
-
*/
|
|
1328
989
|
delimitedMany(delimiterKind, parseFn) {
|
|
1329
990
|
this.expectOptionalToken(delimiterKind);
|
|
1330
991
|
const nodes = [];
|
|
@@ -1336,26 +997,20 @@ class Parser {
|
|
|
1336
997
|
advanceLexer() {
|
|
1337
998
|
const { maxTokens } = this._options;
|
|
1338
999
|
const token = this._lexer.advance();
|
|
1339
|
-
if (token.kind !==
|
|
1000
|
+
if (token.kind !== tokenKind_ts_1.TokenKind.EOF) {
|
|
1340
1001
|
++this._tokenCounter;
|
|
1341
1002
|
if (maxTokens !== undefined && this._tokenCounter > maxTokens) {
|
|
1342
|
-
throw (0,
|
|
1003
|
+
throw (0, syntaxError_ts_1.syntaxError)(this._lexer.source, token.start, `Document contains more than ${maxTokens} tokens. Parsing aborted.`);
|
|
1343
1004
|
}
|
|
1344
1005
|
}
|
|
1345
1006
|
}
|
|
1346
1007
|
}
|
|
1347
1008
|
exports.Parser = Parser;
|
|
1348
|
-
/**
|
|
1349
|
-
* A helper function to describe a token as a string for debugging.
|
|
1350
|
-
*/
|
|
1351
1009
|
function getTokenDesc(token) {
|
|
1352
1010
|
const value = token.value;
|
|
1353
1011
|
return getTokenKindDesc(token.kind) + (value != null ? ` "${value}"` : '');
|
|
1354
1012
|
}
|
|
1355
|
-
/**
|
|
1356
|
-
* A helper function to describe a token kind as a string for debugging.
|
|
1357
|
-
*/
|
|
1358
1013
|
function getTokenKindDesc(kind) {
|
|
1359
|
-
return (0,
|
|
1014
|
+
return (0, lexer_ts_1.isPunctuatorTokenKind)(kind) ? `"${kind}"` : kind;
|
|
1360
1015
|
}
|
|
1361
1016
|
//# sourceMappingURL=parser.js.map
|