graphql 16.14.0 → 16.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/error/GraphQLError.d.ts +151 -15
- package/error/GraphQLError.js +143 -12
- package/error/GraphQLError.mjs +143 -12
- package/error/index.d.ts +6 -0
- package/error/index.mjs +6 -0
- package/error/locatedError.d.ts +20 -0
- package/error/locatedError.js +21 -0
- package/error/locatedError.mjs +20 -0
- package/error/syntaxError.d.ts +15 -0
- package/error/syntaxError.js +16 -0
- package/error/syntaxError.mjs +15 -0
- package/execution/collectFields.js +6 -0
- package/execution/collectFields.mjs +6 -0
- package/execution/execute.d.ts +211 -12
- package/execution/execute.js +214 -23
- package/execution/execute.mjs +213 -23
- package/execution/index.d.ts +6 -0
- package/execution/index.mjs +6 -0
- package/execution/mapAsyncIterator.d.ts +2 -0
- package/execution/mapAsyncIterator.js +2 -0
- package/execution/mapAsyncIterator.mjs +2 -0
- package/execution/subscribe.d.ts +195 -5
- package/execution/subscribe.js +154 -11
- package/execution/subscribe.mjs +153 -11
- package/execution/values.d.ts +167 -10
- package/execution/values.js +149 -5
- package/execution/values.mjs +148 -5
- package/graphql.d.ts +163 -41
- package/graphql.js +126 -4
- package/graphql.mjs +131 -41
- package/index.d.ts +11 -17
- package/index.mjs +13 -19
- package/jsutils/Maybe.d.ts +5 -1
- package/jsutils/ObjMap.d.ts +4 -0
- package/jsutils/Path.d.ts +30 -0
- package/jsutils/Path.js +29 -0
- package/jsutils/Path.mjs +29 -0
- package/jsutils/PromiseOrValue.d.ts +1 -0
- package/jsutils/devAssert.d.ts +1 -0
- package/jsutils/devAssert.js +1 -0
- package/jsutils/devAssert.mjs +1 -0
- package/jsutils/didYouMean.d.ts +4 -1
- package/jsutils/didYouMean.js +4 -1
- package/jsutils/didYouMean.mjs +4 -1
- package/jsutils/groupBy.d.ts +2 -0
- package/jsutils/groupBy.js +2 -0
- package/jsutils/groupBy.mjs +2 -0
- package/jsutils/identityFunc.d.ts +2 -0
- package/jsutils/identityFunc.js +2 -0
- package/jsutils/identityFunc.mjs +2 -0
- package/jsutils/inspect.d.ts +2 -0
- package/jsutils/inspect.js +2 -0
- package/jsutils/inspect.mjs +2 -0
- package/jsutils/instanceOf.d.ts +2 -0
- package/jsutils/instanceOf.js +2 -0
- package/jsutils/instanceOf.mjs +2 -0
- package/jsutils/invariant.d.ts +1 -0
- package/jsutils/invariant.js +1 -0
- package/jsutils/invariant.mjs +1 -0
- package/jsutils/isAsyncIterable.d.ts +2 -0
- package/jsutils/isAsyncIterable.js +2 -0
- package/jsutils/isAsyncIterable.mjs +2 -0
- package/jsutils/isIterableObject.d.ts +6 -5
- package/jsutils/isIterableObject.js +6 -5
- package/jsutils/isIterableObject.mjs +6 -5
- package/jsutils/isObjectLike.d.ts +2 -0
- package/jsutils/isObjectLike.js +2 -0
- package/jsutils/isObjectLike.mjs +2 -0
- package/jsutils/isPromise.d.ts +2 -0
- package/jsutils/isPromise.js +2 -0
- package/jsutils/isPromise.mjs +2 -0
- package/jsutils/keyMap.d.ts +7 -14
- package/jsutils/keyMap.js +7 -14
- package/jsutils/keyMap.mjs +7 -14
- package/jsutils/keyValMap.d.ts +9 -6
- package/jsutils/keyValMap.js +9 -6
- package/jsutils/keyValMap.mjs +9 -6
- package/jsutils/mapValue.d.ts +2 -0
- package/jsutils/mapValue.js +2 -0
- package/jsutils/mapValue.mjs +2 -0
- package/jsutils/memoize3.d.ts +2 -0
- package/jsutils/memoize3.js +2 -0
- package/jsutils/memoize3.mjs +2 -0
- package/jsutils/naturalCompare.d.ts +2 -0
- package/jsutils/naturalCompare.js +2 -0
- package/jsutils/naturalCompare.mjs +2 -0
- package/jsutils/printPathArray.d.ts +2 -0
- package/jsutils/printPathArray.js +2 -0
- package/jsutils/printPathArray.mjs +2 -0
- package/jsutils/promiseForObject.d.ts +2 -0
- package/jsutils/promiseForObject.js +2 -0
- package/jsutils/promiseForObject.mjs +2 -0
- package/jsutils/promiseReduce.d.ts +2 -0
- package/jsutils/promiseReduce.js +2 -0
- package/jsutils/promiseReduce.mjs +2 -0
- package/jsutils/suggestionList.d.ts +2 -0
- package/jsutils/suggestionList.js +4 -0
- package/jsutils/suggestionList.mjs +4 -0
- package/jsutils/toError.d.ts +2 -0
- package/jsutils/toError.js +2 -0
- package/jsutils/toError.mjs +2 -0
- package/jsutils/toObjMap.d.ts +1 -0
- package/jsutils/toObjMap.js +1 -0
- package/jsutils/toObjMap.mjs +1 -0
- package/language/ast.d.ts +412 -54
- package/language/ast.js +95 -38
- package/language/ast.mjs +95 -38
- package/language/blockString.d.ts +1 -3
- package/language/blockString.js +1 -3
- package/language/blockString.mjs +1 -3
- package/language/directiveLocation.d.ts +28 -8
- package/language/directiveLocation.js +9 -6
- package/language/directiveLocation.mjs +9 -6
- package/language/index.d.ts +6 -0
- package/language/index.mjs +6 -0
- package/language/kinds.d.ts +57 -18
- package/language/kinds.js +9 -6
- package/language/kinds.mjs +9 -6
- package/language/lexer.d.ts +47 -14
- package/language/lexer.js +71 -13
- package/language/lexer.mjs +70 -13
- package/language/location.d.ts +16 -3
- package/language/location.js +14 -3
- package/language/location.mjs +14 -3
- package/language/parser.d.ts +236 -13
- package/language/parser.js +224 -0
- package/language/parser.mjs +224 -3
- package/language/predicates.d.ts +169 -0
- package/language/predicates.js +170 -0
- package/language/predicates.mjs +180 -0
- package/language/printLocation.d.ts +28 -0
- package/language/printLocation.js +29 -0
- package/language/printLocation.mjs +28 -0
- package/language/printString.d.ts +2 -0
- package/language/printString.js +5 -1
- package/language/printString.mjs +5 -1
- package/language/printer.d.ts +12 -0
- package/language/printer.js +19 -0
- package/language/printer.mjs +18 -0
- package/language/schemaCoordinateLexer.d.ts +8 -6
- package/language/schemaCoordinateLexer.js +10 -6
- package/language/schemaCoordinateLexer.mjs +10 -6
- package/language/source.d.ts +28 -0
- package/language/source.js +32 -0
- package/language/source.mjs +31 -0
- package/language/tokenKind.d.ts +30 -3
- package/language/tokenKind.js +8 -3
- package/language/tokenKind.mjs +8 -3
- package/language/visitor.d.ts +200 -72
- package/language/visitor.js +122 -50
- package/language/visitor.mjs +122 -54
- package/package.json +1 -1
- package/subscription/index.d.ts +9 -3
- package/subscription/index.mjs +9 -3
- package/type/assertName.d.ts +18 -1
- package/type/assertName.js +19 -1
- package/type/assertName.mjs +18 -1
- package/type/definition.d.ts +2540 -79
- package/type/definition.js +2214 -61
- package/type/definition.mjs +2241 -60
- package/type/directives.d.ts +193 -18
- package/type/directives.js +196 -19
- package/type/directives.mjs +196 -19
- package/type/index.d.ts +6 -0
- package/type/index.mjs +6 -0
- package/type/introspection.d.ts +36 -0
- package/type/introspection.js +33 -0
- package/type/introspection.mjs +41 -0
- package/type/scalars.d.ts +29 -2
- package/type/scalars.js +37 -2
- package/type/scalars.mjs +36 -2
- package/type/schema.d.ts +490 -28
- package/type/schema.js +484 -26
- package/type/schema.mjs +484 -26
- package/type/validate.d.ts +31 -0
- package/type/validate.js +32 -0
- package/type/validate.mjs +31 -0
- package/utilities/TypeInfo.d.ts +441 -1
- package/utilities/TypeInfo.js +444 -1
- package/utilities/TypeInfo.mjs +443 -1
- package/utilities/assertValidName.d.ts +27 -2
- package/utilities/assertValidName.js +28 -2
- package/utilities/assertValidName.mjs +27 -2
- package/utilities/astFromValue.d.ts +33 -3
- package/utilities/astFromValue.js +36 -3
- package/utilities/astFromValue.mjs +35 -3
- package/utilities/buildASTSchema.d.ts +65 -6
- package/utilities/buildASTSchema.js +65 -6
- package/utilities/buildASTSchema.mjs +65 -6
- package/utilities/buildClientSchema.d.ts +15 -0
- package/utilities/buildClientSchema.js +16 -0
- package/utilities/buildClientSchema.mjs +15 -0
- package/utilities/coerceInputValue.d.ts +46 -0
- package/utilities/coerceInputValue.js +47 -0
- package/utilities/coerceInputValue.mjs +46 -0
- package/utilities/concatAST.d.ts +12 -0
- package/utilities/concatAST.js +13 -0
- package/utilities/concatAST.mjs +12 -0
- package/utilities/extendSchema.d.ts +56 -3
- package/utilities/extendSchema.js +63 -3
- package/utilities/extendSchema.mjs +62 -3
- package/utilities/findBreakingChanges.d.ts +95 -0
- package/utilities/findBreakingChanges.js +68 -0
- package/utilities/findBreakingChanges.mjs +70 -0
- package/utilities/getIntrospectionQuery.d.ts +132 -0
- package/utilities/getIntrospectionQuery.js +41 -0
- package/utilities/getIntrospectionQuery.mjs +41 -0
- package/utilities/getOperationAST.d.ts +15 -0
- package/utilities/getOperationAST.js +16 -0
- package/utilities/getOperationAST.mjs +15 -0
- package/utilities/getOperationRootType.d.ts +18 -1
- package/utilities/getOperationRootType.js +19 -1
- package/utilities/getOperationRootType.mjs +18 -1
- package/utilities/index.d.ts +7 -0
- package/utilities/index.mjs +7 -0
- package/utilities/introspectionFromSchema.d.ts +54 -0
- package/utilities/introspectionFromSchema.js +55 -0
- package/utilities/introspectionFromSchema.mjs +54 -0
- package/utilities/lexicographicSortSchema.d.ts +35 -0
- package/utilities/lexicographicSortSchema.js +36 -0
- package/utilities/lexicographicSortSchema.mjs +35 -0
- package/utilities/printSchema.d.ts +63 -0
- package/utilities/printSchema.js +66 -0
- package/utilities/printSchema.mjs +67 -0
- package/utilities/resolveSchemaCoordinate.d.ts +62 -0
- package/utilities/resolveSchemaCoordinate.js +64 -0
- package/utilities/resolveSchemaCoordinate.mjs +63 -0
- package/utilities/separateOperations.d.ts +30 -0
- package/utilities/separateOperations.js +31 -0
- package/utilities/separateOperations.mjs +30 -0
- package/utilities/stripIgnoredCharacters.d.ts +13 -6
- package/utilities/stripIgnoredCharacters.js +16 -6
- package/utilities/stripIgnoredCharacters.mjs +15 -6
- package/utilities/typeComparators.d.ts +84 -0
- package/utilities/typeComparators.js +85 -0
- package/utilities/typeComparators.mjs +84 -0
- package/utilities/typeFromAST.d.ts +86 -0
- package/utilities/typeFromAST.js +3 -0
- package/utilities/typeFromAST.mjs +3 -0
- package/utilities/typedQueryDocumentNode.d.ts +4 -0
- package/utilities/valueFromAST.d.ts +38 -0
- package/utilities/valueFromAST.js +39 -0
- package/utilities/valueFromAST.mjs +38 -0
- package/utilities/valueFromASTUntyped.d.ts +15 -2
- package/utilities/valueFromASTUntyped.js +16 -2
- package/utilities/valueFromASTUntyped.mjs +15 -2
- package/validation/ValidationContext.d.ts +399 -0
- package/validation/ValidationContext.js +400 -0
- package/validation/ValidationContext.mjs +401 -0
- package/validation/index.d.ts +6 -0
- package/validation/index.mjs +6 -0
- package/validation/rules/ExecutableDefinitionsRule.d.ts +28 -0
- package/validation/rules/ExecutableDefinitionsRule.js +29 -0
- package/validation/rules/ExecutableDefinitionsRule.mjs +28 -0
- package/validation/rules/FieldsOnCorrectTypeRule.d.ts +28 -0
- package/validation/rules/FieldsOnCorrectTypeRule.js +33 -0
- package/validation/rules/FieldsOnCorrectTypeRule.mjs +32 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +28 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.js +29 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.mjs +28 -0
- package/validation/rules/KnownArgumentNamesRule.d.ts +29 -3
- package/validation/rules/KnownArgumentNamesRule.js +30 -3
- package/validation/rules/KnownArgumentNamesRule.mjs +29 -3
- package/validation/rules/KnownDirectivesRule.d.ts +28 -0
- package/validation/rules/KnownDirectivesRule.js +29 -0
- package/validation/rules/KnownDirectivesRule.mjs +28 -0
- package/validation/rules/KnownFragmentNamesRule.d.ts +28 -0
- package/validation/rules/KnownFragmentNamesRule.js +29 -0
- package/validation/rules/KnownFragmentNamesRule.mjs +28 -0
- package/validation/rules/KnownTypeNamesRule.d.ts +28 -0
- package/validation/rules/KnownTypeNamesRule.js +29 -0
- package/validation/rules/KnownTypeNamesRule.mjs +28 -0
- package/validation/rules/LoneAnonymousOperationRule.d.ts +28 -0
- package/validation/rules/LoneAnonymousOperationRule.js +29 -0
- package/validation/rules/LoneAnonymousOperationRule.mjs +28 -0
- package/validation/rules/LoneSchemaDefinitionRule.d.ts +21 -0
- package/validation/rules/LoneSchemaDefinitionRule.js +22 -0
- package/validation/rules/LoneSchemaDefinitionRule.mjs +21 -0
- package/validation/rules/MaxIntrospectionDepthRule.d.ts +31 -0
- package/validation/rules/MaxIntrospectionDepthRule.js +33 -0
- package/validation/rules/MaxIntrospectionDepthRule.mjs +34 -0
- package/validation/rules/NoFragmentCyclesRule.d.ts +28 -0
- package/validation/rules/NoFragmentCyclesRule.js +29 -0
- package/validation/rules/NoFragmentCyclesRule.mjs +28 -0
- package/validation/rules/NoUndefinedVariablesRule.d.ts +28 -0
- package/validation/rules/NoUndefinedVariablesRule.js +29 -0
- package/validation/rules/NoUndefinedVariablesRule.mjs +28 -0
- package/validation/rules/NoUnusedFragmentsRule.d.ts +28 -0
- package/validation/rules/NoUnusedFragmentsRule.js +29 -0
- package/validation/rules/NoUnusedFragmentsRule.mjs +28 -0
- package/validation/rules/NoUnusedVariablesRule.d.ts +29 -0
- package/validation/rules/NoUnusedVariablesRule.js +30 -0
- package/validation/rules/NoUnusedVariablesRule.mjs +29 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +33 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +45 -6
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +45 -6
- package/validation/rules/PossibleFragmentSpreadsRule.d.ts +36 -0
- package/validation/rules/PossibleFragmentSpreadsRule.js +37 -0
- package/validation/rules/PossibleFragmentSpreadsRule.mjs +36 -0
- package/validation/rules/PossibleTypeExtensionsRule.d.ts +21 -0
- package/validation/rules/PossibleTypeExtensionsRule.js +22 -0
- package/validation/rules/PossibleTypeExtensionsRule.mjs +21 -0
- package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +29 -3
- package/validation/rules/ProvidedRequiredArgumentsRule.js +30 -3
- package/validation/rules/ProvidedRequiredArgumentsRule.mjs +29 -3
- package/validation/rules/ScalarLeafsRule.d.ts +28 -0
- package/validation/rules/ScalarLeafsRule.js +29 -0
- package/validation/rules/ScalarLeafsRule.mjs +28 -0
- package/validation/rules/SingleFieldSubscriptionsRule.d.ts +33 -0
- package/validation/rules/SingleFieldSubscriptionsRule.js +34 -0
- package/validation/rules/SingleFieldSubscriptionsRule.mjs +33 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +21 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js +22 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +21 -0
- package/validation/rules/UniqueArgumentNamesRule.d.ts +28 -0
- package/validation/rules/UniqueArgumentNamesRule.js +29 -0
- package/validation/rules/UniqueArgumentNamesRule.mjs +28 -0
- package/validation/rules/UniqueDirectiveNamesRule.d.ts +21 -0
- package/validation/rules/UniqueDirectiveNamesRule.js +22 -0
- package/validation/rules/UniqueDirectiveNamesRule.mjs +21 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +28 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.js +29 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs +28 -0
- package/validation/rules/UniqueEnumValueNamesRule.d.ts +21 -0
- package/validation/rules/UniqueEnumValueNamesRule.js +22 -0
- package/validation/rules/UniqueEnumValueNamesRule.mjs +21 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +21 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +22 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +21 -0
- package/validation/rules/UniqueFragmentNamesRule.d.ts +28 -0
- package/validation/rules/UniqueFragmentNamesRule.js +29 -0
- package/validation/rules/UniqueFragmentNamesRule.mjs +28 -0
- package/validation/rules/UniqueInputFieldNamesRule.d.ts +32 -0
- package/validation/rules/UniqueInputFieldNamesRule.js +33 -0
- package/validation/rules/UniqueInputFieldNamesRule.mjs +32 -0
- package/validation/rules/UniqueOperationNamesRule.d.ts +28 -0
- package/validation/rules/UniqueOperationNamesRule.js +29 -0
- package/validation/rules/UniqueOperationNamesRule.mjs +28 -0
- package/validation/rules/UniqueOperationTypesRule.d.ts +21 -0
- package/validation/rules/UniqueOperationTypesRule.js +22 -0
- package/validation/rules/UniqueOperationTypesRule.mjs +21 -0
- package/validation/rules/UniqueTypeNamesRule.d.ts +21 -0
- package/validation/rules/UniqueTypeNamesRule.js +22 -0
- package/validation/rules/UniqueTypeNamesRule.mjs +21 -0
- package/validation/rules/UniqueVariableNamesRule.d.ts +28 -0
- package/validation/rules/UniqueVariableNamesRule.js +29 -0
- package/validation/rules/UniqueVariableNamesRule.mjs +28 -0
- package/validation/rules/ValuesOfCorrectTypeRule.d.ts +28 -0
- package/validation/rules/ValuesOfCorrectTypeRule.js +31 -0
- package/validation/rules/ValuesOfCorrectTypeRule.mjs +30 -0
- package/validation/rules/VariablesAreInputTypesRule.d.ts +32 -0
- package/validation/rules/VariablesAreInputTypesRule.js +33 -0
- package/validation/rules/VariablesAreInputTypesRule.mjs +32 -0
- package/validation/rules/VariablesInAllowedPositionRule.d.ts +28 -0
- package/validation/rules/VariablesInAllowedPositionRule.js +35 -1
- package/validation/rules/VariablesInAllowedPositionRule.mjs +34 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +41 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.js +42 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs +41 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +28 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +29 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +28 -0
- package/validation/specifiedRules.d.ts +2 -3
- package/validation/specifiedRules.js +2 -3
- package/validation/specifiedRules.mjs +2 -3
- package/validation/validate.d.ts +70 -9
- package/validation/validate.js +63 -7
- package/validation/validate.mjs +63 -7
- package/version.d.ts +3 -6
- package/version.js +6 -8
- package/version.mjs +5 -8
package/graphql.js
CHANGED
|
@@ -18,15 +18,137 @@ var _validate2 = require('./validation/validate.js');
|
|
|
18
18
|
|
|
19
19
|
var _execute = require('./execution/execute.js');
|
|
20
20
|
|
|
21
|
+
/**
|
|
22
|
+
* Parses, validates, and executes a GraphQL document against a schema.
|
|
23
|
+
*
|
|
24
|
+
* This is the primary entry point for fulfilling GraphQL operations. Use this
|
|
25
|
+
* when you want a single-call request lifecycle that returns a promise in all
|
|
26
|
+
* cases.
|
|
27
|
+
*
|
|
28
|
+
* More sophisticated GraphQL servers, such as those which persist queries, may
|
|
29
|
+
* wish to separate the validation and execution phases to a static-time tooling
|
|
30
|
+
* step and a server runtime step.
|
|
31
|
+
* @param args - Request execution arguments, including schema and source.
|
|
32
|
+
* @returns A promise that resolves to an execution result or validation errors.
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* // Execute a complete asynchronous request with variables.
|
|
36
|
+
* import { graphql, buildSchema } from 'graphql';
|
|
37
|
+
*
|
|
38
|
+
* const schema = buildSchema(`
|
|
39
|
+
* type Query {
|
|
40
|
+
* greeting(name: String!): String
|
|
41
|
+
* }
|
|
42
|
+
* `);
|
|
43
|
+
*
|
|
44
|
+
* const result = await graphql({
|
|
45
|
+
* schema,
|
|
46
|
+
* source: 'query SayHello($name: String!) { greeting(name: $name) }',
|
|
47
|
+
* rootValue: {
|
|
48
|
+
* greeting: ({ name }) => `Hello, ${name}!`,
|
|
49
|
+
* },
|
|
50
|
+
* variableValues: { name: 'Ada' },
|
|
51
|
+
* operationName: 'SayHello',
|
|
52
|
+
* });
|
|
53
|
+
*
|
|
54
|
+
* result; // => { data: { greeting: 'Hello, Ada!' } }
|
|
55
|
+
* ```
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* // This variant supplies context plus custom field and type resolvers.
|
|
59
|
+
* import { graphql, buildSchema } from 'graphql';
|
|
60
|
+
*
|
|
61
|
+
* const schema = buildSchema(`
|
|
62
|
+
* interface Named {
|
|
63
|
+
* name: String!
|
|
64
|
+
* }
|
|
65
|
+
*
|
|
66
|
+
* type User implements Named {
|
|
67
|
+
* name: String!
|
|
68
|
+
* }
|
|
69
|
+
*
|
|
70
|
+
* type Query {
|
|
71
|
+
* viewer: Named
|
|
72
|
+
* }
|
|
73
|
+
* `);
|
|
74
|
+
*
|
|
75
|
+
* const result = await graphql({
|
|
76
|
+
* schema,
|
|
77
|
+
* source: '{ viewer { __typename name } }',
|
|
78
|
+
* rootValue: { viewer: { kind: 'user', name: 'Ada' } },
|
|
79
|
+
* contextValue: { locale: 'en' },
|
|
80
|
+
* fieldResolver: (source, _args, context, info) => {
|
|
81
|
+
* context.locale; // => 'en'
|
|
82
|
+
* return source[info.fieldName];
|
|
83
|
+
* },
|
|
84
|
+
* typeResolver: (value) => {
|
|
85
|
+
* return value.kind === 'user' ? 'User' : undefined;
|
|
86
|
+
* },
|
|
87
|
+
* });
|
|
88
|
+
*
|
|
89
|
+
* result; // => { data: { viewer: { __typename: 'User', name: 'Ada' } } }
|
|
90
|
+
* ```
|
|
91
|
+
* @category Request Pipeline
|
|
92
|
+
*/
|
|
21
93
|
function graphql(args) {
|
|
22
94
|
// Always return a Promise for a consistent API.
|
|
23
95
|
return new Promise((resolve) => resolve(graphqlImpl(args)));
|
|
24
96
|
}
|
|
25
97
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* that all field resolvers are also synchronous.
|
|
98
|
+
* Parses, validates, and executes a GraphQL document synchronously.
|
|
99
|
+
*
|
|
100
|
+
* This function guarantees that execution completes synchronously, or throws an
|
|
101
|
+
* error, assuming that all field resolvers are also synchronous. It throws when
|
|
102
|
+
* any resolver returns a promise.
|
|
103
|
+
* @param args - Request execution arguments, including schema and source.
|
|
104
|
+
* @returns Completed execution output, or request errors if parsing or
|
|
105
|
+
* validation fails.
|
|
106
|
+
* @example
|
|
107
|
+
* ```ts
|
|
108
|
+
* // Execute a complete synchronous request with variables.
|
|
109
|
+
* import { graphqlSync, buildSchema } from 'graphql';
|
|
110
|
+
*
|
|
111
|
+
* const schema = buildSchema(`
|
|
112
|
+
* type Query {
|
|
113
|
+
* greeting(name: String!): String
|
|
114
|
+
* }
|
|
115
|
+
* `);
|
|
116
|
+
*
|
|
117
|
+
* const result = graphqlSync({
|
|
118
|
+
* schema,
|
|
119
|
+
* source: 'query SayHello($name: String!) { greeting(name: $name) }',
|
|
120
|
+
* rootValue: {
|
|
121
|
+
* greeting: ({ name }) => `Hello, ${name}!`,
|
|
122
|
+
* },
|
|
123
|
+
* variableValues: { name: 'Ada' },
|
|
124
|
+
* operationName: 'SayHello',
|
|
125
|
+
* });
|
|
126
|
+
*
|
|
127
|
+
* result; // => { data: { greeting: 'Hello, Ada!' } }
|
|
128
|
+
* ```
|
|
129
|
+
* @example
|
|
130
|
+
* ```ts
|
|
131
|
+
* // This variant uses a synchronous custom field resolver and context.
|
|
132
|
+
* import { graphqlSync, buildSchema } from 'graphql';
|
|
133
|
+
*
|
|
134
|
+
* const schema = buildSchema(`
|
|
135
|
+
* type Query {
|
|
136
|
+
* greeting: String
|
|
137
|
+
* }
|
|
138
|
+
* `);
|
|
139
|
+
*
|
|
140
|
+
* const result = graphqlSync({
|
|
141
|
+
* schema,
|
|
142
|
+
* source: '{ greeting }',
|
|
143
|
+
* fieldResolver: (_source, _args, contextValue) => {
|
|
144
|
+
* return contextValue.defaultGreeting;
|
|
145
|
+
* },
|
|
146
|
+
* contextValue: { defaultGreeting: 'Hello' },
|
|
147
|
+
* });
|
|
148
|
+
*
|
|
149
|
+
* result; // => { data: { greeting: 'Hello' } }
|
|
150
|
+
* ```
|
|
151
|
+
* @category Request Pipeline
|
|
30
152
|
*/
|
|
31
153
|
|
|
32
154
|
function graphqlSync(args) {
|
package/graphql.mjs
CHANGED
|
@@ -5,54 +5,144 @@ import { validateSchema } from './type/validate.mjs';
|
|
|
5
5
|
import { validate } from './validation/validate.mjs';
|
|
6
6
|
import { execute } from './execution/execute.mjs';
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* may wish to separate the validation and execution phases to a static time
|
|
14
|
-
* tooling step, and a server runtime step.
|
|
15
|
-
*
|
|
16
|
-
* Accepts either an object with named arguments, or individual arguments:
|
|
17
|
-
*
|
|
18
|
-
* schema:
|
|
19
|
-
* The GraphQL type system to use when validating and executing a query.
|
|
20
|
-
* source:
|
|
21
|
-
* A GraphQL language formatted string representing the requested operation.
|
|
22
|
-
* rootValue:
|
|
23
|
-
* The value provided as the first argument to resolver functions on the top
|
|
24
|
-
* level type (e.g. the query object type).
|
|
25
|
-
* contextValue:
|
|
26
|
-
* The context value is provided as an argument to resolver functions after
|
|
27
|
-
* field arguments. It is used to pass shared information useful at any point
|
|
28
|
-
* during executing this query, for example the currently logged in user and
|
|
29
|
-
* connections to databases or other services.
|
|
30
|
-
* variableValues:
|
|
31
|
-
* A mapping of variable name to runtime value to use for all variables
|
|
32
|
-
* defined in the requestString.
|
|
33
|
-
* operationName:
|
|
34
|
-
* The name of the operation to use if requestString contains multiple
|
|
35
|
-
* possible operations. Can be omitted if requestString contains only
|
|
36
|
-
* one operation.
|
|
37
|
-
* fieldResolver:
|
|
38
|
-
* A resolver function to use when one is not provided by the schema.
|
|
39
|
-
* If not provided, the default field resolver is used (which looks for a
|
|
40
|
-
* value or method on the source value with the field's name).
|
|
41
|
-
* typeResolver:
|
|
42
|
-
* A type resolver function to use when none is provided by the schema.
|
|
43
|
-
* If not provided, the default type resolver is used (which looks for a
|
|
44
|
-
* `__typename` field or alternatively calls the `isTypeOf` method).
|
|
8
|
+
* Describes the input object accepted by `graphql` and `graphqlSync`.
|
|
9
|
+
*
|
|
10
|
+
* These arguments describe the full parse, validate, and execute lifecycle for
|
|
11
|
+
* a GraphQL request.
|
|
12
|
+
* @category Request Pipeline
|
|
45
13
|
*/
|
|
46
14
|
|
|
15
|
+
/**
|
|
16
|
+
* Parses, validates, and executes a GraphQL document against a schema.
|
|
17
|
+
*
|
|
18
|
+
* This is the primary entry point for fulfilling GraphQL operations. Use this
|
|
19
|
+
* when you want a single-call request lifecycle that returns a promise in all
|
|
20
|
+
* cases.
|
|
21
|
+
*
|
|
22
|
+
* More sophisticated GraphQL servers, such as those which persist queries, may
|
|
23
|
+
* wish to separate the validation and execution phases to a static-time tooling
|
|
24
|
+
* step and a server runtime step.
|
|
25
|
+
* @param args - Request execution arguments, including schema and source.
|
|
26
|
+
* @returns A promise that resolves to an execution result or validation errors.
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* // Execute a complete asynchronous request with variables.
|
|
30
|
+
* import { graphql, buildSchema } from 'graphql';
|
|
31
|
+
*
|
|
32
|
+
* const schema = buildSchema(`
|
|
33
|
+
* type Query {
|
|
34
|
+
* greeting(name: String!): String
|
|
35
|
+
* }
|
|
36
|
+
* `);
|
|
37
|
+
*
|
|
38
|
+
* const result = await graphql({
|
|
39
|
+
* schema,
|
|
40
|
+
* source: 'query SayHello($name: String!) { greeting(name: $name) }',
|
|
41
|
+
* rootValue: {
|
|
42
|
+
* greeting: ({ name }) => `Hello, ${name}!`,
|
|
43
|
+
* },
|
|
44
|
+
* variableValues: { name: 'Ada' },
|
|
45
|
+
* operationName: 'SayHello',
|
|
46
|
+
* });
|
|
47
|
+
*
|
|
48
|
+
* result; // => { data: { greeting: 'Hello, Ada!' } }
|
|
49
|
+
* ```
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* // This variant supplies context plus custom field and type resolvers.
|
|
53
|
+
* import { graphql, buildSchema } from 'graphql';
|
|
54
|
+
*
|
|
55
|
+
* const schema = buildSchema(`
|
|
56
|
+
* interface Named {
|
|
57
|
+
* name: String!
|
|
58
|
+
* }
|
|
59
|
+
*
|
|
60
|
+
* type User implements Named {
|
|
61
|
+
* name: String!
|
|
62
|
+
* }
|
|
63
|
+
*
|
|
64
|
+
* type Query {
|
|
65
|
+
* viewer: Named
|
|
66
|
+
* }
|
|
67
|
+
* `);
|
|
68
|
+
*
|
|
69
|
+
* const result = await graphql({
|
|
70
|
+
* schema,
|
|
71
|
+
* source: '{ viewer { __typename name } }',
|
|
72
|
+
* rootValue: { viewer: { kind: 'user', name: 'Ada' } },
|
|
73
|
+
* contextValue: { locale: 'en' },
|
|
74
|
+
* fieldResolver: (source, _args, context, info) => {
|
|
75
|
+
* context.locale; // => 'en'
|
|
76
|
+
* return source[info.fieldName];
|
|
77
|
+
* },
|
|
78
|
+
* typeResolver: (value) => {
|
|
79
|
+
* return value.kind === 'user' ? 'User' : undefined;
|
|
80
|
+
* },
|
|
81
|
+
* });
|
|
82
|
+
*
|
|
83
|
+
* result; // => { data: { viewer: { __typename: 'User', name: 'Ada' } } }
|
|
84
|
+
* ```
|
|
85
|
+
* @category Request Pipeline
|
|
86
|
+
*/
|
|
47
87
|
export function graphql(args) {
|
|
48
88
|
// Always return a Promise for a consistent API.
|
|
49
89
|
return new Promise((resolve) => resolve(graphqlImpl(args)));
|
|
50
90
|
}
|
|
51
91
|
/**
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* that all field resolvers are also synchronous.
|
|
92
|
+
* Parses, validates, and executes a GraphQL document synchronously.
|
|
93
|
+
*
|
|
94
|
+
* This function guarantees that execution completes synchronously, or throws an
|
|
95
|
+
* error, assuming that all field resolvers are also synchronous. It throws when
|
|
96
|
+
* any resolver returns a promise.
|
|
97
|
+
* @param args - Request execution arguments, including schema and source.
|
|
98
|
+
* @returns Completed execution output, or request errors if parsing or
|
|
99
|
+
* validation fails.
|
|
100
|
+
* @example
|
|
101
|
+
* ```ts
|
|
102
|
+
* // Execute a complete synchronous request with variables.
|
|
103
|
+
* import { graphqlSync, buildSchema } from 'graphql';
|
|
104
|
+
*
|
|
105
|
+
* const schema = buildSchema(`
|
|
106
|
+
* type Query {
|
|
107
|
+
* greeting(name: String!): String
|
|
108
|
+
* }
|
|
109
|
+
* `);
|
|
110
|
+
*
|
|
111
|
+
* const result = graphqlSync({
|
|
112
|
+
* schema,
|
|
113
|
+
* source: 'query SayHello($name: String!) { greeting(name: $name) }',
|
|
114
|
+
* rootValue: {
|
|
115
|
+
* greeting: ({ name }) => `Hello, ${name}!`,
|
|
116
|
+
* },
|
|
117
|
+
* variableValues: { name: 'Ada' },
|
|
118
|
+
* operationName: 'SayHello',
|
|
119
|
+
* });
|
|
120
|
+
*
|
|
121
|
+
* result; // => { data: { greeting: 'Hello, Ada!' } }
|
|
122
|
+
* ```
|
|
123
|
+
* @example
|
|
124
|
+
* ```ts
|
|
125
|
+
* // This variant uses a synchronous custom field resolver and context.
|
|
126
|
+
* import { graphqlSync, buildSchema } from 'graphql';
|
|
127
|
+
*
|
|
128
|
+
* const schema = buildSchema(`
|
|
129
|
+
* type Query {
|
|
130
|
+
* greeting: String
|
|
131
|
+
* }
|
|
132
|
+
* `);
|
|
133
|
+
*
|
|
134
|
+
* const result = graphqlSync({
|
|
135
|
+
* schema,
|
|
136
|
+
* source: '{ greeting }',
|
|
137
|
+
* fieldResolver: (_source, _args, contextValue) => {
|
|
138
|
+
* return contextValue.defaultGreeting;
|
|
139
|
+
* },
|
|
140
|
+
* contextValue: { defaultGreeting: 'Hello' },
|
|
141
|
+
* });
|
|
142
|
+
*
|
|
143
|
+
* result; // => { data: { greeting: 'Hello' } }
|
|
144
|
+
* ```
|
|
145
|
+
* @category Request Pipeline
|
|
56
146
|
*/
|
|
57
147
|
|
|
58
148
|
export function graphqlSync(args) {
|
package/index.d.ts
CHANGED
|
@@ -1,28 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* The root `graphql` package re-exports the public GraphQL.js API from its
|
|
3
|
+
* submodules and provides the high-level request pipeline helpers defined in
|
|
4
|
+
* this module.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* - Parsing the GraphQL language.
|
|
11
|
-
* - Building a GraphQL type schema.
|
|
12
|
-
* - Validating a GraphQL request against a type schema.
|
|
13
|
-
* - Executing a GraphQL request against a type schema.
|
|
14
|
-
*
|
|
15
|
-
* This also includes utility functions for operating on GraphQL types and
|
|
16
|
-
* GraphQL documents to facilitate building tools.
|
|
17
|
-
*
|
|
18
|
-
* You may also import from each sub-directory directly. For example, the
|
|
19
|
-
* following two import statements are equivalent:
|
|
6
|
+
* You can import public exports from GraphQL.js modules through the root
|
|
7
|
+
* `graphql` package or through their module-specific entry point. For example,
|
|
8
|
+
* these two references resolve to the same `parse` function:
|
|
20
9
|
*
|
|
21
10
|
* ```ts
|
|
22
11
|
* import { parse } from 'graphql';
|
|
23
12
|
* import { parse } from 'graphql/language';
|
|
24
13
|
* ```
|
|
25
14
|
*
|
|
15
|
+
* Use the root package when you want a single import surface, or use submodules
|
|
16
|
+
* such as `graphql/language`, `graphql/type`, `graphql/execution`, and
|
|
17
|
+
* `graphql/utilities` when you want module-focused imports. This module also
|
|
18
|
+
* defines root-only APIs, such as request pipeline helpers and version
|
|
19
|
+
* metadata, that do not belong to a narrower submodule.
|
|
26
20
|
* @packageDocumentation
|
|
27
21
|
*/
|
|
28
22
|
export { version, versionInfo } from './version';
|
package/index.mjs
CHANGED
|
@@ -1,32 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* The root `graphql` package re-exports the public GraphQL.js API from its
|
|
3
|
+
* submodules and provides the high-level request pipeline helpers defined in
|
|
4
|
+
* this module.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* - Parsing the GraphQL language.
|
|
11
|
-
* - Building a GraphQL type schema.
|
|
12
|
-
* - Validating a GraphQL request against a type schema.
|
|
13
|
-
* - Executing a GraphQL request against a type schema.
|
|
14
|
-
*
|
|
15
|
-
* This also includes utility functions for operating on GraphQL types and
|
|
16
|
-
* GraphQL documents to facilitate building tools.
|
|
17
|
-
*
|
|
18
|
-
* You may also import from each sub-directory directly. For example, the
|
|
19
|
-
* following two import statements are equivalent:
|
|
6
|
+
* You can import public exports from GraphQL.js modules through the root
|
|
7
|
+
* `graphql` package or through their module-specific entry point. For example,
|
|
8
|
+
* these two references resolve to the same `parse` function:
|
|
20
9
|
*
|
|
21
10
|
* ```ts
|
|
22
11
|
* import { parse } from 'graphql';
|
|
23
12
|
* import { parse } from 'graphql/language';
|
|
24
13
|
* ```
|
|
25
14
|
*
|
|
15
|
+
* Use the root package when you want a single import surface, or use submodules
|
|
16
|
+
* such as `graphql/language`, `graphql/type`, `graphql/execution`, and
|
|
17
|
+
* `graphql/utilities` when you want module-focused imports. This module also
|
|
18
|
+
* defines root-only APIs, such as request pipeline helpers and version
|
|
19
|
+
* metadata, that do not belong to a narrower submodule.
|
|
26
20
|
* @packageDocumentation
|
|
27
21
|
*/
|
|
28
|
-
//
|
|
29
|
-
export { version, versionInfo } from './version.mjs'; //
|
|
22
|
+
// Version constants for the GraphQL.js package.
|
|
23
|
+
export { version, versionInfo } from './version.mjs'; // Top-level helpers for fulfilling a GraphQL request.
|
|
30
24
|
|
|
31
25
|
export { graphql, graphqlSync } from './graphql.mjs'; // Create and operate on GraphQL type definitions and schema.
|
|
32
26
|
|
package/jsutils/Maybe.d.ts
CHANGED
package/jsutils/ObjMap.d.ts
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
|
+
/** @internal */
|
|
1
2
|
export interface ObjMap<T> {
|
|
2
3
|
[key: string]: T;
|
|
3
4
|
}
|
|
5
|
+
/** @internal */
|
|
4
6
|
export declare type ObjMapLike<T> =
|
|
5
7
|
| ObjMap<T>
|
|
6
8
|
| {
|
|
7
9
|
[key: string]: T;
|
|
8
10
|
};
|
|
11
|
+
/** @internal */
|
|
9
12
|
export interface ReadOnlyObjMap<T> {
|
|
10
13
|
readonly [key: string]: T;
|
|
11
14
|
}
|
|
15
|
+
/** @internal */
|
|
12
16
|
export declare type ReadOnlyObjMapLike<T> =
|
|
13
17
|
| ReadOnlyObjMap<T>
|
|
14
18
|
| {
|
package/jsutils/Path.d.ts
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
|
+
/** @category Paths */
|
|
1
2
|
import type { Maybe } from './Maybe';
|
|
3
|
+
/** Represents a linked response path from a field back to the root response. */
|
|
2
4
|
export interface Path {
|
|
5
|
+
/** The previous segment in the linked response path, or undefined at the root. */
|
|
3
6
|
readonly prev: Path | undefined;
|
|
7
|
+
/** The field name or list index for this response path segment. */
|
|
4
8
|
readonly key: string | number;
|
|
9
|
+
/** The runtime object type name associated with this path segment, if known. */
|
|
5
10
|
readonly typename: string | undefined;
|
|
6
11
|
}
|
|
7
12
|
/**
|
|
8
13
|
* Given a Path and a key, return a new Path containing the new key.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
9
16
|
*/
|
|
10
17
|
export declare function addPath(
|
|
11
18
|
prev: Readonly<Path> | undefined,
|
|
@@ -14,6 +21,29 @@ export declare function addPath(
|
|
|
14
21
|
): Path;
|
|
15
22
|
/**
|
|
16
23
|
* Given a Path, return an Array of the path keys.
|
|
24
|
+
* @param path - The linked response path to flatten.
|
|
25
|
+
* @returns An array of response path keys from root to leaf.
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* import { pathToArray } from 'graphql/jsutils/Path';
|
|
29
|
+
*
|
|
30
|
+
* const path = {
|
|
31
|
+
* prev: {
|
|
32
|
+
* prev: {
|
|
33
|
+
* prev: undefined,
|
|
34
|
+
* key: 'viewer',
|
|
35
|
+
* typename: 'Query',
|
|
36
|
+
* },
|
|
37
|
+
* key: 'friends',
|
|
38
|
+
* typename: 'User',
|
|
39
|
+
* },
|
|
40
|
+
* key: 0,
|
|
41
|
+
* typename: undefined,
|
|
42
|
+
* };
|
|
43
|
+
*
|
|
44
|
+
* pathToArray(path); // => ['viewer', 'friends', 0]
|
|
45
|
+
* pathToArray(undefined); // => []
|
|
46
|
+
* ```
|
|
17
47
|
*/
|
|
18
48
|
export declare function pathToArray(
|
|
19
49
|
path: Maybe<Readonly<Path>>,
|
package/jsutils/Path.js
CHANGED
|
@@ -6,8 +6,14 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
6
6
|
exports.addPath = addPath;
|
|
7
7
|
exports.pathToArray = pathToArray;
|
|
8
8
|
|
|
9
|
+
/** @category Paths */
|
|
10
|
+
|
|
11
|
+
/** Represents a linked response path from a field back to the root response. */
|
|
12
|
+
|
|
9
13
|
/**
|
|
10
14
|
* Given a Path and a key, return a new Path containing the new key.
|
|
15
|
+
*
|
|
16
|
+
* @internal
|
|
11
17
|
*/
|
|
12
18
|
function addPath(prev, key, typename) {
|
|
13
19
|
return {
|
|
@@ -18,6 +24,29 @@ function addPath(prev, key, typename) {
|
|
|
18
24
|
}
|
|
19
25
|
/**
|
|
20
26
|
* Given a Path, return an Array of the path keys.
|
|
27
|
+
* @param path - The linked response path to flatten.
|
|
28
|
+
* @returns An array of response path keys from root to leaf.
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* import { pathToArray } from 'graphql/jsutils/Path';
|
|
32
|
+
*
|
|
33
|
+
* const path = {
|
|
34
|
+
* prev: {
|
|
35
|
+
* prev: {
|
|
36
|
+
* prev: undefined,
|
|
37
|
+
* key: 'viewer',
|
|
38
|
+
* typename: 'Query',
|
|
39
|
+
* },
|
|
40
|
+
* key: 'friends',
|
|
41
|
+
* typename: 'User',
|
|
42
|
+
* },
|
|
43
|
+
* key: 0,
|
|
44
|
+
* typename: undefined,
|
|
45
|
+
* };
|
|
46
|
+
*
|
|
47
|
+
* pathToArray(path); // => ['viewer', 'friends', 0]
|
|
48
|
+
* pathToArray(undefined); // => []
|
|
49
|
+
* ```
|
|
21
50
|
*/
|
|
22
51
|
|
|
23
52
|
function pathToArray(path) {
|
package/jsutils/Path.mjs
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
/** @category Paths */
|
|
2
|
+
|
|
3
|
+
/** Represents a linked response path from a field back to the root response. */
|
|
4
|
+
|
|
1
5
|
/**
|
|
2
6
|
* Given a Path and a key, return a new Path containing the new key.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
3
9
|
*/
|
|
4
10
|
export function addPath(prev, key, typename) {
|
|
5
11
|
return {
|
|
@@ -10,6 +16,29 @@ export function addPath(prev, key, typename) {
|
|
|
10
16
|
}
|
|
11
17
|
/**
|
|
12
18
|
* Given a Path, return an Array of the path keys.
|
|
19
|
+
* @param path - The linked response path to flatten.
|
|
20
|
+
* @returns An array of response path keys from root to leaf.
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { pathToArray } from 'graphql/jsutils/Path';
|
|
24
|
+
*
|
|
25
|
+
* const path = {
|
|
26
|
+
* prev: {
|
|
27
|
+
* prev: {
|
|
28
|
+
* prev: undefined,
|
|
29
|
+
* key: 'viewer',
|
|
30
|
+
* typename: 'Query',
|
|
31
|
+
* },
|
|
32
|
+
* key: 'friends',
|
|
33
|
+
* typename: 'User',
|
|
34
|
+
* },
|
|
35
|
+
* key: 0,
|
|
36
|
+
* typename: undefined,
|
|
37
|
+
* };
|
|
38
|
+
*
|
|
39
|
+
* pathToArray(path); // => ['viewer', 'friends', 0]
|
|
40
|
+
* pathToArray(undefined); // => []
|
|
41
|
+
* ```
|
|
13
42
|
*/
|
|
14
43
|
|
|
15
44
|
export function pathToArray(path) {
|
package/jsutils/devAssert.d.ts
CHANGED
package/jsutils/devAssert.js
CHANGED
package/jsutils/devAssert.mjs
CHANGED
package/jsutils/didYouMean.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Given [
|
|
2
|
+
* Given [A, B, C] return ' Did you mean A, B, or C?'.
|
|
3
|
+
*
|
|
4
|
+
* @internal
|
|
3
5
|
*/
|
|
4
6
|
export declare function didYouMean(suggestions: ReadonlyArray<string>): string;
|
|
7
|
+
/** @internal */
|
|
5
8
|
export declare function didYouMean(
|
|
6
9
|
subMessage: string,
|
|
7
10
|
suggestions: ReadonlyArray<string>,
|
package/jsutils/didYouMean.js
CHANGED
|
@@ -6,9 +6,12 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
6
6
|
exports.didYouMean = didYouMean;
|
|
7
7
|
const MAX_SUGGESTIONS = 5;
|
|
8
8
|
/**
|
|
9
|
-
* Given [
|
|
9
|
+
* Given [A, B, C] return ' Did you mean A, B, or C?'.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
10
12
|
*/
|
|
11
13
|
|
|
14
|
+
/** @internal */
|
|
12
15
|
function didYouMean(firstArg, secondArg) {
|
|
13
16
|
const [subMessage, suggestionsArg] = secondArg
|
|
14
17
|
? [firstArg, secondArg]
|
package/jsutils/didYouMean.mjs
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
const MAX_SUGGESTIONS = 5;
|
|
2
2
|
/**
|
|
3
|
-
* Given [
|
|
3
|
+
* Given [A, B, C] return ' Did you mean A, B, or C?'.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
4
6
|
*/
|
|
5
7
|
|
|
8
|
+
/** @internal */
|
|
6
9
|
export function didYouMean(firstArg, secondArg) {
|
|
7
10
|
const [subMessage, suggestionsArg] = secondArg
|
|
8
11
|
? [firstArg, secondArg]
|
package/jsutils/groupBy.d.ts
CHANGED
package/jsutils/groupBy.js
CHANGED
package/jsutils/groupBy.mjs
CHANGED