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/execution/index.d.ts
CHANGED
package/execution/index.js
CHANGED
|
@@ -40,8 +40,8 @@ Object.defineProperty(exports, "getDirectiveValues", {
|
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
|
|
43
|
-
var _Path = require("../jsutils/Path");
|
|
43
|
+
var _Path = require("../jsutils/Path.js");
|
|
44
44
|
|
|
45
|
-
var _execute = require("./execute");
|
|
45
|
+
var _execute = require("./execute.js");
|
|
46
46
|
|
|
47
|
-
var _values = require("./values");
|
|
47
|
+
var _values = require("./values.js");
|
package/execution/index.js.flow
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
export { pathToArray as responsePathAsArray } from '../jsutils/Path';
|
|
4
3
|
|
|
5
4
|
export {
|
|
@@ -8,6 +7,11 @@ export {
|
|
|
8
7
|
defaultFieldResolver,
|
|
9
8
|
defaultTypeResolver,
|
|
10
9
|
} from './execute';
|
|
11
|
-
|
|
10
|
+
|
|
11
|
+
export type {
|
|
12
|
+
ExecutionArgs,
|
|
13
|
+
ExecutionResult,
|
|
14
|
+
FormattedExecutionResult,
|
|
15
|
+
} from './execute';
|
|
12
16
|
|
|
13
17
|
export { getDirectiveValues } from './values';
|
package/execution/values.js
CHANGED
|
@@ -7,27 +7,27 @@ exports.getVariableValues = getVariableValues;
|
|
|
7
7
|
exports.getArgumentValues = getArgumentValues;
|
|
8
8
|
exports.getDirectiveValues = getDirectiveValues;
|
|
9
9
|
|
|
10
|
-
var _find = _interopRequireDefault(require("../polyfills/find"));
|
|
10
|
+
var _find = _interopRequireDefault(require("../polyfills/find.js"));
|
|
11
11
|
|
|
12
|
-
var _keyMap = _interopRequireDefault(require("../jsutils/keyMap"));
|
|
12
|
+
var _keyMap = _interopRequireDefault(require("../jsutils/keyMap.js"));
|
|
13
13
|
|
|
14
|
-
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
14
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
|
|
15
15
|
|
|
16
|
-
var _printPathArray = _interopRequireDefault(require("../jsutils/printPathArray"));
|
|
16
|
+
var _printPathArray = _interopRequireDefault(require("../jsutils/printPathArray.js"));
|
|
17
17
|
|
|
18
|
-
var _GraphQLError = require("../error/GraphQLError");
|
|
18
|
+
var _GraphQLError = require("../error/GraphQLError.js");
|
|
19
19
|
|
|
20
|
-
var _kinds = require("../language/kinds");
|
|
20
|
+
var _kinds = require("../language/kinds.js");
|
|
21
21
|
|
|
22
|
-
var _printer = require("../language/printer");
|
|
22
|
+
var _printer = require("../language/printer.js");
|
|
23
23
|
|
|
24
|
-
var _definition = require("../type/definition");
|
|
24
|
+
var _definition = require("../type/definition.js");
|
|
25
25
|
|
|
26
|
-
var _typeFromAST = require("../utilities/typeFromAST");
|
|
26
|
+
var _typeFromAST = require("../utilities/typeFromAST.js");
|
|
27
27
|
|
|
28
|
-
var _valueFromAST = require("../utilities/valueFromAST");
|
|
28
|
+
var _valueFromAST = require("../utilities/valueFromAST.js");
|
|
29
29
|
|
|
30
|
-
var _coerceInputValue = require("../utilities/coerceInputValue");
|
|
30
|
+
var _coerceInputValue = require("../utilities/coerceInputValue.js");
|
|
31
31
|
|
|
32
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
33
33
|
|
package/execution/values.js.flow
CHANGED
package/graphql.js
CHANGED
|
@@ -6,15 +6,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.graphql = graphql;
|
|
7
7
|
exports.graphqlSync = graphqlSync;
|
|
8
8
|
|
|
9
|
-
var _isPromise = _interopRequireDefault(require("./jsutils/isPromise"));
|
|
9
|
+
var _isPromise = _interopRequireDefault(require("./jsutils/isPromise.js"));
|
|
10
10
|
|
|
11
|
-
var _parser = require("./language/parser");
|
|
11
|
+
var _parser = require("./language/parser.js");
|
|
12
12
|
|
|
13
|
-
var _validate = require("./validation/validate");
|
|
13
|
+
var _validate = require("./validation/validate.js");
|
|
14
14
|
|
|
15
|
-
var _validate2 = require("./type/validate");
|
|
15
|
+
var _validate2 = require("./type/validate.js");
|
|
16
16
|
|
|
17
|
-
var _execute = require("./execution/execute");
|
|
17
|
+
var _execute = require("./execution/execute.js");
|
|
18
18
|
|
|
19
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
20
|
|
package/graphql.js.flow
CHANGED
package/index.d.ts
CHANGED
|
@@ -299,6 +299,7 @@ export {
|
|
|
299
299
|
getDirectiveValues,
|
|
300
300
|
ExecutionArgs,
|
|
301
301
|
ExecutionResult,
|
|
302
|
+
FormattedExecutionResult,
|
|
302
303
|
} from './execution/index';
|
|
303
304
|
|
|
304
305
|
export {
|
|
@@ -460,4 +461,5 @@ export {
|
|
|
460
461
|
BuildSchemaOptions,
|
|
461
462
|
BreakingChange,
|
|
462
463
|
DangerousChange,
|
|
464
|
+
TypedQueryDocumentNode,
|
|
463
465
|
} from './utilities/index';
|
package/index.js
CHANGED
|
@@ -1186,20 +1186,20 @@ Object.defineProperty(exports, "findDeprecatedUsages", {
|
|
|
1186
1186
|
}
|
|
1187
1187
|
});
|
|
1188
1188
|
|
|
1189
|
-
var _version = require("./version");
|
|
1189
|
+
var _version = require("./version.js");
|
|
1190
1190
|
|
|
1191
|
-
var _graphql = require("./graphql");
|
|
1191
|
+
var _graphql = require("./graphql.js");
|
|
1192
1192
|
|
|
1193
|
-
var _index = require("./type/index");
|
|
1193
|
+
var _index = require("./type/index.js");
|
|
1194
1194
|
|
|
1195
|
-
var _index2 = require("./language/index");
|
|
1195
|
+
var _index2 = require("./language/index.js");
|
|
1196
1196
|
|
|
1197
|
-
var _index3 = require("./execution/index");
|
|
1197
|
+
var _index3 = require("./execution/index.js");
|
|
1198
1198
|
|
|
1199
|
-
var _index4 = require("./subscription/index");
|
|
1199
|
+
var _index4 = require("./subscription/index.js");
|
|
1200
1200
|
|
|
1201
|
-
var _index5 = require("./validation/index");
|
|
1201
|
+
var _index5 = require("./validation/index.js");
|
|
1202
1202
|
|
|
1203
|
-
var _index6 = require("./error/index");
|
|
1203
|
+
var _index6 = require("./error/index.js");
|
|
1204
1204
|
|
|
1205
|
-
var _index7 = require("./utilities/index");
|
|
1205
|
+
var _index7 = require("./utilities/index.js");
|
package/index.js.flow
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
/**
|
|
4
3
|
* GraphQL.js provides a reference implementation for the GraphQL specification
|
|
5
4
|
* but is also a useful utility for operating on GraphQL files and building
|
|
@@ -288,7 +287,11 @@ export {
|
|
|
288
287
|
getDirectiveValues,
|
|
289
288
|
} from './execution/index';
|
|
290
289
|
|
|
291
|
-
export type {
|
|
290
|
+
export type {
|
|
291
|
+
ExecutionArgs,
|
|
292
|
+
ExecutionResult,
|
|
293
|
+
FormattedExecutionResult,
|
|
294
|
+
} from './execution/index';
|
|
292
295
|
|
|
293
296
|
export { subscribe, createSourceEventStream } from './subscription/index';
|
|
294
297
|
export type { SubscriptionArgs } from './subscription/index';
|
package/jsutils/ObjMap.js.flow
CHANGED
package/jsutils/Path.js.flow
CHANGED
package/jsutils/defineInspect.js
CHANGED
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = defineInspect;
|
|
7
7
|
|
|
8
|
-
var _invariant = _interopRequireDefault(require("./invariant"));
|
|
8
|
+
var _invariant = _interopRequireDefault(require("./invariant.js"));
|
|
9
9
|
|
|
10
|
-
var _nodejsCustomInspectSymbol = _interopRequireDefault(require("./nodejsCustomInspectSymbol"));
|
|
10
|
+
var _nodejsCustomInspectSymbol = _interopRequireDefault(require("./nodejsCustomInspectSymbol.js"));
|
|
11
11
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
package/jsutils/inspect.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = inspect;
|
|
7
7
|
|
|
8
|
-
var _nodejsCustomInspectSymbol = _interopRequireDefault(require("./nodejsCustomInspectSymbol"));
|
|
8
|
+
var _nodejsCustomInspectSymbol = _interopRequireDefault(require("./nodejsCustomInspectSymbol.js"));
|
|
9
9
|
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
11
|
|
|
@@ -50,7 +50,6 @@ function formatObjectValue(value, previouslySeenValues) {
|
|
|
50
50
|
var customInspectFn = getCustomFn(value);
|
|
51
51
|
|
|
52
52
|
if (customInspectFn !== undefined) {
|
|
53
|
-
// $FlowFixMe(>=0.90.0)
|
|
54
53
|
var customValue = customInspectFn.call(value); // check for infinite recursion
|
|
55
54
|
|
|
56
55
|
if (customValue !== value) {
|
package/jsutils/inspect.js.flow
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
2
|
+
/* eslint-disable flowtype/no-weak-types */
|
|
3
3
|
import nodejsCustomInspectSymbol from './nodejsCustomInspectSymbol';
|
|
4
4
|
|
|
5
5
|
const MAX_ARRAY_LENGTH = 10;
|
|
@@ -12,7 +12,7 @@ export default function inspect(value: mixed): string {
|
|
|
12
12
|
return formatValue(value, []);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
function formatValue(value, seenValues) {
|
|
15
|
+
function formatValue(value: mixed, seenValues: Array<mixed>): string {
|
|
16
16
|
switch (typeof value) {
|
|
17
17
|
case 'string':
|
|
18
18
|
return JSON.stringify(value);
|
|
@@ -28,7 +28,10 @@ function formatValue(value, seenValues) {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
function formatObjectValue(
|
|
31
|
+
function formatObjectValue(
|
|
32
|
+
value: Object,
|
|
33
|
+
previouslySeenValues: Array<mixed>,
|
|
34
|
+
): string {
|
|
32
35
|
if (previouslySeenValues.indexOf(value) !== -1) {
|
|
33
36
|
return '[Circular]';
|
|
34
37
|
}
|
|
@@ -37,7 +40,6 @@ function formatObjectValue(value, previouslySeenValues) {
|
|
|
37
40
|
const customInspectFn = getCustomFn(value);
|
|
38
41
|
|
|
39
42
|
if (customInspectFn !== undefined) {
|
|
40
|
-
// $FlowFixMe(>=0.90.0)
|
|
41
43
|
const customValue = customInspectFn.call(value);
|
|
42
44
|
|
|
43
45
|
// check for infinite recursion
|
|
@@ -53,7 +55,7 @@ function formatObjectValue(value, previouslySeenValues) {
|
|
|
53
55
|
return formatObject(value, seenValues);
|
|
54
56
|
}
|
|
55
57
|
|
|
56
|
-
function formatObject(object, seenValues) {
|
|
58
|
+
function formatObject(object: Object, seenValues: Array<mixed>): string {
|
|
57
59
|
const keys = Object.keys(object);
|
|
58
60
|
if (keys.length === 0) {
|
|
59
61
|
return '{}';
|
|
@@ -71,7 +73,7 @@ function formatObject(object, seenValues) {
|
|
|
71
73
|
return '{ ' + properties.join(', ') + ' }';
|
|
72
74
|
}
|
|
73
75
|
|
|
74
|
-
function formatArray(array
|
|
76
|
+
function formatArray(array: Array<mixed>, seenValues: Array<mixed>): string {
|
|
75
77
|
if (array.length === 0) {
|
|
76
78
|
return '[]';
|
|
77
79
|
}
|
|
@@ -97,7 +99,7 @@ function formatArray(array, seenValues) {
|
|
|
97
99
|
return '[' + items.join(', ') + ']';
|
|
98
100
|
}
|
|
99
101
|
|
|
100
|
-
function getCustomFn(object) {
|
|
102
|
+
function getCustomFn(object: Object) {
|
|
101
103
|
const customInspectFn = object[String(nodejsCustomInspectSymbol)];
|
|
102
104
|
|
|
103
105
|
if (typeof customInspectFn === 'function') {
|
|
@@ -109,7 +111,7 @@ function getCustomFn(object) {
|
|
|
109
111
|
}
|
|
110
112
|
}
|
|
111
113
|
|
|
112
|
-
function getObjectTag(object) {
|
|
114
|
+
function getObjectTag(object: Object): string {
|
|
113
115
|
const tag = Object.prototype.toString
|
|
114
116
|
.call(object)
|
|
115
117
|
.replace(/^\[object /, '')
|
package/jsutils/inspect.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; 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
|
+
/* eslint-disable flowtype/no-weak-types */
|
|
3
4
|
import nodejsCustomInspectSymbol from "./nodejsCustomInspectSymbol.mjs";
|
|
4
5
|
var MAX_ARRAY_LENGTH = 10;
|
|
5
6
|
var MAX_RECURSIVE_DEPTH = 2;
|
|
@@ -40,7 +41,6 @@ function formatObjectValue(value, previouslySeenValues) {
|
|
|
40
41
|
var customInspectFn = getCustomFn(value);
|
|
41
42
|
|
|
42
43
|
if (customInspectFn !== undefined) {
|
|
43
|
-
// $FlowFixMe(>=0.90.0)
|
|
44
44
|
var customValue = customInspectFn.call(value); // check for infinite recursion
|
|
45
45
|
|
|
46
46
|
if (customValue !== value) {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
/**
|
|
4
3
|
* A replacement for instanceof which includes an error warning when multi-realm
|
|
5
4
|
* constructors are detected.
|
|
@@ -14,11 +13,11 @@ declare function instanceOf(
|
|
|
14
13
|
export default process.env.NODE_ENV === 'production'
|
|
15
14
|
? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
16
15
|
// eslint-disable-next-line no-shadow
|
|
17
|
-
function instanceOf(value: mixed, constructor: mixed) {
|
|
16
|
+
function instanceOf(value: mixed, constructor: mixed): boolean {
|
|
18
17
|
return value instanceof constructor;
|
|
19
18
|
}
|
|
20
19
|
: // eslint-disable-next-line no-shadow
|
|
21
|
-
function instanceOf(value: any, constructor: any) {
|
|
20
|
+
function instanceOf(value: any, constructor: any): boolean {
|
|
22
21
|
if (value instanceof constructor) {
|
|
23
22
|
return true;
|
|
24
23
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = isAsyncIterable;
|
|
7
|
+
|
|
8
|
+
var _symbols = require("../polyfills/symbols.js");
|
|
9
|
+
|
|
10
|
+
// eslint-disable-next-line no-redeclare
|
|
11
|
+
function isAsyncIterable(maybeAsyncIterable) {
|
|
12
|
+
return typeof (maybeAsyncIterable === null || maybeAsyncIterable === void 0 ? void 0 : maybeAsyncIterable[_symbols.SYMBOL_ASYNC_ITERATOR]) === 'function';
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// @flow strict
|
|
2
|
+
import { SYMBOL_ASYNC_ITERATOR } from '../polyfills/symbols';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Returns true if the provided object implements the AsyncIterator protocol via
|
|
6
|
+
* either implementing a `Symbol.asyncIterator` or `"@@asyncIterator"` method.
|
|
7
|
+
*/
|
|
8
|
+
declare function isAsyncIterable(value: mixed): boolean %checks(value instanceof
|
|
9
|
+
AsyncIterable);
|
|
10
|
+
|
|
11
|
+
// eslint-disable-next-line no-redeclare
|
|
12
|
+
export default function isAsyncIterable(maybeAsyncIterable) {
|
|
13
|
+
return typeof maybeAsyncIterable?.[SYMBOL_ASYNC_ITERATOR] === 'function';
|
|
14
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SYMBOL_ASYNC_ITERATOR } from "../polyfills/symbols.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Returns true if the provided object implements the AsyncIterator protocol via
|
|
4
|
+
* either implementing a `Symbol.asyncIterator` or `"@@asyncIterator"` method.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// eslint-disable-next-line no-redeclare
|
|
8
|
+
export default function isAsyncIterable(maybeAsyncIterable) {
|
|
9
|
+
return typeof (maybeAsyncIterable === null || maybeAsyncIterable === void 0 ? void 0 : maybeAsyncIterable[SYMBOL_ASYNC_ITERATOR]) === 'function';
|
|
10
|
+
}
|
package/jsutils/keyMap.js.flow
CHANGED
package/jsutils/mapValue.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = mapValue;
|
|
7
7
|
|
|
8
|
-
var _objectEntries3 = _interopRequireDefault(require("../polyfills/objectEntries"));
|
|
8
|
+
var _objectEntries3 = _interopRequireDefault(require("../polyfills/objectEntries.js"));
|
|
9
9
|
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
11
|
|
package/jsutils/mapValue.js.flow
CHANGED
package/jsutils/memoize3.js
CHANGED
|
@@ -10,8 +10,7 @@ exports.default = memoize3;
|
|
|
10
10
|
*/
|
|
11
11
|
function memoize3(fn) {
|
|
12
12
|
var cache0;
|
|
13
|
-
|
|
14
|
-
function memoized(a1, a2, a3) {
|
|
13
|
+
return function memoized(a1, a2, a3) {
|
|
15
14
|
if (!cache0) {
|
|
16
15
|
cache0 = new WeakMap();
|
|
17
16
|
}
|
|
@@ -42,7 +41,5 @@ function memoize3(fn) {
|
|
|
42
41
|
var newValue = fn(a1, a2, a3);
|
|
43
42
|
cache2.set(a3, newValue);
|
|
44
43
|
return newValue;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
return memoized;
|
|
44
|
+
};
|
|
48
45
|
}
|
package/jsutils/memoize3.js.flow
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
/**
|
|
4
3
|
* Memoizes the provided three-argument function.
|
|
5
4
|
*/
|
|
@@ -11,7 +10,7 @@ export default function memoize3<
|
|
|
11
10
|
>(fn: (A1, A2, A3) => R): (A1, A2, A3) => R {
|
|
12
11
|
let cache0;
|
|
13
12
|
|
|
14
|
-
function memoized(a1, a2, a3) {
|
|
13
|
+
return function memoized(a1, a2, a3) {
|
|
15
14
|
if (!cache0) {
|
|
16
15
|
cache0 = new WeakMap();
|
|
17
16
|
}
|
|
@@ -36,7 +35,5 @@ export default function memoize3<
|
|
|
36
35
|
const newValue = fn(a1, a2, a3);
|
|
37
36
|
cache2.set(a3, newValue);
|
|
38
37
|
return newValue;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return memoized;
|
|
38
|
+
};
|
|
42
39
|
}
|
package/jsutils/memoize3.mjs
CHANGED
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export default function memoize3(fn) {
|
|
5
5
|
var cache0;
|
|
6
|
-
|
|
7
|
-
function memoized(a1, a2, a3) {
|
|
6
|
+
return function memoized(a1, a2, a3) {
|
|
8
7
|
if (!cache0) {
|
|
9
8
|
cache0 = new WeakMap();
|
|
10
9
|
}
|
|
@@ -35,7 +34,5 @@ export default function memoize3(fn) {
|
|
|
35
34
|
var newValue = fn(a1, a2, a3);
|
|
36
35
|
cache2.set(a3, newValue);
|
|
37
36
|
return newValue;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
return memoized;
|
|
37
|
+
};
|
|
41
38
|
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = naturalCompare;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Returns a number indicating whether a reference string comes before, or after,
|
|
10
|
+
* or is the same as the given string in natural sort order.
|
|
11
|
+
*
|
|
12
|
+
* See: https://en.wikipedia.org/wiki/Natural_sort_order
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
function naturalCompare(aStr, bStr) {
|
|
16
|
+
var aIdx = 0;
|
|
17
|
+
var bIdx = 0;
|
|
18
|
+
|
|
19
|
+
while (aIdx < aStr.length && bIdx < bStr.length) {
|
|
20
|
+
var aChar = aStr.charCodeAt(aIdx);
|
|
21
|
+
var bChar = bStr.charCodeAt(bIdx);
|
|
22
|
+
|
|
23
|
+
if (isDigit(aChar) && isDigit(bChar)) {
|
|
24
|
+
var aNum = 0;
|
|
25
|
+
|
|
26
|
+
do {
|
|
27
|
+
++aIdx;
|
|
28
|
+
aNum = aNum * 10 + aChar - DIGIT_0;
|
|
29
|
+
aChar = aStr.charCodeAt(aIdx);
|
|
30
|
+
} while (isDigit(aChar) && aNum > 0);
|
|
31
|
+
|
|
32
|
+
var bNum = 0;
|
|
33
|
+
|
|
34
|
+
do {
|
|
35
|
+
++bIdx;
|
|
36
|
+
bNum = bNum * 10 + bChar - DIGIT_0;
|
|
37
|
+
bChar = bStr.charCodeAt(bIdx);
|
|
38
|
+
} while (isDigit(bChar) && bNum > 0);
|
|
39
|
+
|
|
40
|
+
if (aNum < bNum) {
|
|
41
|
+
return -1;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (aNum > bNum) {
|
|
45
|
+
return 1;
|
|
46
|
+
}
|
|
47
|
+
} else {
|
|
48
|
+
if (aChar < bChar) {
|
|
49
|
+
return -1;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (aChar > bChar) {
|
|
53
|
+
return 1;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
++aIdx;
|
|
57
|
+
++bIdx;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return aStr.length - bStr.length;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
var DIGIT_0 = 48;
|
|
65
|
+
var DIGIT_9 = 57;
|
|
66
|
+
|
|
67
|
+
function isDigit(code) {
|
|
68
|
+
return !isNaN(code) && DIGIT_0 <= code && code <= DIGIT_9;
|
|
69
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// @flow strict
|
|
2
|
+
/**
|
|
3
|
+
* Returns a number indicating whether a reference string comes before, or after,
|
|
4
|
+
* or is the same as the given string in natural sort order.
|
|
5
|
+
*
|
|
6
|
+
* See: https://en.wikipedia.org/wiki/Natural_sort_order
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
export default function naturalCompare(aStr: string, bStr: string): number {
|
|
10
|
+
let aIdx = 0;
|
|
11
|
+
let bIdx = 0;
|
|
12
|
+
|
|
13
|
+
while (aIdx < aStr.length && bIdx < bStr.length) {
|
|
14
|
+
let aChar = aStr.charCodeAt(aIdx);
|
|
15
|
+
let bChar = bStr.charCodeAt(bIdx);
|
|
16
|
+
|
|
17
|
+
if (isDigit(aChar) && isDigit(bChar)) {
|
|
18
|
+
let aNum = 0;
|
|
19
|
+
do {
|
|
20
|
+
++aIdx;
|
|
21
|
+
aNum = aNum * 10 + aChar - DIGIT_0;
|
|
22
|
+
aChar = aStr.charCodeAt(aIdx);
|
|
23
|
+
} while (isDigit(aChar) && aNum > 0);
|
|
24
|
+
|
|
25
|
+
let bNum = 0;
|
|
26
|
+
do {
|
|
27
|
+
++bIdx;
|
|
28
|
+
bNum = bNum * 10 + bChar - DIGIT_0;
|
|
29
|
+
bChar = bStr.charCodeAt(bIdx);
|
|
30
|
+
} while (isDigit(bChar) && bNum > 0);
|
|
31
|
+
|
|
32
|
+
if (aNum < bNum) {
|
|
33
|
+
return -1;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (aNum > bNum) {
|
|
37
|
+
return 1;
|
|
38
|
+
}
|
|
39
|
+
} else {
|
|
40
|
+
if (aChar < bChar) {
|
|
41
|
+
return -1;
|
|
42
|
+
}
|
|
43
|
+
if (aChar > bChar) {
|
|
44
|
+
return 1;
|
|
45
|
+
}
|
|
46
|
+
++aIdx;
|
|
47
|
+
++bIdx;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return aStr.length - bStr.length;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const DIGIT_0 = 48;
|
|
55
|
+
const DIGIT_9 = 57;
|
|
56
|
+
|
|
57
|
+
function isDigit(code: number): boolean {
|
|
58
|
+
return !isNaN(code) && DIGIT_0 <= code && code <= DIGIT_9;
|
|
59
|
+
}
|