graphql 14.1.1 → 14.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/error/GraphQLError.js +12 -10
- package/error/GraphQLError.js.flow +11 -6
- package/error/GraphQLError.mjs +20 -3
- package/error/formatError.js +2 -2
- package/error/formatError.js.flow +3 -3
- package/error/formatError.mjs +2 -2
- package/error/index.js +1 -1
- package/error/index.js.flow +5 -2
- package/error/index.mjs +2 -2
- package/error/locatedError.js +2 -2
- package/error/locatedError.js.flow +2 -2
- package/error/locatedError.mjs +2 -2
- package/error/printError.js +2 -2
- package/error/printError.js.flow +4 -5
- package/error/printError.mjs +2 -2
- package/error/syntaxError.js +2 -2
- package/error/syntaxError.js.flow +2 -2
- package/error/syntaxError.mjs +2 -2
- package/execution/execute.js +52 -37
- package/execution/execute.js.flow +66 -51
- package/execution/execute.mjs +50 -38
- package/execution/index.js +7 -1
- package/execution/index.js.flow +9 -4
- package/execution/index.mjs +3 -3
- package/execution/values.js +11 -11
- package/execution/values.js.flow +23 -19
- package/execution/values.mjs +11 -11
- package/graphql.js +13 -9
- package/graphql.js.flow +28 -10
- package/graphql.mjs +10 -9
- package/index.js +83 -53
- package/index.js.flow +60 -47
- package/index.mjs +26 -23
- package/jsutils/ObjMap.js +1 -1
- package/jsutils/ObjMap.js.flow +1 -1
- package/jsutils/ObjMap.mjs +1 -0
- package/jsutils/PromiseOrValue.js +1 -0
- package/jsutils/{MaybePromise.js.flow → PromiseOrValue.js.flow} +2 -2
- package/jsutils/PromiseOrValue.mjs +1 -0
- package/jsutils/dedent.js +2 -2
- package/jsutils/dedent.js.flow +1 -1
- package/jsutils/dedent.mjs +2 -2
- package/jsutils/defineToJSON.js +2 -2
- package/jsutils/defineToJSON.js.flow +1 -1
- package/jsutils/defineToJSON.mjs +2 -2
- package/jsutils/defineToStringTag.js +2 -2
- package/jsutils/defineToStringTag.js.flow +1 -1
- package/jsutils/defineToStringTag.mjs +2 -2
- package/jsutils/inspect.js +94 -19
- package/jsutils/inspect.js.flow +98 -20
- package/jsutils/inspect.mjs +94 -20
- package/jsutils/instanceOf.js +2 -2
- package/jsutils/instanceOf.js.flow +1 -1
- package/jsutils/instanceOf.mjs +2 -2
- package/jsutils/invariant.js +5 -3
- package/jsutils/invariant.js.flow +3 -2
- package/jsutils/invariant.mjs +5 -3
- package/jsutils/isInvalid.js +2 -2
- package/jsutils/isInvalid.js.flow +1 -1
- package/jsutils/isInvalid.mjs +2 -2
- package/jsutils/isNullish.js +2 -2
- package/jsutils/isNullish.js.flow +1 -1
- package/jsutils/isNullish.mjs +2 -2
- package/jsutils/isPromise.js +2 -2
- package/jsutils/isPromise.js.flow +1 -1
- package/jsutils/isPromise.mjs +2 -2
- package/jsutils/keyMap.js +4 -3
- package/jsutils/keyMap.js.flow +6 -6
- package/jsutils/keyMap.mjs +4 -3
- package/jsutils/keyValMap.js +4 -3
- package/jsutils/keyValMap.js.flow +6 -6
- package/jsutils/keyValMap.mjs +4 -3
- package/jsutils/mapValue.js +2 -2
- package/jsutils/mapValue.js.flow +2 -2
- package/jsutils/mapValue.mjs +2 -2
- package/jsutils/memoize3.js +3 -3
- package/jsutils/memoize3.js.flow +2 -2
- package/jsutils/memoize3.mjs +3 -3
- package/jsutils/nodejsCustomInspectSymbol.js +2 -2
- package/jsutils/nodejsCustomInspectSymbol.js.flow +1 -1
- package/jsutils/nodejsCustomInspectSymbol.mjs +2 -2
- package/jsutils/orList.js +2 -2
- package/jsutils/orList.js.flow +1 -1
- package/jsutils/orList.mjs +2 -2
- package/jsutils/promiseForObject.js +2 -2
- package/jsutils/promiseForObject.js.flow +2 -2
- package/jsutils/promiseForObject.mjs +2 -2
- package/jsutils/promiseReduce.js +2 -2
- package/jsutils/promiseReduce.js.flow +5 -5
- package/jsutils/promiseReduce.mjs +2 -2
- package/jsutils/quotedOrList.js +2 -2
- package/jsutils/quotedOrList.js.flow +1 -1
- package/jsutils/quotedOrList.mjs +2 -2
- package/jsutils/suggestionList.js +2 -2
- package/jsutils/suggestionList.js.flow +1 -1
- package/jsutils/suggestionList.mjs +2 -2
- package/language/ast.js +1 -1
- package/language/ast.js.flow +3 -3
- package/language/ast.mjs +1 -0
- package/language/blockString.js +114 -0
- package/language/blockString.js.flow +102 -0
- package/language/blockString.mjs +104 -0
- package/language/directiveLocation.js +2 -2
- package/language/directiveLocation.js.flow +1 -1
- package/language/directiveLocation.mjs +2 -2
- package/language/index.js +9 -9
- package/language/index.js.flow +10 -5
- package/language/index.mjs +3 -3
- package/language/kinds.js +2 -2
- package/language/kinds.js.flow +1 -1
- package/language/kinds.mjs +2 -2
- package/language/lexer.js +52 -44
- package/language/lexer.js.flow +65 -54
- package/language/lexer.mjs +49 -43
- package/language/location.js +2 -2
- package/language/location.js.flow +2 -2
- package/language/location.mjs +2 -2
- package/language/parser.js +75 -67
- package/language/parser.js.flow +138 -127
- package/language/parser.mjs +76 -68
- package/language/predicates.js +2 -2
- package/language/predicates.js.flow +2 -2
- package/language/predicates.mjs +2 -2
- package/language/printer.js +6 -14
- package/language/printer.js.flow +8 -17
- package/language/printer.mjs +5 -14
- package/language/source.js +2 -2
- package/language/source.js.flow +1 -1
- package/language/source.mjs +2 -2
- package/language/visitor.js +4 -6
- package/language/visitor.js.flow +3 -3
- package/language/visitor.mjs +4 -6
- package/package.json +1 -1
- package/polyfills/find.js +2 -2
- package/polyfills/find.js.flow +1 -1
- package/polyfills/find.mjs +2 -2
- package/polyfills/flatMap.js +38 -0
- package/polyfills/flatMap.js.flow +34 -0
- package/polyfills/flatMap.mjs +30 -0
- package/polyfills/isFinite.js +2 -2
- package/polyfills/isFinite.js.flow +1 -1
- package/polyfills/isFinite.mjs +2 -2
- package/polyfills/isInteger.js +2 -2
- package/polyfills/isInteger.js.flow +1 -1
- package/polyfills/isInteger.mjs +2 -2
- package/polyfills/objectEntries.js +2 -2
- package/polyfills/objectEntries.js.flow +2 -2
- package/polyfills/objectEntries.mjs +2 -2
- package/polyfills/objectValues.js +2 -2
- package/polyfills/objectValues.js.flow +2 -2
- package/polyfills/objectValues.mjs +2 -2
- package/subscription/asyncIteratorReject.js +1 -1
- package/subscription/asyncIteratorReject.js.flow +1 -1
- package/subscription/asyncIteratorReject.mjs +2 -2
- package/subscription/index.js +1 -1
- package/subscription/index.js.flow +1 -1
- package/subscription/index.mjs +2 -2
- package/subscription/mapAsyncIterator.js +1 -1
- package/subscription/mapAsyncIterator.js.flow +5 -5
- package/subscription/mapAsyncIterator.mjs +2 -2
- package/subscription/subscribe.js +2 -2
- package/subscription/subscribe.js.flow +6 -6
- package/subscription/subscribe.mjs +2 -2
- package/type/definition.js +138 -22
- package/type/definition.js.flow +184 -36
- package/type/definition.mjs +136 -23
- package/type/directives.js +14 -3
- package/type/directives.js.flow +24 -11
- package/type/directives.mjs +16 -5
- package/type/index.js +7 -7
- package/type/index.js.flow +8 -4
- package/type/index.mjs +10 -6
- package/type/introspection.js +14 -9
- package/type/introspection.js.flow +12 -18
- package/type/introspection.mjs +14 -9
- package/type/scalars.js +5 -4
- package/type/scalars.js.flow +4 -10
- package/type/scalars.mjs +7 -6
- package/type/schema.js +55 -3
- package/type/schema.js.flow +73 -17
- package/type/schema.mjs +56 -4
- package/type/validate.js +19 -47
- package/type/validate.js.flow +17 -29
- package/type/validate.mjs +18 -47
- package/utilities/TypeInfo.js +93 -73
- package/utilities/TypeInfo.js.flow +30 -23
- package/utilities/TypeInfo.mjs +93 -73
- package/utilities/assertValidName.js +2 -2
- package/utilities/assertValidName.js.flow +2 -2
- package/utilities/assertValidName.mjs +2 -2
- package/utilities/astFromValue.js +5 -4
- package/utilities/astFromValue.js.flow +8 -7
- package/utilities/astFromValue.mjs +7 -6
- package/utilities/buildASTSchema.js +63 -62
- package/utilities/buildASTSchema.js.flow +92 -108
- package/utilities/buildASTSchema.mjs +61 -62
- package/utilities/buildClientSchema.js +38 -45
- package/utilities/buildClientSchema.js.flow +66 -79
- package/utilities/buildClientSchema.mjs +37 -44
- package/utilities/coerceValue.js +6 -7
- package/utilities/coerceValue.js.flow +5 -4
- package/utilities/coerceValue.mjs +7 -8
- package/utilities/concatAST.js +9 -13
- package/utilities/concatAST.js.flow +4 -10
- package/utilities/concatAST.mjs +6 -13
- package/utilities/extendSchema.js +219 -511
- package/utilities/extendSchema.js.flow +195 -304
- package/utilities/extendSchema.mjs +218 -512
- package/utilities/findBreakingChanges.js +54 -95
- package/utilities/findBreakingChanges.js.flow +49 -47
- package/utilities/findBreakingChanges.mjs +80 -95
- package/utilities/findDeprecatedUsages.js +4 -4
- package/utilities/findDeprecatedUsages.js.flow +5 -5
- package/utilities/findDeprecatedUsages.mjs +4 -4
- package/utilities/getOperationAST.js +2 -2
- package/utilities/getOperationAST.js.flow +5 -2
- package/utilities/getOperationAST.mjs +2 -2
- package/utilities/getOperationRootType.js +24 -24
- package/utilities/getOperationRootType.js.flow +40 -35
- package/utilities/getOperationRootType.mjs +24 -24
- package/utilities/index.js +9 -1
- package/utilities/index.js.flow +13 -6
- package/utilities/index.mjs +13 -8
- package/utilities/introspectionFromSchema.js +6 -4
- package/utilities/introspectionFromSchema.js.flow +8 -7
- package/utilities/introspectionFromSchema.mjs +6 -5
- package/utilities/introspectionQuery.js +2 -2
- package/utilities/introspectionQuery.js.flow +2 -2
- package/utilities/introspectionQuery.mjs +2 -2
- package/utilities/isValidJSValue.js +4 -2
- package/utilities/isValidJSValue.js.flow +3 -2
- package/utilities/isValidJSValue.mjs +4 -2
- package/utilities/isValidLiteralValue.js +2 -2
- package/utilities/isValidLiteralValue.js.flow +4 -4
- package/utilities/isValidLiteralValue.mjs +2 -2
- package/utilities/lexicographicSortSchema.js +84 -123
- package/utilities/lexicographicSortSchema.js.flow +68 -96
- package/utilities/lexicographicSortSchema.mjs +84 -123
- package/utilities/schemaPrinter.js +47 -73
- package/utilities/schemaPrinter.js.flow +69 -120
- package/utilities/schemaPrinter.mjs +45 -72
- package/utilities/separateOperations.js +8 -12
- package/utilities/separateOperations.js.flow +6 -3
- package/utilities/separateOperations.mjs +8 -12
- package/utilities/stripIgnoredCharacters.js +140 -0
- package/utilities/stripIgnoredCharacters.js.flow +129 -0
- package/utilities/stripIgnoredCharacters.mjs +127 -0
- package/utilities/typeComparators.js +2 -2
- package/utilities/typeComparators.js.flow +4 -3
- package/utilities/typeComparators.mjs +2 -2
- package/utilities/typeFromAST.js +9 -4
- package/utilities/typeFromAST.js.flow +15 -9
- package/utilities/typeFromAST.mjs +6 -4
- package/utilities/valueFromAST.js +7 -4
- package/utilities/valueFromAST.js.flow +7 -5
- package/utilities/valueFromAST.mjs +6 -4
- package/utilities/valueFromASTUntyped.js +11 -6
- package/utilities/valueFromASTUntyped.js.flow +9 -5
- package/utilities/valueFromASTUntyped.mjs +10 -6
- package/validation/ValidationContext.js +1 -1
- package/validation/ValidationContext.js.flow +19 -20
- package/validation/ValidationContext.mjs +2 -2
- package/validation/index.js +1 -1
- package/validation/index.js.flow +2 -1
- package/validation/index.mjs +3 -2
- package/validation/rules/ExecutableDefinitions.js +3 -3
- package/validation/rules/ExecutableDefinitions.js.flow +4 -4
- package/validation/rules/ExecutableDefinitions.mjs +3 -3
- package/validation/rules/FieldsOnCorrectType.js +3 -3
- package/validation/rules/FieldsOnCorrectType.js.flow +7 -7
- package/validation/rules/FieldsOnCorrectType.mjs +3 -3
- package/validation/rules/FragmentsOnCompositeTypes.js +4 -4
- package/validation/rules/FragmentsOnCompositeTypes.js.flow +5 -5
- package/validation/rules/FragmentsOnCompositeTypes.mjs +4 -4
- package/validation/rules/KnownArgumentNames.js +1 -1
- package/validation/rules/KnownArgumentNames.js.flow +5 -5
- package/validation/rules/KnownArgumentNames.mjs +2 -2
- package/validation/rules/KnownDirectives.js +8 -6
- package/validation/rules/KnownDirectives.js.flow +11 -9
- package/validation/rules/KnownDirectives.mjs +8 -6
- package/validation/rules/KnownFragmentNames.js +3 -3
- package/validation/rules/KnownFragmentNames.js.flow +4 -4
- package/validation/rules/KnownFragmentNames.mjs +3 -3
- package/validation/rules/KnownTypeNames.js +2 -2
- package/validation/rules/KnownTypeNames.js.flow +6 -6
- package/validation/rules/KnownTypeNames.mjs +2 -2
- package/validation/rules/LoneAnonymousOperation.js +3 -3
- package/validation/rules/LoneAnonymousOperation.js.flow +4 -4
- package/validation/rules/LoneAnonymousOperation.mjs +3 -3
- package/validation/rules/LoneSchemaDefinition.js +2 -2
- package/validation/rules/LoneSchemaDefinition.js.flow +3 -3
- package/validation/rules/LoneSchemaDefinition.mjs +2 -2
- package/validation/rules/NoFragmentCycles.js +2 -2
- package/validation/rules/NoFragmentCycles.js.flow +4 -4
- package/validation/rules/NoFragmentCycles.mjs +2 -2
- package/validation/rules/NoUndefinedVariables.js +2 -2
- package/validation/rules/NoUndefinedVariables.js.flow +3 -3
- package/validation/rules/NoUndefinedVariables.mjs +2 -2
- package/validation/rules/NoUnusedFragments.js +7 -7
- package/validation/rules/NoUnusedFragments.js.flow +4 -4
- package/validation/rules/NoUnusedFragments.mjs +7 -7
- package/validation/rules/NoUnusedVariables.js +5 -5
- package/validation/rules/NoUnusedVariables.js.flow +6 -5
- package/validation/rules/NoUnusedVariables.mjs +5 -5
- package/validation/rules/OverlappingFieldsCanBeMerged.js +26 -23
- package/validation/rules/OverlappingFieldsCanBeMerged.js.flow +17 -17
- package/validation/rules/OverlappingFieldsCanBeMerged.mjs +26 -23
- package/validation/rules/PossibleFragmentSpreads.js +4 -4
- package/validation/rules/PossibleFragmentSpreads.js.flow +5 -5
- package/validation/rules/PossibleFragmentSpreads.mjs +4 -4
- package/validation/rules/PossibleTypeExtensions.js +3 -3
- package/validation/rules/PossibleTypeExtensions.js.flow +5 -5
- package/validation/rules/PossibleTypeExtensions.mjs +4 -4
- package/validation/rules/ProvidedRequiredArguments.js +6 -8
- package/validation/rules/ProvidedRequiredArguments.js.flow +8 -8
- package/validation/rules/ProvidedRequiredArguments.mjs +7 -9
- package/validation/rules/ScalarLeafs.js +4 -4
- package/validation/rules/ScalarLeafs.js.flow +6 -6
- package/validation/rules/ScalarLeafs.mjs +4 -4
- package/validation/rules/SingleFieldSubscriptions.js +2 -2
- package/validation/rules/SingleFieldSubscriptions.js.flow +4 -4
- package/validation/rules/SingleFieldSubscriptions.mjs +2 -2
- package/validation/rules/UniqueArgumentNames.js +2 -2
- package/validation/rules/UniqueArgumentNames.js.flow +3 -3
- package/validation/rules/UniqueArgumentNames.mjs +2 -2
- package/validation/rules/UniqueDirectiveNames.js +2 -2
- package/validation/rules/UniqueDirectiveNames.js.flow +3 -3
- package/validation/rules/UniqueDirectiveNames.mjs +2 -2
- package/validation/rules/UniqueDirectivesPerLocation.js +3 -2
- package/validation/rules/UniqueDirectivesPerLocation.js.flow +4 -4
- package/validation/rules/UniqueDirectivesPerLocation.mjs +3 -2
- package/validation/rules/UniqueEnumValueNames.js +4 -8
- package/validation/rules/UniqueEnumValueNames.js.flow +6 -8
- package/validation/rules/UniqueEnumValueNames.mjs +4 -8
- package/validation/rules/UniqueFieldDefinitionNames.js +4 -8
- package/validation/rules/UniqueFieldDefinitionNames.js.flow +6 -8
- package/validation/rules/UniqueFieldDefinitionNames.mjs +4 -8
- package/validation/rules/UniqueFragmentNames.js +2 -2
- package/validation/rules/UniqueFragmentNames.js.flow +3 -3
- package/validation/rules/UniqueFragmentNames.mjs +2 -2
- package/validation/rules/UniqueInputFieldNames.js +2 -4
- package/validation/rules/UniqueInputFieldNames.js.flow +3 -4
- package/validation/rules/UniqueInputFieldNames.mjs +2 -4
- package/validation/rules/UniqueOperationNames.js +2 -2
- package/validation/rules/UniqueOperationNames.js.flow +3 -3
- package/validation/rules/UniqueOperationNames.mjs +2 -2
- package/validation/rules/UniqueOperationTypes.js +2 -2
- package/validation/rules/UniqueOperationTypes.js.flow +3 -3
- package/validation/rules/UniqueOperationTypes.mjs +2 -2
- package/validation/rules/UniqueTypeNames.js +2 -2
- package/validation/rules/UniqueTypeNames.js.flow +4 -4
- package/validation/rules/UniqueTypeNames.mjs +2 -2
- package/validation/rules/UniqueVariableNames.js +2 -2
- package/validation/rules/UniqueVariableNames.js.flow +4 -4
- package/validation/rules/UniqueVariableNames.mjs +2 -2
- package/validation/rules/ValuesOfCorrectType.js +2 -2
- package/validation/rules/ValuesOfCorrectType.js.flow +5 -5
- package/validation/rules/ValuesOfCorrectType.mjs +2 -2
- package/validation/rules/VariablesAreInputTypes.js +3 -3
- package/validation/rules/VariablesAreInputTypes.js.flow +5 -5
- package/validation/rules/VariablesAreInputTypes.mjs +3 -3
- package/validation/rules/VariablesInAllowedPosition.js +3 -3
- package/validation/rules/VariablesInAllowedPosition.js.flow +7 -8
- package/validation/rules/VariablesInAllowedPosition.mjs +3 -3
- package/validation/specifiedRules.js +2 -2
- package/validation/specifiedRules.js.flow +13 -6
- package/validation/specifiedRules.mjs +7 -7
- package/validation/validate.js +2 -2
- package/validation/validate.js.flow +10 -6
- package/validation/validate.mjs +2 -2
- package/jsutils/MaybePromise.js +0 -1
- package/jsutils/MaybePromise.mjs +0 -0
- package/language/blockStringValue.js +0 -73
- package/language/blockStringValue.js.flow +0 -64
- package/language/blockStringValue.mjs +0 -66
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
|
+
import objectValues from '../polyfills/objectValues';
|
|
9
10
|
import inspect from '../jsutils/inspect';
|
|
10
11
|
import invariant from '../jsutils/invariant';
|
|
11
|
-
import keyMap from '../jsutils/keyMap';
|
|
12
12
|
import keyValMap from '../jsutils/keyValMap';
|
|
13
13
|
import { valueFromAST } from './valueFromAST';
|
|
14
14
|
import { parseValue } from '../language/parser';
|
|
@@ -32,16 +32,38 @@ import { specifiedScalarTypes } from '../type/scalars';
|
|
|
32
32
|
*/
|
|
33
33
|
export function buildClientSchema(introspection, options) {
|
|
34
34
|
// Get the schema from the introspection result.
|
|
35
|
-
var schemaIntrospection = introspection.__schema; //
|
|
35
|
+
var schemaIntrospection = introspection.__schema; // Iterate through all types, getting the type definition for each.
|
|
36
|
+
|
|
37
|
+
var typeMap = keyValMap(schemaIntrospection.types, function (typeIntrospection) {
|
|
38
|
+
return typeIntrospection.name;
|
|
39
|
+
}, function (typeIntrospection) {
|
|
40
|
+
return buildType(typeIntrospection);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
for (var _i = 0, _arr = [].concat(specifiedScalarTypes, introspectionTypes); _i < _arr.length; _i++) {
|
|
44
|
+
var stdType = _arr[_i];
|
|
45
|
+
|
|
46
|
+
if (typeMap[stdType.name]) {
|
|
47
|
+
typeMap[stdType.name] = stdType;
|
|
48
|
+
}
|
|
49
|
+
} // Get the root Query, Mutation, and Subscription types.
|
|
36
50
|
|
|
37
|
-
var typeIntrospectionMap = keyMap(schemaIntrospection.types, function (type) {
|
|
38
|
-
return type.name;
|
|
39
|
-
}); // A cache to use to store the actual GraphQLType definition objects by name.
|
|
40
|
-
// Initialize to the GraphQL built in scalars. All functions below are inline
|
|
41
|
-
// so that this type def cache is within the scope of the closure.
|
|
42
51
|
|
|
43
|
-
var
|
|
44
|
-
|
|
52
|
+
var queryType = schemaIntrospection.queryType ? getObjectType(schemaIntrospection.queryType) : null;
|
|
53
|
+
var mutationType = schemaIntrospection.mutationType ? getObjectType(schemaIntrospection.mutationType) : null;
|
|
54
|
+
var subscriptionType = schemaIntrospection.subscriptionType ? getObjectType(schemaIntrospection.subscriptionType) : null; // Get the directives supported by Introspection, assuming empty-set if
|
|
55
|
+
// directives were not queried for.
|
|
56
|
+
|
|
57
|
+
var directives = schemaIntrospection.directives ? schemaIntrospection.directives.map(buildDirective) : []; // Then produce and return a Schema with these types.
|
|
58
|
+
|
|
59
|
+
return new GraphQLSchema({
|
|
60
|
+
query: queryType,
|
|
61
|
+
mutation: mutationType,
|
|
62
|
+
subscription: subscriptionType,
|
|
63
|
+
types: objectValues(typeMap),
|
|
64
|
+
directives: directives,
|
|
65
|
+
assumeValid: options && options.assumeValid,
|
|
66
|
+
allowedLegacyNames: options && options.allowedLegacyNames
|
|
45
67
|
}); // Given a type reference in introspection, return the GraphQLType instance.
|
|
46
68
|
// preferring cached instances before building new instances.
|
|
47
69
|
|
|
@@ -75,19 +97,13 @@ export function buildClientSchema(introspection, options) {
|
|
|
75
97
|
}
|
|
76
98
|
|
|
77
99
|
function getNamedType(typeName) {
|
|
78
|
-
|
|
79
|
-
return typeDefCache[typeName];
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
var typeIntrospection = typeIntrospectionMap[typeName];
|
|
100
|
+
var type = typeMap[typeName];
|
|
83
101
|
|
|
84
|
-
if (!
|
|
102
|
+
if (!type) {
|
|
85
103
|
throw new Error("Invalid or incomplete schema, unknown type: ".concat(typeName, ". Ensure ") + 'that a full introspection query is used in order to build a ' + 'client schema.');
|
|
86
104
|
}
|
|
87
105
|
|
|
88
|
-
|
|
89
|
-
typeDefCache[typeName] = typeDef;
|
|
90
|
-
return typeDef;
|
|
106
|
+
return type;
|
|
91
107
|
}
|
|
92
108
|
|
|
93
109
|
function getInputType(typeRef) {
|
|
@@ -276,28 +292,5 @@ export function buildClientSchema(introspection, options) {
|
|
|
276
292
|
locations: directiveIntrospection.locations.slice(),
|
|
277
293
|
args: buildInputValueDefMap(directiveIntrospection.args)
|
|
278
294
|
});
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
var types = schemaIntrospection.types.map(function (typeIntrospection) {
|
|
284
|
-
return getNamedType(typeIntrospection.name);
|
|
285
|
-
}); // Get the root Query, Mutation, and Subscription types.
|
|
286
|
-
|
|
287
|
-
var queryType = schemaIntrospection.queryType ? getObjectType(schemaIntrospection.queryType) : null;
|
|
288
|
-
var mutationType = schemaIntrospection.mutationType ? getObjectType(schemaIntrospection.mutationType) : null;
|
|
289
|
-
var subscriptionType = schemaIntrospection.subscriptionType ? getObjectType(schemaIntrospection.subscriptionType) : null; // Get the directives supported by Introspection, assuming empty-set if
|
|
290
|
-
// directives were not queried for.
|
|
291
|
-
|
|
292
|
-
var directives = schemaIntrospection.directives ? schemaIntrospection.directives.map(buildDirective) : []; // Then produce and return a Schema with these types.
|
|
293
|
-
|
|
294
|
-
return new GraphQLSchema({
|
|
295
|
-
query: queryType,
|
|
296
|
-
mutation: mutationType,
|
|
297
|
-
subscription: subscriptionType,
|
|
298
|
-
types: types,
|
|
299
|
-
directives: directives,
|
|
300
|
-
assumeValid: options && options.assumeValid,
|
|
301
|
-
allowedLegacyNames: options && options.allowedLegacyNames
|
|
302
|
-
});
|
|
303
|
-
}
|
|
295
|
+
}
|
|
296
|
+
}
|
package/utilities/coerceValue.js
CHANGED
|
@@ -154,10 +154,8 @@ function coerceValue(value, type, blameNode, path) {
|
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
-
var
|
|
158
|
-
|
|
159
|
-
for (var _i = 0; _i < _arr.length; _i++) {
|
|
160
|
-
var fieldName = _arr[_i];
|
|
157
|
+
for (var _i = 0, _Object$keys = Object.keys(value); _i < _Object$keys.length; _i++) {
|
|
158
|
+
var fieldName = _Object$keys[_i];
|
|
161
159
|
|
|
162
160
|
if (!fields[fieldName]) {
|
|
163
161
|
var _suggestions = (0, _suggestionList.default)(fieldName, Object.keys(fields));
|
|
@@ -169,11 +167,12 @@ function coerceValue(value, type, blameNode, path) {
|
|
|
169
167
|
}
|
|
170
168
|
|
|
171
169
|
return _errors ? ofErrors(_errors) : ofValue(_coercedValue);
|
|
172
|
-
}
|
|
170
|
+
} // Not reachable. All possible input types have been considered.
|
|
171
|
+
|
|
173
172
|
/* istanbul ignore next */
|
|
174
173
|
|
|
175
174
|
|
|
176
|
-
throw new Error("Unexpected type: ".concat(type, "."));
|
|
175
|
+
throw new Error("Unexpected input type: \"".concat((0, _inspect.default)(type), "\"."));
|
|
177
176
|
}
|
|
178
177
|
|
|
179
178
|
function ofValue(value) {
|
|
@@ -218,4 +217,4 @@ function printPath(path) {
|
|
|
218
217
|
}
|
|
219
218
|
|
|
220
219
|
return pathStr ? 'value' + pathStr : '';
|
|
221
|
-
}
|
|
220
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -14,15 +14,15 @@ import isInvalid from '../jsutils/isInvalid';
|
|
|
14
14
|
import orList from '../jsutils/orList';
|
|
15
15
|
import suggestionList from '../jsutils/suggestionList';
|
|
16
16
|
import { GraphQLError } from '../error/GraphQLError';
|
|
17
|
-
import type
|
|
17
|
+
import { type ASTNode } from '../language/ast';
|
|
18
18
|
import {
|
|
19
|
+
type GraphQLInputType,
|
|
19
20
|
isScalarType,
|
|
20
21
|
isEnumType,
|
|
21
22
|
isInputObjectType,
|
|
22
23
|
isListType,
|
|
23
24
|
isNonNullType,
|
|
24
25
|
} from '../type/definition';
|
|
25
|
-
import type { GraphQLInputType } from '../type/definition';
|
|
26
26
|
|
|
27
27
|
type CoercedValue = {|
|
|
28
28
|
+errors: $ReadOnlyArray<GraphQLError> | void,
|
|
@@ -201,8 +201,9 @@ export function coerceValue(
|
|
|
201
201
|
return errors ? ofErrors(errors) : ofValue(coercedValue);
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
+
// Not reachable. All possible input types have been considered.
|
|
204
205
|
/* istanbul ignore next */
|
|
205
|
-
throw new Error(`Unexpected type: ${(type: empty)}.`);
|
|
206
|
+
throw new Error(`Unexpected input type: "${inspect((type: empty))}".`);
|
|
206
207
|
}
|
|
207
208
|
|
|
208
209
|
function ofValue(value) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Copyright (c)
|
|
4
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
5
5
|
*
|
|
6
6
|
* This source code is licensed under the MIT license found in the
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -146,10 +146,8 @@ export function coerceValue(value, type, blameNode, path) {
|
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
|
|
149
|
-
var
|
|
150
|
-
|
|
151
|
-
for (var _i = 0; _i < _arr.length; _i++) {
|
|
152
|
-
var fieldName = _arr[_i];
|
|
149
|
+
for (var _i = 0, _Object$keys = Object.keys(value); _i < _Object$keys.length; _i++) {
|
|
150
|
+
var fieldName = _Object$keys[_i];
|
|
153
151
|
|
|
154
152
|
if (!fields[fieldName]) {
|
|
155
153
|
var _suggestions = suggestionList(fieldName, Object.keys(fields));
|
|
@@ -161,11 +159,12 @@ export function coerceValue(value, type, blameNode, path) {
|
|
|
161
159
|
}
|
|
162
160
|
|
|
163
161
|
return _errors ? ofErrors(_errors) : ofValue(_coercedValue);
|
|
164
|
-
}
|
|
162
|
+
} // Not reachable. All possible input types have been considered.
|
|
163
|
+
|
|
165
164
|
/* istanbul ignore next */
|
|
166
165
|
|
|
167
166
|
|
|
168
|
-
throw new Error("Unexpected type: ".concat(type, "."));
|
|
167
|
+
throw new Error("Unexpected input type: \"".concat(inspect(type), "\"."));
|
|
169
168
|
}
|
|
170
169
|
|
|
171
170
|
function ofValue(value) {
|
|
@@ -210,4 +209,4 @@ function printPath(path) {
|
|
|
210
209
|
}
|
|
211
210
|
|
|
212
211
|
return pathStr ? 'value' + pathStr : '';
|
|
213
|
-
}
|
|
212
|
+
}
|
package/utilities/concatAST.js
CHANGED
|
@@ -5,8 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.concatAST = concatAST;
|
|
7
7
|
|
|
8
|
+
var _flatMap = _interopRequireDefault(require("../polyfills/flatMap"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
8
12
|
/**
|
|
9
|
-
* Copyright (c)
|
|
13
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
10
14
|
*
|
|
11
15
|
* This source code is licensed under the MIT license found in the
|
|
12
16
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -20,18 +24,10 @@ exports.concatAST = concatAST;
|
|
|
20
24
|
* GraphQL source files which together represent one conceptual application.
|
|
21
25
|
*/
|
|
22
26
|
function concatAST(asts) {
|
|
23
|
-
var batchDefinitions = [];
|
|
24
|
-
|
|
25
|
-
for (var i = 0; i < asts.length; i++) {
|
|
26
|
-
var definitions = asts[i].definitions;
|
|
27
|
-
|
|
28
|
-
for (var j = 0; j < definitions.length; j++) {
|
|
29
|
-
batchDefinitions.push(definitions[j]);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
27
|
return {
|
|
34
28
|
kind: 'Document',
|
|
35
|
-
definitions:
|
|
29
|
+
definitions: (0, _flatMap.default)(asts, function (ast) {
|
|
30
|
+
return ast.definitions;
|
|
31
|
+
})
|
|
36
32
|
};
|
|
37
|
-
}
|
|
33
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import
|
|
10
|
+
import flatMap from '../polyfills/flatMap';
|
|
11
|
+
import { type DocumentNode } from '../language/ast';
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* Provided a collection of ASTs, presumably each from different files,
|
|
@@ -15,15 +16,8 @@ import type { DocumentNode } from '../language/ast';
|
|
|
15
16
|
* GraphQL source files which together represent one conceptual application.
|
|
16
17
|
*/
|
|
17
18
|
export function concatAST(asts: $ReadOnlyArray<DocumentNode>): DocumentNode {
|
|
18
|
-
const batchDefinitions = [];
|
|
19
|
-
for (let i = 0; i < asts.length; i++) {
|
|
20
|
-
const definitions = asts[i].definitions;
|
|
21
|
-
for (let j = 0; j < definitions.length; j++) {
|
|
22
|
-
batchDefinitions.push(definitions[j]);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
19
|
return {
|
|
26
20
|
kind: 'Document',
|
|
27
|
-
definitions:
|
|
21
|
+
definitions: flatMap(asts, ast => ast.definitions),
|
|
28
22
|
};
|
|
29
23
|
}
|
package/utilities/concatAST.mjs
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
|
+
import flatMap from '../polyfills/flatMap';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Provided a collection of ASTs, presumably each from different files,
|
|
@@ -13,18 +14,10 @@
|
|
|
13
14
|
* GraphQL source files which together represent one conceptual application.
|
|
14
15
|
*/
|
|
15
16
|
export function concatAST(asts) {
|
|
16
|
-
var batchDefinitions = [];
|
|
17
|
-
|
|
18
|
-
for (var i = 0; i < asts.length; i++) {
|
|
19
|
-
var definitions = asts[i].definitions;
|
|
20
|
-
|
|
21
|
-
for (var j = 0; j < definitions.length; j++) {
|
|
22
|
-
batchDefinitions.push(definitions[j]);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
17
|
return {
|
|
27
18
|
kind: 'Document',
|
|
28
|
-
definitions:
|
|
19
|
+
definitions: flatMap(asts, function (ast) {
|
|
20
|
+
return ast.definitions;
|
|
21
|
+
})
|
|
29
22
|
};
|
|
30
|
-
}
|
|
23
|
+
}
|