Skip to content

Commit cf9078a

Browse files
authored
Improve PHPDoc return type for synchronous HTTP Client methods (#58090)
* Improve PHPDoc return type for synchronous HTTP Client methods * fix style
1 parent c871a29 commit cf9078a

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

src/Illuminate/Http/Client/PendingRequest.php

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@
3232
use Psr\Http\Message\RequestInterface;
3333
use Symfony\Component\VarDumper\VarDumper;
3434

35+
/**
36+
* @template TAsync of bool = false
37+
*/
3538
class PendingRequest
3639
{
3740
use Conditionable, Macroable;
@@ -193,7 +196,7 @@ class PendingRequest
193196
/**
194197
* Whether the requests should be asynchronous.
195198
*
196-
* @var bool
199+
* @var TAsync
197200
*/
198201
protected $async = false;
199202

@@ -813,7 +816,7 @@ public function dd()
813816
*
814817
* @param string $url
815818
* @param array|string|null $query
816-
* @return \Illuminate\Http\Client\Response|\GuzzleHttp\Promise\PromiseInterface
819+
* @return (TAsync is false ? \Illuminate\Http\Client\Response : \GuzzleHttp\Promise\PromiseInterface)
817820
*
818821
* @throws \Illuminate\Http\Client\ConnectionException
819822
*/
@@ -829,7 +832,7 @@ public function get(string $url, $query = null)
829832
*
830833
* @param string $url
831834
* @param array|string|null $query
832-
* @return \Illuminate\Http\Client\Response|\GuzzleHttp\Promise\PromiseInterface
835+
* @return (TAsync is false ? \Illuminate\Http\Client\Response : \GuzzleHttp\Promise\PromiseInterface)
833836
*
834837
* @throws \Illuminate\Http\Client\ConnectionException
835838
*/
@@ -845,7 +848,7 @@ public function head(string $url, $query = null)
845848
*
846849
* @param string $url
847850
* @param array|\JsonSerializable|\Illuminate\Contracts\Support\Arrayable $data
848-
* @return \Illuminate\Http\Client\Response|\GuzzleHttp\Promise\PromiseInterface
851+
* @return (TAsync is false ? \Illuminate\Http\Client\Response : \GuzzleHttp\Promise\PromiseInterface)
849852
*
850853
* @throws \Illuminate\Http\Client\ConnectionException
851854
*/
@@ -861,7 +864,7 @@ public function post(string $url, $data = [])
861864
*
862865
* @param string $url
863866
* @param array|\JsonSerializable|\Illuminate\Contracts\Support\Arrayable $data
864-
* @return \Illuminate\Http\Client\Response|\GuzzleHttp\Promise\PromiseInterface
867+
* @return (TAsync is false ? \Illuminate\Http\Client\Response : \GuzzleHttp\Promise\PromiseInterface)
865868
*
866869
* @throws \Illuminate\Http\Client\ConnectionException
867870
*/
@@ -877,7 +880,7 @@ public function patch(string $url, $data = [])
877880
*
878881
* @param string $url
879882
* @param array|\JsonSerializable|\Illuminate\Contracts\Support\Arrayable $data
880-
* @return \Illuminate\Http\Client\Response|\GuzzleHttp\Promise\PromiseInterface
883+
* @return (TAsync is false ? \Illuminate\Http\Client\Response : \GuzzleHttp\Promise\PromiseInterface)
881884
*
882885
* @throws \Illuminate\Http\Client\ConnectionException
883886
*/
@@ -893,7 +896,7 @@ public function put(string $url, $data = [])
893896
*
894897
* @param string $url
895898
* @param array|\JsonSerializable|\Illuminate\Contracts\Support\Arrayable $data
896-
* @return \Illuminate\Http\Client\Response|\GuzzleHttp\Promise\PromiseInterface
899+
* @return (TAsync is false ? \Illuminate\Http\Client\Response : \GuzzleHttp\Promise\PromiseInterface)
897900
*
898901
* @throws \Illuminate\Http\Client\ConnectionException
899902
*/
@@ -974,7 +977,7 @@ public function batch(callable $callback): Batch
974977
* @param string $method
975978
* @param string $url
976979
* @param array $options
977-
* @return \Illuminate\Http\Client\Response|\Illuminate\Http\Client\Promises\LazyPromise
980+
* @return (TAsync is false ? \Illuminate\Http\Client\Response : \Illuminate\Http\Client\Promises\LazyPromise)
978981
*
979982
* @throws \Exception
980983
* @throws \Illuminate\Http\Client\ConnectionException
@@ -1639,8 +1642,12 @@ public function isAllowedRequestUrl($url)
16391642
/**
16401643
* Toggle asynchronicity in requests.
16411644
*
1642-
* @param bool $async
1643-
* @return $this
1645+
* @template T of bool = true
1646+
*
1647+
* @param T $async
1648+
* @return self<T>
1649+
*
1650+
* @phpstan-self-out self<T>
16441651
*/
16451652
public function async(bool $async = true)
16461653
{

0 commit comments

Comments
 (0)