Skip to content
This repository has been archived by the owner on Mar 8, 2023. It is now read-only.

Commit

Permalink
Fix merge
Browse files Browse the repository at this point in the history
  • Loading branch information
hungneox committed Feb 27, 2018
2 parents 6895692 + 934e00a commit e041562
Show file tree
Hide file tree
Showing 46 changed files with 929 additions and 225 deletions.
10 changes: 2 additions & 8 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
"files": [
"./src/Language/blockStringValue.php",
"./src/Language/helpers.php",
"./src/Language/parse.php",
"./src/Language/print.php",
"./src/Type/definition.php",
"./src/Type/directives.php",
"./src/Type/scalars.php",
Expand All @@ -29,14 +31,6 @@
}
},
"autoload-dev": {
"files": [
"./src/Language/blockStringValue.php",
"./src/Language/helpers.php",
"./src/Type/definition.php",
"./src/Type/directives.php",
"./src/Type/scalars.php",
"./src/Util/helpers.php"
],
"psr-4": {
"Digia\\GraphQL\\Test\\": "./tests"
}
Expand Down
62 changes: 62 additions & 0 deletions src/Error/GraphQLError.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

namespace Digia\GraphQL\Error;

use Digia\GraphQL\Language\AST\Node\Contract\NodeInterface;
use Digia\GraphQL\Language\Source;

/**
* A GraphQLError describes an Error found during the parse, validate, or
* execute phases of performing a GraphQL operation. In addition to a message
Expand All @@ -10,4 +13,63 @@
*/
class GraphQLError extends \Exception
{

/**
* @var string[]
*/
protected $locations;

/**
* @var string[]
*/
protected $path;

/**
* @var NodeInterface[]
*/
protected $nodes;

/**
* @var Source|null
*/
protected $source;

/**
* @var int[]
*/
protected $positions;

/**
* @var array
*/
protected $extensions;

/**
* GraphQLError constructor.
*
* @param string $message
* @param array|null $nodes
* @param Source|null $source
* @param array|null $positions
* @param array|null $path
* @param array|null $extensions
*/
public function __construct(
string $message,
?array $nodes = null,
?Source $source = null,
?array $positions = null,
?array $path = null,
?array $extensions = null
) {
parent::__construct($message);

$this->nodes = $nodes;
$this->source = $source;
$this->positions = $positions;
$this->path = $path;
$this->extensions = $extensions;
}

// TODO: Implement the rest of this class.
}
1 change: 0 additions & 1 deletion src/Error/SyntaxError.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,4 @@

class SyntaxError extends GraphQLError
{

}
2 changes: 1 addition & 1 deletion src/Execution/Execution.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
use Digia\GraphQL\Error\GraphQLError;
use Digia\GraphQL\Language\AST\Node\DocumentNode;
use Digia\GraphQL\Language\AST\NodeKindEnum;
use Digia\GraphQL\Type\Schema\Schema;
use Digia\GraphQL\Type\Schema;

/**
* Class Execution
Expand Down
2 changes: 1 addition & 1 deletion src/Execution/ExecutionArguments.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use Digia\GraphQL\Language\AST\Node\DocumentNode;
use Digia\GraphQL\Language\AST\Node\OperationDefinitionNode;
use Digia\GraphQL\Type\Schema\Schema;
use Digia\GraphQL\Type\Schema;

class ExecutionArguments
{
Expand Down
2 changes: 1 addition & 1 deletion src/Execution/ExecutionContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
use Digia\GraphQL\Error\GraphQLError;
use Digia\GraphQL\Language\AST\Node\FragmentDefinitionNode;
use Digia\GraphQL\Language\AST\Node\OperationDefinitionNode;
use Digia\GraphQL\Type\Schema\Schema;
use Digia\GraphQL\Type\Schema;

class ExecutionContext
{
Expand Down
33 changes: 33 additions & 0 deletions src/Language/AST/Builder/DirectiveDefinitionBuilder.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?php

namespace Digia\GraphQL\Language\AST\Builder;

use Digia\GraphQL\Language\AST\Node\Contract\NodeInterface;
use Digia\GraphQL\Language\AST\Node\DirectiveDefinitionNode;
use Digia\GraphQL\Language\AST\NodeKindEnum;

class DirectiveDefinitionBuilder extends AbstractBuilder
{

/**
* @inheritdoc
*/
public function build(array $ast): NodeInterface
{
return new DirectiveDefinitionNode([
'description' => $this->buildOne($ast, 'description'),
'name' => $this->buildOne($ast, 'name'),
'arguments' => $this->buildMany($ast, 'arguments'),
'locations' => $this->buildMany($ast, 'locations'),
'location' => $this->createLocation($ast),
]);
}

/**
* @inheritdoc
*/
public function supportsKind(string $kind): bool
{
return $kind === NodeKindEnum::DIRECTIVE_DEFINITION;
}
}
32 changes: 32 additions & 0 deletions src/Language/AST/Builder/EnumTypeExtensionBuilder.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

