graphql 0.0.1-test.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NotSupportedTSVersion.d.ts +1 -0
- package/README.md +158 -0
- package/error/GraphQLError.d.ts +142 -0
- package/error/GraphQLError.js +267 -0
- package/error/GraphQLError.mjs +253 -0
- package/error/index.d.ts +7 -0
- package/error/index.js +41 -0
- package/error/index.mjs +3 -0
- package/error/locatedError.d.ts +13 -0
- package/error/locatedError.js +40 -0
- package/error/locatedError.mjs +32 -0
- package/error/syntaxError.d.ts +11 -0
- package/error/syntaxError.js +21 -0
- package/error/syntaxError.mjs +11 -0
- package/execution/collectFields.d.ts +45 -0
- package/execution/collectFields.js +229 -0
- package/execution/collectFields.mjs +213 -0
- package/execution/execute.d.ts +185 -0
- package/execution/execute.js +1016 -0
- package/execution/execute.mjs +988 -0
- package/execution/index.d.ts +14 -0
- package/execution/index.js +67 -0
- package/execution/index.mjs +9 -0
- package/execution/mapAsyncIterator.d.ts +9 -0
- package/execution/mapAsyncIterator.js +68 -0
- package/execution/mapAsyncIterator.mjs +61 -0
- package/execution/subscribe.d.ts +68 -0
- package/execution/subscribe.js +261 -0
- package/execution/subscribe.mjs +239 -0
- package/execution/values.d.ts +81 -0
- package/execution/values.js +292 -0
- package/execution/values.mjs +255 -0
- package/graphql.d.ts +67 -0
- package/graphql.js +96 -0
- package/graphql.mjs +122 -0
- package/index.d.ts +411 -0
- package/index.js +1263 -0
- package/index.mjs +254 -0
- package/jsutils/Maybe.d.ts +2 -0
- package/jsutils/Maybe.js +5 -0
- package/jsutils/Maybe.mjs +1 -0
- package/jsutils/ObjMap.d.ts +16 -0
- package/jsutils/ObjMap.js +5 -0
- package/jsutils/ObjMap.mjs +1 -0
- package/jsutils/Path.d.ts +20 -0
- package/jsutils/Path.js +33 -0
- package/jsutils/Path.mjs +25 -0
- package/jsutils/PromiseOrValue.d.ts +1 -0
- package/jsutils/PromiseOrValue.js +5 -0
- package/jsutils/PromiseOrValue.mjs +1 -0
- package/jsutils/devAssert.d.ts +1 -0
- package/jsutils/devAssert.js +14 -0
- package/jsutils/devAssert.mjs +7 -0
- package/jsutils/didYouMean.d.ts +8 -0
- package/jsutils/didYouMean.js +38 -0
- package/jsutils/didYouMean.mjs +32 -0
- package/jsutils/groupBy.d.ts +7 -0
- package/jsutils/groupBy.js +26 -0
- package/jsutils/groupBy.mjs +19 -0
- package/jsutils/identityFunc.d.ts +4 -0
- package/jsutils/identityFunc.js +13 -0
- package/jsutils/identityFunc.mjs +6 -0
- package/jsutils/inspect.d.ts +4 -0
- package/jsutils/inspect.js +121 -0
- package/jsutils/inspect.mjs +115 -0
- package/jsutils/instanceOf.d.ts +16 -0
- package/jsutils/instanceOf.js +60 -0
- package/jsutils/instanceOf.mjs +52 -0
- package/jsutils/invariant.d.ts +4 -0
- package/jsutils/invariant.js +16 -0
- package/jsutils/invariant.mjs +9 -0
- package/jsutils/isAsyncIterable.d.ts +7 -0
- package/jsutils/isAsyncIterable.js +18 -0
- package/jsutils/isAsyncIterable.mjs +11 -0
- package/jsutils/isIterableObject.d.ts +20 -0
- package/jsutils/isIterableObject.js +32 -0
- package/jsutils/isIterableObject.mjs +25 -0
- package/jsutils/isObjectLike.d.ts +7 -0
- package/jsutils/isObjectLike.js +14 -0
- package/jsutils/isObjectLike.mjs +7 -0
- package/jsutils/isPromise.d.ts +5 -0
- package/jsutils/isPromise.js +17 -0
- package/jsutils/isPromise.mjs +10 -0
- package/jsutils/keyMap.d.ts +32 -0
- package/jsutils/keyMap.js +43 -0
- package/jsutils/keyMap.mjs +36 -0
- package/jsutils/keyValMap.d.ts +23 -0
- package/jsutils/keyValMap.js +33 -0
- package/jsutils/keyValMap.mjs +26 -0
- package/jsutils/mapValue.d.ts +9 -0
- package/jsutils/mapValue.js +20 -0
- package/jsutils/mapValue.mjs +13 -0
- package/jsutils/memoize3.d.ts +9 -0
- package/jsutils/memoize3.js +41 -0
- package/jsutils/memoize3.mjs +34 -0
- package/jsutils/naturalCompare.d.ts +8 -0
- package/jsutils/naturalCompare.js +69 -0
- package/jsutils/naturalCompare.mjs +61 -0
- package/jsutils/printPathArray.d.ts +6 -0
- package/jsutils/printPathArray.js +17 -0
- package/jsutils/printPathArray.mjs +10 -0
- package/jsutils/promiseForObject.d.ts +11 -0
- package/jsutils/promiseForObject.js +25 -0
- package/jsutils/promiseForObject.mjs +18 -0
- package/jsutils/promiseReduce.d.ts +13 -0
- package/jsutils/promiseReduce.js +27 -0
- package/jsutils/promiseReduce.mjs +20 -0
- package/jsutils/suggestionList.d.ts +8 -0
- package/jsutils/suggestionList.js +139 -0
- package/jsutils/suggestionList.mjs +130 -0
- package/jsutils/toError.d.ts +4 -0
- package/jsutils/toError.js +25 -0
- package/jsutils/toError.mjs +18 -0
- package/jsutils/toObjMap.d.ts +5 -0
- package/jsutils/toObjMap.js +24 -0
- package/jsutils/toObjMap.mjs +17 -0
- package/language/ast.d.ts +536 -0
- package/language/ast.js +224 -0
- package/language/ast.mjs +206 -0
- package/language/blockString.d.ts +28 -0
- package/language/blockString.js +195 -0
- package/language/blockString.mjs +178 -0
- package/language/characterClasses.d.ts +47 -0
- package/language/characterClasses.js +75 -0
- package/language/characterClasses.mjs +64 -0
- package/language/directiveLocation.d.ts +32 -0
- package/language/directiveLocation.js +40 -0
- package/language/directiveLocation.mjs +31 -0
- package/language/index.d.ts +97 -0
- package/language/index.js +215 -0
- package/language/index.mjs +29 -0
- package/language/kinds.d.ts +65 -0
- package/language/kinds.js +64 -0
- package/language/kinds.mjs +55 -0
- package/language/lexer.d.ts +45 -0
- package/language/lexer.js +1006 -0
- package/language/lexer.mjs +902 -0
- package/language/location.d.ts +16 -0
- package/language/location.js +38 -0
- package/language/location.mjs +30 -0
- package/language/parser.d.ts +554 -0
- package/language/parser.js +1567 -0
- package/language/parser.mjs +1524 -0
- package/language/predicates.d.ts +33 -0
- package/language/predicates.js +109 -0
- package/language/predicates.mjs +81 -0
- package/language/printLocation.d.ts +14 -0
- package/language/printLocation.js +74 -0
- package/language/printLocation.mjs +66 -0
- package/language/printString.d.ts +5 -0
- package/language/printString.js +183 -0
- package/language/printString.mjs +176 -0
- package/language/printer.d.ts +6 -0
- package/language/printer.js +351 -0
- package/language/printer.mjs +339 -0
- package/language/source.d.ts +25 -0
- package/language/source.js +65 -0
- package/language/source.mjs +50 -0
- package/language/tokenKind.d.ts +34 -0
- package/language/tokenKind.js +44 -0
- package/language/tokenKind.mjs +35 -0
- package/language/visitor.d.ts +194 -0
- package/language/visitor.js +377 -0
- package/language/visitor.mjs +361 -0
- package/package.json +40 -0
- package/subscription/index.d.ts +19 -0
- package/subscription/index.js +19 -0
- package/subscription/index.mjs +19 -0
- package/type/assertName.d.ts +10 -0
- package/type/assertName.js +59 -0
- package/type/assertName.mjs +44 -0
- package/type/definition.d.ts +917 -0
- package/type/definition.js +1329 -0
- package/type/definition.mjs +1167 -0
- package/type/directives.d.ts +86 -0
- package/type/directives.js +224 -0
- package/type/directives.mjs +190 -0
- package/type/index.d.ts +150 -0
- package/type/index.js +547 -0
- package/type/index.mjs +103 -0
- package/type/introspection.d.ts +29 -0
- package/type/introspection.js +617 -0
- package/type/introspection.mjs +550 -0
- package/type/scalars.d.ts +19 -0
- package/type/scalars.js +359 -0
- package/type/scalars.mjs +299 -0
- package/type/schema.d.ts +170 -0
- package/type/schema.js +402 -0
- package/type/schema.mjs +381 -0
- package/type/validate.d.ts +17 -0
- package/type/validate.js +672 -0
- package/type/validate.mjs +647 -0
- package/utilities/TypeInfo.d.ts +67 -0
- package/utilities/TypeInfo.js +418 -0
- package/utilities/TypeInfo.mjs +395 -0
- package/utilities/assertValidName.d.ts +13 -0
- package/utilities/assertValidName.js +51 -0
- package/utilities/assertValidName.mjs +40 -0
- package/utilities/astFromValue.d.ts +28 -0
- package/utilities/astFromValue.js +190 -0
- package/utilities/astFromValue.mjs +177 -0
- package/utilities/buildASTSchema.d.ts +35 -0
- package/utilities/buildASTSchema.js +115 -0
- package/utilities/buildASTSchema.mjs +97 -0
- package/utilities/buildClientSchema.d.ts +19 -0
- package/utilities/buildClientSchema.js +386 -0
- package/utilities/buildClientSchema.mjs +363 -0
- package/utilities/coerceInputValue.d.ts +16 -0
- package/utilities/coerceInputValue.js +191 -0
- package/utilities/coerceInputValue.mjs +172 -0
- package/utilities/concatAST.d.ts +9 -0
- package/utilities/concatAST.js +26 -0
- package/utilities/concatAST.mjs +19 -0
- package/utilities/extendSchema.d.ts +40 -0
- package/utilities/extendSchema.js +798 -0
- package/utilities/extendSchema.mjs +789 -0
- package/utilities/findBreakingChanges.d.ts +51 -0
- package/utilities/findBreakingChanges.js +547 -0
- package/utilities/findBreakingChanges.mjs +516 -0
- package/utilities/getIntrospectionQuery.d.ts +182 -0
- package/utilities/getIntrospectionQuery.js +134 -0
- package/utilities/getIntrospectionQuery.mjs +127 -0
- package/utilities/getOperationAST.d.ts +11 -0
- package/utilities/getOperationAST.js +43 -0
- package/utilities/getOperationAST.mjs +36 -0
- package/utilities/getOperationRootType.d.ts +15 -0
- package/utilities/getOperationRootType.js +59 -0
- package/utilities/getOperationRootType.mjs +52 -0
- package/utilities/index.d.ts +61 -0
- package/utilities/index.js +233 -0
- package/utilities/index.mjs +55 -0
- package/utilities/introspectionFromSchema.d.ts +18 -0
- package/utilities/introspectionFromSchema.js +42 -0
- package/utilities/introspectionFromSchema.mjs +30 -0
- package/utilities/lexicographicSortSchema.d.ts +9 -0
- package/utilities/lexicographicSortSchema.js +177 -0
- package/utilities/lexicographicSortSchema.mjs +172 -0
- package/utilities/printSchema.d.ts +5 -0
- package/utilities/printSchema.js +333 -0
- package/utilities/printSchema.mjs +309 -0
- package/utilities/separateOperations.d.ts +11 -0
- package/utilities/separateOperations.js +88 -0
- package/utilities/separateOperations.mjs +80 -0
- package/utilities/sortValueNode.d.ts +9 -0
- package/utilities/sortValueNode.js +47 -0
- package/utilities/sortValueNode.mjs +39 -0
- package/utilities/stripIgnoredCharacters.d.ts +62 -0
- package/utilities/stripIgnoredCharacters.js +121 -0
- package/utilities/stripIgnoredCharacters.mjs +104 -0
- package/utilities/typeComparators.d.ts +32 -0
- package/utilities/typeComparators.js +116 -0
- package/utilities/typeComparators.mjs +106 -0
- package/utilities/typeFromAST.d.ts +32 -0
- package/utilities/typeFromAST.js +27 -0
- package/utilities/typeFromAST.mjs +18 -0
- package/utilities/typedQueryDocumentNode.d.ts +22 -0
- package/utilities/typedQueryDocumentNode.js +5 -0
- package/utilities/typedQueryDocumentNode.mjs +1 -0
- package/utilities/valueFromAST.d.ts +29 -0
- package/utilities/valueFromAST.js +185 -0
- package/utilities/valueFromAST.mjs +172 -0
- package/utilities/valueFromASTUntyped.d.ts +23 -0
- package/utilities/valueFromASTUntyped.js +61 -0
- package/utilities/valueFromASTUntyped.mjs +53 -0
- package/validation/ValidationContext.d.ts +95 -0
- package/validation/ValidationContext.js +232 -0
- package/validation/ValidationContext.mjs +212 -0
- package/validation/index.d.ts +40 -0
- package/validation/index.js +317 -0
- package/validation/index.mjs +68 -0
- package/validation/rules/ExecutableDefinitionsRule.d.ts +13 -0
- package/validation/rules/ExecutableDefinitionsRule.js +44 -0
- package/validation/rules/ExecutableDefinitionsRule.mjs +35 -0
- package/validation/rules/FieldsOnCorrectTypeRule.d.ts +13 -0
- package/validation/rules/FieldsOnCorrectTypeRule.js +143 -0
- package/validation/rules/FieldsOnCorrectTypeRule.mjs +125 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +14 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.js +65 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.mjs +49 -0
- package/validation/rules/KnownArgumentNamesRule.d.ts +23 -0
- package/validation/rules/KnownArgumentNamesRule.js +116 -0
- package/validation/rules/KnownArgumentNamesRule.mjs +98 -0
- package/validation/rules/KnownDirectivesRule.d.ts +16 -0
- package/validation/rules/KnownDirectivesRule.js +163 -0
- package/validation/rules/KnownDirectivesRule.mjs +146 -0
- package/validation/rules/KnownFragmentNamesRule.d.ts +13 -0
- package/validation/rules/KnownFragmentNamesRule.js +34 -0
- package/validation/rules/KnownFragmentNamesRule.mjs +24 -0
- package/validation/rules/KnownTypeNamesRule.d.ts +16 -0
- package/validation/rules/KnownTypeNamesRule.js +87 -0
- package/validation/rules/KnownTypeNamesRule.mjs +75 -0
- package/validation/rules/LoneAnonymousOperationRule.d.ts +13 -0
- package/validation/rules/LoneAnonymousOperationRule.js +40 -0
- package/validation/rules/LoneAnonymousOperationRule.mjs +32 -0
- package/validation/rules/LoneSchemaDefinitionRule.d.ts +10 -0
- package/validation/rules/LoneSchemaDefinitionRule.js +63 -0
- package/validation/rules/LoneSchemaDefinitionRule.mjs +53 -0
- package/validation/rules/NoFragmentCyclesRule.d.ts +13 -0
- package/validation/rules/NoFragmentCyclesRule.js +83 -0
- package/validation/rules/NoFragmentCyclesRule.mjs +76 -0
- package/validation/rules/NoUndefinedVariablesRule.d.ts +13 -0
- package/validation/rules/NoUndefinedVariablesRule.js +50 -0
- package/validation/rules/NoUndefinedVariablesRule.mjs +43 -0
- package/validation/rules/NoUnusedFragmentsRule.d.ts +13 -0
- package/validation/rules/NoUnusedFragmentsRule.js +59 -0
- package/validation/rules/NoUnusedFragmentsRule.mjs +52 -0
- package/validation/rules/NoUnusedVariablesRule.d.ts +13 -0
- package/validation/rules/NoUnusedVariablesRule.js +55 -0
- package/validation/rules/NoUnusedVariablesRule.mjs +48 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule-old.js +805 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule-old.mjs +788 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +14 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +805 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +788 -0
- package/validation/rules/PossibleFragmentSpreadsRule.d.ts +12 -0
- package/validation/rules/PossibleFragmentSpreadsRule.js +91 -0
- package/validation/rules/PossibleFragmentSpreadsRule.mjs +69 -0
- package/validation/rules/PossibleTypeExtensionsRule.d.ts +10 -0
- package/validation/rules/PossibleTypeExtensionsRule.js +167 -0
- package/validation/rules/PossibleTypeExtensionsRule.mjs +147 -0
- package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +20 -0
- package/validation/rules/ProvidedRequiredArgumentsRule.js +158 -0
- package/validation/rules/ProvidedRequiredArgumentsRule.mjs +138 -0
- package/validation/rules/ScalarLeafsRule.d.ts +9 -0
- package/validation/rules/ScalarLeafsRule.js +51 -0
- package/validation/rules/ScalarLeafsRule.mjs +42 -0
- package/validation/rules/SingleFieldSubscriptionsRule.d.ts +13 -0
- package/validation/rules/SingleFieldSubscriptionsRule.js +82 -0
- package/validation/rules/SingleFieldSubscriptionsRule.mjs +73 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +11 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js +90 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +79 -0
- package/validation/rules/UniqueArgumentNamesRule.d.ts +13 -0
- package/validation/rules/UniqueArgumentNamesRule.js +53 -0
- package/validation/rules/UniqueArgumentNamesRule.mjs +42 -0
- package/validation/rules/UniqueDirectiveNamesRule.d.ts +10 -0
- package/validation/rules/UniqueDirectiveNamesRule.js +50 -0
- package/validation/rules/UniqueDirectiveNamesRule.mjs +43 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +16 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.js +93 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs +83 -0
- package/validation/rules/UniqueEnumValueNamesRule.d.ts +10 -0
- package/validation/rules/UniqueEnumValueNamesRule.js +71 -0
- package/validation/rules/UniqueEnumValueNamesRule.mjs +60 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +10 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +83 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +75 -0
- package/validation/rules/UniqueFragmentNamesRule.d.ts +12 -0
- package/validation/rules/UniqueFragmentNamesRule.js +39 -0
- package/validation/rules/UniqueFragmentNamesRule.mjs +32 -0
- package/validation/rules/UniqueInputFieldNamesRule.d.ts +13 -0
- package/validation/rules/UniqueInputFieldNamesRule.js +52 -0
- package/validation/rules/UniqueInputFieldNamesRule.mjs +44 -0
- package/validation/rules/UniqueOperationNamesRule.d.ts +12 -0
- package/validation/rules/UniqueOperationNamesRule.js +41 -0
- package/validation/rules/UniqueOperationNamesRule.mjs +34 -0
- package/validation/rules/UniqueOperationTypesRule.d.ts +10 -0
- package/validation/rules/UniqueOperationTypesRule.js +67 -0
- package/validation/rules/UniqueOperationTypesRule.mjs +60 -0
- package/validation/rules/UniqueTypeNamesRule.d.ts +10 -0
- package/validation/rules/UniqueTypeNamesRule.js +53 -0
- package/validation/rules/UniqueTypeNamesRule.mjs +46 -0
- package/validation/rules/UniqueVariableNamesRule.d.ts +10 -0
- package/validation/rules/UniqueVariableNamesRule.js +47 -0
- package/validation/rules/UniqueVariableNamesRule.mjs +39 -0
- package/validation/rules/ValuesOfCorrectTypeRule.d.ts +13 -0
- package/validation/rules/ValuesOfCorrectTypeRule.js +183 -0
- package/validation/rules/ValuesOfCorrectTypeRule.mjs +164 -0
- package/validation/rules/VariablesAreInputTypesRule.d.ts +13 -0
- package/validation/rules/VariablesAreInputTypesRule.js +44 -0
- package/validation/rules/VariablesAreInputTypesRule.mjs +31 -0
- package/validation/rules/VariablesInAllowedPositionRule.d.ts +12 -0
- package/validation/rules/VariablesInAllowedPositionRule.js +114 -0
- package/validation/rules/VariablesInAllowedPositionRule.mjs +95 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +15 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.js +121 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs +107 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +15 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +39 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +30 -0
- package/validation/specifiedRules.d.ts +12 -0
- package/validation/specifiedRules.js +160 -0
- package/validation/specifiedRules.mjs +123 -0
- package/validation/validate.d.ts +61 -0
- package/validation/validate.js +151 -0
- package/validation/validate.mjs +133 -0
- package/version.d.ts +13 -0
- package/version.js +25 -0
- package/version.mjs +17 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true,
|
|
5
|
+
});
|
|
6
|
+
exports.assertValidSDL = assertValidSDL;
|
|
7
|
+
exports.assertValidSDLExtension = assertValidSDLExtension;
|
|
8
|
+
exports.validate = validate;
|
|
9
|
+
exports.validateSDL = validateSDL;
|
|
10
|
+
|
|
11
|
+
var _devAssert = require('../jsutils/devAssert.js');
|
|
12
|
+
|
|
13
|
+
var _GraphQLError = require('../error/GraphQLError.js');
|
|
14
|
+
|
|
15
|
+
var _visitor = require('../language/visitor.js');
|
|
16
|
+
|
|
17
|
+
var _validate = require('../type/validate.js');
|
|
18
|
+
|
|
19
|
+
var _TypeInfo = require('../utilities/TypeInfo.js');
|
|
20
|
+
|
|
21
|
+
var _specifiedRules = require('./specifiedRules.js');
|
|
22
|
+
|
|
23
|
+
var _ValidationContext = require('./ValidationContext.js');
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Implements the "Validation" section of the spec.
|
|
27
|
+
*
|
|
28
|
+
* Validation runs synchronously, returning an array of encountered errors, or
|
|
29
|
+
* an empty array if no errors were encountered and the document is valid.
|
|
30
|
+
*
|
|
31
|
+
* A list of specific validation rules may be provided. If not provided, the
|
|
32
|
+
* default list of rules defined by the GraphQL specification will be used.
|
|
33
|
+
*
|
|
34
|
+
* Each validation rules is a function which returns a visitor
|
|
35
|
+
* (see the language/visitor API). Visitor methods are expected to return
|
|
36
|
+
* GraphQLErrors, or Arrays of GraphQLErrors when invalid.
|
|
37
|
+
*
|
|
38
|
+
* Validate will stop validation after a `maxErrors` limit has been reached.
|
|
39
|
+
* Attackers can send pathologically invalid queries to induce a DoS attack,
|
|
40
|
+
* so by default `maxErrors` set to 100 errors.
|
|
41
|
+
*
|
|
42
|
+
* Optionally a custom TypeInfo instance may be provided. If not provided, one
|
|
43
|
+
* will be created from the provided schema.
|
|
44
|
+
*/
|
|
45
|
+
function validate(
|
|
46
|
+
schema,
|
|
47
|
+
documentAST,
|
|
48
|
+
rules = _specifiedRules.specifiedRules,
|
|
49
|
+
options,
|
|
50
|
+
/** @deprecated will be removed in 17.0.0 */
|
|
51
|
+
typeInfo = new _TypeInfo.TypeInfo(schema),
|
|
52
|
+
) {
|
|
53
|
+
var _options$maxErrors;
|
|
54
|
+
|
|
55
|
+
const maxErrors =
|
|
56
|
+
(_options$maxErrors =
|
|
57
|
+
options === null || options === void 0 ? void 0 : options.maxErrors) !==
|
|
58
|
+
null && _options$maxErrors !== void 0
|
|
59
|
+
? _options$maxErrors
|
|
60
|
+
: 100;
|
|
61
|
+
documentAST || (0, _devAssert.devAssert)(false, 'Must provide document.'); // If the schema used for validation is invalid, throw an error.
|
|
62
|
+
|
|
63
|
+
(0, _validate.assertValidSchema)(schema);
|
|
64
|
+
const abortObj = Object.freeze({});
|
|
65
|
+
const errors = [];
|
|
66
|
+
const context = new _ValidationContext.ValidationContext(
|
|
67
|
+
schema,
|
|
68
|
+
documentAST,
|
|
69
|
+
typeInfo,
|
|
70
|
+
(error) => {
|
|
71
|
+
if (errors.length >= maxErrors) {
|
|
72
|
+
errors.push(
|
|
73
|
+
new _GraphQLError.GraphQLError(
|
|
74
|
+
'Too many validation errors, error limit reached. Validation aborted.',
|
|
75
|
+
),
|
|
76
|
+
); // eslint-disable-next-line @typescript-eslint/no-throw-literal
|
|
77
|
+
|
|
78
|
+
throw abortObj;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
errors.push(error);
|
|
82
|
+
},
|
|
83
|
+
); // This uses a specialized visitor which runs multiple visitors in parallel,
|
|
84
|
+
// while maintaining the visitor skip and break API.
|
|
85
|
+
|
|
86
|
+
const visitor = (0, _visitor.visitInParallel)(
|
|
87
|
+
rules.map((rule) => rule(context)),
|
|
88
|
+
); // Visit the whole document with each instance of all provided rules.
|
|
89
|
+
|
|
90
|
+
try {
|
|
91
|
+
(0, _visitor.visit)(
|
|
92
|
+
documentAST,
|
|
93
|
+
(0, _TypeInfo.visitWithTypeInfo)(typeInfo, visitor),
|
|
94
|
+
);
|
|
95
|
+
} catch (e) {
|
|
96
|
+
if (e !== abortObj) {
|
|
97
|
+
throw e;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return errors;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* @internal
|
|
105
|
+
*/
|
|
106
|
+
|
|
107
|
+
function validateSDL(
|
|
108
|
+
documentAST,
|
|
109
|
+
schemaToExtend,
|
|
110
|
+
rules = _specifiedRules.specifiedSDLRules,
|
|
111
|
+
) {
|
|
112
|
+
const errors = [];
|
|
113
|
+
const context = new _ValidationContext.SDLValidationContext(
|
|
114
|
+
documentAST,
|
|
115
|
+
schemaToExtend,
|
|
116
|
+
(error) => {
|
|
117
|
+
errors.push(error);
|
|
118
|
+
},
|
|
119
|
+
);
|
|
120
|
+
const visitors = rules.map((rule) => rule(context));
|
|
121
|
+
(0, _visitor.visit)(documentAST, (0, _visitor.visitInParallel)(visitors));
|
|
122
|
+
return errors;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Utility function which asserts a SDL document is valid by throwing an error
|
|
126
|
+
* if it is invalid.
|
|
127
|
+
*
|
|
128
|
+
* @internal
|
|
129
|
+
*/
|
|
130
|
+
|
|
131
|
+
function assertValidSDL(documentAST) {
|
|
132
|
+
const errors = validateSDL(documentAST);
|
|
133
|
+
|
|
134
|
+
if (errors.length !== 0) {
|
|
135
|
+
throw new Error(errors.map((error) => error.message).join('\n\n'));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Utility function which asserts a SDL document is valid by throwing an error
|
|
140
|
+
* if it is invalid.
|
|
141
|
+
*
|
|
142
|
+
* @internal
|
|
143
|
+
*/
|
|
144
|
+
|
|
145
|
+
function assertValidSDLExtension(documentAST, schema) {
|
|
146
|
+
const errors = validateSDL(documentAST, schema);
|
|
147
|
+
|
|
148
|
+
if (errors.length !== 0) {
|
|
149
|
+
throw new Error(errors.map((error) => error.message).join('\n\n'));
|
|
150
|
+
}
|
|
151
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { devAssert } from '../jsutils/devAssert.mjs';
|
|
2
|
+
import { GraphQLError } from '../error/GraphQLError.mjs';
|
|
3
|
+
import { visit, visitInParallel } from '../language/visitor.mjs';
|
|
4
|
+
import { assertValidSchema } from '../type/validate.mjs';
|
|
5
|
+
import { TypeInfo, visitWithTypeInfo } from '../utilities/TypeInfo.mjs';
|
|
6
|
+
import { specifiedRules, specifiedSDLRules } from './specifiedRules.mjs';
|
|
7
|
+
import {
|
|
8
|
+
SDLValidationContext,
|
|
9
|
+
ValidationContext,
|
|
10
|
+
} from './ValidationContext.mjs';
|
|
11
|
+
/**
|
|
12
|
+
* Implements the "Validation" section of the spec.
|
|
13
|
+
*
|
|
14
|
+
* Validation runs synchronously, returning an array of encountered errors, or
|
|
15
|
+
* an empty array if no errors were encountered and the document is valid.
|
|
16
|
+
*
|
|
17
|
+
* A list of specific validation rules may be provided. If not provided, the
|
|
18
|
+
* default list of rules defined by the GraphQL specification will be used.
|
|
19
|
+
*
|
|
20
|
+
* Each validation rules is a function which returns a visitor
|
|
21
|
+
* (see the language/visitor API). Visitor methods are expected to return
|
|
22
|
+
* GraphQLErrors, or Arrays of GraphQLErrors when invalid.
|
|
23
|
+
*
|
|
24
|
+
* Validate will stop validation after a `maxErrors` limit has been reached.
|
|
25
|
+
* Attackers can send pathologically invalid queries to induce a DoS attack,
|
|
26
|
+
* so by default `maxErrors` set to 100 errors.
|
|
27
|
+
*
|
|
28
|
+
* Optionally a custom TypeInfo instance may be provided. If not provided, one
|
|
29
|
+
* will be created from the provided schema.
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
export function validate(
|
|
33
|
+
schema,
|
|
34
|
+
documentAST,
|
|
35
|
+
rules = specifiedRules,
|
|
36
|
+
options,
|
|
37
|
+
/** @deprecated will be removed in 17.0.0 */
|
|
38
|
+
typeInfo = new TypeInfo(schema),
|
|
39
|
+
) {
|
|
40
|
+
var _options$maxErrors;
|
|
41
|
+
|
|
42
|
+
const maxErrors =
|
|
43
|
+
(_options$maxErrors =
|
|
44
|
+
options === null || options === void 0 ? void 0 : options.maxErrors) !==
|
|
45
|
+
null && _options$maxErrors !== void 0
|
|
46
|
+
? _options$maxErrors
|
|
47
|
+
: 100;
|
|
48
|
+
documentAST || devAssert(false, 'Must provide document.'); // If the schema used for validation is invalid, throw an error.
|
|
49
|
+
|
|
50
|
+
assertValidSchema(schema);
|
|
51
|
+
const abortObj = Object.freeze({});
|
|
52
|
+
const errors = [];
|
|
53
|
+
const context = new ValidationContext(
|
|
54
|
+
schema,
|
|
55
|
+
documentAST,
|
|
56
|
+
typeInfo,
|
|
57
|
+
(error) => {
|
|
58
|
+
if (errors.length >= maxErrors) {
|
|
59
|
+
errors.push(
|
|
60
|
+
new GraphQLError(
|
|
61
|
+
'Too many validation errors, error limit reached. Validation aborted.',
|
|
62
|
+
),
|
|
63
|
+
); // eslint-disable-next-line @typescript-eslint/no-throw-literal
|
|
64
|
+
|
|
65
|
+
throw abortObj;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
errors.push(error);
|
|
69
|
+
},
|
|
70
|
+
); // This uses a specialized visitor which runs multiple visitors in parallel,
|
|
71
|
+
// while maintaining the visitor skip and break API.
|
|
72
|
+
|
|
73
|
+
const visitor = visitInParallel(rules.map((rule) => rule(context))); // Visit the whole document with each instance of all provided rules.
|
|
74
|
+
|
|
75
|
+
try {
|
|
76
|
+
visit(documentAST, visitWithTypeInfo(typeInfo, visitor));
|
|
77
|
+
} catch (e) {
|
|
78
|
+
if (e !== abortObj) {
|
|
79
|
+
throw e;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return errors;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
|
|
89
|
+
export function validateSDL(
|
|
90
|
+
documentAST,
|
|
91
|
+
schemaToExtend,
|
|
92
|
+
rules = specifiedSDLRules,
|
|
93
|
+
) {
|
|
94
|
+
const errors = [];
|
|
95
|
+
const context = new SDLValidationContext(
|
|
96
|
+
documentAST,
|
|
97
|
+
schemaToExtend,
|
|
98
|
+
(error) => {
|
|
99
|
+
errors.push(error);
|
|
100
|
+
},
|
|
101
|
+
);
|
|
102
|
+
const visitors = rules.map((rule) => rule(context));
|
|
103
|
+
visit(documentAST, visitInParallel(visitors));
|
|
104
|
+
return errors;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Utility function which asserts a SDL document is valid by throwing an error
|
|
108
|
+
* if it is invalid.
|
|
109
|
+
*
|
|
110
|
+
* @internal
|
|
111
|
+
*/
|
|
112
|
+
|
|
113
|
+
export function assertValidSDL(documentAST) {
|
|
114
|
+
const errors = validateSDL(documentAST);
|
|
115
|
+
|
|
116
|
+
if (errors.length !== 0) {
|
|
117
|
+
throw new Error(errors.map((error) => error.message).join('\n\n'));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Utility function which asserts a SDL document is valid by throwing an error
|
|
122
|
+
* if it is invalid.
|
|
123
|
+
*
|
|
124
|
+
* @internal
|
|
125
|
+
*/
|
|
126
|
+
|
|
127
|
+
export function assertValidSDLExtension(documentAST, schema) {
|
|
128
|
+
const errors = validateSDL(documentAST, schema);
|
|
129
|
+
|
|
130
|
+
if (errors.length !== 0) {
|
|
131
|
+
throw new Error(errors.map((error) => error.message).join('\n\n'));
|
|
132
|
+
}
|
|
133
|
+
}
|
package/version.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A string containing the version of the GraphQL.js library
|
|
3
|
+
*/
|
|
4
|
+
export declare const version: string;
|
|
5
|
+
/**
|
|
6
|
+
* An object containing the components of the GraphQL.js version string
|
|
7
|
+
*/
|
|
8
|
+
export declare const versionInfo: Readonly<{
|
|
9
|
+
major: number;
|
|
10
|
+
minor: number;
|
|
11
|
+
patch: number;
|
|
12
|
+
preReleaseTag: string | null;
|
|
13
|
+
}>;
|
package/version.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true,
|
|
5
|
+
});
|
|
6
|
+
exports.versionInfo = exports.version = void 0;
|
|
7
|
+
// Note: This file is autogenerated using "resources/gen-version.js" script and
|
|
8
|
+
// automatically updated by "npm version" command.
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* A string containing the version of the GraphQL.js library
|
|
12
|
+
*/
|
|
13
|
+
const version = '16.3.0';
|
|
14
|
+
/**
|
|
15
|
+
* An object containing the components of the GraphQL.js version string
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
exports.version = version;
|
|
19
|
+
const versionInfo = Object.freeze({
|
|
20
|
+
major: 16,
|
|
21
|
+
minor: 3,
|
|
22
|
+
patch: 0,
|
|
23
|
+
preReleaseTag: null,
|
|
24
|
+
});
|
|
25
|
+
exports.versionInfo = versionInfo;
|
package/version.mjs
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Note: This file is autogenerated using "resources/gen-version.js" script and
|
|
2
|
+
// automatically updated by "npm version" command.
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A string containing the version of the GraphQL.js library
|
|
6
|
+
*/
|
|
7
|
+
export const version = '16.3.0';
|
|
8
|
+
/**
|
|
9
|
+
* An object containing the components of the GraphQL.js version string
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
export const versionInfo = Object.freeze({
|
|
13
|
+
major: 16,
|
|
14
|
+
minor: 3,
|
|
15
|
+
patch: 0,
|
|
16
|
+
preReleaseTag: null,
|
|
17
|
+
});
|