graphql 14.0.2 → 14.1.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/README.md +4 -4
- package/error/GraphQLError.js +1 -1
- package/error/GraphQLError.js.flow +3 -3
- package/error/GraphQLError.mjs +1 -1
- package/error/formatError.js +1 -1
- package/error/formatError.mjs +1 -1
- package/error/index.mjs +1 -1
- package/error/locatedError.js +1 -1
- package/error/locatedError.mjs +1 -1
- package/error/printError.js +1 -1
- package/error/printError.mjs +1 -1
- package/error/syntaxError.js +1 -1
- package/error/syntaxError.mjs +1 -1
- package/execution/execute.mjs +1 -1
- package/execution/index.mjs +1 -1
- package/execution/values.js +3 -3
- package/execution/values.js.flow +1 -1
- package/execution/values.mjs +2 -2
- package/graphql.js +1 -1
- package/graphql.mjs +1 -1
- package/index.js +12 -0
- package/index.js.flow +2 -0
- package/index.mjs +2 -2
- package/jsutils/dedent.js +1 -1
- package/jsutils/dedent.mjs +1 -1
- package/jsutils/defineToJSON.js +17 -6
- package/jsutils/defineToJSON.js.flow +14 -5
- package/jsutils/defineToJSON.mjs +14 -6
- package/jsutils/defineToStringTag.js +5 -5
- package/jsutils/defineToStringTag.js.flow +3 -3
- package/jsutils/defineToStringTag.mjs +4 -4
- package/jsutils/inspect.js +22 -11
- package/jsutils/inspect.js.flow +22 -2
- package/jsutils/inspect.mjs +21 -4
- package/jsutils/instanceOf.js +1 -1
- package/jsutils/instanceOf.mjs +1 -1
- package/jsutils/invariant.js +1 -1
- package/jsutils/invariant.mjs +1 -1
- package/jsutils/isInvalid.js +1 -1
- package/jsutils/isInvalid.mjs +1 -1
- package/jsutils/isNullish.js +1 -1
- package/jsutils/isNullish.mjs +1 -1
- package/jsutils/isPromise.js +1 -1
- package/jsutils/isPromise.mjs +1 -1
- package/jsutils/keyMap.js +1 -1
- package/jsutils/keyMap.mjs +1 -1
- package/jsutils/keyValMap.js +1 -1
- package/jsutils/keyValMap.mjs +1 -1
- package/jsutils/mapValue.js +54 -0
- package/jsutils/mapValue.js.flow +27 -0
- package/jsutils/mapValue.mjs +44 -0
- package/jsutils/memoize3.js +1 -1
- package/jsutils/memoize3.mjs +1 -1
- package/jsutils/nodejsCustomInspectSymbol.js +18 -0
- package/jsutils/nodejsCustomInspectSymbol.js.flow +15 -0
- package/jsutils/nodejsCustomInspectSymbol.mjs +10 -0
- package/jsutils/orList.js +17 -4
- package/jsutils/orList.js.flow +13 -7
- package/jsutils/orList.mjs +14 -4
- package/jsutils/promiseForObject.js +1 -1
- package/jsutils/promiseForObject.mjs +1 -1
- package/jsutils/promiseReduce.js +1 -1
- package/jsutils/promiseReduce.mjs +1 -1
- package/jsutils/quotedOrList.js +1 -1
- package/jsutils/quotedOrList.mjs +1 -1
- package/jsutils/suggestionList.js +1 -1
- package/jsutils/suggestionList.mjs +1 -1
- package/language/blockStringValue.js +1 -1
- package/language/blockStringValue.mjs +1 -1
- package/language/directiveLocation.js +1 -1
- package/language/directiveLocation.mjs +1 -1
- package/language/index.mjs +1 -1
- package/language/kinds.js +1 -1
- package/language/kinds.mjs +1 -1
- package/language/lexer.js +28 -12
- package/language/lexer.js.flow +33 -19
- package/language/lexer.mjs +27 -12
- package/language/location.js +1 -1
- package/language/location.mjs +1 -1
- package/language/parser.js +31 -38
- package/language/parser.js.flow +32 -48
- package/language/parser.mjs +30 -38
- package/language/predicates.js +1 -1
- package/language/predicates.mjs +1 -1
- package/language/printer.js +13 -7
- package/language/printer.js.flow +19 -9
- package/language/printer.mjs +13 -7
- package/language/source.js +8 -7
- package/language/source.mjs +1 -9
- package/language/visitor.js +6 -5
- package/language/visitor.js.flow +2 -4
- package/language/visitor.mjs +6 -5
- package/package.json +5 -2
- package/polyfills/find.js +31 -0
- package/polyfills/find.js.flow +29 -0
- package/polyfills/find.mjs +23 -0
- package/{jsutils → polyfills}/isFinite.js +1 -1
- package/{jsutils → polyfills}/isFinite.js.flow +0 -0
- package/{jsutils → polyfills}/isFinite.mjs +1 -1
- package/{jsutils → polyfills}/isInteger.js +1 -1
- package/{jsutils → polyfills}/isInteger.js.flow +0 -0
- package/{jsutils → polyfills}/isInteger.mjs +1 -1
- package/polyfills/objectEntries.js +26 -0
- package/polyfills/objectEntries.js.flow +19 -0
- package/polyfills/objectEntries.mjs +18 -0
- package/{jsutils → polyfills}/objectValues.js +1 -1
- package/{jsutils → polyfills}/objectValues.js.flow +1 -1
- package/{jsutils → polyfills}/objectValues.mjs +1 -1
- package/subscription/asyncIteratorReject.mjs +1 -1
- package/subscription/index.mjs +1 -1
- package/subscription/mapAsyncIterator.mjs +1 -1
- package/subscription/subscribe.js +1 -1
- package/subscription/subscribe.mjs +1 -1
- package/type/definition.js +31 -130
- package/type/definition.js.flow +35 -47
- package/type/definition.mjs +30 -131
- package/type/directives.js +25 -29
- package/type/directives.js.flow +24 -20
- package/type/directives.mjs +22 -30
- package/type/index.js +12 -0
- package/type/index.js.flow +4 -0
- package/type/index.mjs +5 -3
- package/type/introspection.js +3 -3
- package/type/introspection.js.flow +1 -1
- package/type/introspection.mjs +2 -2
- package/type/scalars.js +45 -34
- package/type/scalars.js.flow +40 -26
- package/type/scalars.mjs +44 -26
- package/type/schema.js +82 -87
- package/type/schema.js.flow +17 -9
- package/type/schema.mjs +79 -86
- package/type/validate.js +168 -175
- package/type/validate.js.flow +8 -49
- package/type/validate.mjs +159 -175
- package/utilities/TypeInfo.js +10 -23
- package/utilities/TypeInfo.js.flow +1 -1
- package/utilities/TypeInfo.mjs +2 -24
- package/utilities/assertValidName.js +1 -1
- package/utilities/assertValidName.mjs +1 -1
- package/utilities/astFromValue.js +2 -2
- package/utilities/astFromValue.js.flow +1 -1
- package/utilities/astFromValue.mjs +2 -2
- package/utilities/buildASTSchema.js +53 -53
- package/utilities/buildASTSchema.js.flow +14 -30
- package/utilities/buildASTSchema.mjs +45 -55
- package/utilities/buildClientSchema.js +3 -3
- package/utilities/buildClientSchema.js.flow +6 -2
- package/utilities/buildClientSchema.mjs +3 -3
- package/utilities/coerceValue.js +38 -19
- package/utilities/coerceValue.js.flow +41 -47
- package/utilities/coerceValue.mjs +38 -20
- package/utilities/concatAST.js +1 -1
- package/utilities/concatAST.mjs +1 -1
- package/utilities/extendSchema.js +228 -312
- package/utilities/extendSchema.js.flow +27 -152
- package/utilities/extendSchema.mjs +229 -312
- package/utilities/findBreakingChanges.js +7 -5
- package/utilities/findBreakingChanges.js.flow +3 -2
- package/utilities/findBreakingChanges.mjs +6 -5
- package/utilities/findDeprecatedUsages.js +1 -1
- package/utilities/findDeprecatedUsages.mjs +1 -1
- package/utilities/getOperationAST.js +1 -1
- package/utilities/getOperationAST.mjs +1 -1
- package/utilities/getOperationRootType.js +1 -1
- package/utilities/getOperationRootType.mjs +1 -1
- package/utilities/index.mjs +1 -1
- package/utilities/introspectionFromSchema.js +1 -1
- package/utilities/introspectionFromSchema.mjs +1 -1
- package/utilities/introspectionQuery.js +1 -1
- package/utilities/introspectionQuery.mjs +1 -1
- package/utilities/isValidJSValue.js +1 -1
- package/utilities/isValidJSValue.mjs +1 -1
- package/utilities/isValidLiteralValue.js +1 -1
- package/utilities/isValidLiteralValue.mjs +1 -1
- package/utilities/lexicographicSortSchema.js +2 -2
- package/utilities/lexicographicSortSchema.js.flow +1 -1
- package/utilities/lexicographicSortSchema.mjs +2 -2
- package/utilities/schemaPrinter.js +3 -3
- package/utilities/schemaPrinter.js.flow +1 -1
- package/utilities/schemaPrinter.mjs +2 -2
- package/utilities/separateOperations.js +1 -1
- package/utilities/separateOperations.mjs +1 -1
- package/utilities/typeComparators.js +1 -1
- package/utilities/typeComparators.mjs +1 -1
- package/utilities/typeFromAST.js +1 -1
- package/utilities/typeFromAST.mjs +1 -1
- package/utilities/valueFromAST.js +3 -3
- package/utilities/valueFromAST.js.flow +1 -1
- package/utilities/valueFromAST.mjs +2 -2
- package/utilities/valueFromASTUntyped.js +1 -1
- package/utilities/valueFromASTUntyped.mjs +1 -1
- package/validation/ValidationContext.js +57 -82
- package/validation/ValidationContext.js.flow +52 -49
- package/validation/ValidationContext.mjs +52 -77
- package/validation/index.mjs +1 -1
- package/validation/rules/ExecutableDefinitions.js +1 -1
- package/validation/rules/ExecutableDefinitions.js.flow +1 -1
- package/validation/rules/ExecutableDefinitions.mjs +1 -1
- package/validation/rules/FieldsOnCorrectType.js +1 -1
- package/validation/rules/FieldsOnCorrectType.mjs +1 -1
- package/validation/rules/FragmentsOnCompositeTypes.js +1 -1
- package/validation/rules/FragmentsOnCompositeTypes.mjs +1 -1
- package/validation/rules/KnownArgumentNames.mjs +1 -1
- package/validation/rules/KnownDirectives.js +1 -1
- package/validation/rules/KnownDirectives.mjs +1 -1
- package/validation/rules/KnownFragmentNames.js +1 -1
- package/validation/rules/KnownFragmentNames.mjs +1 -1
- package/validation/rules/KnownTypeNames.js +59 -21
- package/validation/rules/KnownTypeNames.js.flow +54 -20
- package/validation/rules/KnownTypeNames.mjs +56 -21
- package/validation/rules/LoneAnonymousOperation.js +1 -1
- package/validation/rules/LoneAnonymousOperation.mjs +1 -1
- package/validation/rules/LoneSchemaDefinition.js +1 -1
- package/validation/rules/LoneSchemaDefinition.mjs +1 -1
- package/validation/rules/NoFragmentCycles.js +1 -1
- package/validation/rules/NoFragmentCycles.js.flow +2 -2
- package/validation/rules/NoFragmentCycles.mjs +1 -1
- package/validation/rules/NoUndefinedVariables.js +1 -1
- package/validation/rules/NoUndefinedVariables.mjs +1 -1
- package/validation/rules/NoUnusedFragments.js +1 -1
- package/validation/rules/NoUnusedFragments.js.flow +2 -2
- package/validation/rules/NoUnusedFragments.mjs +1 -1
- package/validation/rules/NoUnusedVariables.js +1 -1
- package/validation/rules/NoUnusedVariables.mjs +1 -1
- package/validation/rules/OverlappingFieldsCanBeMerged.js +56 -32
- package/validation/rules/OverlappingFieldsCanBeMerged.js.flow +3 -3
- package/validation/rules/OverlappingFieldsCanBeMerged.mjs +47 -32
- package/validation/rules/PossibleFragmentSpreads.js +1 -1
- package/validation/rules/PossibleFragmentSpreads.mjs +1 -1
- package/validation/rules/PossibleTypeExtensions.js +158 -0
- package/validation/rules/PossibleTypeExtensions.js.flow +160 -0
- package/validation/rules/PossibleTypeExtensions.mjs +146 -0
- package/validation/rules/ProvidedRequiredArguments.mjs +1 -1
- package/validation/rules/ScalarLeafs.js +1 -1
- package/validation/rules/ScalarLeafs.mjs +1 -1
- package/validation/rules/SingleFieldSubscriptions.js +1 -1
- package/validation/rules/SingleFieldSubscriptions.mjs +1 -1
- package/validation/rules/UniqueArgumentNames.js +1 -1
- package/validation/rules/UniqueArgumentNames.mjs +1 -1
- package/validation/rules/UniqueDirectiveNames.js +55 -0
- package/validation/rules/UniqueDirectiveNames.js.flow +64 -0
- package/validation/rules/UniqueDirectiveNames.mjs +43 -0
- package/validation/rules/UniqueDirectivesPerLocation.js +1 -1
- package/validation/rules/UniqueDirectivesPerLocation.mjs +1 -1
- package/validation/rules/UniqueEnumValueNames.js +94 -0
- package/validation/rules/UniqueEnumValueNames.js.flow +87 -0
- package/validation/rules/UniqueEnumValueNames.mjs +81 -0
- package/validation/rules/UniqueFieldDefinitionNames.js +105 -0
- package/validation/rules/UniqueFieldDefinitionNames.js.flow +101 -0
- package/validation/rules/UniqueFieldDefinitionNames.mjs +92 -0
- package/validation/rules/UniqueFragmentNames.js +1 -1
- package/validation/rules/UniqueFragmentNames.mjs +1 -1
- package/validation/rules/UniqueInputFieldNames.js +1 -1
- package/validation/rules/UniqueInputFieldNames.mjs +1 -1
- package/validation/rules/UniqueOperationNames.js +1 -1
- package/validation/rules/UniqueOperationNames.mjs +1 -1
- package/validation/rules/UniqueOperationTypes.js +85 -0
- package/validation/rules/UniqueOperationTypes.js.flow +76 -0
- package/validation/rules/UniqueOperationTypes.mjs +73 -0
- package/validation/rules/UniqueTypeNames.js +62 -0
- package/validation/rules/UniqueTypeNames.js.flow +67 -0
- package/validation/rules/UniqueTypeNames.mjs +50 -0
- package/validation/rules/UniqueVariableNames.js +1 -1
- package/validation/rules/UniqueVariableNames.mjs +1 -1
- package/validation/rules/ValuesOfCorrectType.js +29 -13
- package/validation/rules/ValuesOfCorrectType.js.flow +4 -5
- package/validation/rules/ValuesOfCorrectType.mjs +28 -13
- package/validation/rules/VariablesAreInputTypes.js +1 -1
- package/validation/rules/VariablesAreInputTypes.mjs +1 -1
- package/validation/rules/VariablesInAllowedPosition.js +4 -4
- package/validation/rules/VariablesInAllowedPosition.mjs +4 -4
- package/validation/specifiedRules.js +14 -2
- package/validation/specifiedRules.js.flow +13 -0
- package/validation/specifiedRules.mjs +8 -2
- package/validation/validate.js +1 -1
- package/validation/validate.mjs +1 -1
- package/jsutils/find.js +0 -22
- package/jsutils/find.js.flow +0 -19
- package/jsutils/find.mjs +0 -15
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { forEach, isCollection } from 'iterall';
|
|
11
|
+
import objectValues from '../polyfills/objectValues';
|
|
11
12
|
import inspect from '../jsutils/inspect';
|
|
12
13
|
import isInvalid from '../jsutils/isInvalid';
|
|
13
14
|
import orList from '../jsutils/orList';
|
|
@@ -147,58 +148,53 @@ export function coerceValue(
|
|
|
147
148
|
const fields = type.getFields();
|
|
148
149
|
|
|
149
150
|
// Ensure every defined field is valid.
|
|
150
|
-
for (const
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
coercedValue[fieldName] = field.defaultValue;
|
|
157
|
-
} else if (isNonNullType(field.type)) {
|
|
158
|
-
errors = add(
|
|
159
|
-
errors,
|
|
160
|
-
coercionError(
|
|
161
|
-
`Field ${printPath(atPath(path, fieldName))} of required ` +
|
|
162
|
-
`type ${inspect(field.type)} was not provided`,
|
|
163
|
-
blameNode,
|
|
164
|
-
),
|
|
165
|
-
);
|
|
166
|
-
}
|
|
167
|
-
} else {
|
|
168
|
-
const coercedField = coerceValue(
|
|
169
|
-
fieldValue,
|
|
170
|
-
field.type,
|
|
171
|
-
blameNode,
|
|
172
|
-
atPath(path, fieldName),
|
|
173
|
-
);
|
|
174
|
-
if (coercedField.errors) {
|
|
175
|
-
errors = add(errors, coercedField.errors);
|
|
176
|
-
} else if (!errors) {
|
|
177
|
-
coercedValue[fieldName] = coercedField.value;
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// Ensure every provided field is defined.
|
|
184
|
-
for (const fieldName in value) {
|
|
185
|
-
if (hasOwnProperty.call(value, fieldName)) {
|
|
186
|
-
if (!fields[fieldName]) {
|
|
187
|
-
const suggestions = suggestionList(fieldName, Object.keys(fields));
|
|
188
|
-
const didYouMean =
|
|
189
|
-
suggestions.length !== 0
|
|
190
|
-
? `did you mean ${orList(suggestions)}?`
|
|
191
|
-
: undefined;
|
|
151
|
+
for (const field of objectValues(fields)) {
|
|
152
|
+
const fieldValue = value[field.name];
|
|
153
|
+
if (isInvalid(fieldValue)) {
|
|
154
|
+
if (!isInvalid(field.defaultValue)) {
|
|
155
|
+
coercedValue[field.name] = field.defaultValue;
|
|
156
|
+
} else if (isNonNullType(field.type)) {
|
|
192
157
|
errors = add(
|
|
193
158
|
errors,
|
|
194
159
|
coercionError(
|
|
195
|
-
`Field
|
|
160
|
+
`Field ${printPath(atPath(path, field.name))} of required ` +
|
|
161
|
+
`type ${inspect(field.type)} was not provided`,
|
|
196
162
|
blameNode,
|
|
197
|
-
path,
|
|
198
|
-
didYouMean,
|
|
199
163
|
),
|
|
200
164
|
);
|
|
201
165
|
}
|
|
166
|
+
} else {
|
|
167
|
+
const coercedField = coerceValue(
|
|
168
|
+
fieldValue,
|
|
169
|
+
field.type,
|
|
170
|
+
blameNode,
|
|
171
|
+
atPath(path, field.name),
|
|
172
|
+
);
|
|
173
|
+
if (coercedField.errors) {
|
|
174
|
+
errors = add(errors, coercedField.errors);
|
|
175
|
+
} else if (!errors) {
|
|
176
|
+
coercedValue[field.name] = coercedField.value;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// Ensure every provided field is defined.
|
|
182
|
+
for (const fieldName of Object.keys(value)) {
|
|
183
|
+
if (!fields[fieldName]) {
|
|
184
|
+
const suggestions = suggestionList(fieldName, Object.keys(fields));
|
|
185
|
+
const didYouMean =
|
|
186
|
+
suggestions.length !== 0
|
|
187
|
+
? `did you mean ${orList(suggestions)}?`
|
|
188
|
+
: undefined;
|
|
189
|
+
errors = add(
|
|
190
|
+
errors,
|
|
191
|
+
coercionError(
|
|
192
|
+
`Field "${fieldName}" is not defined by type ${type.name}`,
|
|
193
|
+
blameNode,
|
|
194
|
+
path,
|
|
195
|
+
didYouMean,
|
|
196
|
+
),
|
|
197
|
+
);
|
|
202
198
|
}
|
|
203
199
|
}
|
|
204
200
|
|
|
@@ -253,5 +249,3 @@ function printPath(path) {
|
|
|
253
249
|
}
|
|
254
250
|
return pathStr ? 'value' + pathStr : '';
|
|
255
251
|
}
|
|
256
|
-
|
|
257
|
-
const hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
@@ -6,9 +6,10 @@ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterat
|
|
|
6
6
|
* This source code is licensed under the MIT license found in the
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
*
|
|
10
10
|
*/
|
|
11
11
|
import { forEach, isCollection } from 'iterall';
|
|
12
|
+
import objectValues from '../polyfills/objectValues';
|
|
12
13
|
import inspect from '../jsutils/inspect';
|
|
13
14
|
import isInvalid from '../jsutils/isInvalid';
|
|
14
15
|
import orList from '../jsutils/orList';
|
|
@@ -104,39 +105,58 @@ export function coerceValue(value, type, blameNode, path) {
|
|
|
104
105
|
var _coercedValue = {};
|
|
105
106
|
var fields = type.getFields(); // Ensure every defined field is valid.
|
|
106
107
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
108
|
+
var _iteratorNormalCompletion = true;
|
|
109
|
+
var _didIteratorError = false;
|
|
110
|
+
var _iteratorError = undefined;
|
|
111
|
+
|
|
112
|
+
try {
|
|
113
|
+
for (var _iterator = objectValues(fields)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
114
|
+
var field = _step.value;
|
|
115
|
+
var fieldValue = value[field.name];
|
|
111
116
|
|
|
112
117
|
if (isInvalid(fieldValue)) {
|
|
113
118
|
if (!isInvalid(field.defaultValue)) {
|
|
114
|
-
_coercedValue[
|
|
119
|
+
_coercedValue[field.name] = field.defaultValue;
|
|
115
120
|
} else if (isNonNullType(field.type)) {
|
|
116
|
-
_errors = add(_errors, coercionError("Field ".concat(printPath(atPath(path,
|
|
121
|
+
_errors = add(_errors, coercionError("Field ".concat(printPath(atPath(path, field.name)), " of required ") + "type ".concat(inspect(field.type), " was not provided"), blameNode));
|
|
117
122
|
}
|
|
118
123
|
} else {
|
|
119
|
-
var coercedField = coerceValue(fieldValue, field.type, blameNode, atPath(path,
|
|
124
|
+
var coercedField = coerceValue(fieldValue, field.type, blameNode, atPath(path, field.name));
|
|
120
125
|
|
|
121
126
|
if (coercedField.errors) {
|
|
122
127
|
_errors = add(_errors, coercedField.errors);
|
|
123
128
|
} else if (!_errors) {
|
|
124
|
-
_coercedValue[
|
|
129
|
+
_coercedValue[field.name] = coercedField.value;
|
|
125
130
|
}
|
|
126
131
|
}
|
|
132
|
+
} // Ensure every provided field is defined.
|
|
133
|
+
|
|
134
|
+
} catch (err) {
|
|
135
|
+
_didIteratorError = true;
|
|
136
|
+
_iteratorError = err;
|
|
137
|
+
} finally {
|
|
138
|
+
try {
|
|
139
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
140
|
+
_iterator.return();
|
|
141
|
+
}
|
|
142
|
+
} finally {
|
|
143
|
+
if (_didIteratorError) {
|
|
144
|
+
throw _iteratorError;
|
|
145
|
+
}
|
|
127
146
|
}
|
|
128
|
-
}
|
|
147
|
+
}
|
|
129
148
|
|
|
149
|
+
var _arr = Object.keys(value);
|
|
130
150
|
|
|
131
|
-
for (var
|
|
132
|
-
|
|
133
|
-
if (!fields[_fieldName]) {
|
|
134
|
-
var _suggestions = suggestionList(_fieldName, Object.keys(fields));
|
|
151
|
+
for (var _i = 0; _i < _arr.length; _i++) {
|
|
152
|
+
var fieldName = _arr[_i];
|
|
135
153
|
|
|
136
|
-
|
|
154
|
+
if (!fields[fieldName]) {
|
|
155
|
+
var _suggestions = suggestionList(fieldName, Object.keys(fields));
|
|
137
156
|
|
|
138
|
-
|
|
139
|
-
|
|
157
|
+
var _didYouMean = _suggestions.length !== 0 ? "did you mean ".concat(orList(_suggestions), "?") : undefined;
|
|
158
|
+
|
|
159
|
+
_errors = add(_errors, coercionError("Field \"".concat(fieldName, "\" is not defined by type ").concat(type.name), blameNode, path, _didYouMean));
|
|
140
160
|
}
|
|
141
161
|
}
|
|
142
162
|
|
|
@@ -190,6 +210,4 @@ function printPath(path) {
|
|
|
190
210
|
}
|
|
191
211
|
|
|
192
212
|
return pathStr ? 'value' + pathStr : '';
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
213
|
+
}
|
package/utilities/concatAST.js
CHANGED