diff --git a/benchmarks/Utils/SchemaGenerator.php b/benchmarks/Utils/SchemaGenerator.php index 8ee39e7..495ad8f 100644 --- a/benchmarks/Utils/SchemaGenerator.php +++ b/benchmarks/Utils/SchemaGenerator.php @@ -152,7 +152,7 @@ class SchemaGenerator ]; } - public function resolveField($value, $args, $context, $resolveInfo) + public function resolveField($rootValue, $args, $context, $resolveInfo) { return $resolveInfo->fieldName . '-value'; } diff --git a/docs/type-system/object-types.md b/docs/type-system/object-types.md index 9c1f2fb..c12595a 100644 --- a/docs/type-system/object-types.md +++ b/docs/type-system/object-types.md @@ -69,7 +69,7 @@ name | `string` | **Required.** Unique name of this object type within S fields | `array` or `callable` | **Required**. An array describing object fields or callable returning such an array. See [Fields](#field-definitions) section below for expected structure of each array entry. See also the section on [Circular types](#recurring-and-circular-types) for an explanation of when to use callable for this option. description | `string` | Plain-text description of this type for clients (e.g. used by [GraphiQL](https://github.com/graphql/graphiql) for auto-generated documentation) interfaces | `array` or `callable` | List of interfaces implemented by this type or callable returning such a list. See [Interface Types](interfaces.md) for details. See also the section on [Circular types](#recurring-and-circular-types) for an explanation of when to use callable for this option. -isTypeOf | `callable` | **function($value, $context, [ResolveInfo](../reference.md#graphqltypedefinitionresolveinfo) $info)**
Expected to return **true** if **$value** qualifies for this type (see section about [Abstract Type Resolution](interfaces.md#interface-role-in-data-fetching) for explanation). +isTypeOf | `callable` | **function($rootValue, $context, [ResolveInfo](../reference.md#graphqltypedefinitionresolveinfo) $info)**
Expected to return **true** if **$value** qualifies for this type (see section about [Abstract Type Resolution](interfaces.md#interface-role-in-data-fetching) for explanation). resolveField | `callable` | **function($value, $args, $context, [ResolveInfo](../reference.md#graphqltypedefinitionresolveinfo) $info)**
Given the **$value** of this type, it is expected to return value for a field defined in **$info->fieldName**. A good place to define a type-specific strategy for field resolution. See section on [Data Fetching](../data-fetching.md) for details. # Field configuration options @@ -80,7 +80,7 @@ Option | Type | Notes name | `string` | **Required.** Name of the field. When not set - inferred from **fields** array key (read about [shorthand field definition](#shorthand-field-definitions) below) type | `Type` | **Required.** An instance of internal or custom type. Note: type must be represented by a single instance within one schema (see also [Type Registry](index.md#type-registry)) args | `array` | An array of possible type arguments. Each entry is expected to be an array with keys: **name**, **type**, **description**, **defaultValue**. See [Field Arguments](#field-arguments) section below. -resolve | `callable` | **function($value, $args, $context, [ResolveInfo](../reference.md#graphqltypedefinitionresolveinfo) $info)**
Given the **$value** of this type, it is expected to return actual value of the current field. See section on [Data Fetching](../data-fetching.md) for details +resolve | `callable` | **function($rootValue, $args, $context, [ResolveInfo](../reference.md#graphqltypedefinitionresolveinfo) $info)**
Given the **$value** of this type, it is expected to return actual value of the current field. See section on [Data Fetching](../data-fetching.md) for details complexity | `callable` | **function($childrenComplexity, $args)**
Used to restrict query complexity. The feature is disabled by default, read about [Security](../security.md#query-complexity-analysis) to use it. description | `string` | Plain-text description of this field for clients (e.g. used by [GraphiQL](https://github.com/graphql/graphiql) for auto-generated documentation) deprecationReason | `string` | Text describing why this field is deprecated. When not empty - field will not be returned by introspection queries (unless forced) diff --git a/examples/01-blog/Blog/Type/CommentType.php b/examples/01-blog/Blog/Type/CommentType.php index cbcad4d..c61e338 100644 --- a/examples/01-blog/Blog/Type/CommentType.php +++ b/examples/01-blog/Blog/Type/CommentType.php @@ -35,12 +35,12 @@ class CommentType extends ObjectType Types::htmlField('body') ]; }, - 'resolveField' => function($value, $args, $context, ResolveInfo $info) { + 'resolveField' => function($rootValue, $args, $context, ResolveInfo $info) { $method = 'resolve' . ucfirst($info->fieldName); if (method_exists($this, $method)) { - return $this->{$method}($value, $args, $context, $info); + return $this->{$method}($rootValue, $args, $context, $info); } else { - return $value->{$info->fieldName}; + return $rootValue->{$info->fieldName}; } } ]; diff --git a/examples/01-blog/Blog/Type/StoryType.php b/examples/01-blog/Blog/Type/StoryType.php index 32cea4e..1df1f37 100644 --- a/examples/01-blog/Blog/Type/StoryType.php +++ b/examples/01-blog/Blog/Type/StoryType.php @@ -75,12 +75,12 @@ class StoryType extends ObjectType 'interfaces' => [ Types::node() ], - 'resolveField' => function($value, $args, $context, ResolveInfo $info) { + 'resolveField' => function($rootValue, $args, $context, ResolveInfo $info) { $method = 'resolve' . ucfirst($info->fieldName); if (method_exists($this, $method)) { - return $this->{$method}($value, $args, $context, $info); + return $this->{$method}($rootValue, $args, $context, $info); } else { - return $value->{$info->fieldName}; + return $rootValue->{$info->fieldName}; } } ]; diff --git a/examples/01-blog/Blog/Type/UserType.php b/examples/01-blog/Blog/Type/UserType.php index 9960b62..cb5922d 100644 --- a/examples/01-blog/Blog/Type/UserType.php +++ b/examples/01-blog/Blog/Type/UserType.php @@ -44,12 +44,12 @@ class UserType extends ObjectType 'interfaces' => [ Types::node() ], - 'resolveField' => function($value, $args, $context, ResolveInfo $info) { + 'resolveField' => function($rootValue, $args, $context, ResolveInfo $info) { $method = 'resolve' . ucfirst($info->fieldName); if (method_exists($this, $method)) { - return $this->{$method}($value, $args, $context, $info); + return $this->{$method}($rootValue, $args, $context, $info); } else { - return $value->{$info->fieldName}; + return $rootValue->{$info->fieldName}; } } ]; diff --git a/src/Type/Definition/ObjectType.php b/src/Type/Definition/ObjectType.php index 532a9b0..d464b45 100644 --- a/src/Type/Definition/ObjectType.php +++ b/src/Type/Definition/ObjectType.php @@ -200,7 +200,7 @@ class ObjectType extends Type implements OutputType, CompositeType, NullableType } /** - * @param mixed[] $value + * @param mixed $value * @param mixed[]|null $context * * @return bool|null