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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category Schema Coordinates */
|
|
1
2
|
import type { SchemaCoordinateNode } from '../language/ast';
|
|
2
3
|
import type { Source } from '../language/source';
|
|
3
4
|
import type {
|
|
@@ -15,41 +16,50 @@ import type { GraphQLDirective } from '../type/directives';
|
|
|
15
16
|
import type { GraphQLSchema } from '../type/schema';
|
|
16
17
|
/**
|
|
17
18
|
* A resolved schema element may be one of the following kinds:
|
|
19
|
+
*
|
|
20
|
+
* @internal
|
|
18
21
|
*/
|
|
19
22
|
export interface ResolvedNamedType {
|
|
20
23
|
readonly kind: 'NamedType';
|
|
21
24
|
readonly type: GraphQLNamedType;
|
|
22
25
|
}
|
|
26
|
+
/** @internal */
|
|
23
27
|
export interface ResolvedField {
|
|
24
28
|
readonly kind: 'Field';
|
|
25
29
|
readonly type: GraphQLObjectType | GraphQLInterfaceType;
|
|
26
30
|
readonly field: GraphQLField<unknown, unknown>;
|
|
27
31
|
}
|
|
32
|
+
/** @internal */
|
|
28
33
|
export interface ResolvedInputField {
|
|
29
34
|
readonly kind: 'InputField';
|
|
30
35
|
readonly type: GraphQLInputObjectType;
|
|
31
36
|
readonly inputField: GraphQLInputField;
|
|
32
37
|
}
|
|
38
|
+
/** @internal */
|
|
33
39
|
export interface ResolvedEnumValue {
|
|
34
40
|
readonly kind: 'EnumValue';
|
|
35
41
|
readonly type: GraphQLEnumType;
|
|
36
42
|
readonly enumValue: GraphQLEnumValue;
|
|
37
43
|
}
|
|
44
|
+
/** @internal */
|
|
38
45
|
export interface ResolvedFieldArgument {
|
|
39
46
|
readonly kind: 'FieldArgument';
|
|
40
47
|
readonly type: GraphQLObjectType | GraphQLInterfaceType;
|
|
41
48
|
readonly field: GraphQLField<unknown, unknown>;
|
|
42
49
|
readonly fieldArgument: GraphQLArgument;
|
|
43
50
|
}
|
|
51
|
+
/** @internal */
|
|
44
52
|
export interface ResolvedDirective {
|
|
45
53
|
readonly kind: 'Directive';
|
|
46
54
|
readonly directive: GraphQLDirective;
|
|
47
55
|
}
|
|
56
|
+
/** @internal */
|
|
48
57
|
export interface ResolvedDirectiveArgument {
|
|
49
58
|
readonly kind: 'DirectiveArgument';
|
|
50
59
|
readonly directive: GraphQLDirective;
|
|
51
60
|
readonly directiveArgument: GraphQLArgument;
|
|
52
61
|
}
|
|
62
|
+
/** A schema element resolved from a schema coordinate. */
|
|
53
63
|
export declare type ResolvedSchemaElement =
|
|
54
64
|
| ResolvedNamedType
|
|
55
65
|
| ResolvedField
|
|
@@ -66,6 +76,38 @@ export declare type ResolvedSchemaElement =
|
|
|
66
76
|
* applicable) does not exist.
|
|
67
77
|
*
|
|
68
78
|
* https://spec.graphql.org/draft/#sec-Schema-Coordinates.Semantics
|
|
79
|
+
* @param schema - GraphQL schema to use.
|
|
80
|
+
* @param schemaCoordinate - The schema coordinate to resolve.
|
|
81
|
+
* @returns The schema element identified by the coordinate, or undefined if none exists.
|
|
82
|
+
* @example
|
|
83
|
+
* ```ts
|
|
84
|
+
* import { buildSchema, resolveSchemaCoordinate } from 'graphql/utilities';
|
|
85
|
+
*
|
|
86
|
+
* const schema = buildSchema(`
|
|
87
|
+
* directive @tag(name: String!) on FIELD_DEFINITION
|
|
88
|
+
*
|
|
89
|
+
* input ReviewInput {
|
|
90
|
+
* stars: Int!
|
|
91
|
+
* }
|
|
92
|
+
*
|
|
93
|
+
* enum Episode {
|
|
94
|
+
* NEW_HOPE
|
|
95
|
+
* }
|
|
96
|
+
*
|
|
97
|
+
* type Query {
|
|
98
|
+
* reviews(input: ReviewInput): [String] @tag(name: "reviews")
|
|
99
|
+
* }
|
|
100
|
+
* `);
|
|
101
|
+
*
|
|
102
|
+
* resolveSchemaCoordinate(schema, 'Query').kind; // => 'NamedType'
|
|
103
|
+
* resolveSchemaCoordinate(schema, 'Query.reviews').kind; // => 'Field'
|
|
104
|
+
* resolveSchemaCoordinate(schema, 'Query.reviews(input:)').kind; // => 'FieldArgument'
|
|
105
|
+
* resolveSchemaCoordinate(schema, 'ReviewInput.stars').kind; // => 'InputField'
|
|
106
|
+
* resolveSchemaCoordinate(schema, 'Episode.NEW_HOPE').kind; // => 'EnumValue'
|
|
107
|
+
* resolveSchemaCoordinate(schema, '@tag').kind; // => 'Directive'
|
|
108
|
+
* resolveSchemaCoordinate(schema, '@tag(name:)').kind; // => 'DirectiveArgument'
|
|
109
|
+
* resolveSchemaCoordinate(schema, 'Query.missing'); // => undefined
|
|
110
|
+
* ```
|
|
69
111
|
*/
|
|
70
112
|
export declare function resolveSchemaCoordinate(
|
|
71
113
|
schema: GraphQLSchema,
|
|
@@ -73,6 +115,26 @@ export declare function resolveSchemaCoordinate(
|
|
|
73
115
|
): ResolvedSchemaElement | undefined;
|
|
74
116
|
/**
|
|
75
117
|
* Resolves schema coordinate from a parsed SchemaCoordinate node.
|
|
118
|
+
* @param schema - GraphQL schema to use.
|
|
119
|
+
* @param schemaCoordinate - The schema coordinate to resolve.
|
|
120
|
+
* @returns The schema element identified by the parsed coordinate, or undefined if none exists.
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* import { parseSchemaCoordinate } from 'graphql/language';
|
|
124
|
+
* import { buildSchema, resolveASTSchemaCoordinate } from 'graphql/utilities';
|
|
125
|
+
*
|
|
126
|
+
* const schema = buildSchema(`
|
|
127
|
+
* type Query {
|
|
128
|
+
* greeting(name: String): String
|
|
129
|
+
* }
|
|
130
|
+
* `);
|
|
131
|
+
* const coordinate = parseSchemaCoordinate('Query.greeting(name:)');
|
|
132
|
+
* const resolved = resolveASTSchemaCoordinate(schema, coordinate);
|
|
133
|
+
*
|
|
134
|
+
* resolved.kind; // => 'FieldArgument'
|
|
135
|
+
* resolved.field.name; // => 'greeting'
|
|
136
|
+
* resolved.fieldArgument.name; // => 'name'
|
|
137
|
+
* ```
|
|
76
138
|
*/
|
|
77
139
|
export declare function resolveASTSchemaCoordinate(
|
|
78
140
|
schema: GraphQLSchema,
|
|
@@ -14,6 +14,8 @@ var _parser = require('../language/parser.js');
|
|
|
14
14
|
|
|
15
15
|
var _definition = require('../type/definition.js');
|
|
16
16
|
|
|
17
|
+
/** @category Schema Coordinates */
|
|
18
|
+
|
|
17
19
|
/**
|
|
18
20
|
* A schema coordinate is resolved in the context of a GraphQL schema to
|
|
19
21
|
* uniquely identify a schema element. It returns undefined if the schema
|
|
@@ -22,6 +24,38 @@ var _definition = require('../type/definition.js');
|
|
|
22
24
|
* applicable) does not exist.
|
|
23
25
|
*
|
|
24
26
|
* https://spec.graphql.org/draft/#sec-Schema-Coordinates.Semantics
|
|
27
|
+
* @param schema - GraphQL schema to use.
|
|
28
|
+
* @param schemaCoordinate - The schema coordinate to resolve.
|
|
29
|
+
* @returns The schema element identified by the coordinate, or undefined if none exists.
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* import { buildSchema, resolveSchemaCoordinate } from 'graphql/utilities';
|
|
33
|
+
*
|
|
34
|
+
* const schema = buildSchema(`
|
|
35
|
+
* directive @tag(name: String!) on FIELD_DEFINITION
|
|
36
|
+
*
|
|
37
|
+
* input ReviewInput {
|
|
38
|
+
* stars: Int!
|
|
39
|
+
* }
|
|
40
|
+
*
|
|
41
|
+
* enum Episode {
|
|
42
|
+
* NEW_HOPE
|
|
43
|
+
* }
|
|
44
|
+
*
|
|
45
|
+
* type Query {
|
|
46
|
+
* reviews(input: ReviewInput): [String] @tag(name: "reviews")
|
|
47
|
+
* }
|
|
48
|
+
* `);
|
|
49
|
+
*
|
|
50
|
+
* resolveSchemaCoordinate(schema, 'Query').kind; // => 'NamedType'
|
|
51
|
+
* resolveSchemaCoordinate(schema, 'Query.reviews').kind; // => 'Field'
|
|
52
|
+
* resolveSchemaCoordinate(schema, 'Query.reviews(input:)').kind; // => 'FieldArgument'
|
|
53
|
+
* resolveSchemaCoordinate(schema, 'ReviewInput.stars').kind; // => 'InputField'
|
|
54
|
+
* resolveSchemaCoordinate(schema, 'Episode.NEW_HOPE').kind; // => 'EnumValue'
|
|
55
|
+
* resolveSchemaCoordinate(schema, '@tag').kind; // => 'Directive'
|
|
56
|
+
* resolveSchemaCoordinate(schema, '@tag(name:)').kind; // => 'DirectiveArgument'
|
|
57
|
+
* resolveSchemaCoordinate(schema, 'Query.missing'); // => undefined
|
|
58
|
+
* ```
|
|
25
59
|
*/
|
|
26
60
|
function resolveSchemaCoordinate(schema, schemaCoordinate) {
|
|
27
61
|
return resolveASTSchemaCoordinate(
|
|
@@ -31,6 +65,8 @@ function resolveSchemaCoordinate(schema, schemaCoordinate) {
|
|
|
31
65
|
}
|
|
32
66
|
/**
|
|
33
67
|
* TypeCoordinate : Name
|
|
68
|
+
*
|
|
69
|
+
* @internal
|
|
34
70
|
*/
|
|
35
71
|
|
|
36
72
|
function resolveTypeCoordinate(schema, schemaCoordinate) {
|
|
@@ -49,6 +85,8 @@ function resolveTypeCoordinate(schema, schemaCoordinate) {
|
|
|
49
85
|
}
|
|
50
86
|
/**
|
|
51
87
|
* MemberCoordinate : Name . Name
|
|
88
|
+
*
|
|
89
|
+
* @internal
|
|
52
90
|
*/
|
|
53
91
|
|
|
54
92
|
function resolveMemberCoordinate(schema, schemaCoordinate) {
|
|
@@ -126,6 +164,8 @@ function resolveMemberCoordinate(schema, schemaCoordinate) {
|
|
|
126
164
|
}
|
|
127
165
|
/**
|
|
128
166
|
* ArgumentCoordinate : Name . Name ( Name : )
|
|
167
|
+
*
|
|
168
|
+
* @internal
|
|
129
169
|
*/
|
|
130
170
|
|
|
131
171
|
function resolveArgumentCoordinate(schema, schemaCoordinate) {
|
|
@@ -185,6 +225,8 @@ function resolveArgumentCoordinate(schema, schemaCoordinate) {
|
|
|
185
225
|
}
|
|
186
226
|
/**
|
|
187
227
|
* DirectiveCoordinate : \@ Name
|
|
228
|
+
*
|
|
229
|
+
* @internal
|
|
188
230
|
*/
|
|
189
231
|
|
|
190
232
|
function resolveDirectiveCoordinate(schema, schemaCoordinate) {
|
|
@@ -203,6 +245,8 @@ function resolveDirectiveCoordinate(schema, schemaCoordinate) {
|
|
|
203
245
|
}
|
|
204
246
|
/**
|
|
205
247
|
* DirectiveArgumentCoordinate : \@ Name ( Name : )
|
|
248
|
+
*
|
|
249
|
+
* @internal
|
|
206
250
|
*/
|
|
207
251
|
|
|
208
252
|
function resolveDirectiveArgumentCoordinate(schema, schemaCoordinate) {
|
|
@@ -238,6 +282,26 @@ function resolveDirectiveArgumentCoordinate(schema, schemaCoordinate) {
|
|
|
238
282
|
}
|
|
239
283
|
/**
|
|
240
284
|
* Resolves schema coordinate from a parsed SchemaCoordinate node.
|
|
285
|
+
* @param schema - GraphQL schema to use.
|
|
286
|
+
* @param schemaCoordinate - The schema coordinate to resolve.
|
|
287
|
+
* @returns The schema element identified by the parsed coordinate, or undefined if none exists.
|
|
288
|
+
* @example
|
|
289
|
+
* ```ts
|
|
290
|
+
* import { parseSchemaCoordinate } from 'graphql/language';
|
|
291
|
+
* import { buildSchema, resolveASTSchemaCoordinate } from 'graphql/utilities';
|
|
292
|
+
*
|
|
293
|
+
* const schema = buildSchema(`
|
|
294
|
+
* type Query {
|
|
295
|
+
* greeting(name: String): String
|
|
296
|
+
* }
|
|
297
|
+
* `);
|
|
298
|
+
* const coordinate = parseSchemaCoordinate('Query.greeting(name:)');
|
|
299
|
+
* const resolved = resolveASTSchemaCoordinate(schema, coordinate);
|
|
300
|
+
*
|
|
301
|
+
* resolved.kind; // => 'FieldArgument'
|
|
302
|
+
* resolved.field.name; // => 'greeting'
|
|
303
|
+
* resolved.fieldArgument.name; // => 'name'
|
|
304
|
+
* ```
|
|
241
305
|
*/
|
|
242
306
|
|
|
243
307
|
function resolveASTSchemaCoordinate(schema, schemaCoordinate) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category Schema Coordinates */
|
|
1
2
|
import { inspect } from '../jsutils/inspect.mjs';
|
|
2
3
|
import { Kind } from '../language/kinds.mjs';
|
|
3
4
|
import { parseSchemaCoordinate } from '../language/parser.mjs';
|
|
@@ -16,6 +17,38 @@ import {
|
|
|
16
17
|
* applicable) does not exist.
|
|
17
18
|
*
|
|
18
19
|
* https://spec.graphql.org/draft/#sec-Schema-Coordinates.Semantics
|
|
20
|
+
* @param schema - GraphQL schema to use.
|
|
21
|
+
* @param schemaCoordinate - The schema coordinate to resolve.
|
|
22
|
+
* @returns The schema element identified by the coordinate, or undefined if none exists.
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* import { buildSchema, resolveSchemaCoordinate } from 'graphql/utilities';
|
|
26
|
+
*
|
|
27
|
+
* const schema = buildSchema(`
|
|
28
|
+
* directive @tag(name: String!) on FIELD_DEFINITION
|
|
29
|
+
*
|
|
30
|
+
* input ReviewInput {
|
|
31
|
+
* stars: Int!
|
|
32
|
+
* }
|
|
33
|
+
*
|
|
34
|
+
* enum Episode {
|
|
35
|
+
* NEW_HOPE
|
|
36
|
+
* }
|
|
37
|
+
*
|
|
38
|
+
* type Query {
|
|
39
|
+
* reviews(input: ReviewInput): [String] @tag(name: "reviews")
|
|
40
|
+
* }
|
|
41
|
+
* `);
|
|
42
|
+
*
|
|
43
|
+
* resolveSchemaCoordinate(schema, 'Query').kind; // => 'NamedType'
|
|
44
|
+
* resolveSchemaCoordinate(schema, 'Query.reviews').kind; // => 'Field'
|
|
45
|
+
* resolveSchemaCoordinate(schema, 'Query.reviews(input:)').kind; // => 'FieldArgument'
|
|
46
|
+
* resolveSchemaCoordinate(schema, 'ReviewInput.stars').kind; // => 'InputField'
|
|
47
|
+
* resolveSchemaCoordinate(schema, 'Episode.NEW_HOPE').kind; // => 'EnumValue'
|
|
48
|
+
* resolveSchemaCoordinate(schema, '@tag').kind; // => 'Directive'
|
|
49
|
+
* resolveSchemaCoordinate(schema, '@tag(name:)').kind; // => 'DirectiveArgument'
|
|
50
|
+
* resolveSchemaCoordinate(schema, 'Query.missing'); // => undefined
|
|
51
|
+
* ```
|
|
19
52
|
*/
|
|
20
53
|
export function resolveSchemaCoordinate(schema, schemaCoordinate) {
|
|
21
54
|
return resolveASTSchemaCoordinate(
|
|
@@ -25,6 +58,8 @@ export function resolveSchemaCoordinate(schema, schemaCoordinate) {
|
|
|
25
58
|
}
|
|
26
59
|
/**
|
|
27
60
|
* TypeCoordinate : Name
|
|
61
|
+
*
|
|
62
|
+
* @internal
|
|
28
63
|
*/
|
|
29
64
|
|
|
30
65
|
function resolveTypeCoordinate(schema, schemaCoordinate) {
|
|
@@ -43,6 +78,8 @@ function resolveTypeCoordinate(schema, schemaCoordinate) {
|
|
|
43
78
|
}
|
|
44
79
|
/**
|
|
45
80
|
* MemberCoordinate : Name . Name
|
|
81
|
+
*
|
|
82
|
+
* @internal
|
|
46
83
|
*/
|
|
47
84
|
|
|
48
85
|
function resolveMemberCoordinate(schema, schemaCoordinate) {
|
|
@@ -118,6 +155,8 @@ function resolveMemberCoordinate(schema, schemaCoordinate) {
|
|
|
118
155
|
}
|
|
119
156
|
/**
|
|
120
157
|
* ArgumentCoordinate : Name . Name ( Name : )
|
|
158
|
+
*
|
|
159
|
+
* @internal
|
|
121
160
|
*/
|
|
122
161
|
|
|
123
162
|
function resolveArgumentCoordinate(schema, schemaCoordinate) {
|
|
@@ -168,6 +207,8 @@ function resolveArgumentCoordinate(schema, schemaCoordinate) {
|
|
|
168
207
|
}
|
|
169
208
|
/**
|
|
170
209
|
* DirectiveCoordinate : \@ Name
|
|
210
|
+
*
|
|
211
|
+
* @internal
|
|
171
212
|
*/
|
|
172
213
|
|
|
173
214
|
function resolveDirectiveCoordinate(schema, schemaCoordinate) {
|
|
@@ -186,6 +227,8 @@ function resolveDirectiveCoordinate(schema, schemaCoordinate) {
|
|
|
186
227
|
}
|
|
187
228
|
/**
|
|
188
229
|
* DirectiveArgumentCoordinate : \@ Name ( Name : )
|
|
230
|
+
*
|
|
231
|
+
* @internal
|
|
189
232
|
*/
|
|
190
233
|
|
|
191
234
|
function resolveDirectiveArgumentCoordinate(schema, schemaCoordinate) {
|
|
@@ -221,6 +264,26 @@ function resolveDirectiveArgumentCoordinate(schema, schemaCoordinate) {
|
|
|
221
264
|
}
|
|
222
265
|
/**
|
|
223
266
|
* Resolves schema coordinate from a parsed SchemaCoordinate node.
|
|
267
|
+
* @param schema - GraphQL schema to use.
|
|
268
|
+
* @param schemaCoordinate - The schema coordinate to resolve.
|
|
269
|
+
* @returns The schema element identified by the parsed coordinate, or undefined if none exists.
|
|
270
|
+
* @example
|
|
271
|
+
* ```ts
|
|
272
|
+
* import { parseSchemaCoordinate } from 'graphql/language';
|
|
273
|
+
* import { buildSchema, resolveASTSchemaCoordinate } from 'graphql/utilities';
|
|
274
|
+
*
|
|
275
|
+
* const schema = buildSchema(`
|
|
276
|
+
* type Query {
|
|
277
|
+
* greeting(name: String): String
|
|
278
|
+
* }
|
|
279
|
+
* `);
|
|
280
|
+
* const coordinate = parseSchemaCoordinate('Query.greeting(name:)');
|
|
281
|
+
* const resolved = resolveASTSchemaCoordinate(schema, coordinate);
|
|
282
|
+
*
|
|
283
|
+
* resolved.kind; // => 'FieldArgument'
|
|
284
|
+
* resolved.field.name; // => 'greeting'
|
|
285
|
+
* resolved.fieldArgument.name; // => 'name'
|
|
286
|
+
* ```
|
|
224
287
|
*/
|
|
225
288
|
|
|
226
289
|
export function resolveASTSchemaCoordinate(schema, schemaCoordinate) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category AST Utilities */
|
|
1
2
|
import type { ObjMap } from '../jsutils/ObjMap';
|
|
2
3
|
import type { DocumentNode } from '../language/ast';
|
|
3
4
|
/**
|
|
@@ -5,6 +6,35 @@ import type { DocumentNode } from '../language/ast';
|
|
|
5
6
|
* operations and fragments and returns a collection of AST documents each of
|
|
6
7
|
* which contains a single operation as well the fragment definitions it
|
|
7
8
|
* refers to.
|
|
9
|
+
* @param documentAST - The parsed GraphQL document AST.
|
|
10
|
+
* @returns A map of operation names to documents containing each operation and its referenced fragments.
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import { parse, print } from 'graphql/language';
|
|
14
|
+
* import { separateOperations } from 'graphql/utilities';
|
|
15
|
+
*
|
|
16
|
+
* const document = parse(`
|
|
17
|
+
* query GetUser {
|
|
18
|
+
* viewer {
|
|
19
|
+
* ...UserFields
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* query GetStatus {
|
|
24
|
+
* status
|
|
25
|
+
* }
|
|
26
|
+
*
|
|
27
|
+
* fragment UserFields on User {
|
|
28
|
+
* id
|
|
29
|
+
* }
|
|
30
|
+
* `);
|
|
31
|
+
*
|
|
32
|
+
* const separated = separateOperations(document);
|
|
33
|
+
*
|
|
34
|
+
* Object.keys(separated); // => ['GetUser', 'GetStatus']
|
|
35
|
+
* print(separated.GetUser); // matches /fragment UserFields/
|
|
36
|
+
* print(separated.GetStatus); // does not match /fragment UserFields/
|
|
37
|
+
* ```
|
|
8
38
|
*/
|
|
9
39
|
export declare function separateOperations(
|
|
10
40
|
documentAST: DocumentNode,
|
|
@@ -9,11 +9,42 @@ var _kinds = require('../language/kinds.js');
|
|
|
9
9
|
|
|
10
10
|
var _visitor = require('../language/visitor.js');
|
|
11
11
|
|
|
12
|
+
/** @category AST Utilities */
|
|
13
|
+
|
|
12
14
|
/**
|
|
13
15
|
* separateOperations accepts a single AST document which may contain many
|
|
14
16
|
* operations and fragments and returns a collection of AST documents each of
|
|
15
17
|
* which contains a single operation as well the fragment definitions it
|
|
16
18
|
* refers to.
|
|
19
|
+
* @param documentAST - The parsed GraphQL document AST.
|
|
20
|
+
* @returns A map of operation names to documents containing each operation and its referenced fragments.
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { parse, print } from 'graphql/language';
|
|
24
|
+
* import { separateOperations } from 'graphql/utilities';
|
|
25
|
+
*
|
|
26
|
+
* const document = parse(`
|
|
27
|
+
* query GetUser {
|
|
28
|
+
* viewer {
|
|
29
|
+
* ...UserFields
|
|
30
|
+
* }
|
|
31
|
+
* }
|
|
32
|
+
*
|
|
33
|
+
* query GetStatus {
|
|
34
|
+
* status
|
|
35
|
+
* }
|
|
36
|
+
*
|
|
37
|
+
* fragment UserFields on User {
|
|
38
|
+
* id
|
|
39
|
+
* }
|
|
40
|
+
* `);
|
|
41
|
+
*
|
|
42
|
+
* const separated = separateOperations(document);
|
|
43
|
+
*
|
|
44
|
+
* Object.keys(separated); // => ['GetUser', 'GetStatus']
|
|
45
|
+
* print(separated.GetUser); // matches /fragment UserFields/
|
|
46
|
+
* print(separated.GetStatus); // does not match /fragment UserFields/
|
|
47
|
+
* ```
|
|
17
48
|
*/
|
|
18
49
|
function separateOperations(documentAST) {
|
|
19
50
|
const operations = [];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category AST Utilities */
|
|
1
2
|
import { Kind } from '../language/kinds.mjs';
|
|
2
3
|
import { visit } from '../language/visitor.mjs';
|
|
3
4
|
/**
|
|
@@ -5,6 +6,35 @@ import { visit } from '../language/visitor.mjs';
|
|
|
5
6
|
* operations and fragments and returns a collection of AST documents each of
|
|
6
7
|
* which contains a single operation as well the fragment definitions it
|
|
7
8
|
* refers to.
|
|
9
|
+
* @param documentAST - The parsed GraphQL document AST.
|
|
10
|
+
* @returns A map of operation names to documents containing each operation and its referenced fragments.
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import { parse, print } from 'graphql/language';
|
|
14
|
+
* import { separateOperations } from 'graphql/utilities';
|
|
15
|
+
*
|
|
16
|
+
* const document = parse(`
|
|
17
|
+
* query GetUser {
|
|
18
|
+
* viewer {
|
|
19
|
+
* ...UserFields
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* query GetStatus {
|
|
24
|
+
* status
|
|
25
|
+
* }
|
|
26
|
+
*
|
|
27
|
+
* fragment UserFields on User {
|
|
28
|
+
* id
|
|
29
|
+
* }
|
|
30
|
+
* `);
|
|
31
|
+
*
|
|
32
|
+
* const separated = separateOperations(document);
|
|
33
|
+
*
|
|
34
|
+
* Object.keys(separated); // => ['GetUser', 'GetStatus']
|
|
35
|
+
* print(separated.GetUser); // matches /fragment UserFields/
|
|
36
|
+
* print(separated.GetStatus); // does not match /fragment UserFields/
|
|
37
|
+
* ```
|
|
8
38
|
*/
|
|
9
39
|
|
|
10
40
|
export function separateOperations(documentAST) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category AST Utilities */
|
|
1
2
|
import { Source } from '../language/source';
|
|
2
3
|
/**
|
|
3
4
|
* Strips characters that are not significant to the validity or execution
|
|
@@ -18,9 +19,9 @@ import { Source } from '../language/source';
|
|
|
18
19
|
* Warning: It is guaranteed that this function will always produce stable results.
|
|
19
20
|
* However, it's not guaranteed that it will stay the same between different
|
|
20
21
|
* releases due to bugfixes or changes in the GraphQL specification.
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
22
|
+
* @param source - The GraphQL source text or source object.
|
|
23
|
+
* @returns A semantically equivalent GraphQL source string without ignored characters.
|
|
24
|
+
* @example Query source
|
|
24
25
|
* ```graphql
|
|
25
26
|
* query SomeQuery($foo: String!, $bar: String) {
|
|
26
27
|
* someField(foo: $foo, bar: $bar) {
|
|
@@ -38,9 +39,7 @@ import { Source } from '../language/source';
|
|
|
38
39
|
* ```graphql
|
|
39
40
|
* query SomeQuery($foo:String!$bar:String){someField(foo:$foo bar:$bar){a b{c d}}}
|
|
40
41
|
* ```
|
|
41
|
-
*
|
|
42
|
-
* SDL example:
|
|
43
|
-
*
|
|
42
|
+
* @example SDL source
|
|
44
43
|
* ```graphql
|
|
45
44
|
* """
|
|
46
45
|
* Type description
|
|
@@ -58,5 +57,13 @@ import { Source } from '../language/source';
|
|
|
58
57
|
* ```graphql
|
|
59
58
|
* """Type description""" type Foo{"""Field description""" bar:String}
|
|
60
59
|
* ```
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* import { stripIgnoredCharacters } from 'graphql/utilities';
|
|
63
|
+
*
|
|
64
|
+
* const source = stripIgnoredCharacters('query Example { name }');
|
|
65
|
+
*
|
|
66
|
+
* source; // => 'query Example{name}'
|
|
67
|
+
* ```
|
|
61
68
|
*/
|
|
62
69
|
export declare function stripIgnoredCharacters(source: string | Source): string;
|
|
@@ -13,6 +13,8 @@ var _source = require('../language/source.js');
|
|
|
13
13
|
|
|
14
14
|
var _tokenKind = require('../language/tokenKind.js');
|
|
15
15
|
|
|
16
|
+
/** @category AST Utilities */
|
|
17
|
+
|
|
16
18
|
/**
|
|
17
19
|
* Strips characters that are not significant to the validity or execution
|
|
18
20
|
* of a GraphQL document:
|
|
@@ -32,9 +34,9 @@ var _tokenKind = require('../language/tokenKind.js');
|
|
|
32
34
|
* Warning: It is guaranteed that this function will always produce stable results.
|
|
33
35
|
* However, it's not guaranteed that it will stay the same between different
|
|
34
36
|
* releases due to bugfixes or changes in the GraphQL specification.
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
37
|
+
* @param source - The GraphQL source text or source object.
|
|
38
|
+
* @returns A semantically equivalent GraphQL source string without ignored characters.
|
|
39
|
+
* @example Query source
|
|
38
40
|
* ```graphql
|
|
39
41
|
* query SomeQuery($foo: String!, $bar: String) {
|
|
40
42
|
* someField(foo: $foo, bar: $bar) {
|
|
@@ -52,9 +54,7 @@ var _tokenKind = require('../language/tokenKind.js');
|
|
|
52
54
|
* ```graphql
|
|
53
55
|
* query SomeQuery($foo:String!$bar:String){someField(foo:$foo bar:$bar){a b{c d}}}
|
|
54
56
|
* ```
|
|
55
|
-
*
|
|
56
|
-
* SDL example:
|
|
57
|
-
*
|
|
57
|
+
* @example SDL source
|
|
58
58
|
* ```graphql
|
|
59
59
|
* """
|
|
60
60
|
* Type description
|
|
@@ -72,6 +72,14 @@ var _tokenKind = require('../language/tokenKind.js');
|
|
|
72
72
|
* ```graphql
|
|
73
73
|
* """Type description""" type Foo{"""Field description""" bar:String}
|
|
74
74
|
* ```
|
|
75
|
+
* @example
|
|
76
|
+
* ```ts
|
|
77
|
+
* import { stripIgnoredCharacters } from 'graphql/utilities';
|
|
78
|
+
*
|
|
79
|
+
* const source = stripIgnoredCharacters('query Example { name }');
|
|
80
|
+
*
|
|
81
|
+
* source; // => 'query Example{name}'
|
|
82
|
+
* ```
|
|
75
83
|
*/
|
|
76
84
|
function stripIgnoredCharacters(source) {
|
|
77
85
|
const sourceObj = (0, _source.isSource)(source)
|
|
@@ -89,6 +97,8 @@ function stripIgnoredCharacters(source) {
|
|
|
89
97
|
* Every two non-punctuator tokens should have space between them.
|
|
90
98
|
* Also prevent case of non-punctuator token following by spread resulting
|
|
91
99
|
* in invalid token (e.g. `1...` is invalid Float token).
|
|
100
|
+
*
|
|
101
|
+
* @internal
|
|
92
102
|
*/
|
|
93
103
|
|
|
94
104
|
const isNonPunctuator = !(0, _lexer.isPunctuatorTokenKind)(
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category AST Utilities */
|
|
1
2
|
import { printBlockString } from '../language/blockString.mjs';
|
|
2
3
|
import { isPunctuatorTokenKind, Lexer } from '../language/lexer.mjs';
|
|
3
4
|
import { isSource, Source } from '../language/source.mjs';
|
|
@@ -21,9 +22,9 @@ import { TokenKind } from '../language/tokenKind.mjs';
|
|
|
21
22
|
* Warning: It is guaranteed that this function will always produce stable results.
|
|
22
23
|
* However, it's not guaranteed that it will stay the same between different
|
|
23
24
|
* releases due to bugfixes or changes in the GraphQL specification.
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
25
|
+
* @param source - The GraphQL source text or source object.
|
|
26
|
+
* @returns A semantically equivalent GraphQL source string without ignored characters.
|
|
27
|
+
* @example Query source
|
|
27
28
|
* ```graphql
|
|
28
29
|
* query SomeQuery($foo: String!, $bar: String) {
|
|
29
30
|
* someField(foo: $foo, bar: $bar) {
|
|
@@ -41,9 +42,7 @@ import { TokenKind } from '../language/tokenKind.mjs';
|
|
|
41
42
|
* ```graphql
|
|
42
43
|
* query SomeQuery($foo:String!$bar:String){someField(foo:$foo bar:$bar){a b{c d}}}
|
|
43
44
|
* ```
|
|
44
|
-
*
|
|
45
|
-
* SDL example:
|
|
46
|
-
*
|
|
45
|
+
* @example SDL source
|
|
47
46
|
* ```graphql
|
|
48
47
|
* """
|
|
49
48
|
* Type description
|
|
@@ -61,6 +60,14 @@ import { TokenKind } from '../language/tokenKind.mjs';
|
|
|
61
60
|
* ```graphql
|
|
62
61
|
* """Type description""" type Foo{"""Field description""" bar:String}
|
|
63
62
|
* ```
|
|
63
|
+
* @example
|
|
64
|
+
* ```ts
|
|
65
|
+
* import { stripIgnoredCharacters } from 'graphql/utilities';
|
|
66
|
+
*
|
|
67
|
+
* const source = stripIgnoredCharacters('query Example { name }');
|
|
68
|
+
*
|
|
69
|
+
* source; // => 'query Example{name}'
|
|
70
|
+
* ```
|
|
64
71
|
*/
|
|
65
72
|
|
|
66
73
|
export function stripIgnoredCharacters(source) {
|
|
@@ -77,6 +84,8 @@ export function stripIgnoredCharacters(source) {
|
|
|
77
84
|
* Every two non-punctuator tokens should have space between them.
|
|
78
85
|
* Also prevent case of non-punctuator token following by spread resulting
|
|
79
86
|
* in invalid token (e.g. `1...` is invalid Float token).
|
|
87
|
+
*
|
|
88
|
+
* @internal
|
|
80
89
|
*/
|
|
81
90
|
|
|
82
91
|
const isNonPunctuator = !isPunctuatorTokenKind(currentToken.kind);
|