diff --git a/composer.json b/composer.json
index c1f4afe..27bad9f 100644
--- a/composer.json
+++ b/composer.json
@@ -16,9 +16,9 @@
"require-dev": {
"doctrine/coding-standard": "^5.0",
"phpbench/phpbench": "^0.14.0",
- "phpstan/phpstan": "^0.10.3",
- "phpstan/phpstan-phpunit": "^0.10.0",
- "phpstan/phpstan-strict-rules": "^0.10.1",
+ "phpstan/phpstan": "0.10.5",
+ "phpstan/phpstan-phpunit": "0.10.0",
+ "phpstan/phpstan-strict-rules": "0.10.1",
"phpunit/phpunit": "^7.2",
"psr/http-message": "^1.0",
"react/promise": "2.*"
diff --git a/phpcs.xml.dist b/phpcs.xml.dist
index aba1cb2..803dd12 100644
--- a/phpcs.xml.dist
+++ b/phpcs.xml.dist
@@ -13,10 +13,12 @@
tests
-
+
+
+
diff --git a/src/Executor/Promise/Adapter/SyncPromise.php b/src/Executor/Promise/Adapter/SyncPromise.php
index 4d1f96e..91e139c 100644
--- a/src/Executor/Promise/Adapter/SyncPromise.php
+++ b/src/Executor/Promise/Adapter/SyncPromise.php
@@ -123,7 +123,7 @@ class SyncPromise
if ($this->state === self::FULFILLED) {
try {
- $promise->resolve($onFulfilled ? $onFulfilled($this->result) : $this->result);
+ $promise->resolve($onFulfilled === null ? $this->result : $onFulfilled($this->result));
} catch (Exception $e) {
$promise->reject($e);
} catch (Throwable $e) {
@@ -131,10 +131,10 @@ class SyncPromise
}
} elseif ($this->state === self::REJECTED) {
try {
- if ($onRejected) {
- $promise->resolve($onRejected($this->result));
- } else {
+ if ($onRejected === null) {
$promise->reject($this->result);
+ } else {
+ $promise->resolve($onRejected($this->result));
}
} catch (Exception $e) {
$promise->reject($e);
diff --git a/src/Type/Definition/EnumType.php b/src/Type/Definition/EnumType.php
index aa5c8b4..2b42590 100644
--- a/src/Type/Definition/EnumType.php
+++ b/src/Type/Definition/EnumType.php
@@ -188,7 +188,7 @@ class EnumType extends Type implements InputType, OutputType, LeafType, NamedTyp
$lookup = $this->getNameLookup();
if (isset($lookup[$valueNode->value])) {
$enumValue = $lookup[$valueNode->value];
- if ($enumValue) {
+ if ($enumValue !== null) {
return $enumValue->value;
}
}
diff --git a/src/Utils/TypeInfo.php b/src/Utils/TypeInfo.php
index 722195d..430e7ad 100644
--- a/src/Utils/TypeInfo.php
+++ b/src/Utils/TypeInfo.php
@@ -22,6 +22,7 @@ use GraphQL\Type\Definition\InputType;
use GraphQL\Type\Definition\InterfaceType;
use GraphQL\Type\Definition\ListOfType;
use GraphQL\Type\Definition\ObjectType;
+use GraphQL\Type\Definition\OutputType;
use GraphQL\Type\Definition\Type;
use GraphQL\Type\Definition\UnionType;
use GraphQL\Type\Definition\WrappingType;
diff --git a/src/Validator/Rules/OverlappingFieldsCanBeMerged.php b/src/Validator/Rules/OverlappingFieldsCanBeMerged.php
index d872245..8dfa7f1 100644
--- a/src/Validator/Rules/OverlappingFieldsCanBeMerged.php
+++ b/src/Validator/Rules/OverlappingFieldsCanBeMerged.php
@@ -366,8 +366,8 @@ class OverlappingFieldsCanBeMerged extends ValidationRule
);
// The return type for each field.
- $type1 = $def1 ? $def1->getType() : null;
- $type2 = $def2 ? $def2->getType() : null;
+ $type1 = $def1 === null ? null : $def1->getType();
+ $type2 = $def2 === null ? null : $def2->getType();
if (! $areMutuallyExclusive) {
// Two aliases must refer to the same field.