blob: 850699bf6fd884f0e56691fcb4e76c580cfaf1a9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<?php
declare(strict_types=1);
namespace OpenTelemetry\SDK\Common\Future;
use Closure;
/**
* @template-covariant T
*/
interface FutureInterface
{
/**
* @psalm-return T
*/
public function await();
/**
* @psalm-template U
* @psalm-param Closure(T): U $closure
* @psalm-return FutureInterface<U>
*
* @psalm-suppress InvalidTemplateParam
*/
public function map(Closure $closure): FutureInterface;
/**
* @psalm-template U
* @psalm-param Closure(\Throwable): U $closure
* @psalm-return FutureInterface<T|U>
*/
public function catch(Closure $closure): FutureInterface;
}
|