1: | <?php declare(strict_types=1); |
2: | |
3: | namespace Salient\Contract\Core\Pipeline; |
4: | |
5: | /** |
6: | * @api |
7: | * |
8: | * @template TInput |
9: | * @template TOutput |
10: | * @template TArgument |
11: | * |
12: | * @extends PayloadPipelineInterface<TInput,TOutput,TArgument> |
13: | */ |
14: | interface EntityPipelineInterface extends PayloadPipelineInterface |
15: | { |
16: | /** |
17: | * Run the pipeline and return the result |
18: | * |
19: | * @return TOutput |
20: | */ |
21: | public function run(); |
22: | |
23: | /** |
24: | * Run the pipeline and pass the result to another pipeline |
25: | * |
26: | * @template TNextOutput |
27: | * |
28: | * @param PipelineInterface<TOutput,TNextOutput,TArgument> $next |
29: | * @return EntityPipelineInterface<TOutput,TNextOutput,TArgument> |
30: | */ |
31: | public function runInto(PipelineInterface $next); |
32: | } |
33: |