namespace Digia\GraphQL\Language\AST\Builder;

use Digia\GraphQL\Language\AST\Node\Contract\NodeInterface;
use Digia\GraphQL\Language\AST\Node\EnumTypeExtensionNode;
use Digia\GraphQL\Language\AST\NodeKindEnum;

class EnumTypeExtensionBuilder extends AbstractBuilder
{

/**
* @inheritdoc
*/
public function build(array $ast): NodeInterface
{
return new EnumTypeExtensionNode([
'name' => $this->buildOne($ast, 'name'),
'directives' => $this->buildMany($ast, 'directives'),
'values' => $this->buildMany($ast, 'values'),
'location' => $this->createLocation($ast),
]);
}

/**
* @inheritdoc
*/
public function supportsKind(string $kind): bool
{
return $kind === NodeKindEnum::ENUM_TYPE_EXTENSION;
}
}
32 changes: 32 additions & 0 deletions src/Language/AST/Builder/InputObjectTypeExtensionBuilder.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

namespace Digia\GraphQL\Language\AST\Builder;

use Digia\GraphQL\Language\AST\Node\Contract\NodeInterface;
use Digia\GraphQL\Language\AST\Node\InputObjectTypeExtensionNode;
use Digia\GraphQL\Language\AST\NodeKindEnum;

class InputObjectTypeExtensionBuilder extends AbstractBuilder
{

/**
* @inheritdoc
*/
public function build(array $ast): NodeInterface
{
return new InputObjectTypeExtensionNode([
'name' => $this->buildOne($ast, 'name'),
'directives' => $this->buildMany($ast, 'directives'),
'fields' => $this->buildMany($ast, 'fields'),
'location' => $this->createLocation($ast),
]);
}

/**
* @inheritdoc
*/
public function supportsKind(string $kind): bool
{
return $kind === NodeKindEnum::INPUT_OBJECT_TYPE_EXTENSION;
}
}
32 changes: 32 additions & 0 deletions src/Language/AST/Builder/InterfaceTypeExtensionBuilder.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

namespace Digia\GraphQL\Language\AST\Builder;

use Digia\GraphQL\Language\AST\Node\Contract\NodeInterface;
use Digia\GraphQL\Language\AST\Node\InterfaceTypeExtensionNode;
use Digia\GraphQL\Language\AST\NodeKindEnum;

class InterfaceTypeExtensionBuilder extends AbstractBuilder
{

/**
* @inheritdoc
*/
public function build(array $ast): NodeInterface
{
return new InterfaceTypeExtensionNode([
'name' => $this->buildOne($ast, 'name'),
'directives' => $this->buildMany($ast, 'directives'),
'fields' => $this->buildMany($ast, 'fields'),
'location' => $this->createLocation($ast),
]);
}

/**
* @inheritdoc
*/
public function supportsKind(string $kind): bool
{
return $kind === NodeKindEnum::INTERFACE_TYPE_EXTENSION;
}
}
31 changes: 31 additions & 0 deletions src/Language/AST/Builder/OperationTypeDefinitionBuilder.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?php

