diff --git a/execution/values.js b/execution/values.js index 72e80bda2d..0abead7329 100644 --- a/execution/values.js +++ b/execution/values.js @@ -160,11 +160,11 @@ function getArgumentValues(def, node, variableValues) { if (argumentNode && argumentNode.value.kind === _kinds.Kind.VARIABLE) { var variableName = argumentNode.value.name.value; - hasValue = variableValues && hasOwnProperty(variableValues, variableName); - isNull = variableValues && variableValues[variableName] === null; + hasValue = variableValues != null && hasOwnProperty(variableValues, variableName); + isNull = variableValues != null && variableValues[variableName] === null; } else { hasValue = argumentNode != null; - isNull = argumentNode && argumentNode.value.kind === _kinds.Kind.NULL; + isNull = argumentNode != null && argumentNode.value.kind === _kinds.Kind.NULL; } if (!hasValue && argDef.defaultValue !== undefined) { diff --git a/execution/values.js.flow b/execution/values.js.flow index ed01800375..35d27ac94d 100644 --- a/execution/values.js.flow +++ b/execution/values.js.flow @@ -146,11 +146,12 @@ export function getArgumentValues( let isNull; if (argumentNode && argumentNode.value.kind === Kind.VARIABLE) { const variableName = argumentNode.value.name.value; - hasValue = variableValues && hasOwnProperty(variableValues, variableName); - isNull = variableValues && variableValues[variableName] === null; + hasValue = + variableValues != null && hasOwnProperty(variableValues, variableName); + isNull = variableValues != null && variableValues[variableName] === null; } else { hasValue = argumentNode != null; - isNull = argumentNode && argumentNode.value.kind === Kind.NULL; + isNull = argumentNode != null && argumentNode.value.kind === Kind.NULL; } if (!hasValue && argDef.defaultValue !== undefined) { diff --git a/execution/values.mjs b/execution/values.mjs index 5ff8c59403..4da6386383 100644 --- a/execution/values.mjs +++ b/execution/values.mjs @@ -137,11 +137,11 @@ export function getArgumentValues(def, node, variableValues) { if (argumentNode && argumentNode.value.kind === Kind.VARIABLE) { var variableName = argumentNode.value.name.value; - hasValue = variableValues && hasOwnProperty(variableValues, variableName); - isNull = variableValues && variableValues[variableName] === null; + hasValue = variableValues != null && hasOwnProperty(variableValues, variableName); + isNull = variableValues != null && variableValues[variableName] === null; } else { hasValue = argumentNode != null; - isNull = argumentNode && argumentNode.value.kind === Kind.NULL; + isNull = argumentNode != null && argumentNode.value.kind === Kind.NULL; } if (!hasValue && argDef.defaultValue !== undefined) { diff --git a/language/blockString.js.flow b/language/blockString.js.flow index 9012a90d34..42736483aa 100644 --- a/language/blockString.js.flow +++ b/language/blockString.js.flow @@ -80,7 +80,7 @@ function isBlank(str) { export function printBlockString( value: string, indentation?: string = '', - preferMultipleLines?: ?boolean = false, + preferMultipleLines?: boolean = false, ): string { const isSingleLine = value.indexOf('\n') === -1; const hasLeadingSpace = value[0] === ' ' || value[0] === '\t'; diff --git a/validation/rules/VariablesInAllowedPosition.js b/validation/rules/VariablesInAllowedPosition.js index b22609aa75..2b1bbea824 100644 --- a/validation/rules/VariablesInAllowedPosition.js +++ b/validation/rules/VariablesInAllowedPosition.js @@ -102,7 +102,7 @@ function VariablesInAllowedPosition(context) { function allowedVariableUsage(schema, varType, varDefaultValue, locationType, locationDefaultValue) { if ((0, _definition.isNonNullType)(locationType) && !(0, _definition.isNonNullType)(varType)) { - var hasNonNullVariableDefaultValue = varDefaultValue && varDefaultValue.kind !== _kinds.Kind.NULL; + var hasNonNullVariableDefaultValue = varDefaultValue != null && varDefaultValue.kind !== _kinds.Kind.NULL; var hasLocationDefaultValue = locationDefaultValue !== undefined; if (!hasNonNullVariableDefaultValue && !hasLocationDefaultValue) { diff --git a/validation/rules/VariablesInAllowedPosition.js.flow b/validation/rules/VariablesInAllowedPosition.js.flow index 3631697c32..97cdd5374a 100644 --- a/validation/rules/VariablesInAllowedPosition.js.flow +++ b/validation/rules/VariablesInAllowedPosition.js.flow @@ -97,7 +97,7 @@ function allowedVariableUsage( ): boolean { if (isNonNullType(locationType) && !isNonNullType(varType)) { const hasNonNullVariableDefaultValue = - varDefaultValue && varDefaultValue.kind !== Kind.NULL; + varDefaultValue != null && varDefaultValue.kind !== Kind.NULL; const hasLocationDefaultValue = locationDefaultValue !== undefined; if (!hasNonNullVariableDefaultValue && !hasLocationDefaultValue) { return false; diff --git a/validation/rules/VariablesInAllowedPosition.mjs b/validation/rules/VariablesInAllowedPosition.mjs index 44025f3752..dcd853c3a3 100644 --- a/validation/rules/VariablesInAllowedPosition.mjs +++ b/validation/rules/VariablesInAllowedPosition.mjs @@ -84,7 +84,7 @@ export function VariablesInAllowedPosition(context) { function allowedVariableUsage(schema, varType, varDefaultValue, locationType, locationDefaultValue) { if (isNonNullType(locationType) && !isNonNullType(varType)) { - var hasNonNullVariableDefaultValue = varDefaultValue && varDefaultValue.kind !== Kind.NULL; + var hasNonNullVariableDefaultValue = varDefaultValue != null && varDefaultValue.kind !== Kind.NULL; var hasLocationDefaultValue = locationDefaultValue !== undefined; if (!hasNonNullVariableDefaultValue && !hasLocationDefaultValue) {