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/language/source.mjs
CHANGED
|
@@ -3,15 +3,16 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
|
3
3
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
4
4
|
|
|
5
5
|
import { SYMBOL_TO_STRING_TAG } from "../polyfills/symbols.mjs";
|
|
6
|
+
import inspect from "../jsutils/inspect.mjs";
|
|
6
7
|
import devAssert from "../jsutils/devAssert.mjs";
|
|
8
|
+
import instanceOf from "../jsutils/instanceOf.mjs";
|
|
7
9
|
|
|
8
10
|
/**
|
|
9
|
-
* A representation of source input to GraphQL.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* line and column in locationOffset are 1-indexed
|
|
11
|
+
* A representation of source input to GraphQL. The `name` and `locationOffset` parameters are
|
|
12
|
+
* optional, but they are useful for clients who store GraphQL documents in source files.
|
|
13
|
+
* For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might
|
|
14
|
+
* be useful for `name` to be `"Foo.graphql"` and location to be `{ line: 40, column: 1 }`.
|
|
15
|
+
* The `line` and `column` properties in `locationOffset` are 1-indexed.
|
|
15
16
|
*/
|
|
16
17
|
export var Source = /*#__PURE__*/function () {
|
|
17
18
|
function Source(body) {
|
|
@@ -20,12 +21,13 @@ export var Source = /*#__PURE__*/function () {
|
|
|
20
21
|
line: 1,
|
|
21
22
|
column: 1
|
|
22
23
|
};
|
|
24
|
+
typeof body === 'string' || devAssert(0, "Body must be a string. Received: ".concat(inspect(body), "."));
|
|
23
25
|
this.body = body;
|
|
24
26
|
this.name = name;
|
|
25
27
|
this.locationOffset = locationOffset;
|
|
26
28
|
this.locationOffset.line > 0 || devAssert(0, 'line in locationOffset is 1-indexed and must be positive.');
|
|
27
29
|
this.locationOffset.column > 0 || devAssert(0, 'column in locationOffset is 1-indexed and must be positive.');
|
|
28
|
-
} // $FlowFixMe Flow doesn't support computed properties yet
|
|
30
|
+
} // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
|
|
29
31
|
|
|
30
32
|
|
|
31
33
|
_createClass(Source, [{
|
|
@@ -37,3 +39,13 @@ export var Source = /*#__PURE__*/function () {
|
|
|
37
39
|
|
|
38
40
|
return Source;
|
|
39
41
|
}();
|
|
42
|
+
/**
|
|
43
|
+
* Test if the given value is a Source object.
|
|
44
|
+
*
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
// eslint-disable-next-line no-redeclare
|
|
49
|
+
export function isSource(source) {
|
|
50
|
+
return instanceOf(source, Source);
|
|
51
|
+
}
|
package/language/visitor.d.ts
CHANGED
|
@@ -151,7 +151,7 @@ export const QueryDocumentKeys: {
|
|
|
151
151
|
export const BREAK: any;
|
|
152
152
|
|
|
153
153
|
/**
|
|
154
|
-
* visit() will walk through an AST using a depth
|
|
154
|
+
* visit() will walk through an AST using a depth-first traversal, calling
|
|
155
155
|
* the visitor's enter function at each node in the traversal, and calling the
|
|
156
156
|
* leave function after visiting that node and all of its child nodes.
|
|
157
157
|
*
|
|
@@ -185,10 +185,10 @@ export const BREAK: any;
|
|
|
185
185
|
*
|
|
186
186
|
* Alternatively to providing enter() and leave() functions, a visitor can
|
|
187
187
|
* instead provide functions named the same as the kinds of AST nodes, or
|
|
188
|
-
* enter/leave visitors at a named key, leading to four permutations of
|
|
188
|
+
* enter/leave visitors at a named key, leading to four permutations of the
|
|
189
189
|
* visitor API:
|
|
190
190
|
*
|
|
191
|
-
* 1) Named visitors triggered when entering a node a specific kind.
|
|
191
|
+
* 1) Named visitors triggered when entering a node of a specific kind.
|
|
192
192
|
*
|
|
193
193
|
* visit(ast, {
|
|
194
194
|
* Kind(node) {
|
package/language/visitor.js
CHANGED
|
@@ -8,9 +8,9 @@ exports.visitInParallel = visitInParallel;
|
|
|
8
8
|
exports.getVisitFn = getVisitFn;
|
|
9
9
|
exports.BREAK = exports.QueryDocumentKeys = void 0;
|
|
10
10
|
|
|
11
|
-
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
11
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
|
|
12
12
|
|
|
13
|
-
var _ast = require("./ast");
|
|
13
|
+
var _ast = require("./ast.js");
|
|
14
14
|
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
16
|
|
|
@@ -64,7 +64,7 @@ var QueryDocumentKeys = {
|
|
|
64
64
|
exports.QueryDocumentKeys = QueryDocumentKeys;
|
|
65
65
|
var BREAK = Object.freeze({});
|
|
66
66
|
/**
|
|
67
|
-
* visit() will walk through an AST using a depth
|
|
67
|
+
* visit() will walk through an AST using a depth-first traversal, calling
|
|
68
68
|
* the visitor's enter function at each node in the traversal, and calling the
|
|
69
69
|
* leave function after visiting that node and all of its child nodes.
|
|
70
70
|
*
|
|
@@ -98,10 +98,10 @@ var BREAK = Object.freeze({});
|
|
|
98
98
|
*
|
|
99
99
|
* Alternatively to providing enter() and leave() functions, a visitor can
|
|
100
100
|
* instead provide functions named the same as the kinds of AST nodes, or
|
|
101
|
-
* enter/leave visitors at a named key, leading to four permutations of
|
|
101
|
+
* enter/leave visitors at a named key, leading to four permutations of the
|
|
102
102
|
* visitor API:
|
|
103
103
|
*
|
|
104
|
-
* 1) Named visitors triggered when entering a node a specific kind.
|
|
104
|
+
* 1) Named visitors triggered when entering a node of a specific kind.
|
|
105
105
|
*
|
|
106
106
|
* visit(ast, {
|
|
107
107
|
* Kind(node) {
|
package/language/visitor.js.flow
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import inspect from '../jsutils/inspect';
|
|
4
3
|
|
|
5
4
|
import type { ASTNode, ASTKindToNode } from './ast';
|
|
@@ -139,7 +138,7 @@ export const QueryDocumentKeys: VisitorKeyMap<ASTKindToNode> = {
|
|
|
139
138
|
export const BREAK: { ... } = Object.freeze({});
|
|
140
139
|
|
|
141
140
|
/**
|
|
142
|
-
* visit() will walk through an AST using a depth
|
|
141
|
+
* visit() will walk through an AST using a depth-first traversal, calling
|
|
143
142
|
* the visitor's enter function at each node in the traversal, and calling the
|
|
144
143
|
* leave function after visiting that node and all of its child nodes.
|
|
145
144
|
*
|
|
@@ -173,10 +172,10 @@ export const BREAK: { ... } = Object.freeze({});
|
|
|
173
172
|
*
|
|
174
173
|
* Alternatively to providing enter() and leave() functions, a visitor can
|
|
175
174
|
* instead provide functions named the same as the kinds of AST nodes, or
|
|
176
|
-
* enter/leave visitors at a named key, leading to four permutations of
|
|
175
|
+
* enter/leave visitors at a named key, leading to four permutations of the
|
|
177
176
|
* visitor API:
|
|
178
177
|
*
|
|
179
|
-
* 1) Named visitors triggered when entering a node a specific kind.
|
|
178
|
+
* 1) Named visitors triggered when entering a node of a specific kind.
|
|
180
179
|
*
|
|
181
180
|
* visit(ast, {
|
|
182
181
|
* Kind(node) {
|
package/language/visitor.mjs
CHANGED
|
@@ -54,7 +54,7 @@ export var QueryDocumentKeys = {
|
|
|
54
54
|
};
|
|
55
55
|
export var BREAK = Object.freeze({});
|
|
56
56
|
/**
|
|
57
|
-
* visit() will walk through an AST using a depth
|
|
57
|
+
* visit() will walk through an AST using a depth-first traversal, calling
|
|
58
58
|
* the visitor's enter function at each node in the traversal, and calling the
|
|
59
59
|
* leave function after visiting that node and all of its child nodes.
|
|
60
60
|
*
|
|
@@ -88,10 +88,10 @@ export var BREAK = Object.freeze({});
|
|
|
88
88
|
*
|
|
89
89
|
* Alternatively to providing enter() and leave() functions, a visitor can
|
|
90
90
|
* instead provide functions named the same as the kinds of AST nodes, or
|
|
91
|
-
* enter/leave visitors at a named key, leading to four permutations of
|
|
91
|
+
* enter/leave visitors at a named key, leading to four permutations of the
|
|
92
92
|
* visitor API:
|
|
93
93
|
*
|
|
94
|
-
* 1) Named visitors triggered when entering a node a specific kind.
|
|
94
|
+
* 1) Named visitors triggered when entering a node of a specific kind.
|
|
95
95
|
*
|
|
96
96
|
* visit(ast, {
|
|
97
97
|
* Kind(node) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "graphql",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.5.0",
|
|
4
4
|
"description": "A Query Language and Runtime which can target any service.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "index",
|
|
@@ -21,6 +21,5 @@
|
|
|
21
21
|
],
|
|
22
22
|
"engines": {
|
|
23
23
|
"node": ">= 10.x"
|
|
24
|
-
}
|
|
25
|
-
"dependencies": {}
|
|
24
|
+
}
|
|
26
25
|
}
|
package/polyfills/arrayFrom.js
CHANGED
|
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _symbols = require("./symbols");
|
|
8
|
+
var _symbols = require("./symbols.js");
|
|
9
9
|
|
|
10
10
|
/* eslint-disable no-redeclare */
|
|
11
|
-
// $FlowFixMe
|
|
11
|
+
// $FlowFixMe[name-already-bound]
|
|
12
12
|
var arrayFrom = Array.from || function (obj, mapFn, thisArg) {
|
|
13
13
|
if (obj == null) {
|
|
14
14
|
throw new TypeError('Array.from requires an array-like object - not null or undefined');
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import { SYMBOL_ITERATOR } from './symbols';
|
|
4
3
|
|
|
5
4
|
declare function arrayFrom<T>(arrayLike: Iterable<T>): Array<T>;
|
|
@@ -11,7 +10,7 @@ declare function arrayFrom<T: mixed>(
|
|
|
11
10
|
): Array<T>;
|
|
12
11
|
|
|
13
12
|
/* eslint-disable no-redeclare */
|
|
14
|
-
// $FlowFixMe
|
|
13
|
+
// $FlowFixMe[name-already-bound]
|
|
15
14
|
const arrayFrom =
|
|
16
15
|
Array.from ||
|
|
17
16
|
function (obj, mapFn, thisArg) {
|
package/polyfills/arrayFrom.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SYMBOL_ITERATOR } from "./symbols.mjs";
|
|
2
2
|
|
|
3
3
|
/* eslint-disable no-redeclare */
|
|
4
|
-
// $FlowFixMe
|
|
4
|
+
// $FlowFixMe[name-already-bound]
|
|
5
5
|
var arrayFrom = Array.from || function (obj, mapFn, thisArg) {
|
|
6
6
|
if (obj == null) {
|
|
7
7
|
throw new TypeError('Array.from requires an array-like object - not null or undefined');
|
package/polyfills/find.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
8
|
/* eslint-disable no-redeclare */
|
|
9
|
-
// $FlowFixMe
|
|
9
|
+
// $FlowFixMe[name-already-bound]
|
|
10
10
|
var find = Array.prototype.find ? function (list, predicate) {
|
|
11
11
|
return Array.prototype.find.call(list, predicate);
|
|
12
12
|
} : function (list, predicate) {
|
package/polyfills/find.js.flow
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
declare function find<T>(
|
|
4
3
|
list: $ReadOnlyArray<T>,
|
|
5
4
|
predicate: (item: T) => boolean,
|
|
6
5
|
): T | void;
|
|
7
6
|
|
|
8
7
|
/* eslint-disable no-redeclare */
|
|
9
|
-
// $FlowFixMe
|
|
8
|
+
// $FlowFixMe[name-already-bound]
|
|
10
9
|
const find = Array.prototype.find
|
|
11
10
|
? function (list, predicate) {
|
|
12
11
|
return Array.prototype.find.call(list, predicate);
|
package/polyfills/find.mjs
CHANGED
package/polyfills/isFinite.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
8
|
/* eslint-disable no-redeclare */
|
|
9
|
-
// $FlowFixMe workaround for: https://github.com/facebook/flow/issues/4441
|
|
9
|
+
// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
|
|
10
10
|
var isFinitePolyfill = Number.isFinite || function (value) {
|
|
11
11
|
return typeof value === 'number' && isFinite(value);
|
|
12
12
|
};
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
declare function isFinitePolyfill(
|
|
4
3
|
value: mixed,
|
|
5
4
|
): boolean %checks(typeof value === 'number');
|
|
6
5
|
|
|
7
6
|
/* eslint-disable no-redeclare */
|
|
8
|
-
// $FlowFixMe workaround for: https://github.com/facebook/flow/issues/4441
|
|
7
|
+
// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
|
|
9
8
|
const isFinitePolyfill =
|
|
10
9
|
Number.isFinite ||
|
|
11
10
|
function (value) {
|
package/polyfills/isFinite.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable no-redeclare */
|
|
2
|
-
// $FlowFixMe workaround for: https://github.com/facebook/flow/issues/4441
|
|
2
|
+
// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
|
|
3
3
|
var isFinitePolyfill = Number.isFinite || function (value) {
|
|
4
4
|
return typeof value === 'number' && isFinite(value);
|
|
5
5
|
};
|
package/polyfills/isInteger.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
8
|
/* eslint-disable no-redeclare */
|
|
9
|
-
// $FlowFixMe workaround for: https://github.com/facebook/flow/issues/4441
|
|
9
|
+
// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
|
|
10
10
|
var isInteger = Number.isInteger || function (value) {
|
|
11
11
|
return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
|
|
12
12
|
};
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
declare function isInteger(value: mixed): boolean %checks(typeof value ===
|
|
4
3
|
'number');
|
|
5
4
|
|
|
6
5
|
/* eslint-disable no-redeclare */
|
|
7
|
-
// $FlowFixMe workaround for: https://github.com/facebook/flow/issues/4441
|
|
6
|
+
// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
|
|
8
7
|
const isInteger =
|
|
9
8
|
Number.isInteger ||
|
|
10
9
|
function (value) {
|
package/polyfills/isInteger.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable no-redeclare */
|
|
2
|
-
// $FlowFixMe workaround for: https://github.com/facebook/flow/issues/4441
|
|
2
|
+
// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
|
|
3
3
|
var isInteger = Number.isInteger || function (value) {
|
|
4
4
|
return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
|
|
5
5
|
};
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
8
|
/* eslint-disable no-redeclare */
|
|
9
|
-
// $FlowFixMe workaround for: https://github.com/facebook/flow/issues/
|
|
9
|
+
// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
|
|
10
10
|
var objectEntries = Object.entries || function (obj) {
|
|
11
11
|
return Object.keys(obj).map(function (key) {
|
|
12
12
|
return [key, obj[key]];
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import type { ObjMap } from '../jsutils/ObjMap';
|
|
4
3
|
|
|
5
4
|
declare function objectEntries<T>(obj: ObjMap<T>): Array<[string, T]>;
|
|
6
5
|
|
|
7
6
|
/* eslint-disable no-redeclare */
|
|
8
|
-
// $FlowFixMe workaround for: https://github.com/facebook/flow/issues/
|
|
7
|
+
// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
|
|
9
8
|
const objectEntries =
|
|
10
9
|
Object.entries || ((obj) => Object.keys(obj).map((key) => [key, obj[key]]));
|
|
11
10
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable no-redeclare */
|
|
2
|
-
// $FlowFixMe workaround for: https://github.com/facebook/flow/issues/
|
|
2
|
+
// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
|
|
3
3
|
var objectEntries = Object.entries || function (obj) {
|
|
4
4
|
return Object.keys(obj).map(function (key) {
|
|
5
5
|
return [key, obj[key]];
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
8
|
/* eslint-disable no-redeclare */
|
|
9
|
-
// $FlowFixMe workaround for: https://github.com/facebook/flow/issues/
|
|
9
|
+
// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
|
|
10
10
|
var objectValues = Object.values || function (obj) {
|
|
11
11
|
return Object.keys(obj).map(function (key) {
|
|
12
12
|
return obj[key];
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import type { ObjMap } from '../jsutils/ObjMap';
|
|
4
3
|
|
|
5
4
|
declare function objectValues<T>(obj: ObjMap<T>): Array<T>;
|
|
6
5
|
|
|
7
6
|
/* eslint-disable no-redeclare */
|
|
8
|
-
// $FlowFixMe workaround for: https://github.com/facebook/flow/issues/
|
|
7
|
+
// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
|
|
9
8
|
const objectValues =
|
|
10
9
|
Object.values || ((obj) => Object.keys(obj).map((key) => obj[key]));
|
|
11
10
|
export default objectValues;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable no-redeclare */
|
|
2
|
-
// $FlowFixMe workaround for: https://github.com/facebook/flow/issues/
|
|
2
|
+
// $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
|
|
3
3
|
var objectValues = Object.values || function (obj) {
|
|
4
4
|
return Object.keys(obj).map(function (key) {
|
|
5
5
|
return obj[key];
|
package/polyfills/symbols.js
CHANGED
|
@@ -6,14 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.SYMBOL_TO_STRING_TAG = exports.SYMBOL_ASYNC_ITERATOR = exports.SYMBOL_ITERATOR = void 0;
|
|
7
7
|
// In ES2015 (or a polyfilled) environment, this will be Symbol.iterator
|
|
8
8
|
// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
9
|
-
var SYMBOL_ITERATOR = typeof Symbol === 'function' ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator
|
|
9
|
+
var SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator
|
|
10
10
|
// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
11
11
|
|
|
12
12
|
exports.SYMBOL_ITERATOR = SYMBOL_ITERATOR;
|
|
13
|
-
var SYMBOL_ASYNC_ITERATOR =
|
|
14
|
-
typeof Symbol === 'function' ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
13
|
+
var SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
15
14
|
|
|
16
15
|
exports.SYMBOL_ASYNC_ITERATOR = SYMBOL_ASYNC_ITERATOR;
|
|
17
|
-
var SYMBOL_TO_STRING_TAG =
|
|
18
|
-
typeof Symbol === 'function' ? Symbol.toStringTag : '@@toStringTag';
|
|
16
|
+
var SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';
|
|
19
17
|
exports.SYMBOL_TO_STRING_TAG = SYMBOL_TO_STRING_TAG;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
// In ES2015 (or a polyfilled) environment, this will be Symbol.iterator
|
|
4
3
|
// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
5
4
|
export const SYMBOL_ITERATOR: string =
|
|
6
|
-
typeof Symbol === 'function'
|
|
5
|
+
typeof Symbol === 'function' && Symbol.iterator != null
|
|
6
|
+
? Symbol.iterator
|
|
7
|
+
: '@@iterator';
|
|
7
8
|
|
|
8
9
|
// In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator
|
|
9
10
|
// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
10
11
|
export const SYMBOL_ASYNC_ITERATOR: string =
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
typeof Symbol === 'function' && Symbol.asyncIterator != null
|
|
13
|
+
? Symbol.asyncIterator
|
|
14
|
+
: '@@asyncIterator';
|
|
13
15
|
|
|
14
16
|
// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
15
17
|
export const SYMBOL_TO_STRING_TAG: string =
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
typeof Symbol === 'function' && Symbol.toStringTag != null
|
|
19
|
+
? Symbol.toStringTag
|
|
20
|
+
: '@@toStringTag';
|
package/polyfills/symbols.mjs
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
// In ES2015 (or a polyfilled) environment, this will be Symbol.iterator
|
|
2
2
|
// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
3
|
-
export var SYMBOL_ITERATOR = typeof Symbol === 'function' ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator
|
|
3
|
+
export var SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator
|
|
4
4
|
// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
5
5
|
|
|
6
|
-
export var SYMBOL_ASYNC_ITERATOR =
|
|
7
|
-
typeof Symbol === 'function' ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
6
|
+
export var SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
8
7
|
|
|
9
|
-
export var SYMBOL_TO_STRING_TAG =
|
|
10
|
-
typeof Symbol === 'function' ? Symbol.toStringTag : '@@toStringTag';
|
|
8
|
+
export var SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';
|
package/subscription/index.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = mapAsyncIterator;
|
|
7
7
|
|
|
8
|
-
var _symbols = require("../polyfills/symbols");
|
|
8
|
+
var _symbols = require("../polyfills/symbols.js");
|
|
9
9
|
|
|
10
10
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
11
|
|
|
@@ -14,7 +14,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
14
14
|
* which produces values mapped via calling the callback function.
|
|
15
15
|
*/
|
|
16
16
|
function mapAsyncIterator(iterable, callback, rejectCallback) {
|
|
17
|
-
// $FlowFixMe
|
|
17
|
+
// $FlowFixMe[prop-missing]
|
|
18
18
|
var iteratorMethod = iterable[_symbols.SYMBOL_ASYNC_ITERATOR];
|
|
19
19
|
var iterator = iteratorMethod.call(iterable);
|
|
20
20
|
var $return;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import { SYMBOL_ASYNC_ITERATOR } from '../polyfills/symbols';
|
|
4
3
|
|
|
5
4
|
import type { PromiseOrValue } from '../jsutils/PromiseOrValue';
|
|
@@ -9,24 +8,24 @@ import type { PromiseOrValue } from '../jsutils/PromiseOrValue';
|
|
|
9
8
|
* which produces values mapped via calling the callback function.
|
|
10
9
|
*/
|
|
11
10
|
export default function mapAsyncIterator<T, U>(
|
|
12
|
-
iterable: AsyncIterable<T>,
|
|
11
|
+
iterable: AsyncIterable<T> | AsyncGenerator<T, void, void>,
|
|
13
12
|
callback: (T) => PromiseOrValue<U>,
|
|
14
13
|
rejectCallback?: (any) => PromiseOrValue<U>,
|
|
15
14
|
): AsyncGenerator<U, void, void> {
|
|
16
|
-
// $FlowFixMe
|
|
15
|
+
// $FlowFixMe[prop-missing]
|
|
17
16
|
const iteratorMethod = iterable[SYMBOL_ASYNC_ITERATOR];
|
|
18
17
|
const iterator: any = iteratorMethod.call(iterable);
|
|
19
18
|
let $return: any;
|
|
20
19
|
let abruptClose;
|
|
21
20
|
if (typeof iterator.return === 'function') {
|
|
22
21
|
$return = iterator.return;
|
|
23
|
-
abruptClose = (error) => {
|
|
22
|
+
abruptClose = (error: mixed) => {
|
|
24
23
|
const rethrow = () => Promise.reject(error);
|
|
25
24
|
return $return.call(iterator).then(rethrow, rethrow);
|
|
26
25
|
};
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
function mapResult(result) {
|
|
28
|
+
function mapResult(result: IteratorResult<T, void>) {
|
|
30
29
|
return result.done
|
|
31
30
|
? result
|
|
32
31
|
: asyncMapValue(result.value, callback).then(iteratorResult, abruptClose);
|
|
@@ -36,14 +35,14 @@ export default function mapAsyncIterator<T, U>(
|
|
|
36
35
|
if (rejectCallback) {
|
|
37
36
|
// Capture rejectCallback to ensure it cannot be null.
|
|
38
37
|
const reject = rejectCallback;
|
|
39
|
-
mapReject = (error) =>
|
|
38
|
+
mapReject = (error: mixed) =>
|
|
40
39
|
asyncMapValue(error, reject).then(iteratorResult, abruptClose);
|
|
41
40
|
}
|
|
42
41
|
|
|
43
42
|
/* TODO: Flow doesn't support symbols as keys:
|
|
44
43
|
https://github.com/facebook/flow/issues/3258 */
|
|
45
44
|
return ({
|
|
46
|
-
next() {
|
|
45
|
+
next(): Promise<IteratorResult<U, void>> {
|
|
47
46
|
return iterator.next().then(mapResult, mapReject);
|
|
48
47
|
},
|
|
49
48
|
return() {
|
|
@@ -51,7 +50,7 @@ export default function mapAsyncIterator<T, U>(
|
|
|
51
50
|
? $return.call(iterator).then(mapResult, mapReject)
|
|
52
51
|
: Promise.resolve({ value: undefined, done: true });
|
|
53
52
|
},
|
|
54
|
-
throw(error) {
|
|
53
|
+
throw(error?: mixed): Promise<IteratorResult<U, void>> {
|
|
55
54
|
if (typeof iterator.throw === 'function') {
|
|
56
55
|
return iterator.throw(error).then(mapResult, mapReject);
|
|
57
56
|
}
|
|
@@ -60,7 +59,7 @@ export default function mapAsyncIterator<T, U>(
|
|
|
60
59
|
[SYMBOL_ASYNC_ITERATOR]() {
|
|
61
60
|
return this;
|
|
62
61
|
},
|
|
63
|
-
}:
|
|
62
|
+
}: $FlowFixMe);
|
|
64
63
|
}
|
|
65
64
|
|
|
66
65
|
function asyncMapValue<T, U>(
|
|
@@ -7,7 +7,7 @@ import { SYMBOL_ASYNC_ITERATOR } from "../polyfills/symbols.mjs";
|
|
|
7
7
|
* which produces values mapped via calling the callback function.
|
|
8
8
|
*/
|
|
9
9
|
export default function mapAsyncIterator(iterable, callback, rejectCallback) {
|
|
10
|
-
// $FlowFixMe
|
|
10
|
+
// $FlowFixMe[prop-missing]
|
|
11
11
|
var iteratorMethod = iterable[SYMBOL_ASYNC_ITERATOR];
|
|
12
12
|
var iterator = iteratorMethod.call(iterable);
|
|
13
13
|
var $return;
|