PHP8
[m6w6/seekat] / lib / API / Future.php
1 <?php
2
3 namespace seekat\API;
4
5 interface Future {
6 /**
7 * @param callable $onCancel
8 * @return mixed Promisor providing a promise() method
9 */
10 function createContext(callable $onCancel = null);
11
12 /**
13 * @param object $context Promisor
14 * @return mixed promise
15 */
16 function getPromise($context);
17
18 /**
19 * @param mixed $promise
20 * @return bool
21 */
22 function isPromise($promise) : bool;
23
24 /**
25 * @param mixed $promise
26 * @return bool
27 */
28 function cancelPromise($promise);
29
30 /**
31 * @param mixed $promise
32 * @param callable|null $onResult
33 * @param callable|null $onError
34 * @return mixed promise
35 */
36 function handlePromise($promise, callable $onResult = null, callable $onError = null);
37
38 /**
39 * @param object $context Promisor returned by createContext
40 * @param mixed $value
41 * @return void
42 */
43 function resolve($context, $value);
44
45 /**
46 * @param object $context Promisor returned by createContext
47 * @param mixed $reason
48 * @return void
49 */
50 function reject($context, $reason);
51
52 /**
53 * @param object $context Promisor returned by createContext
54 * @param array $promises
55 * @return mixed promise
56 */
57 function all($context, array $promises);
58 }