X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fseekat;a=blobdiff_plain;f=lib%2FAPI%2FFuture.php;h=1ef0b1d38ae1323a4165c1d2f5409f1442863645;hp=e0d36b72ad44c6bd1d50317576980bf781379bd8;hb=HEAD;hpb=2121556150be871684b5046af7cf250b8219128d diff --git a/lib/API/Future.php b/lib/API/Future.php index e0d36b7..1ef0b1d 100644 --- a/lib/API/Future.php +++ b/lib/API/Future.php @@ -5,54 +5,52 @@ namespace seekat\API; interface Future { /** * @param callable $onCancel - * @return mixed Promisor providing a promise() method + * @return object Promisor providing a promise() method */ - function createContext(callable $onCancel = null); + function createContext(callable $onCancel = null) : object; /** - * @param object $context Promisor - * @return mixed promise + * @return object promise */ - function getPromise($context); + function getPromise(object $context) : object; + + function isPromise(object $promise) : bool; + + function cancelPromise(object $promise) : void; /** - * @param mixed $promise - * @return bool + * @return object promise */ - function isPromise($promise) : bool; + function handlePromise(object $promise, callable $onResult = null, callable $onError = null) : object; /** - * @param mixed $promise - * @return bool + * Create an immediately resolved promise */ - function cancelPromise($promise); + function resolve(mixed $value) : object; /** - * @param mixed $promise - * @param callable|null $onResult - * @param callable|null $onError - * @return mixed promise + * @param object $context Promisor returned by createContext */ - function handlePromise($promise, callable $onResult = null, callable $onError = null); + function resolver(object $context) : \Closure; /** - * @param object $context Promisor returned by createContext - * @param mixed $value - * @return void + * Create an immediately rejected promise */ - function resolve($context, $value); + function reject(mixed $reason) : object; /** * @param object $context Promisor returned by createContext - * @param mixed $reason - * @return void */ - function reject($context, $reason); + function rejecter(object $context) : \Closure; /** - * @param object $context Promisor returned by createContext * @param array $promises - * @return mixed promise + * @return object promise + */ + function all(array $promises) : object; + + /** + * */ - function all($context, array $promises); + function reducer() : \Closure; }