@@ -17,7 +17,7 @@ public function __construct(callable $resolver, callable $canceller = null)
1717 $ this ->call ($ resolver );
1818 }
1919
20- public function then (callable $ onFulfilled = null , callable $ onRejected = null )
20+ public function then (callable $ onFulfilled = null , callable $ onRejected = null ): PromiseInterface
2121 {
2222 if (null !== $ this ->result ) {
2323 return $ this ->result ->then ($ onFulfilled , $ onRejected );
@@ -38,10 +38,11 @@ public function then(callable $onFulfilled = null, callable $onRejected = null)
3838 });
3939 }
4040
41- public function done (callable $ onFulfilled = null , callable $ onRejected = null )
41+ public function done (callable $ onFulfilled = null , callable $ onRejected = null ): void
4242 {
4343 if (null !== $ this ->result ) {
44- return $ this ->result ->done ($ onFulfilled , $ onRejected );
44+ $ this ->result ->done ($ onFulfilled , $ onRejected );
45+ return ;
4546 }
4647
4748 $ this ->handlers [] = function (PromiseInterface $ promise ) use ($ onFulfilled , $ onRejected ) {
@@ -50,7 +51,7 @@ public function done(callable $onFulfilled = null, callable $onRejected = null)
5051 };
5152 }
5253
53- public function otherwise (callable $ onRejected )
54+ public function otherwise (callable $ onRejected ): PromiseInterface
5455 {
5556 return $ this ->then (null , function ($ reason ) use ($ onRejected ) {
5657 if (!_checkTypehint ($ onRejected , $ reason )) {
@@ -61,7 +62,7 @@ public function otherwise(callable $onRejected)
6162 });
6263 }
6364
64- public function always (callable $ onFulfilledOrRejected )
65+ public function always (callable $ onFulfilledOrRejected ): PromiseInterface
6566 {
6667 return $ this ->then (function ($ value ) use ($ onFulfilledOrRejected ) {
6768 return resolve ($ onFulfilledOrRejected ())->then (function () use ($ value ) {
@@ -74,7 +75,7 @@ public function always(callable $onFulfilledOrRejected)
7475 });
7576 }
7677
77- public function cancel ()
78+ public function cancel (): void
7879 {
7980 $ canceller = $ this ->canceller ;
8081 $ this ->canceller = null ;
@@ -109,7 +110,7 @@ public function cancel()
109110 }
110111 }
111112
112- private function resolver (callable $ onFulfilled = null , callable $ onRejected = null )
113+ private function resolver (callable $ onFulfilled = null , callable $ onRejected = null ): callable
113114 {
114115 return function ($ resolve , $ reject ) use ($ onFulfilled , $ onRejected ) {
115116 $ this ->handlers [] = function (PromiseInterface $ promise ) use ($ onFulfilled , $ onRejected , $ resolve , $ reject ) {
@@ -120,7 +121,7 @@ private function resolver(callable $onFulfilled = null, callable $onRejected = n
120121 };
121122 }
122123
123- private function resolve ($ value = null )
124+ private function resolve ($ value = null ): void
124125 {
125126 if (null !== $ this ->result ) {
126127 return ;
@@ -129,7 +130,7 @@ private function resolve($value = null)
129130 $ this ->settle (resolve ($ value ));
130131 }
131132
132- private function reject (\Throwable $ reason )
133+ private function reject (\Throwable $ reason ): void
133134 {
134135 if (null !== $ this ->result ) {
135136 return ;
@@ -138,7 +139,7 @@ private function reject(\Throwable $reason)
138139 $ this ->settle (reject ($ reason ));
139140 }
140141
141- private function settle (PromiseInterface $ result )
142+ private function settle (PromiseInterface $ result ): void
142143 {
143144 $ result = $ this ->unwrap ($ result );
144145
@@ -165,7 +166,7 @@ private function settle(PromiseInterface $result)
165166 }
166167 }
167168
168- private function unwrap ($ promise )
169+ private function unwrap ($ promise ): PromiseInterface
169170 {
170171 while ($ promise instanceof self && null !== $ promise ->result ) {
171172 $ promise = $ promise ->result ;
@@ -174,7 +175,7 @@ private function unwrap($promise)
174175 return $ promise ;
175176 }
176177
177- private function call (callable $ callback )
178+ private function call (callable $ callback ): void
178179 {
179180 // Use reflection to inspect number of arguments expected by this callback.
180181 // We did some careful benchmarking here: Using reflection to avoid unneeded
0 commit comments