graphql 15.3.0 → 15.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +10 -0
- 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 +0 -15
- package/execution/execute.js +104 -104
- package/execution/execute.js.flow +119 -133
- package/execution/execute.mjs +86 -82
- package/execution/index.js +3 -3
- package/execution/index.js.flow +0 -1
- 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 +1 -0
- package/index.js +9 -9
- package/index.js.flow +0 -1
- 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 +15 -9
- package/jsutils/instanceOf.js.flow +13 -7
- package/jsutils/instanceOf.mjs +13 -5
- 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 +7 -0
- package/language/source.js +20 -3
- package/language/source.js.flow +21 -3
- package/language/source.mjs +14 -1
- package/language/tokenKind.js.flow +0 -1
- package/language/visitor.js +2 -2
- package/language/visitor.js.flow +0 -1
- 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 +16 -6
- 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 +3 -3
- package/version.js.flow +3 -4
- package/version.mjs +3 -3
- 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/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
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
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) {
|
package/jsutils/instanceOf.js
CHANGED
|
@@ -5,10 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
var _inspect = _interopRequireDefault(require("./inspect.js"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
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); }
|
|
13
|
+
|
|
12
14
|
// See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production
|
|
13
15
|
// See: https://webpack.js.org/guides/production/
|
|
14
16
|
var _default = process.env.NODE_ENV === 'production' ? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
@@ -21,12 +23,16 @@ function instanceOf(value, constructor) {
|
|
|
21
23
|
return true;
|
|
22
24
|
}
|
|
23
25
|
|
|
24
|
-
if (value) {
|
|
25
|
-
var
|
|
26
|
-
|
|
26
|
+
if (_typeof(value) === 'object' && value !== null) {
|
|
27
|
+
var _value$constructor;
|
|
28
|
+
|
|
29
|
+
var className = constructor.prototype[Symbol.toStringTag];
|
|
30
|
+
var valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.
|
|
31
|
+
Symbol.toStringTag in value ? value[Symbol.toStringTag] : (_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor.name;
|
|
27
32
|
|
|
28
|
-
if (className
|
|
29
|
-
|
|
33
|
+
if (className === valueClassName) {
|
|
34
|
+
var stringifiedValue = (0, _inspect.default)(value);
|
|
35
|
+
throw new Error("Cannot use ".concat(className, " \"").concat(stringifiedValue, "\" from another module or realm.\n\nEnsure that there is only one instance of \"graphql\" in the node_modules\ndirectory. If different versions of \"graphql\" are the dependencies of other\nrelied on modules, use \"resolutions\" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate \"graphql\" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results."));
|
|
30
36
|
}
|
|
31
37
|
}
|
|
32
38
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
+
import inspect from './inspect';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* A replacement for instanceof which includes an error warning when multi-realm
|
|
@@ -14,20 +15,25 @@ declare function instanceOf(
|
|
|
14
15
|
export default process.env.NODE_ENV === 'production'
|
|
15
16
|
? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
16
17
|
// eslint-disable-next-line no-shadow
|
|
17
|
-
function instanceOf(value: mixed, constructor: mixed) {
|
|
18
|
+
function instanceOf(value: mixed, constructor: mixed): boolean {
|
|
18
19
|
return value instanceof constructor;
|
|
19
20
|
}
|
|
20
21
|
: // eslint-disable-next-line no-shadow
|
|
21
|
-
function instanceOf(value: any, constructor: any) {
|
|
22
|
+
function instanceOf(value: any, constructor: any): boolean {
|
|
22
23
|
if (value instanceof constructor) {
|
|
23
24
|
return true;
|
|
24
25
|
}
|
|
25
|
-
if (value) {
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
|
|
26
|
+
if (typeof value === 'object' && value !== null) {
|
|
27
|
+
const className = constructor.prototype[Symbol.toStringTag];
|
|
28
|
+
const valueClassName =
|
|
29
|
+
// We still need to support constructor's name to detect conflicts with older versions of this library.
|
|
30
|
+
Symbol.toStringTag in value
|
|
31
|
+
? value[Symbol.toStringTag]
|
|
32
|
+
: value.constructor?.name;
|
|
33
|
+
if (className === valueClassName) {
|
|
34
|
+
const stringifiedValue = inspect(value);
|
|
29
35
|
throw new Error(
|
|
30
|
-
`Cannot use ${className} "${
|
|
36
|
+
`Cannot use ${className} "${stringifiedValue}" from another module or realm.
|
|
31
37
|
|
|
32
38
|
Ensure that there is only one instance of "graphql" in the node_modules
|
|
33
39
|
directory. If different versions of "graphql" are the dependencies of other
|
package/jsutils/instanceOf.mjs
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
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
|
+
|
|
3
|
+
import inspect from "./inspect.mjs";
|
|
1
4
|
/**
|
|
2
5
|
* A replacement for instanceof which includes an error warning when multi-realm
|
|
3
6
|
* constructors are detected.
|
|
4
7
|
*/
|
|
8
|
+
|
|
5
9
|
// See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production
|
|
6
10
|
// See: https://webpack.js.org/guides/production/
|
|
7
11
|
export default process.env.NODE_ENV === 'production' ? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
@@ -14,12 +18,16 @@ function instanceOf(value, constructor) {
|
|
|
14
18
|
return true;
|
|
15
19
|
}
|
|
16
20
|
|
|
17
|
-
if (value) {
|
|
18
|
-
var
|
|
19
|
-
|
|
21
|
+
if (_typeof(value) === 'object' && value !== null) {
|
|
22
|
+
var _value$constructor;
|
|
23
|
+
|
|
24
|
+
var className = constructor.prototype[Symbol.toStringTag];
|
|
25
|
+
var valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.
|
|
26
|
+
Symbol.toStringTag in value ? value[Symbol.toStringTag] : (_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor.name;
|
|
20
27
|
|
|
21
|
-
if (className
|
|
22
|
-
|
|
28
|
+
if (className === valueClassName) {
|
|
29
|
+
var stringifiedValue = inspect(value);
|
|
30
|
+
throw new Error("Cannot use ".concat(className, " \"").concat(stringifiedValue, "\" from another module or realm.\n\nEnsure that there is only one instance of \"graphql\" in the node_modules\ndirectory. If different versions of \"graphql\" are the dependencies of other\nrelied on modules, use \"resolutions\" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate \"graphql\" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results."));
|
|
23
31
|
}
|
|
24
32
|
}
|
|
25
33
|
|
|
@@ -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
|
+
}
|