graphql 15.2.0 → 15.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +19 -10
- package/error/GraphQLError.js +8 -8
- package/error/GraphQLError.js.flow +2 -3
- package/error/GraphQLError.mjs +2 -2
- package/error/formatError.js +1 -1
- package/error/formatError.js.flow +0 -1
- package/error/index.js +4 -4
- package/error/index.js.flow +0 -1
- package/error/locatedError.d.ts +2 -2
- package/error/locatedError.js +10 -5
- package/error/locatedError.js.flow +10 -4
- package/error/locatedError.mjs +6 -4
- package/error/syntaxError.js +1 -1
- package/error/syntaxError.js.flow +0 -1
- package/execution/execute.d.ts +11 -15
- package/execution/execute.js +110 -110
- package/execution/execute.js.flow +132 -139
- package/execution/execute.mjs +92 -88
- package/execution/index.d.ts +1 -0
- package/execution/index.js +3 -3
- package/execution/index.js.flow +6 -2
- package/execution/values.js +11 -11
- package/execution/values.js.flow +0 -1
- package/graphql.js +5 -5
- package/graphql.js.flow +0 -1
- package/index.d.ts +2 -0
- package/index.js +9 -9
- package/index.js.flow +5 -2
- package/jsutils/ObjMap.js.flow +0 -1
- package/jsutils/Path.js.flow +0 -1
- package/jsutils/PromiseOrValue.js.flow +0 -1
- package/jsutils/defineInspect.js +2 -2
- package/jsutils/defineInspect.js.flow +0 -1
- package/jsutils/devAssert.js.flow +0 -1
- package/jsutils/didYouMean.js.flow +0 -1
- package/jsutils/identityFunc.js.flow +0 -1
- package/jsutils/inspect.js +1 -2
- package/jsutils/inspect.js.flow +10 -8
- package/jsutils/inspect.mjs +1 -1
- package/jsutils/instanceOf.js.flow +2 -3
- package/jsutils/invariant.js.flow +0 -1
- package/jsutils/isAsyncIterable.js +13 -0
- package/jsutils/isAsyncIterable.js.flow +14 -0
- package/jsutils/isAsyncIterable.mjs +10 -0
- package/jsutils/isObjectLike.js.flow +0 -1
- package/jsutils/isPromise.js.flow +0 -1
- package/jsutils/keyMap.js.flow +0 -1
- package/jsutils/keyValMap.js.flow +0 -1
- package/jsutils/mapValue.js +1 -1
- package/jsutils/mapValue.js.flow +0 -1
- package/jsutils/memoize3.js +2 -5
- package/jsutils/memoize3.js.flow +2 -5
- package/jsutils/memoize3.mjs +2 -5
- package/jsutils/naturalCompare.js +69 -0
- package/jsutils/naturalCompare.js.flow +59 -0
- package/jsutils/naturalCompare.mjs +61 -0
- package/jsutils/nodejsCustomInspectSymbol.js.flow +0 -1
- package/jsutils/printPathArray.js.flow +0 -1
- package/jsutils/promiseForObject.js.flow +0 -1
- package/jsutils/promiseReduce.js +1 -1
- package/jsutils/promiseReduce.js.flow +0 -1
- package/jsutils/safeArrayFrom.js +73 -0
- package/jsutils/safeArrayFrom.js.flow +59 -0
- package/jsutils/safeArrayFrom.mjs +66 -0
- package/jsutils/suggestionList.js +5 -1
- package/jsutils/suggestionList.js.flow +3 -2
- package/jsutils/suggestionList.mjs +3 -1
- package/jsutils/toObjMap.js +1 -1
- package/jsutils/toObjMap.js.flow +0 -1
- package/language/ast.js +1 -1
- package/language/ast.js.flow +0 -1
- package/language/blockString.d.ts +1 -1
- package/language/blockString.js +53 -32
- package/language/blockString.js.flow +51 -36
- package/language/blockString.mjs +54 -33
- package/language/directiveLocation.js.flow +0 -1
- package/language/experimentalOnlineParser/grammar.d.ts +1006 -0
- package/language/experimentalOnlineParser/grammar.js +987 -0
- package/language/experimentalOnlineParser/grammar.js.flow +1000 -0
- package/language/experimentalOnlineParser/grammar.mjs +980 -0
- package/language/experimentalOnlineParser/index.d.ts +6 -0
- package/language/experimentalOnlineParser/index.js +31 -0
- package/language/experimentalOnlineParser/index.js.flow +7 -0
- package/language/experimentalOnlineParser/index.mjs +1 -0
- package/language/experimentalOnlineParser/onlineParser.d.ts +125 -0
- package/language/experimentalOnlineParser/onlineParser.js +604 -0
- package/language/experimentalOnlineParser/onlineParser.js.flow +723 -0
- package/language/experimentalOnlineParser/onlineParser.mjs +587 -0
- package/language/index.js +12 -12
- package/language/index.js.flow +0 -1
- package/language/kinds.js.flow +0 -1
- package/language/lexer.js +242 -183
- package/language/lexer.js.flow +188 -184
- package/language/lexer.mjs +238 -179
- package/language/location.js.flow +0 -1
- package/language/parser.js +73 -68
- package/language/parser.js.flow +62 -57
- package/language/parser.mjs +64 -60
- package/language/predicates.js +1 -1
- package/language/predicates.js.flow +0 -1
- package/language/printLocation.js +1 -1
- package/language/printLocation.js.flow +0 -1
- package/language/printer.js +20 -13
- package/language/printer.js.flow +26 -25
- package/language/printer.mjs +18 -11
- package/language/source.d.ts +12 -6
- package/language/source.js +25 -9
- package/language/source.js.flow +26 -9
- package/language/source.mjs +19 -7
- package/language/tokenKind.js.flow +0 -1
- package/language/visitor.d.ts +3 -3
- package/language/visitor.js +5 -5
- package/language/visitor.js.flow +3 -4
- package/language/visitor.mjs +3 -3
- package/package.json +2 -3
- package/polyfills/arrayFrom.js +2 -2
- package/polyfills/arrayFrom.js.flow +1 -2
- package/polyfills/arrayFrom.mjs +1 -1
- package/polyfills/find.js +1 -1
- package/polyfills/find.js.flow +1 -2
- package/polyfills/find.mjs +1 -1
- package/polyfills/isFinite.js +1 -1
- package/polyfills/isFinite.js.flow +1 -2
- package/polyfills/isFinite.mjs +1 -1
- package/polyfills/isInteger.js +1 -1
- package/polyfills/isInteger.js.flow +1 -2
- package/polyfills/isInteger.mjs +1 -1
- package/polyfills/objectEntries.js +1 -1
- package/polyfills/objectEntries.js.flow +1 -2
- package/polyfills/objectEntries.mjs +1 -1
- package/polyfills/objectValues.js +1 -1
- package/polyfills/objectValues.js.flow +1 -2
- package/polyfills/objectValues.mjs +1 -1
- package/polyfills/symbols.js +3 -5
- package/polyfills/symbols.js.flow +9 -6
- package/polyfills/symbols.mjs +3 -5
- package/subscription/index.js +1 -1
- package/subscription/index.js.flow +0 -1
- package/subscription/mapAsyncIterator.js +2 -2
- package/subscription/mapAsyncIterator.js.flow +8 -9
- package/subscription/mapAsyncIterator.mjs +1 -1
- package/subscription/subscribe.js +61 -73
- package/subscription/subscribe.js.flow +71 -85
- package/subscription/subscribe.mjs +53 -65
- package/type/definition.d.ts +17 -9
- package/type/definition.js +37 -32
- package/type/definition.js.flow +93 -63
- package/type/definition.mjs +19 -14
- package/type/directives.js +17 -16
- package/type/directives.js.flow +20 -13
- package/type/directives.mjs +6 -5
- package/type/index.js +6 -6
- package/type/index.js.flow +0 -1
- package/type/introspection.js +86 -65
- package/type/introspection.js.flow +75 -43
- package/type/introspection.mjs +79 -58
- package/type/scalars.js +9 -9
- package/type/scalars.js.flow +1 -2
- package/type/scalars.mjs +1 -1
- package/type/schema.js +13 -13
- package/type/schema.js.flow +2 -3
- package/type/schema.mjs +1 -1
- package/type/validate.js +52 -19
- package/type/validate.js.flow +54 -8
- package/type/validate.mjs +43 -9
- package/utilities/TypeInfo.js +7 -7
- package/utilities/TypeInfo.js.flow +1 -2
- package/utilities/assertValidName.js +2 -2
- package/utilities/assertValidName.js.flow +0 -1
- package/utilities/astFromValue.js +14 -16
- package/utilities/astFromValue.js.flow +6 -7
- package/utilities/astFromValue.mjs +6 -7
- package/utilities/buildASTSchema.js +17 -27
- package/utilities/buildASTSchema.js.flow +5 -21
- package/utilities/buildASTSchema.mjs +11 -21
- package/utilities/buildClientSchema.js +16 -15
- package/utilities/buildClientSchema.js.flow +28 -12
- package/utilities/buildClientSchema.mjs +5 -4
- package/utilities/coerceInputValue.js +17 -18
- package/utilities/coerceInputValue.js.flow +12 -10
- package/utilities/coerceInputValue.mjs +7 -7
- package/utilities/concatAST.js +9 -8
- package/utilities/concatAST.js.flow +8 -8
- package/utilities/concatAST.mjs +9 -6
- package/utilities/extendSchema.js +26 -19
- package/utilities/extendSchema.js.flow +19 -7
- package/utilities/extendSchema.mjs +8 -1
- package/utilities/findBreakingChanges.js +15 -11
- package/utilities/findBreakingChanges.js.flow +6 -3
- package/utilities/findBreakingChanges.mjs +5 -2
- package/utilities/findDeprecatedUsages.js +2 -2
- package/utilities/findDeprecatedUsages.js.flow +0 -1
- package/utilities/getIntrospectionQuery.d.ts +6 -0
- package/utilities/getIntrospectionQuery.js +8 -2
- package/utilities/getIntrospectionQuery.js.flow +17 -5
- package/utilities/getIntrospectionQuery.mjs +8 -2
- package/utilities/getOperationAST.js +1 -1
- package/utilities/getOperationAST.js.flow +0 -1
- package/utilities/getOperationRootType.js +1 -1
- package/utilities/getOperationRootType.js.flow +0 -1
- package/utilities/index.d.ts +3 -0
- package/utilities/index.js +22 -22
- package/utilities/index.js.flow +0 -1
- package/utilities/introspectionFromSchema.js +7 -5
- package/utilities/introspectionFromSchema.js.flow +2 -1
- package/utilities/introspectionFromSchema.mjs +3 -1
- package/utilities/lexicographicSortSchema.js +13 -9
- package/utilities/lexicographicSortSchema.js.flow +21 -13
- package/utilities/lexicographicSortSchema.mjs +5 -2
- package/utilities/printSchema.js +15 -16
- package/utilities/printSchema.js.flow +23 -16
- package/utilities/printSchema.mjs +5 -6
- package/utilities/separateOperations.js +46 -42
- package/utilities/separateOperations.js.flow +46 -37
- package/utilities/separateOperations.mjs +44 -40
- package/utilities/stripIgnoredCharacters.js +6 -16
- package/utilities/stripIgnoredCharacters.js.flow +4 -13
- package/utilities/stripIgnoredCharacters.mjs +3 -10
- package/utilities/typeComparators.js +1 -1
- package/utilities/typeComparators.js.flow +0 -1
- package/utilities/typeFromAST.js +6 -6
- package/utilities/typeFromAST.js.flow +2 -3
- package/utilities/typeFromAST.mjs +2 -2
- package/utilities/typedQueryDocumentNode.d.ts +20 -0
- package/utilities/valueFromAST.js +6 -6
- package/utilities/valueFromAST.js.flow +4 -2
- package/utilities/valueFromASTUntyped.js +4 -4
- package/utilities/valueFromASTUntyped.js.flow +0 -1
- package/validation/ValidationContext.js +3 -3
- package/validation/ValidationContext.js.flow +3 -4
- package/validation/index.js +38 -38
- package/validation/index.js.flow +0 -1
- package/validation/rules/ExecutableDefinitions.js +1 -1
- package/validation/rules/ExecutableDefinitions.js.flow +0 -1
- package/validation/rules/ExecutableDefinitionsRule.js +3 -3
- package/validation/rules/ExecutableDefinitionsRule.js.flow +0 -1
- package/validation/rules/FieldsOnCorrectTypeRule.js +8 -6
- package/validation/rules/FieldsOnCorrectTypeRule.js.flow +2 -2
- package/validation/rules/FieldsOnCorrectTypeRule.mjs +2 -1
- package/validation/rules/FragmentsOnCompositeTypesRule.js +4 -4
- package/validation/rules/FragmentsOnCompositeTypesRule.js.flow +0 -1
- package/validation/rules/KnownArgumentNamesRule.js +5 -5
- package/validation/rules/KnownArgumentNamesRule.js.flow +1 -1
- package/validation/rules/KnownDirectivesRule.js +6 -6
- package/validation/rules/KnownDirectivesRule.js.flow +4 -3
- package/validation/rules/KnownFragmentNamesRule.js +1 -1
- package/validation/rules/KnownFragmentNamesRule.js.flow +0 -1
- package/validation/rules/KnownTypeNamesRule.js +6 -6
- package/validation/rules/KnownTypeNamesRule.js.flow +1 -2
- package/validation/rules/LoneAnonymousOperationRule.js +2 -2
- package/validation/rules/LoneAnonymousOperationRule.js.flow +0 -1
- package/validation/rules/LoneSchemaDefinition.js +1 -1
- package/validation/rules/LoneSchemaDefinition.js.flow +0 -1
- package/validation/rules/LoneSchemaDefinitionRule.js +1 -1
- package/validation/rules/LoneSchemaDefinitionRule.js.flow +0 -1
- package/validation/rules/NoFragmentCyclesRule.js +1 -1
- package/validation/rules/NoFragmentCyclesRule.js.flow +1 -2
- package/validation/rules/NoUndefinedVariablesRule.js +1 -1
- package/validation/rules/NoUndefinedVariablesRule.js.flow +0 -1
- package/validation/rules/NoUnusedFragmentsRule.js +1 -1
- package/validation/rules/NoUnusedFragmentsRule.js.flow +0 -1
- package/validation/rules/NoUnusedVariablesRule.js +1 -1
- package/validation/rules/NoUnusedVariablesRule.js.flow +0 -1
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +20 -20
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js.flow +14 -14
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +12 -12
- package/validation/rules/PossibleFragmentSpreadsRule.js +5 -5
- package/validation/rules/PossibleFragmentSpreadsRule.js.flow +5 -2
- package/validation/rules/PossibleTypeExtensions.js +1 -1
- package/validation/rules/PossibleTypeExtensions.js.flow +0 -1
- package/validation/rules/PossibleTypeExtensionsRule.js +8 -8
- package/validation/rules/PossibleTypeExtensionsRule.js.flow +6 -4
- package/validation/rules/ProvidedRequiredArgumentsRule.js +7 -7
- package/validation/rules/ProvidedRequiredArgumentsRule.js.flow +4 -3
- package/validation/rules/ScalarLeafsRule.js +3 -3
- package/validation/rules/ScalarLeafsRule.js.flow +0 -1
- package/validation/rules/SingleFieldSubscriptionsRule.js +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.js.flow +0 -1
- package/validation/rules/UniqueArgumentNamesRule.js +1 -1
- package/validation/rules/UniqueArgumentNamesRule.js.flow +0 -1
- package/validation/rules/UniqueDirectiveNames.js +1 -1
- package/validation/rules/UniqueDirectiveNames.js.flow +0 -1
- package/validation/rules/UniqueDirectiveNamesRule.js +2 -2
- package/validation/rules/UniqueDirectiveNamesRule.js.flow +0 -1
- package/validation/rules/UniqueDirectiveNamesRule.mjs +1 -1
- package/validation/rules/UniqueDirectivesPerLocationRule.js +4 -4
- package/validation/rules/UniqueDirectivesPerLocationRule.js.flow +0 -1
- package/validation/rules/UniqueEnumValueNames.js +1 -1
- package/validation/rules/UniqueEnumValueNames.js.flow +0 -1
- package/validation/rules/UniqueEnumValueNamesRule.js +2 -2
- package/validation/rules/UniqueEnumValueNamesRule.js.flow +7 -2
- package/validation/rules/UniqueFieldDefinitionNames.js +1 -1
- package/validation/rules/UniqueFieldDefinitionNames.js.flow +0 -1
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +3 -3
- package/validation/rules/UniqueFieldDefinitionNamesRule.js.flow +13 -4
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +1 -1
- package/validation/rules/UniqueFragmentNamesRule.js +1 -1
- package/validation/rules/UniqueFragmentNamesRule.js.flow +0 -1
- package/validation/rules/UniqueInputFieldNamesRule.js +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.js.flow +0 -1
- package/validation/rules/UniqueOperationNamesRule.js +1 -1
- package/validation/rules/UniqueOperationNamesRule.js.flow +0 -1
- package/validation/rules/UniqueOperationTypes.js +1 -1
- package/validation/rules/UniqueOperationTypes.js.flow +0 -1
- package/validation/rules/UniqueOperationTypesRule.js +1 -1
- package/validation/rules/UniqueOperationTypesRule.js.flow +7 -2
- package/validation/rules/UniqueTypeNames.js +1 -1
- package/validation/rules/UniqueTypeNames.js.flow +0 -1
- package/validation/rules/UniqueTypeNamesRule.js +2 -2
- package/validation/rules/UniqueTypeNamesRule.js.flow +0 -1
- package/validation/rules/UniqueTypeNamesRule.mjs +1 -1
- package/validation/rules/UniqueVariableNamesRule.js +1 -1
- package/validation/rules/UniqueVariableNamesRule.js.flow +0 -1
- package/validation/rules/ValuesOfCorrectTypeRule.js +8 -8
- package/validation/rules/ValuesOfCorrectTypeRule.js.flow +0 -1
- package/validation/rules/VariablesAreInputTypesRule.js +4 -4
- package/validation/rules/VariablesAreInputTypesRule.js.flow +0 -1
- package/validation/rules/VariablesInAllowedPositionRule.js +6 -6
- package/validation/rules/VariablesInAllowedPositionRule.js.flow +0 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.js +47 -9
- package/validation/rules/custom/NoDeprecatedCustomRule.js.flow +56 -13
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs +43 -8
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +3 -3
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.flow +0 -1
- package/validation/specifiedRules.js +33 -33
- package/validation/specifiedRules.js.flow +0 -1
- package/validation/validate.js +7 -7
- package/validation/validate.js.flow +4 -5
- package/version.js +2 -2
- package/version.js.flow +2 -3
- package/version.mjs +2 -2
- package/jsutils/isCollection.js +0 -47
- package/jsutils/isCollection.js.flow +0 -39
- package/jsutils/isCollection.mjs +0 -40
- package/polyfills/flatMap.js +0 -30
- package/polyfills/flatMap.js.flow +0 -28
- package/polyfills/flatMap.mjs +0 -23
package/utilities/printSchema.js
CHANGED
|
@@ -7,25 +7,25 @@ exports.printSchema = printSchema;
|
|
|
7
7
|
exports.printIntrospectionSchema = printIntrospectionSchema;
|
|
8
8
|
exports.printType = printType;
|
|
9
9
|
|
|
10
|
-
var _objectValues = _interopRequireDefault(require("../polyfills/objectValues"));
|
|
10
|
+
var _objectValues = _interopRequireDefault(require("../polyfills/objectValues.js"));
|
|
11
11
|
|
|
12
|
-
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
12
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
|
|
13
13
|
|
|
14
|
-
var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
|
|
14
|
+
var _invariant = _interopRequireDefault(require("../jsutils/invariant.js"));
|
|
15
15
|
|
|
16
|
-
var _printer = require("../language/printer");
|
|
16
|
+
var _printer = require("../language/printer.js");
|
|
17
17
|
|
|
18
|
-
var _blockString = require("../language/blockString");
|
|
18
|
+
var _blockString = require("../language/blockString.js");
|
|
19
19
|
|
|
20
|
-
var _introspection = require("../type/introspection");
|
|
20
|
+
var _introspection = require("../type/introspection.js");
|
|
21
21
|
|
|
22
|
-
var _scalars = require("../type/scalars");
|
|
22
|
+
var _scalars = require("../type/scalars.js");
|
|
23
23
|
|
|
24
|
-
var _directives = require("../type/directives");
|
|
24
|
+
var _directives = require("../type/directives.js");
|
|
25
25
|
|
|
26
|
-
var _definition = require("../type/definition");
|
|
26
|
+
var _definition = require("../type/definition.js");
|
|
27
27
|
|
|
28
|
-
var _astFromValue = require("./astFromValue");
|
|
28
|
+
var _astFromValue = require("./astFromValue.js");
|
|
29
29
|
|
|
30
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
31
|
|
|
@@ -179,7 +179,7 @@ function printUnion(type, options) {
|
|
|
179
179
|
|
|
180
180
|
function printEnum(type, options) {
|
|
181
181
|
var values = type.getValues().map(function (value, i) {
|
|
182
|
-
return printDescription(options, value, ' ', !i) + ' ' + value.name + printDeprecated(value);
|
|
182
|
+
return printDescription(options, value, ' ', !i) + ' ' + value.name + printDeprecated(value.deprecationReason);
|
|
183
183
|
});
|
|
184
184
|
return printDescription(options, type) + "enum ".concat(type.name) + printBlock(values);
|
|
185
185
|
}
|
|
@@ -193,7 +193,7 @@ function printInputObject(type, options) {
|
|
|
193
193
|
|
|
194
194
|
function printFields(options, type) {
|
|
195
195
|
var fields = (0, _objectValues.default)(type.getFields()).map(function (f, i) {
|
|
196
|
-
return printDescription(options, f, ' ', !i) + ' ' + f.name + printArgs(options, f.args, ' ') + ': ' + String(f.type) + printDeprecated(f);
|
|
196
|
+
return printDescription(options, f, ' ', !i) + ' ' + f.name + printArgs(options, f.args, ' ') + ': ' + String(f.type) + printDeprecated(f.deprecationReason);
|
|
197
197
|
});
|
|
198
198
|
return printBlock(fields);
|
|
199
199
|
}
|
|
@@ -229,19 +229,18 @@ function printInputValue(arg) {
|
|
|
229
229
|
argDecl += " = ".concat((0, _printer.print)(defaultAST));
|
|
230
230
|
}
|
|
231
231
|
|
|
232
|
-
return argDecl;
|
|
232
|
+
return argDecl + printDeprecated(arg.deprecationReason);
|
|
233
233
|
}
|
|
234
234
|
|
|
235
235
|
function printDirective(directive, options) {
|
|
236
236
|
return printDescription(options, directive) + 'directive @' + directive.name + printArgs(options, directive.args) + (directive.isRepeatable ? ' repeatable' : '') + ' on ' + directive.locations.join(' | ');
|
|
237
237
|
}
|
|
238
238
|
|
|
239
|
-
function printDeprecated(
|
|
240
|
-
if (
|
|
239
|
+
function printDeprecated(reason) {
|
|
240
|
+
if (reason == null) {
|
|
241
241
|
return '';
|
|
242
242
|
}
|
|
243
243
|
|
|
244
|
-
var reason = fieldOrEnumVal.deprecationReason;
|
|
245
244
|
var reasonAST = (0, _astFromValue.astFromValue)(reason, _scalars.GraphQLString);
|
|
246
245
|
|
|
247
246
|
if (reasonAST && reason !== _directives.DEFAULT_DEPRECATION_REASON) {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import objectValues from '../polyfills/objectValues';
|
|
4
3
|
|
|
5
4
|
import inspect from '../jsutils/inspect';
|
|
@@ -12,6 +11,8 @@ import type { GraphQLSchema } from '../type/schema';
|
|
|
12
11
|
import type { GraphQLDirective } from '../type/directives';
|
|
13
12
|
import type {
|
|
14
13
|
GraphQLNamedType,
|
|
14
|
+
GraphQLArgument,
|
|
15
|
+
GraphQLInputField,
|
|
15
16
|
GraphQLScalarType,
|
|
16
17
|
GraphQLEnumType,
|
|
17
18
|
GraphQLObjectType,
|
|
@@ -232,7 +233,7 @@ function printEnum(type: GraphQLEnumType, options): string {
|
|
|
232
233
|
printDescription(options, value, ' ', !i) +
|
|
233
234
|
' ' +
|
|
234
235
|
value.name +
|
|
235
|
-
printDeprecated(value),
|
|
236
|
+
printDeprecated(value.deprecationReason),
|
|
236
237
|
);
|
|
237
238
|
|
|
238
239
|
return (
|
|
@@ -250,7 +251,10 @@ function printInputObject(type: GraphQLInputObjectType, options): string {
|
|
|
250
251
|
);
|
|
251
252
|
}
|
|
252
253
|
|
|
253
|
-
function printFields(
|
|
254
|
+
function printFields(
|
|
255
|
+
options,
|
|
256
|
+
type: GraphQLObjectType | GraphQLInterfaceType,
|
|
257
|
+
): string {
|
|
254
258
|
const fields = objectValues(type.getFields()).map(
|
|
255
259
|
(f, i) =>
|
|
256
260
|
printDescription(options, f, ' ', !i) +
|
|
@@ -259,16 +263,20 @@ function printFields(options, type) {
|
|
|
259
263
|
printArgs(options, f.args, ' ') +
|
|
260
264
|
': ' +
|
|
261
265
|
String(f.type) +
|
|
262
|
-
printDeprecated(f),
|
|
266
|
+
printDeprecated(f.deprecationReason),
|
|
263
267
|
);
|
|
264
268
|
return printBlock(fields);
|
|
265
269
|
}
|
|
266
270
|
|
|
267
|
-
function printBlock(items) {
|
|
271
|
+
function printBlock(items: $ReadOnlyArray<string>): string {
|
|
268
272
|
return items.length !== 0 ? ' {\n' + items.join('\n') + '\n}' : '';
|
|
269
273
|
}
|
|
270
274
|
|
|
271
|
-
function printArgs(
|
|
275
|
+
function printArgs(
|
|
276
|
+
options,
|
|
277
|
+
args: Array<GraphQLArgument>,
|
|
278
|
+
indentation: string = '',
|
|
279
|
+
): string {
|
|
272
280
|
if (args.length === 0) {
|
|
273
281
|
return '';
|
|
274
282
|
}
|
|
@@ -295,16 +303,16 @@ function printArgs(options, args, indentation = '') {
|
|
|
295
303
|
);
|
|
296
304
|
}
|
|
297
305
|
|
|
298
|
-
function printInputValue(arg) {
|
|
306
|
+
function printInputValue(arg: GraphQLInputField): string {
|
|
299
307
|
const defaultAST = astFromValue(arg.defaultValue, arg.type);
|
|
300
308
|
let argDecl = arg.name + ': ' + String(arg.type);
|
|
301
309
|
if (defaultAST) {
|
|
302
310
|
argDecl += ` = ${print(defaultAST)}`;
|
|
303
311
|
}
|
|
304
|
-
return argDecl;
|
|
312
|
+
return argDecl + printDeprecated(arg.deprecationReason);
|
|
305
313
|
}
|
|
306
314
|
|
|
307
|
-
function printDirective(directive, options) {
|
|
315
|
+
function printDirective(directive: GraphQLDirective, options): string {
|
|
308
316
|
return (
|
|
309
317
|
printDescription(options, directive) +
|
|
310
318
|
'directive @' +
|
|
@@ -316,11 +324,10 @@ function printDirective(directive, options) {
|
|
|
316
324
|
);
|
|
317
325
|
}
|
|
318
326
|
|
|
319
|
-
function printDeprecated(
|
|
320
|
-
if (
|
|
327
|
+
function printDeprecated(reason: ?string): string {
|
|
328
|
+
if (reason == null) {
|
|
321
329
|
return '';
|
|
322
330
|
}
|
|
323
|
-
const reason = fieldOrEnumVal.deprecationReason;
|
|
324
331
|
const reasonAST = astFromValue(reason, GraphQLString);
|
|
325
332
|
if (reasonAST && reason !== DEFAULT_DEPRECATION_REASON) {
|
|
326
333
|
return ' @deprecated(reason: ' + print(reasonAST) + ')';
|
|
@@ -328,7 +335,7 @@ function printDeprecated(fieldOrEnumVal) {
|
|
|
328
335
|
return ' @deprecated';
|
|
329
336
|
}
|
|
330
337
|
|
|
331
|
-
function printSpecifiedByUrl(scalar: GraphQLScalarType) {
|
|
338
|
+
function printSpecifiedByUrl(scalar: GraphQLScalarType): string {
|
|
332
339
|
if (scalar.specifiedByUrl == null) {
|
|
333
340
|
return '';
|
|
334
341
|
}
|
|
@@ -343,9 +350,9 @@ function printSpecifiedByUrl(scalar: GraphQLScalarType) {
|
|
|
343
350
|
|
|
344
351
|
function printDescription(
|
|
345
352
|
options,
|
|
346
|
-
def,
|
|
347
|
-
indentation = '',
|
|
348
|
-
firstInBlock = true,
|
|
353
|
+
def: { +description: ?string, ... },
|
|
354
|
+
indentation: string = '',
|
|
355
|
+
firstInBlock: boolean = true,
|
|
349
356
|
): string {
|
|
350
357
|
const { description } = def;
|
|
351
358
|
if (description == null) {
|
|
@@ -158,7 +158,7 @@ function printUnion(type, options) {
|
|
|
158
158
|
|
|
159
159
|
function printEnum(type, options) {
|
|
160
160
|
var values = type.getValues().map(function (value, i) {
|
|
161
|
-
return printDescription(options, value, ' ', !i) + ' ' + value.name + printDeprecated(value);
|
|
161
|
+
return printDescription(options, value, ' ', !i) + ' ' + value.name + printDeprecated(value.deprecationReason);
|
|
162
162
|
});
|
|
163
163
|
return printDescription(options, type) + "enum ".concat(type.name) + printBlock(values);
|
|
164
164
|
}
|
|
@@ -172,7 +172,7 @@ function printInputObject(type, options) {
|
|
|
172
172
|
|
|
173
173
|
function printFields(options, type) {
|
|
174
174
|
var fields = objectValues(type.getFields()).map(function (f, i) {
|
|
175
|
-
return printDescription(options, f, ' ', !i) + ' ' + f.name + printArgs(options, f.args, ' ') + ': ' + String(f.type) + printDeprecated(f);
|
|
175
|
+
return printDescription(options, f, ' ', !i) + ' ' + f.name + printArgs(options, f.args, ' ') + ': ' + String(f.type) + printDeprecated(f.deprecationReason);
|
|
176
176
|
});
|
|
177
177
|
return printBlock(fields);
|
|
178
178
|
}
|
|
@@ -208,19 +208,18 @@ function printInputValue(arg) {
|
|
|
208
208
|
argDecl += " = ".concat(print(defaultAST));
|
|
209
209
|
}
|
|
210
210
|
|
|
211
|
-
return argDecl;
|
|
211
|
+
return argDecl + printDeprecated(arg.deprecationReason);
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
function printDirective(directive, options) {
|
|
215
215
|
return printDescription(options, directive) + 'directive @' + directive.name + printArgs(options, directive.args) + (directive.isRepeatable ? ' repeatable' : '') + ' on ' + directive.locations.join(' | ');
|
|
216
216
|
}
|
|
217
217
|
|
|
218
|
-
function printDeprecated(
|
|
219
|
-
if (
|
|
218
|
+
function printDeprecated(reason) {
|
|
219
|
+
if (reason == null) {
|
|
220
220
|
return '';
|
|
221
221
|
}
|
|
222
222
|
|
|
223
|
-
var reason = fieldOrEnumVal.deprecationReason;
|
|
224
223
|
var reasonAST = astFromValue(reason, GraphQLString);
|
|
225
224
|
|
|
226
225
|
if (reasonAST && reason !== DEFAULT_DEPRECATION_REASON) {
|
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.separateOperations = separateOperations;
|
|
7
7
|
|
|
8
|
-
var _kinds = require("../language/kinds");
|
|
8
|
+
var _kinds = require("../language/kinds.js");
|
|
9
9
|
|
|
10
|
-
var _visitor = require("../language/visitor");
|
|
10
|
+
var _visitor = require("../language/visitor.js");
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* separateOperations accepts a single AST document which may contain many
|
|
@@ -17,72 +17,76 @@ var _visitor = require("../language/visitor");
|
|
|
17
17
|
*/
|
|
18
18
|
function separateOperations(documentAST) {
|
|
19
19
|
var operations = [];
|
|
20
|
-
var depGraph = Object.create(null);
|
|
21
|
-
var fromName; // Populate metadata and build a dependency graph.
|
|
22
|
-
|
|
23
|
-
(0, _visitor.visit)(documentAST, {
|
|
24
|
-
OperationDefinition: function OperationDefinition(node) {
|
|
25
|
-
fromName = opName(node);
|
|
26
|
-
operations.push(node);
|
|
27
|
-
},
|
|
28
|
-
FragmentDefinition: function FragmentDefinition(node) {
|
|
29
|
-
fromName = node.name.value;
|
|
30
|
-
},
|
|
31
|
-
FragmentSpread: function FragmentSpread(node) {
|
|
32
|
-
var toName = node.name.value;
|
|
33
|
-
var dependents = depGraph[fromName];
|
|
20
|
+
var depGraph = Object.create(null); // Populate metadata and build a dependency graph.
|
|
34
21
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
22
|
+
for (var _i2 = 0, _documentAST$definiti2 = documentAST.definitions; _i2 < _documentAST$definiti2.length; _i2++) {
|
|
23
|
+
var definitionNode = _documentAST$definiti2[_i2];
|
|
38
24
|
|
|
39
|
-
|
|
25
|
+
switch (definitionNode.kind) {
|
|
26
|
+
case _kinds.Kind.OPERATION_DEFINITION:
|
|
27
|
+
operations.push(definitionNode);
|
|
28
|
+
break;
|
|
29
|
+
|
|
30
|
+
case _kinds.Kind.FRAGMENT_DEFINITION:
|
|
31
|
+
depGraph[definitionNode.name.value] = collectDependencies(definitionNode.selectionSet);
|
|
32
|
+
break;
|
|
40
33
|
}
|
|
41
|
-
}
|
|
34
|
+
} // For each operation, produce a new synthesized AST which includes only what
|
|
42
35
|
// is necessary for completing that operation.
|
|
43
36
|
|
|
37
|
+
|
|
44
38
|
var separatedDocumentASTs = Object.create(null);
|
|
45
39
|
|
|
46
|
-
var _loop = function _loop(
|
|
47
|
-
var operation = operations[
|
|
48
|
-
var
|
|
49
|
-
|
|
50
|
-
|
|
40
|
+
var _loop = function _loop(_i4) {
|
|
41
|
+
var operation = operations[_i4];
|
|
42
|
+
var dependencies = new Set();
|
|
43
|
+
|
|
44
|
+
for (var _i6 = 0, _collectDependencies2 = collectDependencies(operation.selectionSet); _i6 < _collectDependencies2.length; _i6++) {
|
|
45
|
+
var fragmentName = _collectDependencies2[_i6];
|
|
46
|
+
collectTransitiveDependencies(dependencies, depGraph, fragmentName);
|
|
47
|
+
} // Provides the empty string for anonymous operations.
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
var operationName = operation.name ? operation.name.value : ''; // The list of definition nodes to be included for this operation, sorted
|
|
51
51
|
// to retain the same order as the original document.
|
|
52
52
|
|
|
53
53
|
separatedDocumentASTs[operationName] = {
|
|
54
54
|
kind: _kinds.Kind.DOCUMENT,
|
|
55
55
|
definitions: documentAST.definitions.filter(function (node) {
|
|
56
|
-
return node === operation || node.kind === _kinds.Kind.FRAGMENT_DEFINITION && dependencies
|
|
56
|
+
return node === operation || node.kind === _kinds.Kind.FRAGMENT_DEFINITION && dependencies.has(node.name.value);
|
|
57
57
|
})
|
|
58
58
|
};
|
|
59
59
|
};
|
|
60
60
|
|
|
61
|
-
for (var
|
|
62
|
-
_loop(
|
|
61
|
+
for (var _i4 = 0; _i4 < operations.length; _i4++) {
|
|
62
|
+
_loop(_i4);
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
return separatedDocumentASTs;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
//
|
|
69
|
-
function opName(operation) {
|
|
70
|
-
return operation.name ? operation.name.value : '';
|
|
71
|
-
} // From a dependency graph, collects a list of transitive dependencies by
|
|
68
|
+
// From a dependency graph, collects a list of transitive dependencies by
|
|
72
69
|
// recursing through a dependency graph.
|
|
73
|
-
|
|
74
|
-
|
|
75
70
|
function collectTransitiveDependencies(collected, depGraph, fromName) {
|
|
76
|
-
|
|
71
|
+
if (!collected.has(fromName)) {
|
|
72
|
+
collected.add(fromName);
|
|
73
|
+
var immediateDeps = depGraph[fromName];
|
|
77
74
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if (!collected[toName]) {
|
|
83
|
-
collected[toName] = true;
|
|
75
|
+
if (immediateDeps !== undefined) {
|
|
76
|
+
for (var _i8 = 0; _i8 < immediateDeps.length; _i8++) {
|
|
77
|
+
var toName = immediateDeps[_i8];
|
|
84
78
|
collectTransitiveDependencies(collected, depGraph, toName);
|
|
85
79
|
}
|
|
86
80
|
}
|
|
87
81
|
}
|
|
88
82
|
}
|
|
83
|
+
|
|
84
|
+
function collectDependencies(selectionSet) {
|
|
85
|
+
var dependencies = [];
|
|
86
|
+
(0, _visitor.visit)(selectionSet, {
|
|
87
|
+
FragmentSpread: function FragmentSpread(node) {
|
|
88
|
+
dependencies.push(node.name.value);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
return dependencies;
|
|
92
|
+
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import type { ObjMap } from '../jsutils/ObjMap';
|
|
4
3
|
|
|
5
|
-
import type {
|
|
4
|
+
import type {
|
|
5
|
+
DocumentNode,
|
|
6
|
+
OperationDefinitionNode,
|
|
7
|
+
SelectionSetNode,
|
|
8
|
+
} from '../language/ast';
|
|
6
9
|
import { Kind } from '../language/kinds';
|
|
7
10
|
import { visit } from '../language/visitor';
|
|
8
11
|
|
|
@@ -15,36 +18,35 @@ import { visit } from '../language/visitor';
|
|
|
15
18
|
export function separateOperations(
|
|
16
19
|
documentAST: DocumentNode,
|
|
17
20
|
): ObjMap<DocumentNode> {
|
|
18
|
-
const operations = [];
|
|
21
|
+
const operations: Array<OperationDefinitionNode> = [];
|
|
19
22
|
const depGraph: DepGraph = Object.create(null);
|
|
20
|
-
let fromName;
|
|
21
23
|
|
|
22
24
|
// Populate metadata and build a dependency graph.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
dependents = depGraph[fromName] = Object.create(null);
|
|
36
|
-
}
|
|
37
|
-
dependents[toName] = true;
|
|
38
|
-
},
|
|
39
|
-
});
|
|
25
|
+
for (const definitionNode of documentAST.definitions) {
|
|
26
|
+
switch (definitionNode.kind) {
|
|
27
|
+
case Kind.OPERATION_DEFINITION:
|
|
28
|
+
operations.push(definitionNode);
|
|
29
|
+
break;
|
|
30
|
+
case Kind.FRAGMENT_DEFINITION:
|
|
31
|
+
depGraph[definitionNode.name.value] = collectDependencies(
|
|
32
|
+
definitionNode.selectionSet,
|
|
33
|
+
);
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
40
37
|
|
|
41
38
|
// For each operation, produce a new synthesized AST which includes only what
|
|
42
39
|
// is necessary for completing that operation.
|
|
43
40
|
const separatedDocumentASTs = Object.create(null);
|
|
44
41
|
for (const operation of operations) {
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
const dependencies = new Set();
|
|
43
|
+
|
|
44
|
+
for (const fragmentName of collectDependencies(operation.selectionSet)) {
|
|
45
|
+
collectTransitiveDependencies(dependencies, depGraph, fragmentName);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Provides the empty string for anonymous operations.
|
|
49
|
+
const operationName = operation.name ? operation.name.value : '';
|
|
48
50
|
|
|
49
51
|
// The list of definition nodes to be included for this operation, sorted
|
|
50
52
|
// to retain the same order as the original document.
|
|
@@ -54,7 +56,7 @@ export function separateOperations(
|
|
|
54
56
|
(node) =>
|
|
55
57
|
node === operation ||
|
|
56
58
|
(node.kind === Kind.FRAGMENT_DEFINITION &&
|
|
57
|
-
dependencies
|
|
59
|
+
dependencies.has(node.name.value)),
|
|
58
60
|
),
|
|
59
61
|
};
|
|
60
62
|
}
|
|
@@ -62,27 +64,34 @@ export function separateOperations(
|
|
|
62
64
|
return separatedDocumentASTs;
|
|
63
65
|
}
|
|
64
66
|
|
|
65
|
-
type DepGraph = ObjMap<
|
|
66
|
-
|
|
67
|
-
// Provides the empty string for anonymous operations.
|
|
68
|
-
function opName(operation: OperationDefinitionNode): string {
|
|
69
|
-
return operation.name ? operation.name.value : '';
|
|
70
|
-
}
|
|
67
|
+
type DepGraph = ObjMap<Array<string>>;
|
|
71
68
|
|
|
72
69
|
// From a dependency graph, collects a list of transitive dependencies by
|
|
73
70
|
// recursing through a dependency graph.
|
|
74
71
|
function collectTransitiveDependencies(
|
|
75
|
-
collected:
|
|
72
|
+
collected: Set<string>,
|
|
76
73
|
depGraph: DepGraph,
|
|
77
74
|
fromName: string,
|
|
78
75
|
): void {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
if (!collected.has(fromName)) {
|
|
77
|
+
collected.add(fromName);
|
|
78
|
+
|
|
79
|
+
const immediateDeps = depGraph[fromName];
|
|
80
|
+
if (immediateDeps !== undefined) {
|
|
81
|
+
for (const toName of immediateDeps) {
|
|
84
82
|
collectTransitiveDependencies(collected, depGraph, toName);
|
|
85
83
|
}
|
|
86
84
|
}
|
|
87
85
|
}
|
|
88
86
|
}
|
|
87
|
+
|
|
88
|
+
function collectDependencies(selectionSet: SelectionSetNode): Array<string> {
|
|
89
|
+
const dependencies = [];
|
|
90
|
+
|
|
91
|
+
visit(selectionSet, {
|
|
92
|
+
FragmentSpread(node) {
|
|
93
|
+
dependencies.push(node.name.value);
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
return dependencies;
|
|
97
|
+
}
|
|
@@ -9,72 +9,76 @@ import { visit } from "../language/visitor.mjs";
|
|
|
9
9
|
|
|
10
10
|
export function separateOperations(documentAST) {
|
|
11
11
|
var operations = [];
|
|
12
|
-
var depGraph = Object.create(null);
|
|
13
|
-
var fromName; // Populate metadata and build a dependency graph.
|
|
14
|
-
|
|
15
|
-
visit(documentAST, {
|
|
16
|
-
OperationDefinition: function OperationDefinition(node) {
|
|
17
|
-
fromName = opName(node);
|
|
18
|
-
operations.push(node);
|
|
19
|
-
},
|
|
20
|
-
FragmentDefinition: function FragmentDefinition(node) {
|
|
21
|
-
fromName = node.name.value;
|
|
22
|
-
},
|
|
23
|
-
FragmentSpread: function FragmentSpread(node) {
|
|
24
|
-
var toName = node.name.value;
|
|
25
|
-
var dependents = depGraph[fromName];
|
|
12
|
+
var depGraph = Object.create(null); // Populate metadata and build a dependency graph.
|
|
26
13
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
14
|
+
for (var _i2 = 0, _documentAST$definiti2 = documentAST.definitions; _i2 < _documentAST$definiti2.length; _i2++) {
|
|
15
|
+
var definitionNode = _documentAST$definiti2[_i2];
|
|
30
16
|
|
|
31
|
-
|
|
17
|
+
switch (definitionNode.kind) {
|
|
18
|
+
case Kind.OPERATION_DEFINITION:
|
|
19
|
+
operations.push(definitionNode);
|
|
20
|
+
break;
|
|
21
|
+
|
|
22
|
+
case Kind.FRAGMENT_DEFINITION:
|
|
23
|
+
depGraph[definitionNode.name.value] = collectDependencies(definitionNode.selectionSet);
|
|
24
|
+
break;
|
|
32
25
|
}
|
|
33
|
-
}
|
|
26
|
+
} // For each operation, produce a new synthesized AST which includes only what
|
|
34
27
|
// is necessary for completing that operation.
|
|
35
28
|
|
|
29
|
+
|
|
36
30
|
var separatedDocumentASTs = Object.create(null);
|
|
37
31
|
|
|
38
|
-
var _loop = function _loop(
|
|
39
|
-
var operation = operations[
|
|
40
|
-
var
|
|
41
|
-
|
|
42
|
-
|
|
32
|
+
var _loop = function _loop(_i4) {
|
|
33
|
+
var operation = operations[_i4];
|
|
34
|
+
var dependencies = new Set();
|
|
35
|
+
|
|
36
|
+
for (var _i6 = 0, _collectDependencies2 = collectDependencies(operation.selectionSet); _i6 < _collectDependencies2.length; _i6++) {
|
|
37
|
+
var fragmentName = _collectDependencies2[_i6];
|
|
38
|
+
collectTransitiveDependencies(dependencies, depGraph, fragmentName);
|
|
39
|
+
} // Provides the empty string for anonymous operations.
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
var operationName = operation.name ? operation.name.value : ''; // The list of definition nodes to be included for this operation, sorted
|
|
43
43
|
// to retain the same order as the original document.
|
|
44
44
|
|
|
45
45
|
separatedDocumentASTs[operationName] = {
|
|
46
46
|
kind: Kind.DOCUMENT,
|
|
47
47
|
definitions: documentAST.definitions.filter(function (node) {
|
|
48
|
-
return node === operation || node.kind === Kind.FRAGMENT_DEFINITION && dependencies
|
|
48
|
+
return node === operation || node.kind === Kind.FRAGMENT_DEFINITION && dependencies.has(node.name.value);
|
|
49
49
|
})
|
|
50
50
|
};
|
|
51
51
|
};
|
|
52
52
|
|
|
53
|
-
for (var
|
|
54
|
-
_loop(
|
|
53
|
+
for (var _i4 = 0; _i4 < operations.length; _i4++) {
|
|
54
|
+
_loop(_i4);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
return separatedDocumentASTs;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
//
|
|
61
|
-
function opName(operation) {
|
|
62
|
-
return operation.name ? operation.name.value : '';
|
|
63
|
-
} // From a dependency graph, collects a list of transitive dependencies by
|
|
60
|
+
// From a dependency graph, collects a list of transitive dependencies by
|
|
64
61
|
// recursing through a dependency graph.
|
|
65
|
-
|
|
66
|
-
|
|
67
62
|
function collectTransitiveDependencies(collected, depGraph, fromName) {
|
|
68
|
-
|
|
63
|
+
if (!collected.has(fromName)) {
|
|
64
|
+
collected.add(fromName);
|
|
65
|
+
var immediateDeps = depGraph[fromName];
|
|
69
66
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
if (!collected[toName]) {
|
|
75
|
-
collected[toName] = true;
|
|
67
|
+
if (immediateDeps !== undefined) {
|
|
68
|
+
for (var _i8 = 0; _i8 < immediateDeps.length; _i8++) {
|
|
69
|
+
var toName = immediateDeps[_i8];
|
|
76
70
|
collectTransitiveDependencies(collected, depGraph, toName);
|
|
77
71
|
}
|
|
78
72
|
}
|
|
79
73
|
}
|
|
80
74
|
}
|
|
75
|
+
|
|
76
|
+
function collectDependencies(selectionSet) {
|
|
77
|
+
var dependencies = [];
|
|
78
|
+
visit(selectionSet, {
|
|
79
|
+
FragmentSpread: function FragmentSpread(node) {
|
|
80
|
+
dependencies.push(node.name.value);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
return dependencies;
|
|
84
|
+
}
|
|
@@ -5,17 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.stripIgnoredCharacters = stripIgnoredCharacters;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _source = require("../language/source.js");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _tokenKind = require("../language/tokenKind.js");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _lexer = require("../language/lexer.js");
|
|
13
13
|
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
var _blockString = require("../language/blockString");
|
|
17
|
-
|
|
18
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
+
var _blockString = require("../language/blockString.js");
|
|
19
15
|
|
|
20
16
|
/**
|
|
21
17
|
* Strips characters that are not significant to the validity or execution
|
|
@@ -70,12 +66,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
70
66
|
* """Type description""" type Foo{"""Field description""" bar:String}
|
|
71
67
|
*/
|
|
72
68
|
function stripIgnoredCharacters(source) {
|
|
73
|
-
var sourceObj =
|
|
74
|
-
|
|
75
|
-
if (!(sourceObj instanceof _source.Source)) {
|
|
76
|
-
throw new TypeError("Must provide string or Source. Received: ".concat((0, _inspect.default)(sourceObj), "."));
|
|
77
|
-
}
|
|
78
|
-
|
|
69
|
+
var sourceObj = (0, _source.isSource)(source) ? source : new _source.Source(source);
|
|
79
70
|
var body = sourceObj.body;
|
|
80
71
|
var lexer = new _lexer.Lexer(sourceObj);
|
|
81
72
|
var strippedBody = '';
|
|
@@ -116,9 +107,8 @@ function dedentBlockString(blockStr) {
|
|
|
116
107
|
// skip leading and trailing triple quotations
|
|
117
108
|
var rawStr = blockStr.slice(3, -3);
|
|
118
109
|
var body = (0, _blockString.dedentBlockStringValue)(rawStr);
|
|
119
|
-
var lines = body.split(/\r\n|[\n\r]/g);
|
|
120
110
|
|
|
121
|
-
if ((0, _blockString.getBlockStringIndentation)(
|
|
111
|
+
if ((0, _blockString.getBlockStringIndentation)(body) > 0) {
|
|
122
112
|
body = '\n' + body;
|
|
123
113
|
}
|
|
124
114
|
|