update to PHP-8.1
[m6w6/seekat] / lib / API / Future.php
index e0d36b72ad44c6bd1d50317576980bf781379bd8..1ef0b1d38ae1323a4165c1d2f5409f1442863645 100644 (file)
@@ -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;
 }