| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | 
							- <?php
 
- declare(strict_types=1);
 
- namespace GuzzleHttp\Promise;
 
- final class Each
 
- {
 
-     /**
 
-      * Given an iterator that yields promises or values, returns a promise that
 
-      * is fulfilled with a null value when the iterator has been consumed or
 
-      * the aggregate promise has been fulfilled or rejected.
 
-      *
 
-      * $onFulfilled is a function that accepts the fulfilled value, iterator
 
-      * index, and the aggregate promise. The callback can invoke any necessary
 
-      * side effects and choose to resolve or reject the aggregate if needed.
 
-      *
 
-      * $onRejected is a function that accepts the rejection reason, iterator
 
-      * index, and the aggregate promise. The callback can invoke any necessary
 
-      * side effects and choose to resolve or reject the aggregate if needed.
 
-      *
 
-      * @param mixed $iterable Iterator or array to iterate over.
 
-      */
 
-     public static function of(
 
-         $iterable,
 
-         callable $onFulfilled = null,
 
-         callable $onRejected = null
 
-     ): PromiseInterface {
 
-         return (new EachPromise($iterable, [
 
-             'fulfilled' => $onFulfilled,
 
-             'rejected' => $onRejected,
 
-         ]))->promise();
 
-     }
 
-     /**
 
-      * Like of, but only allows a certain number of outstanding promises at any
 
-      * given time.
 
-      *
 
-      * $concurrency may be an integer or a function that accepts the number of
 
-      * pending promises and returns a numeric concurrency limit value to allow
 
-      * for dynamic a concurrency size.
 
-      *
 
-      * @param mixed        $iterable
 
-      * @param int|callable $concurrency
 
-      */
 
-     public static function ofLimit(
 
-         $iterable,
 
-         $concurrency,
 
-         callable $onFulfilled = null,
 
-         callable $onRejected = null
 
-     ): PromiseInterface {
 
-         return (new EachPromise($iterable, [
 
-             'fulfilled' => $onFulfilled,
 
-             'rejected' => $onRejected,
 
-             'concurrency' => $concurrency,
 
-         ]))->promise();
 
-     }
 
-     /**
 
-      * Like limit, but ensures that no promise in the given $iterable argument
 
-      * is rejected. If any promise is rejected, then the aggregate promise is
 
-      * rejected with the encountered rejection.
 
-      *
 
-      * @param mixed        $iterable
 
-      * @param int|callable $concurrency
 
-      */
 
-     public static function ofLimitAll(
 
-         $iterable,
 
-         $concurrency,
 
-         callable $onFulfilled = null
 
-     ): PromiseInterface {
 
-         return self::ofLimit(
 
-             $iterable,
 
-             $concurrency,
 
-             $onFulfilled,
 
-             function ($reason, $idx, PromiseInterface $aggregate): void {
 
-                 $aggregate->reject($reason);
 
-             }
 
-         );
 
-     }
 
- }
 
 
  |