allow vendord
All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s
All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s
This commit is contained in:
60
vendor/cuyz/valinor/src/Definition/Methods.php
vendored
Normal file
60
vendor/cuyz/valinor/src/Definition/Methods.php
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace CuyZ\Valinor\Definition;
|
||||
|
||||
use Countable;
|
||||
use IteratorAggregate;
|
||||
use Traversable;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*
|
||||
* @implements IteratorAggregate<string, MethodDefinition>
|
||||
*/
|
||||
final class Methods implements IteratorAggregate, Countable
|
||||
{
|
||||
/** @var MethodDefinition[] */
|
||||
private array $methods = [];
|
||||
|
||||
public function __construct(MethodDefinition ...$methods)
|
||||
{
|
||||
foreach ($methods as $method) {
|
||||
$this->methods[$method->name] = $method;
|
||||
}
|
||||
}
|
||||
|
||||
public function has(string $name): bool
|
||||
{
|
||||
return isset($this->methods[$name]);
|
||||
}
|
||||
|
||||
public function get(string $name): MethodDefinition
|
||||
{
|
||||
return $this->methods[$name];
|
||||
}
|
||||
|
||||
public function hasConstructor(): bool
|
||||
{
|
||||
return $this->has('__construct');
|
||||
}
|
||||
|
||||
public function constructor(): MethodDefinition
|
||||
{
|
||||
return $this->get('__construct');
|
||||
}
|
||||
|
||||
public function count(): int
|
||||
{
|
||||
return count($this->methods);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Traversable<string, MethodDefinition>
|
||||
*/
|
||||
public function getIterator(): Traversable
|
||||
{
|
||||
yield from $this->methods;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user