eb99eb5a2e
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
23 lines
470 B
PHP
23 lines
470 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace KTXC\Application\Execution;
|
|
|
|
interface ExecutionRunnerInterface
|
|
{
|
|
/**
|
|
* @template TResult
|
|
*
|
|
* @param callable(ExecutionScope): TResult $execution
|
|
* @param null|callable(\Throwable, ExecutionScope): TResult $failure
|
|
*
|
|
* @return TResult
|
|
*/
|
|
public function execute(
|
|
ExecutionDescriptor $descriptor,
|
|
callable $execution,
|
|
?callable $failure = null,
|
|
): mixed;
|
|
}
|