namespace Digia\GraphQL\Language\AST\Builder;

use Digia\GraphQL\Language\AST\Node\Contract\NodeInterface;
use Digia\GraphQL\Language\AST\Node\OperationTypeDefinitionNode;
use Digia\GraphQL\Language\AST\NodeKindEnum;

class OperationTypeDefinitionBuilder extends AbstractBuilder
{

/**
* @inheritdoc
*/
public function build(array $ast): NodeInterface
{
return new OperationTypeDefinitionNode([
'operation' => $this->get($ast, 'operation'),
'type' => $this->buildOne($ast, 'type'),
'location' => $this->createLocation($ast),
]);
}

/**
* @inheritdoc
*/
public function supportsKind(string $kind): bool
{
return $kind === NodeKindEnum::OPERATION_TYPE_DEFINITION;
}
}
32 changes: 32 additions & 0 deletions src/Language/AST/Builder/ScalarTypeExtensionBuilder.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

namespace Digia\GraphQL\Language\AST\Builder;

use Digia\GraphQL\Language\AST\Node\Contract\NodeInterface;
use Digia\GraphQL\Language\AST\Node\ScalarTypeDefinitionNode;
use Digia\GraphQL\Language\AST\Node\ScalarTypeExtensionNode;
use Digia\GraphQL\Language\AST\NodeKindEnum;

class ScalarTypeExtensionBuilder extends AbstractBuilder
{

/**
* @inheritdoc
*/
public function build(array $ast): NodeInterface
{
return new ScalarTypeExtensionNode([
'name' => $this->buildOne($ast, 'name'),
'directives' => $this->buildMany($ast, 'directives'),
'location' => $this->createLocation($ast),
]);
}

/**
* @inheritdoc
*/
public function supportsKind(string $kind): bool
{
return $kind === NodeKindEnum::SCALAR_TYPE_EXTENSION;
}
}
31 changes: 31 additions & 0 deletions src/Language/AST/Builder/SchemaDefinitionBuilder.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?php

namespace Digia\GraphQL\Language\AST\Builder;

use Digia\GraphQL\Language\AST\Node\Contract\NodeInterface;
use Digia\GraphQL\Language\AST\Node\SchemaDefinitionNode;
use Digia\GraphQL\Language\AST\NodeKindEnum;

class SchemaDefinitionBuilder extends AbstractBuilder
{

/**
* @inheritdoc
*/
public function build(array $ast): NodeInterface
{
return new SchemaDefinitionNode([
'directives' => $this->buildMany($ast, 'directives'),
'operationTypes' => $this->buildMany($ast, 'operationTypes'),
'location' => $this->createLocation($ast),
]);
}

/**
* @inheritdoc
*/
public function supportsKind(string $kind): bool
{
return $kind === NodeKindEnum::SCHEMA_DEFINITION;
}
}
32 changes: 32 additions & 0 deletions src/Language/AST/Builder/UnionTypeExtensionBuilder.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

namespace Digia\GraphQL\Language\AST\Builder;

use Digia\GraphQL\Language\AST\Node\Contract\NodeInterface;
use Digia\GraphQL\Language\AST\Node\UnionTypeExtensionNode;
use Digia\GraphQL\Language\AST\NodeKindEnum;

class UnionTypeExtensionBuilder extends AbstractBuilder
{

/**
* @inheritdoc
*/
public function build(array $ast): NodeInterface
{
return new UnionTypeExtensionNode([
'name' => $this->buildOne($ast, 'name'),
'directives' => $this->buildMany($ast, 'directives'),
'types' => $this->buildMany($ast, 'types'),
'location' => $this->createLocation($ast),
]);
}

/**
* @inheritdoc
*/
public function supportsKind(string $kind): bool
{
return $kind === NodeKindEnum::UNION_TYPE_EXTENSION;
}
}
Loading

0 comments on commit e041562

Please sign in to comment.