refactor(kernel): unify HTTP and CLI application lifecycle
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace KTXC\Application\Execution;
|
||||
|
||||
final readonly class ExecutionOutcome
|
||||
{
|
||||
private function __construct(
|
||||
public bool $successful,
|
||||
public mixed $result = null,
|
||||
public ?\Throwable $error = null,
|
||||
) {
|
||||
}
|
||||
|
||||
public static function success(mixed $result = null): self
|
||||
{
|
||||
return new self(true, $result);
|
||||
}
|
||||
|
||||
public static function failure(\Throwable $error, mixed $result = null): self
|
||||
{
|
||||
return new self(false, $result, $error);
|
||||
}
|
||||
|
||||
public static function incomplete(): self
|
||||
{
|
||||
return new self(false);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user