diff --git a/src/Language/AST/Value.php b/src/Language/AST/Value.php index 9f1ffb7..dd83bf4 100644 --- a/src/Language/AST/Value.php +++ b/src/Language/AST/Value.php @@ -1,16 +1,17 @@ + * @var EnumValueDefinition[] */ private $values; /** - * @var \ArrayObject + * @var Utils\MixedStore */ private $valueLookup; @@ -44,11 +44,13 @@ class EnumType extends Type implements InputType, OutputType, LeafType if (!empty($config['values'])) { foreach ($config['values'] as $name => $value) { - - if (is_string($value) && is_int($name)) { - $value = ['name' => $value, 'value' => $value]; + if (!is_array($value)) { + if (is_string($name)) { + $value = ['name' => $name, 'value' => $value]; + } else if (is_int($name) && is_string($value)) { + $value = ['name' => $value, 'value' => $value]; + } } - // value will be equal to name only if 'value' is not set in definition $this->values[] = new EnumValueDefinition($value + ['name' => $name, 'value' => $name]); } diff --git a/src/Type/Definition/ObjectType.php b/src/Type/Definition/ObjectType.php index 80c43e5..7d84199 100644 --- a/src/Type/Definition/ObjectType.php +++ b/src/Type/Definition/ObjectType.php @@ -93,7 +93,7 @@ class ObjectType extends Type implements OutputType, CompositeType Config::INTERFACE_TYPE, Config::MAYBE_THUNK ), - 'isTypeOf' => Config::CALLBACK, // ($value, ResolveInfo $info) => boolean + 'isTypeOf' => Config::CALLBACK, // ($value, $context, ResolveInfo $info) => boolean 'resolveField' => Config::CALLBACK ]); @@ -156,6 +156,7 @@ class ObjectType extends Type implements OutputType, CompositeType /** * @param $value * @param $context + * @param ResolveInfo $info * @return bool|null */ public function isTypeOf($value, $context, ResolveInfo $info) diff --git a/src/Type/Definition/ScalarType.php b/src/Type/Definition/ScalarType.php index e327910..5db0bf0 100644 --- a/src/Type/Definition/ScalarType.php +++ b/src/Type/Definition/ScalarType.php @@ -50,8 +50,8 @@ abstract class ScalarType extends Type implements OutputType, InputType, LeafTyp /** * Parses an externally provided literal value to use as an input * - * @param $valueAST + * @param \GraphQL\Language\AST\Value $valueAST * @return mixed */ - abstract public function parseLiteral(/* GraphQL\Language\AST\Value */$valueAST); + abstract public function parseLiteral($valueAST); }