graphql 15.1.0 → 15.4.0
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 +1 -1
- package/README.md +10 -12
- package/error/GraphQLError.js +5 -5
- package/error/GraphQLError.js.flow +5 -5
- package/error/GraphQLError.mjs +1 -1
- package/error/formatError.js +1 -1
- package/error/formatError.js.flow +2 -3
- package/error/index.js +4 -4
- package/error/index.js.flow +0 -1
- package/error/locatedError.d.ts +2 -2
- package/error/locatedError.js +10 -5
- package/error/locatedError.js.flow +11 -5
- package/error/locatedError.mjs +6 -4
- package/error/syntaxError.js +1 -1
- package/error/syntaxError.js.flow +1 -2
- package/execution/execute.d.ts +24 -16
- package/execution/execute.js +123 -105
- package/execution/execute.js.flow +169 -153
- package/execution/execute.mjs +101 -82
- package/execution/index.d.ts +2 -0
- package/execution/index.js +9 -3
- package/execution/index.js.flow +12 -3
- package/execution/index.mjs +1 -1
- package/execution/values.js +11 -11
- package/execution/values.js.flow +10 -14
- package/graphql.js +5 -5
- package/graphql.js.flow +9 -9
- package/index.d.ts +19 -1
- package/index.js +27 -9
- package/index.js.flow +10 -3
- package/index.mjs +4 -3
- package/jsutils/ObjMap.js.flow +0 -1
- package/jsutils/Path.d.ts +6 -1
- package/jsutils/Path.js +3 -2
- package/jsutils/Path.js.flow +3 -2
- package/jsutils/Path.mjs +3 -2
- package/jsutils/PromiseOrValue.js.flow +0 -1
- package/jsutils/defineInspect.js +2 -2
- package/jsutils/defineInspect.js.flow +0 -1
- package/jsutils/devAssert.js.flow +0 -1
- package/jsutils/didYouMean.js.flow +0 -1
- package/jsutils/identityFunc.js.flow +0 -1
- package/jsutils/inspect.js +1 -2
- package/jsutils/inspect.js.flow +10 -8
- package/jsutils/inspect.mjs +1 -1
- package/jsutils/instanceOf.js.flow +2 -3
- package/jsutils/invariant.js.flow +0 -1
- package/jsutils/isAsyncIterable.js +19 -0
- package/jsutils/isAsyncIterable.js.flow +18 -0
- package/jsutils/isAsyncIterable.mjs +16 -0
- package/jsutils/isCollection.js +1 -1
- package/jsutils/isCollection.js.flow +0 -1
- package/jsutils/isObjectLike.js.flow +0 -1
- package/jsutils/isPromise.js.flow +0 -1
- package/jsutils/keyMap.js.flow +1 -2
- package/jsutils/keyValMap.js.flow +1 -2
- package/jsutils/mapValue.js +1 -1
- package/jsutils/mapValue.js.flow +1 -2
- package/jsutils/memoize3.js +2 -5
- package/jsutils/memoize3.js.flow +2 -5
- package/jsutils/memoize3.mjs +2 -5
- package/jsutils/nodejsCustomInspectSymbol.js.flow +0 -1
- package/jsutils/printPathArray.js.flow +0 -1
- package/jsutils/promiseForObject.js.flow +1 -2
- package/jsutils/promiseReduce.js +1 -1
- package/jsutils/promiseReduce.js.flow +1 -1
- package/jsutils/promiseReduce.mjs +1 -1
- package/jsutils/suggestionList.js.flow +1 -2
- package/jsutils/toObjMap.js +1 -1
- package/jsutils/toObjMap.js.flow +5 -6
- package/language/ast.js +1 -1
- package/language/ast.js.flow +2 -3
- package/language/blockString.d.ts +1 -1
- package/language/blockString.js +53 -32
- package/language/blockString.js.flow +49 -34
- package/language/blockString.mjs +54 -33
- package/language/directiveLocation.js.flow +0 -1
- package/language/experimentalOnlineParser/grammar.d.ts +1006 -0
- package/language/experimentalOnlineParser/grammar.js +987 -0
- package/language/experimentalOnlineParser/grammar.js.flow +1000 -0
- package/language/experimentalOnlineParser/grammar.mjs +980 -0
- package/language/experimentalOnlineParser/index.d.ts +6 -0
- package/language/experimentalOnlineParser/index.js +31 -0
- package/language/experimentalOnlineParser/index.js.flow +7 -0
- package/language/experimentalOnlineParser/index.mjs +1 -0
- package/language/experimentalOnlineParser/onlineParser.d.ts +125 -0
- package/language/experimentalOnlineParser/onlineParser.js +604 -0
- package/language/experimentalOnlineParser/onlineParser.js.flow +723 -0
- package/language/experimentalOnlineParser/onlineParser.mjs +587 -0
- package/language/index.js +12 -12
- package/language/index.js.flow +0 -1
- package/language/kinds.js.flow +0 -1
- package/language/lexer.js +242 -183
- package/language/lexer.js.flow +191 -186
- package/language/lexer.mjs +239 -180
- package/language/location.js.flow +1 -2
- package/language/parser.js +73 -68
- package/language/parser.js.flow +112 -106
- package/language/parser.mjs +66 -62
- package/language/predicates.js +1 -1
- package/language/predicates.js.flow +1 -2
- package/language/printLocation.js +1 -1
- package/language/printLocation.js.flow +4 -4
- package/language/printer.js +20 -13
- package/language/printer.js.flow +27 -25
- package/language/printer.mjs +18 -11
- package/language/source.d.ts +12 -6
- package/language/source.js +25 -9
- package/language/source.js.flow +25 -8
- package/language/source.mjs +19 -7
- package/language/tokenKind.js.flow +0 -1
- package/language/visitor.d.ts +3 -3
- package/language/visitor.js +5 -5
- package/language/visitor.js.flow +5 -5
- package/language/visitor.mjs +3 -3
- package/package.json +1 -1
- package/polyfills/arrayFrom.js +2 -2
- package/polyfills/arrayFrom.js.flow +1 -2
- package/polyfills/arrayFrom.mjs +1 -1
- package/polyfills/find.js +1 -1
- package/polyfills/find.js.flow +1 -2
- package/polyfills/find.mjs +1 -1
- package/polyfills/isFinite.js +1 -1
- package/polyfills/isFinite.js.flow +1 -2
- package/polyfills/isFinite.mjs +1 -1
- package/polyfills/isInteger.js +1 -1
- package/polyfills/isInteger.js.flow +1 -2
- package/polyfills/isInteger.mjs +1 -1
- package/polyfills/objectEntries.js +1 -1
- package/polyfills/objectEntries.js.flow +2 -3
- package/polyfills/objectEntries.mjs +1 -1
- package/polyfills/objectValues.js +1 -1
- package/polyfills/objectValues.js.flow +2 -3
- package/polyfills/objectValues.mjs +1 -1
- package/polyfills/symbols.js +3 -5
- package/polyfills/symbols.js.flow +9 -6
- package/polyfills/symbols.mjs +3 -5
- package/subscription/index.js +1 -1
- package/subscription/index.js.flow +0 -1
- package/subscription/mapAsyncIterator.js +2 -2
- package/subscription/mapAsyncIterator.js.flow +9 -10
- package/subscription/mapAsyncIterator.mjs +1 -1
- package/subscription/subscribe.js +61 -73
- package/subscription/subscribe.js.flow +74 -88
- package/subscription/subscribe.mjs +53 -65
- package/type/definition.d.ts +181 -31
- package/type/definition.js +37 -32
- package/type/definition.js.flow +66 -51
- package/type/definition.mjs +20 -18
- package/type/directives.d.ts +17 -3
- package/type/directives.js +17 -16
- package/type/directives.js.flow +20 -21
- package/type/directives.mjs +6 -5
- package/type/index.d.ts +12 -0
- package/type/index.js +6 -6
- package/type/index.js.flow +0 -1
- package/type/introspection.js +86 -68
- package/type/introspection.js.flow +85 -54
- package/type/introspection.mjs +79 -61
- package/type/scalars.js +9 -9
- package/type/scalars.js.flow +3 -3
- package/type/scalars.mjs +1 -1
- package/type/schema.d.ts +17 -4
- package/type/schema.js +13 -13
- package/type/schema.js.flow +18 -16
- package/type/schema.mjs +1 -1
- package/type/validate.js +52 -19
- package/type/validate.js.flow +67 -18
- package/type/validate.mjs +44 -10
- package/utilities/TypeInfo.js +7 -7
- package/utilities/TypeInfo.js.flow +16 -18
- package/utilities/TypeInfo.mjs +1 -1
- package/utilities/assertValidName.js +2 -2
- package/utilities/assertValidName.js.flow +0 -1
- package/utilities/astFromValue.js +10 -10
- package/utilities/astFromValue.js.flow +2 -3
- package/utilities/buildASTSchema.js +17 -27
- package/utilities/buildASTSchema.js.flow +11 -28
- package/utilities/buildASTSchema.mjs +11 -21
- package/utilities/buildClientSchema.js +14 -14
- package/utilities/buildClientSchema.js.flow +41 -29
- package/utilities/buildClientSchema.mjs +5 -5
- package/utilities/coerceInputValue.js +14 -14
- package/utilities/coerceInputValue.js.flow +7 -6
- package/utilities/coerceInputValue.mjs +2 -2
- package/utilities/concatAST.js +9 -8
- package/utilities/concatAST.js.flow +9 -9
- package/utilities/concatAST.mjs +9 -6
- package/utilities/extendSchema.js +26 -19
- package/utilities/extendSchema.js.flow +58 -45
- package/utilities/extendSchema.mjs +9 -2
- package/utilities/findBreakingChanges.js +9 -9
- package/utilities/findBreakingChanges.js.flow +12 -11
- package/utilities/findDeprecatedUsages.d.ts +9 -1
- package/utilities/findDeprecatedUsages.js +11 -27
- package/utilities/findDeprecatedUsages.js.flow +15 -44
- package/utilities/findDeprecatedUsages.mjs +11 -25
- package/utilities/getIntrospectionQuery.js.flow +2 -3
- package/utilities/getOperationAST.js +1 -1
- package/utilities/getOperationAST.js.flow +1 -5
- package/utilities/getOperationAST.mjs +1 -1
- package/utilities/getOperationRootType.js +1 -1
- package/utilities/getOperationRootType.js.flow +5 -6
- package/utilities/index.d.ts +4 -1
- package/utilities/index.js +22 -22
- package/utilities/index.js.flow +1 -2
- package/utilities/index.mjs +1 -1
- package/utilities/introspectionFromSchema.js +6 -8
- package/utilities/introspectionFromSchema.js.flow +10 -10
- package/utilities/introspectionFromSchema.mjs +3 -4
- package/utilities/lexicographicSortSchema.js +10 -8
- package/utilities/lexicographicSortSchema.js.flow +19 -12
- package/utilities/lexicographicSortSchema.mjs +3 -1
- package/utilities/printSchema.js +15 -16
- package/utilities/printSchema.js.flow +34 -25
- package/utilities/printSchema.mjs +6 -7
- package/utilities/separateOperations.js +2 -2
- package/utilities/separateOperations.js.flow +2 -6
- package/utilities/separateOperations.mjs +1 -1
- package/utilities/stripIgnoredCharacters.js +6 -16
- package/utilities/stripIgnoredCharacters.js.flow +4 -13
- package/utilities/stripIgnoredCharacters.mjs +3 -10
- package/utilities/typeComparators.js +1 -1
- package/utilities/typeComparators.js.flow +2 -4
- package/utilities/typeFromAST.js +6 -6
- package/utilities/typeFromAST.js.flow +11 -14
- package/utilities/typeFromAST.mjs +2 -2
- package/utilities/typedQueryDocumentNode.d.ts +20 -0
- package/utilities/valueFromAST.js +6 -6
- package/utilities/valueFromAST.js.flow +7 -5
- package/utilities/valueFromASTUntyped.js +4 -4
- package/utilities/valueFromASTUntyped.js.flow +2 -3
- package/validation/ValidationContext.d.ts +3 -0
- package/validation/ValidationContext.js +7 -3
- package/validation/ValidationContext.js.flow +28 -22
- package/validation/ValidationContext.mjs +4 -0
- package/validation/index.d.ts +4 -0
- package/validation/index.js +52 -36
- package/validation/index.js.flow +4 -1
- package/validation/index.mjs +4 -1
- package/validation/rules/ExecutableDefinitions.js +1 -1
- package/validation/rules/ExecutableDefinitions.js.flow +0 -1
- package/validation/rules/ExecutableDefinitionsRule.js +3 -3
- package/validation/rules/ExecutableDefinitionsRule.js.flow +2 -3
- package/validation/rules/FieldsOnCorrectTypeRule.js +5 -5
- package/validation/rules/FieldsOnCorrectTypeRule.js.flow +9 -8
- package/validation/rules/FragmentsOnCompositeTypesRule.js +4 -4
- package/validation/rules/FragmentsOnCompositeTypesRule.js.flow +2 -3
- package/validation/rules/KnownArgumentNamesRule.js +5 -5
- package/validation/rules/KnownArgumentNamesRule.js.flow +5 -5
- package/validation/rules/KnownDirectivesRule.js +6 -6
- package/validation/rules/KnownDirectivesRule.js.flow +10 -11
- package/validation/rules/KnownFragmentNamesRule.js +1 -1
- package/validation/rules/KnownFragmentNamesRule.js.flow +3 -3
- package/validation/rules/KnownTypeNamesRule.js +12 -10
- package/validation/rules/KnownTypeNamesRule.js.flow +14 -11
- package/validation/rules/KnownTypeNamesRule.mjs +6 -5
- package/validation/rules/LoneAnonymousOperationRule.js +2 -2
- package/validation/rules/LoneAnonymousOperationRule.js.flow +2 -3
- package/validation/rules/LoneSchemaDefinition.js +1 -1
- package/validation/rules/LoneSchemaDefinition.js.flow +0 -1
- package/validation/rules/LoneSchemaDefinitionRule.js +1 -1
- package/validation/rules/LoneSchemaDefinitionRule.js.flow +2 -3
- package/validation/rules/NoFragmentCyclesRule.js +1 -1
- package/validation/rules/NoFragmentCyclesRule.js.flow +4 -5
- package/validation/rules/NoUndefinedVariablesRule.js +1 -1
- package/validation/rules/NoUndefinedVariablesRule.js.flow +3 -3
- package/validation/rules/NoUnusedFragmentsRule.js +1 -1
- package/validation/rules/NoUnusedFragmentsRule.js.flow +3 -3
- package/validation/rules/NoUnusedVariablesRule.js +1 -1
- package/validation/rules/NoUnusedVariablesRule.js.flow +3 -3
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +20 -20
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js.flow +29 -27
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +12 -12
- package/validation/rules/PossibleFragmentSpreadsRule.js +5 -5
- package/validation/rules/PossibleFragmentSpreadsRule.js.flow +7 -4
- package/validation/rules/PossibleTypeExtensions.js +1 -1
- package/validation/rules/PossibleTypeExtensions.js.flow +0 -1
- package/validation/rules/PossibleTypeExtensionsRule.js +8 -8
- package/validation/rules/PossibleTypeExtensionsRule.js.flow +8 -6
- package/validation/rules/ProvidedRequiredArgumentsRule.js +7 -7
- package/validation/rules/ProvidedRequiredArgumentsRule.js.flow +7 -6
- package/validation/rules/ScalarLeafsRule.js +3 -3
- package/validation/rules/ScalarLeafsRule.js.flow +3 -4
- package/validation/rules/SingleFieldSubscriptionsRule.js +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.js.flow +3 -4
- package/validation/rules/UniqueArgumentNamesRule.js +1 -1
- package/validation/rules/UniqueArgumentNamesRule.js.flow +2 -3
- package/validation/rules/UniqueDirectiveNames.js +1 -1
- package/validation/rules/UniqueDirectiveNames.js.flow +0 -1
- package/validation/rules/UniqueDirectiveNamesRule.js +1 -1
- package/validation/rules/UniqueDirectiveNamesRule.js.flow +2 -3
- package/validation/rules/UniqueDirectivesPerLocationRule.js +4 -4
- package/validation/rules/UniqueDirectivesPerLocationRule.js.flow +4 -5
- package/validation/rules/UniqueEnumValueNames.js +1 -1
- package/validation/rules/UniqueEnumValueNames.js.flow +0 -1
- package/validation/rules/UniqueEnumValueNamesRule.js +2 -2
- package/validation/rules/UniqueEnumValueNamesRule.js.flow +11 -4
- package/validation/rules/UniqueFieldDefinitionNames.js +1 -1
- package/validation/rules/UniqueFieldDefinitionNames.js.flow +0 -1
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +3 -3
- package/validation/rules/UniqueFieldDefinitionNamesRule.js.flow +17 -6
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +1 -1
- package/validation/rules/UniqueFragmentNamesRule.js +1 -1
- package/validation/rules/UniqueFragmentNamesRule.js.flow +3 -3
- package/validation/rules/UniqueInputFieldNamesRule.js +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.js.flow +3 -3
- package/validation/rules/UniqueOperationNamesRule.js +1 -1
- package/validation/rules/UniqueOperationNamesRule.js.flow +3 -3
- package/validation/rules/UniqueOperationTypes.js +1 -1
- package/validation/rules/UniqueOperationTypes.js.flow +0 -1
- package/validation/rules/UniqueOperationTypesRule.js +1 -1
- package/validation/rules/UniqueOperationTypesRule.js.flow +10 -4
- package/validation/rules/UniqueTypeNames.js +1 -1
- package/validation/rules/UniqueTypeNames.js.flow +0 -1
- package/validation/rules/UniqueTypeNamesRule.js +1 -1
- package/validation/rules/UniqueTypeNamesRule.js.flow +3 -4
- package/validation/rules/UniqueVariableNamesRule.js +1 -1
- package/validation/rules/UniqueVariableNamesRule.js.flow +3 -4
- package/validation/rules/ValuesOfCorrectTypeRule.js +8 -8
- package/validation/rules/ValuesOfCorrectTypeRule.js.flow +3 -4
- package/validation/rules/VariablesAreInputTypesRule.js +4 -4
- package/validation/rules/VariablesAreInputTypesRule.js.flow +3 -4
- package/validation/rules/VariablesInAllowedPositionRule.js +6 -6
- package/validation/rules/VariablesInAllowedPositionRule.js.flow +6 -6
- package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +14 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.js +79 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.js.flow +94 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs +68 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +16 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +34 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.flow +38 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +25 -0
- package/validation/specifiedRules.js +33 -33
- package/validation/specifiedRules.js.flow +0 -1
- package/validation/validate.js +7 -7
- package/validation/validate.js.flow +4 -9
- package/version.js +2 -2
- package/version.js.flow +2 -3
- package/version.mjs +2 -2
- package/polyfills/flatMap.js +0 -30
- package/polyfills/flatMap.js.flow +0 -28
- package/polyfills/flatMap.mjs +0 -23
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ Looking for help? Find resources [from the community](https://graphql.org/commun
|
|
|
13
13
|
|
|
14
14
|
## Getting Started
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
A general overview of GraphQL is available in the
|
|
17
17
|
[README](https://github.com/graphql/graphql-spec/blob/master/README.md) for the
|
|
18
18
|
[Specification for GraphQL](https://github.com/graphql/graphql-spec). That overview
|
|
19
19
|
describes a simple set of GraphQL examples that exist as [tests](src/__tests__)
|
|
@@ -30,16 +30,16 @@ With npm:
|
|
|
30
30
|
npm install --save graphql
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
or
|
|
33
|
+
or using yarn:
|
|
34
34
|
|
|
35
35
|
```sh
|
|
36
36
|
yarn add graphql
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
GraphQL.js provides two important capabilities: building a type schema
|
|
39
|
+
GraphQL.js provides two important capabilities: building a type schema and
|
|
40
40
|
serving queries against that type schema.
|
|
41
41
|
|
|
42
|
-
First, build a GraphQL type schema which maps to your
|
|
42
|
+
First, build a GraphQL type schema which maps to your codebase.
|
|
43
43
|
|
|
44
44
|
```js
|
|
45
45
|
import {
|
|
@@ -64,10 +64,9 @@ var schema = new GraphQLSchema({
|
|
|
64
64
|
});
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
This defines a simple schema with one type and one field, that resolves
|
|
67
|
+
This defines a simple schema, with one type and one field, that resolves
|
|
68
68
|
to a fixed value. The `resolve` function can return a value, a promise,
|
|
69
|
-
or an array of promises. A more complex example is included in the top
|
|
70
|
-
level [tests](src/__tests__) directory.
|
|
69
|
+
or an array of promises. A more complex example is included in the top-level [tests](src/__tests__) directory.
|
|
71
70
|
|
|
72
71
|
Then, serve the result of a query against that type schema.
|
|
73
72
|
|
|
@@ -102,7 +101,7 @@ graphql(schema, query).then((result) => {
|
|
|
102
101
|
});
|
|
103
102
|
```
|
|
104
103
|
|
|
105
|
-
**Note**: Please don't forget to set `NODE_ENV=production` if you are running a production server
|
|
104
|
+
**Note**: Please don't forget to set `NODE_ENV=production` if you are running a production server. It will disable some checks that can be useful during development but will significantly improve performance.
|
|
106
105
|
|
|
107
106
|
### Want to ride the bleeding edge?
|
|
108
107
|
|
|
@@ -118,7 +117,7 @@ npm install graphql@git://github.com/graphql/graphql-js.git#npm
|
|
|
118
117
|
|
|
119
118
|
### Using in a Browser
|
|
120
119
|
|
|
121
|
-
GraphQL.js is a general
|
|
120
|
+
GraphQL.js is a general-purpose library and can be used both in a Node server
|
|
122
121
|
and in the browser. As an example, the [GraphiQL](https://github.com/graphql/graphiql/)
|
|
123
122
|
tool is built with GraphQL.js!
|
|
124
123
|
|
|
@@ -130,8 +129,7 @@ custom build configurations look for `.mjs` files!
|
|
|
130
129
|
|
|
131
130
|
### Contributing
|
|
132
131
|
|
|
133
|
-
We actively welcome pull requests
|
|
134
|
-
[contribute](https://github.com/graphql/graphql-js/blob/master/.github/CONTRIBUTING.md).
|
|
132
|
+
We actively welcome pull requests. Learn how to [contribute](./.github/CONTRIBUTING.md).
|
|
135
133
|
|
|
136
134
|
### Changelog
|
|
137
135
|
|
|
@@ -139,7 +137,7 @@ Changes are tracked as [GitHub releases](https://github.com/graphql/graphql-js/r
|
|
|
139
137
|
|
|
140
138
|
### License
|
|
141
139
|
|
|
142
|
-
GraphQL.js is [MIT-licensed](
|
|
140
|
+
GraphQL.js is [MIT-licensed](./LICENSE).
|
|
143
141
|
|
|
144
142
|
### Credits
|
|
145
143
|
|
package/error/GraphQLError.js
CHANGED
|
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.printError = printError;
|
|
7
7
|
exports.GraphQLError = void 0;
|
|
8
8
|
|
|
9
|
-
var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike"));
|
|
9
|
+
var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike.js"));
|
|
10
10
|
|
|
11
|
-
var _symbols = require("../polyfills/symbols");
|
|
11
|
+
var _symbols = require("../polyfills/symbols.js");
|
|
12
12
|
|
|
13
|
-
var _location = require("../language/location");
|
|
13
|
+
var _location = require("../language/location.js");
|
|
14
14
|
|
|
15
|
-
var _printLocation = require("../language/printLocation");
|
|
15
|
+
var _printLocation = require("../language/printLocation.js");
|
|
16
16
|
|
|
17
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
18
|
|
|
@@ -247,7 +247,7 @@ var GraphQLError = /*#__PURE__*/function (_Error) {
|
|
|
247
247
|
value: function toString() {
|
|
248
248
|
return printError(this);
|
|
249
249
|
} // FIXME: workaround to not break chai comparisons, should be remove in v16
|
|
250
|
-
// $FlowFixMe Flow doesn't support computed properties yet
|
|
250
|
+
// $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
|
|
251
251
|
|
|
252
252
|
}, {
|
|
253
253
|
key: _symbols.SYMBOL_TO_STRING_TAG,
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
// FIXME:
|
|
4
3
|
// flowlint uninitialized-instance-property:off
|
|
5
4
|
|
|
6
5
|
import isObjectLike from '../jsutils/isObjectLike';
|
|
7
6
|
import { SYMBOL_TO_STRING_TAG } from '../polyfills/symbols';
|
|
8
7
|
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
8
|
+
import type { ASTNode } from '../language/ast';
|
|
9
|
+
import type { Source } from '../language/source';
|
|
10
|
+
import type { SourceLocation } from '../language/location';
|
|
11
|
+
import { getLocation } from '../language/location';
|
|
12
12
|
import { printLocation, printSourceLocation } from '../language/printLocation';
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -213,7 +213,7 @@ export class GraphQLError extends Error {
|
|
|
213
213
|
}
|
|
214
214
|
|
|
215
215
|
// FIXME: workaround to not break chai comparisons, should be remove in v16
|
|
216
|
-
// $FlowFixMe Flow doesn't support computed properties yet
|
|
216
|
+
// $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
|
|
217
217
|
get [SYMBOL_TO_STRING_TAG](): string {
|
|
218
218
|
return 'Object';
|
|
219
219
|
}
|
package/error/GraphQLError.mjs
CHANGED
|
@@ -236,7 +236,7 @@ export var GraphQLError = /*#__PURE__*/function (_Error) {
|
|
|
236
236
|
value: function toString() {
|
|
237
237
|
return printError(this);
|
|
238
238
|
} // FIXME: workaround to not break chai comparisons, should be remove in v16
|
|
239
|
-
// $FlowFixMe Flow doesn't support computed properties yet
|
|
239
|
+
// $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
|
|
240
240
|
|
|
241
241
|
}, {
|
|
242
242
|
key: SYMBOL_TO_STRING_TAG,
|
package/error/formatError.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.formatError = formatError;
|
|
7
7
|
|
|
8
|
-
var _devAssert = _interopRequireDefault(require("../jsutils/devAssert"));
|
|
8
|
+
var _devAssert = _interopRequireDefault(require("../jsutils/devAssert.js"));
|
|
9
9
|
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
11
|
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import devAssert from '../jsutils/devAssert';
|
|
4
3
|
|
|
5
|
-
import {
|
|
4
|
+
import type { SourceLocation } from '../language/location';
|
|
6
5
|
|
|
7
|
-
import {
|
|
6
|
+
import type { GraphQLError } from './GraphQLError';
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* Given a GraphQLError, format it according to the rules described by the
|
package/error/index.js
CHANGED
|
@@ -34,10 +34,10 @@ Object.defineProperty(exports, "formatError", {
|
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
|
|
37
|
-
var _GraphQLError = require("./GraphQLError");
|
|
37
|
+
var _GraphQLError = require("./GraphQLError.js");
|
|
38
38
|
|
|
39
|
-
var _syntaxError = require("./syntaxError");
|
|
39
|
+
var _syntaxError = require("./syntaxError.js");
|
|
40
40
|
|
|
41
|
-
var _locatedError = require("./locatedError");
|
|
41
|
+
var _locatedError = require("./locatedError.js");
|
|
42
42
|
|
|
43
|
-
var _formatError = require("./formatError");
|
|
43
|
+
var _formatError = require("./formatError.js");
|
package/error/index.js.flow
CHANGED
package/error/locatedError.d.ts
CHANGED
|
@@ -5,12 +5,12 @@ import { ASTNode } from '../language/ast';
|
|
|
5
5
|
import { GraphQLError } from './GraphQLError';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* Given an arbitrary
|
|
8
|
+
* Given an arbitrary value, presumably thrown while attempting to execute a
|
|
9
9
|
* GraphQL operation, produce a new GraphQLError aware of the location in the
|
|
10
10
|
* document responsible for the original Error.
|
|
11
11
|
*/
|
|
12
12
|
export function locatedError(
|
|
13
|
-
|
|
13
|
+
rawOriginalError: any,
|
|
14
14
|
nodes: ASTNode | ReadonlyArray<ASTNode> | undefined,
|
|
15
15
|
path?: Maybe<ReadonlyArray<string | number>>,
|
|
16
16
|
): GraphQLError;
|
package/error/locatedError.js
CHANGED
|
@@ -5,18 +5,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.locatedError = locatedError;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
|
|
9
|
+
|
|
10
|
+
var _GraphQLError = require("./GraphQLError.js");
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
13
|
|
|
10
14
|
/**
|
|
11
|
-
* Given an arbitrary
|
|
15
|
+
* Given an arbitrary value, presumably thrown while attempting to execute a
|
|
12
16
|
* GraphQL operation, produce a new GraphQLError aware of the location in the
|
|
13
17
|
* document responsible for the original Error.
|
|
14
18
|
*/
|
|
15
|
-
function locatedError(
|
|
19
|
+
function locatedError(rawOriginalError, nodes, path) {
|
|
16
20
|
var _nodes;
|
|
17
21
|
|
|
18
|
-
//
|
|
19
|
-
// other contexts.
|
|
22
|
+
// Sometimes a non-error is thrown, wrap it as an Error instance to ensure a consistent Error interface.
|
|
23
|
+
var originalError = rawOriginalError instanceof Error ? rawOriginalError : new Error('Unexpected error value: ' + (0, _inspect.default)(rawOriginalError)); // Note: this uses a brand-check to support GraphQL errors originating from other contexts.
|
|
24
|
+
|
|
20
25
|
if (Array.isArray(originalError.path)) {
|
|
21
26
|
return originalError;
|
|
22
27
|
}
|
|
@@ -1,21 +1,27 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
+
import inspect from '../jsutils/inspect';
|
|
2
3
|
|
|
3
|
-
import {
|
|
4
|
+
import type { ASTNode } from '../language/ast';
|
|
4
5
|
|
|
5
6
|
import { GraphQLError } from './GraphQLError';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
|
-
* Given an arbitrary
|
|
9
|
+
* Given an arbitrary value, presumably thrown while attempting to execute a
|
|
9
10
|
* GraphQL operation, produce a new GraphQLError aware of the location in the
|
|
10
11
|
* document responsible for the original Error.
|
|
11
12
|
*/
|
|
12
13
|
export function locatedError(
|
|
13
|
-
|
|
14
|
+
rawOriginalError: mixed,
|
|
14
15
|
nodes: ASTNode | $ReadOnlyArray<ASTNode> | void | null,
|
|
15
16
|
path?: ?$ReadOnlyArray<string | number>,
|
|
16
17
|
): GraphQLError {
|
|
17
|
-
//
|
|
18
|
-
|
|
18
|
+
// Sometimes a non-error is thrown, wrap it as an Error instance to ensure a consistent Error interface.
|
|
19
|
+
const originalError: Error | GraphQLError =
|
|
20
|
+
rawOriginalError instanceof Error
|
|
21
|
+
? rawOriginalError
|
|
22
|
+
: new Error('Unexpected error value: ' + inspect(rawOriginalError));
|
|
23
|
+
|
|
24
|
+
// Note: this uses a brand-check to support GraphQL errors originating from other contexts.
|
|
19
25
|
if (Array.isArray(originalError.path)) {
|
|
20
26
|
return (originalError: any);
|
|
21
27
|
}
|
package/error/locatedError.mjs
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
+
import inspect from "../jsutils/inspect.mjs";
|
|
1
2
|
import { GraphQLError } from "./GraphQLError.mjs";
|
|
2
3
|
/**
|
|
3
|
-
* Given an arbitrary
|
|
4
|
+
* Given an arbitrary value, presumably thrown while attempting to execute a
|
|
4
5
|
* GraphQL operation, produce a new GraphQLError aware of the location in the
|
|
5
6
|
* document responsible for the original Error.
|
|
6
7
|
*/
|
|
7
8
|
|
|
8
|
-
export function locatedError(
|
|
9
|
+
export function locatedError(rawOriginalError, nodes, path) {
|
|
9
10
|
var _nodes;
|
|
10
11
|
|
|
11
|
-
//
|
|
12
|
-
// other contexts.
|
|
12
|
+
// Sometimes a non-error is thrown, wrap it as an Error instance to ensure a consistent Error interface.
|
|
13
|
+
var originalError = rawOriginalError instanceof Error ? rawOriginalError : new Error('Unexpected error value: ' + inspect(rawOriginalError)); // Note: this uses a brand-check to support GraphQL errors originating from other contexts.
|
|
14
|
+
|
|
13
15
|
if (Array.isArray(originalError.path)) {
|
|
14
16
|
return originalError;
|
|
15
17
|
}
|
package/error/syntaxError.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.syntaxError = syntaxError;
|
|
7
7
|
|
|
8
|
-
var _GraphQLError = require("./GraphQLError");
|
|
8
|
+
var _GraphQLError = require("./GraphQLError.js");
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Produces a GraphQLError representing a syntax error, containing useful
|
package/execution/execute.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { PromiseOrValue } from '../jsutils/PromiseOrValue';
|
|
|
4
4
|
import { Path } from '../jsutils/Path';
|
|
5
5
|
|
|
6
6
|
import { GraphQLError } from '../error/GraphQLError';
|
|
7
|
+
import { GraphQLFormattedError } from '../error/formatError';
|
|
7
8
|
|
|
8
9
|
import {
|
|
9
10
|
DocumentNode,
|
|
@@ -43,11 +44,26 @@ export interface ExecutionContext {
|
|
|
43
44
|
*
|
|
44
45
|
* - `errors` is included when any errors occurred as a non-empty array.
|
|
45
46
|
* - `data` is the result of a successful execution of the query.
|
|
47
|
+
* - `extensions` is reserved for adding non-standard properties.
|
|
46
48
|
*/
|
|
47
|
-
export interface ExecutionResult<
|
|
49
|
+
export interface ExecutionResult<
|
|
50
|
+
TData = { [key: string]: any },
|
|
51
|
+
TExtensions = { [key: string]: any }
|
|
52
|
+
> {
|
|
48
53
|
errors?: ReadonlyArray<GraphQLError>;
|
|
49
54
|
// TS_SPECIFIC: TData. Motivation: https://github.com/graphql/graphql-js/pull/2490#issuecomment-639154229
|
|
50
55
|
data?: TData | null;
|
|
56
|
+
extensions?: TExtensions;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface FormattedExecutionResult<
|
|
60
|
+
TData = { [key: string]: any },
|
|
61
|
+
TExtensions = { [key: string]: any }
|
|
62
|
+
> {
|
|
63
|
+
errors?: ReadonlyArray<GraphQLFormattedError>;
|
|
64
|
+
// TS_SPECIFIC: TData. Motivation: https://github.com/graphql/graphql-js/pull/2490#issuecomment-639154229
|
|
65
|
+
data?: TData | null;
|
|
66
|
+
extensions?: TExtensions;
|
|
51
67
|
}
|
|
52
68
|
|
|
53
69
|
export interface ExecutionArgs {
|
|
@@ -85,6 +101,13 @@ export function execute(
|
|
|
85
101
|
typeResolver?: Maybe<GraphQLTypeResolver<any, any>>,
|
|
86
102
|
): PromiseOrValue<ExecutionResult>;
|
|
87
103
|
|
|
104
|
+
/**
|
|
105
|
+
* Also implements the "Evaluating requests" section of the GraphQL specification.
|
|
106
|
+
* However, it guarantees to complete synchronously (or throw an error) assuming
|
|
107
|
+
* that all field resolvers are also synchronous.
|
|
108
|
+
*/
|
|
109
|
+
export function executeSync(args: ExecutionArgs): ExecutionResult;
|
|
110
|
+
|
|
88
111
|
/**
|
|
89
112
|
* Essential assertions before executing to provide developer feedback for
|
|
90
113
|
* improper use of the GraphQL library.
|
|
@@ -136,21 +159,6 @@ export function buildResolveInfo(
|
|
|
136
159
|
path: Path,
|
|
137
160
|
): GraphQLResolveInfo;
|
|
138
161
|
|
|
139
|
-
/**
|
|
140
|
-
* Isolates the "ReturnOrAbrupt" behavior to not de-opt the `resolveField`
|
|
141
|
-
* function. Returns the result of resolveFn or the abrupt-return Error object.
|
|
142
|
-
*
|
|
143
|
-
* @internal
|
|
144
|
-
*/
|
|
145
|
-
export function resolveFieldValueOrError(
|
|
146
|
-
exeContext: ExecutionContext,
|
|
147
|
-
fieldDef: GraphQLField<any, any>,
|
|
148
|
-
fieldNodes: ReadonlyArray<FieldNode>,
|
|
149
|
-
resolveFn: GraphQLFieldResolver<any, any>,
|
|
150
|
-
source: any,
|
|
151
|
-
info: GraphQLResolveInfo,
|
|
152
|
-
): any;
|
|
153
|
-
|
|
154
162
|
/**
|
|
155
163
|
* If a resolveType function is not given, then a default resolve behavior is
|
|
156
164
|
* used which attempts two strategies:
|