Skip to content

Commit 020591a

Browse files
author
Wout Gevaert
committed
Change ErrorHelper to ErrorTrait
1 parent 6945978 commit 020591a

File tree

10 files changed

+49
-36
lines changed

10 files changed

+49
-36
lines changed

src/Assignment.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
namespace WikibaseSolutions\CypherDSL;
2323

24-
use WikibaseSolutions\CypherDSL\ErrorHandling\ErrorHelper;
24+
use WikibaseSolutions\CypherDSL\Traits\ErrorTrait;
2525
use WikibaseSolutions\CypherDSL\Types\AnyType;
2626

2727
/**
@@ -32,6 +32,8 @@
3232
*/
3333
class Assignment extends BinaryOperator
3434
{
35+
use ErrorTrait;
36+
3537
/**
3638
* @var bool Whether to use the property mutation instead of the property replacement
3739
* operator.
@@ -44,7 +46,7 @@ class Assignment extends BinaryOperator
4446
*/
4547
public function __construct(AnyType $left, AnyType $right)
4648
{
47-
ErrorHelper::assertClass('left', [Property::class, Variable::class], $left);
49+
$this->assertClass('left', [Property::class, Variable::class], $left);
4850

4951
parent::__construct($left, $right, false);
5052
}

src/Clauses/CallProcedureClause.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
namespace WikibaseSolutions\CypherDSL\Clauses;
2323

24-
use WikibaseSolutions\CypherDSL\ErrorHandling\ErrorHelper;
24+
use WikibaseSolutions\CypherDSL\Traits\ErrorTrait;
2525
use WikibaseSolutions\CypherDSL\Types\AnyType;
2626
use WikibaseSolutions\CypherDSL\Variable;
2727

@@ -32,6 +32,8 @@
3232
*/
3333
class CallProcedureClause extends Clause
3434
{
35+
use ErrorTrait;
36+
3537
/**
3638
* @var string|null The procedure to call
3739
*/
@@ -74,7 +76,7 @@ public function setProcedure(string $procedure): self
7476
public function withArguments(array $arguments): self
7577
{
7678
foreach ($arguments as $argument) {
77-
ErrorHelper::assertClass('argument', AnyType::class, $argument);
79+
$this->assertClass('argument', AnyType::class, $argument);
7880
}
7981

8082
$this->arguments = $arguments;
@@ -105,7 +107,7 @@ public function addArgument(AnyType $argument): self
105107
public function yields(array $variables): self
106108
{
107109
foreach ($variables as $variable) {
108-
ErrorHelper::assertClass('variable', Variable::class, $variable);
110+
$this->assertClass('variable', Variable::class, $variable);
109111
}
110112

111113
$this->yieldVariables = $variables;

src/Clauses/RemoveClause.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
namespace WikibaseSolutions\CypherDSL\Clauses;
2323

24-
use WikibaseSolutions\CypherDSL\ErrorHandling\ErrorHelper;
24+
use WikibaseSolutions\CypherDSL\Traits\ErrorTrait;
2525
use WikibaseSolutions\CypherDSL\Label;
2626
use WikibaseSolutions\CypherDSL\Property;
2727
use WikibaseSolutions\CypherDSL\QueryConvertable;
@@ -33,6 +33,8 @@
3333
*/
3434
class RemoveClause extends Clause
3535
{
36+
use ErrorTrait;
37+
3638
/**
3739
* @var Property[]|Label[] The expressions in this REMOVE clause.
3840
*/
@@ -46,7 +48,7 @@ class RemoveClause extends Clause
4648
*/
4749
public function addExpression($expression): self
4850
{
49-
ErrorHelper::assertClass('expression', [Property::class, Label::class], $expression);
51+
$this->assertClass('expression', [Property::class, Label::class], $expression);
5052

5153
$this->expressions[] = $expression;
5254

src/Clauses/SetClause.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
namespace WikibaseSolutions\CypherDSL\Clauses;
2323

2424
use WikibaseSolutions\CypherDSL\Assignment;
25-
use WikibaseSolutions\CypherDSL\ErrorHandling\ErrorHelper;
25+
use WikibaseSolutions\CypherDSL\Traits\ErrorTrait;
2626
use WikibaseSolutions\CypherDSL\Label;
2727
use WikibaseSolutions\CypherDSL\QueryConvertable;
2828

@@ -33,6 +33,8 @@
3333
*/
3434
class SetClause extends Clause
3535
{
36+
use ErrorTrait;
37+
3638
/**
3739
* @var Assignment[]|Label[] $expressions The expressions to set
3840
*/
@@ -46,7 +48,7 @@ class SetClause extends Clause
4648
*/
4749
public function addAssignment($expression): self
4850
{
49-
ErrorHelper::assertClass('expression', [Assignment::class, Label::class], $expression);
51+
$this->assertClass('expression', [Assignment::class, Label::class], $expression);
5052

5153
$this->expressions[] = $expression;
5254

src/ExpressionList.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
namespace WikibaseSolutions\CypherDSL;
2323

2424
use WikibaseSolutions\CypherDSL\Traits\EscapeTrait;
25-
use WikibaseSolutions\CypherDSL\ErrorHandling\ErrorHelper;
25+
use WikibaseSolutions\CypherDSL\Traits\ErrorTrait;
2626
use WikibaseSolutions\CypherDSL\Traits\ListTypeTrait;
2727
use WikibaseSolutions\CypherDSL\Types\AnyType;
2828
use WikibaseSolutions\CypherDSL\Types\CompositeTypes\ListType;
@@ -38,6 +38,7 @@
3838
class ExpressionList implements ListType
3939
{
4040
use EscapeTrait;
41+
use ErrorTrait;
4142
use ListTypeTrait;
4243

4344
/**
@@ -53,7 +54,7 @@ class ExpressionList implements ListType
5354
public function __construct(array $expressions)
5455
{
5556
foreach ($expressions as $expression) {
56-
ErrorHelper::assertClass('expression', AnyType::class, $expression);
57+
$this->assertClass('expression', AnyType::class, $expression);
5758
}
5859

5960
$this->expressions = $expressions;

src/Functions/IsEmpty.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
namespace WikibaseSolutions\CypherDSL\Functions;
2323

24-
use WikibaseSolutions\CypherDSL\ErrorHandling\ErrorHelper;
24+
use WikibaseSolutions\CypherDSL\Traits\ErrorTrait;
2525
use WikibaseSolutions\CypherDSL\Traits\BooleanTypeTrait;
2626
use WikibaseSolutions\CypherDSL\Types\AnyType;
2727
use WikibaseSolutions\CypherDSL\Types\CompositeTypes\ListType;
@@ -37,6 +37,7 @@
3737
class IsEmpty extends FunctionCall implements BooleanType
3838
{
3939
use BooleanTypeTrait;
40+
use ErrorTrait;
4041

4142
/**
4243
* @var ListType|MapType|StringType An expression that returns a list
@@ -54,7 +55,7 @@ class IsEmpty extends FunctionCall implements BooleanType
5455
*/
5556
public function __construct(AnyType $list)
5657
{
57-
ErrorHelper::assertClass('list', [ListType::class, MapType::class, StringType::class], $list);
58+
$this->assertClass('list', [ListType::class, MapType::class, StringType::class], $list);
5859

5960
$this->list = $list;
6061
}

src/Functions/RawFunction.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
namespace WikibaseSolutions\CypherDSL\Functions;
2323

2424
use InvalidArgumentException;
25-
use WikibaseSolutions\CypherDSL\ErrorHandling\ErrorHelper;
25+
use WikibaseSolutions\CypherDSL\Traits\ErrorTrait;
2626
use WikibaseSolutions\CypherDSL\Traits\BooleanTypeTrait;
2727
use WikibaseSolutions\CypherDSL\Traits\ListTypeTrait;
2828
use WikibaseSolutions\CypherDSL\Traits\MapTypeTrait;
@@ -53,6 +53,7 @@ class RawFunction extends FunctionCall implements
5353
PathType
5454
{
5555
use BooleanTypeTrait;
56+
use ErrorTrait;
5657
use ListTypeTrait;
5758
use MapTypeTrait;
5859
use NodeTypeTrait;
@@ -79,7 +80,7 @@ class RawFunction extends FunctionCall implements
7980
public function __construct(string $functionName, array $parameters)
8081
{
8182
foreach ($parameters as $parameter) {
82-
ErrorHelper::assertClass('parameter', AnyType::class, $parameter);
83+
$this->assertClass('parameter', AnyType::class, $parameter);
8384
}
8485

8586
if (!preg_match("/^[a-zA-Z0-9_]+$/", $functionName)) {

src/PropertyMap.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
namespace WikibaseSolutions\CypherDSL;
2323

24-
use WikibaseSolutions\CypherDSL\ErrorHandling\ErrorHelper;
24+
use WikibaseSolutions\CypherDSL\Traits\ErrorTrait;
2525
use WikibaseSolutions\CypherDSL\Traits\EscapeTrait;
2626
use WikibaseSolutions\CypherDSL\Traits\MapTypeTrait;
2727
use WikibaseSolutions\CypherDSL\Types\AnyType;
@@ -38,6 +38,7 @@
3838
class PropertyMap implements MapType
3939
{
4040
use EscapeTrait;
41+
use ErrorTrait;
4142
use MapTypeTrait;
4243

4344
/**
@@ -53,7 +54,7 @@ class PropertyMap implements MapType
5354
public function __construct(array $properties = [])
5455
{
5556
foreach ($properties as $property) {
56-
ErrorHelper::assertClass('property', AnyType::class, $property);
57+
$this->assertClass('property', AnyType::class, $property);
5758
}
5859

5960
$this->properties = $properties;

src/Query.php

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
use WikibaseSolutions\CypherDSL\Clauses\SetClause;
3737
use WikibaseSolutions\CypherDSL\Clauses\WhereClause;
3838
use WikibaseSolutions\CypherDSL\Clauses\WithClause;
39-
use WikibaseSolutions\CypherDSL\ErrorHandling\ErrorHelper;
39+
use WikibaseSolutions\CypherDSL\Traits\ErrorTrait;
4040
use WikibaseSolutions\CypherDSL\Functions\FunctionCall;
4141
use WikibaseSolutions\CypherDSL\Literals\Boolean;
4242
use WikibaseSolutions\CypherDSL\Literals\Decimal;
@@ -62,6 +62,7 @@
6262
class Query implements QueryConvertable
6363
{
6464
use EscapeTrait;
65+
use ErrorTrait;
6566

6667
// A reference to the Literal class
6768
const literal = Literal::class;
@@ -234,7 +235,7 @@ public function match($patterns): self
234235
}
235236

236237
foreach ($patterns as $pattern) {
237-
ErrorHelper::assertClass('pattern', StructuralType::class, $pattern);
238+
$this->assertClass('pattern', StructuralType::class, $pattern);
238239

239240
$matchClause->addPattern($pattern);
240241
}
@@ -265,7 +266,7 @@ public function returning($expressions, bool $distinct = false): self
265266
}
266267

267268
foreach ($expressions as $maybeAlias => $expression) {
268-
ErrorHelper::assertClass('expression', AnyType::class, $expression);
269+
$this->assertClass('expression', AnyType::class, $expression);
269270

270271
if ($expression instanceof Node) {
271272
$expression = $expression->getName();
@@ -300,7 +301,7 @@ public function create($patterns): self
300301
}
301302

302303
foreach ($patterns as $pattern) {
303-
ErrorHelper::assertClass('pattern', StructuralType::class, $pattern);
304+
$this->assertClass('pattern', StructuralType::class, $pattern);
304305

305306
$createClause->addPattern($pattern);
306307
}
@@ -328,7 +329,7 @@ public function delete($nodes): self
328329
}
329330

330331
foreach ($nodes as $node) {
331-
ErrorHelper::assertClass('node', NodeType::class, $node);
332+
$this->assertClass('node', NodeType::class, $node);
332333

333334
$deleteClause->addNode($node);
334335
}
@@ -357,7 +358,7 @@ public function detachDelete($nodes): self
357358
}
358359

359360
foreach ($nodes as $node) {
360-
ErrorHelper::assertClass('node', NodeType::class, $node);
361+
$this->assertClass('node', NodeType::class, $node);
361362

362363
$deleteClause->addNode($node);
363364
}
@@ -433,7 +434,7 @@ public function optionalMatch($patterns): self
433434
}
434435

435436
foreach ($patterns as $pattern) {
436-
ErrorHelper::assertClass('pattern', StructuralType::class, $pattern);
437+
$this->assertClass('pattern', StructuralType::class, $pattern);
437438

438439
$optionalMatchClause->addPattern($pattern);
439440
}
@@ -463,7 +464,7 @@ public function orderBy($properties, bool $descending = false): self
463464
}
464465

465466
foreach ($properties as $property) {
466-
ErrorHelper::assertClass('property', Property::class, $property);
467+
$this->assertClass('property', Property::class, $property);
467468

468469
$orderByClause->addProperty($property);
469470
}
@@ -491,7 +492,7 @@ public function remove($expressions): self
491492
}
492493

493494
foreach ($expressions as $expression) {
494-
ErrorHelper::assertClass('expression', [Property::class, Label::class], $expression);
495+
$this->assertClass('expression', [Property::class, Label::class], $expression);
495496

496497
$removeClause->addExpression($expression);
497498
}
@@ -519,7 +520,7 @@ public function set($expressions): self
519520
}
520521

521522
foreach ($expressions as $expression) {
522-
ErrorHelper::assertClass('expression', [Assignment::class, Label::class], $expression);
523+
$this->assertClass('expression', [Assignment::class, Label::class], $expression);
523524

524525
$setClause->addAssignment($expression);
525526
}
@@ -567,7 +568,7 @@ public function with($expressions): self
567568
}
568569

569570
foreach ($expressions as $maybeAlias => $expression) {
570-
ErrorHelper::assertClass('expression', AnyType::class, $expression);
571+
$this->assertClass('expression', AnyType::class, $expression);
571572

572573
if ($expression instanceof Node) {
573574
$expression = $expression->getName();

src/ErrorHandling/ErrorHelper.php renamed to src/Traits/ErrorTrait.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@
1919
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
2020
*/
2121

22-
namespace WikibaseSolutions\CypherDSL\ErrorHandling;
22+
namespace WikibaseSolutions\CypherDSL\Traits;
2323

2424
use TypeError;
2525
use ReflectionClass;
2626

2727
/**
28-
* Convenience class including simple assertions and error reporting functions
28+
* Convenience trait including simple assertions and error reporting functions
2929
*/
30-
class ErrorHelper {
30+
trait ErrorTrait {
3131

3232
/**
3333
* Asserts that $userInput is an instance of one of the provided $classNames (polyfill for php 8.0 Union types)
@@ -37,7 +37,7 @@ class ErrorHelper {
3737
* @param mixed $userInput The input that should be tested
3838
* @throws TypeError
3939
*/
40-
public static function assertClass(string $varName, $classNames, $userInput) : void {
40+
private function assertClass(string $varName, $classNames, $userInput) : void {
4141
if (!is_array($classNames)) {
4242
$classNames = [$classNames];
4343
}
@@ -46,7 +46,7 @@ public static function assertClass(string $varName, $classNames, $userInput) : v
4646
return;
4747
}
4848
throw new TypeError(
49-
self::getTypeErrorText(
49+
$this->getTypeErrorText(
5050
$varName,
5151
$classNames,
5252
$userInput
@@ -61,15 +61,15 @@ public static function assertClass(string $varName, $classNames, $userInput) : v
6161
* @param array $classNames The classnames that should be mentioned in the message
6262
* @param mixed $userInput The input that has been given.
6363
*/
64-
public static function getTypeErrorText(
64+
private function getTypeErrorText(
6565
string $varName,
6666
array $classNames,
6767
$userInput
6868
) : string {
6969
return
7070
"\$$varName should be a " .
7171
implode(' or ', $classNames) . " object, " .
72-
self::getUserInputInfo($userInput) . " given.";
72+
$this->getUserInputInfo($userInput) . " given.";
7373
}
7474

7575
/**
@@ -78,7 +78,7 @@ public static function getTypeErrorText(
7878
* @param mixed $userInput
7979
* @return string A description of $userInput.
8080
*/
81-
public static function getUserInputInfo($userInput) : string {
81+
private function getUserInputInfo($userInput) : string {
8282
$info = gettype( $userInput );
8383
if ( $info === 'object' ) {
8484
if ((new ReflectionClass($userInput))->isAnonymous()) {

0 commit comments

Comments
 (0)