public static function edgeDefinition(AbstractType $type, $name = null, $config = [])
{
$name = $name ?: $type->getName();
$edgeFields = !empty($config['edgeFields']) ? $config['edgeFields'] : [];
$edgeType = new ObjectType(['name' => $name . 'Edge', 'description' => 'An edge in a connection.', 'fields' => array_merge(['node' => ['type' => $type, 'description' => 'The item at the end of the edge', 'resolve' => [__CLASS__, 'getNode']], 'cursor' => ['type' => TypeMap::TYPE_STRING, 'description' => 'A cursor for use in pagination']], $edgeFields)]);
return $edgeType;
}