| Total Complexity | 8 |
| Total Lines | 49 |
| Duplicated Lines | 0 % |
| Coverage | 100% |
| Changes | 2 | ||
| Bugs | 0 | Features | 0 |
| 1 | <?php |
||
| 12 | class Deferred |
||
| 13 | { |
||
| 14 | /** @var SplQueue|null */ |
||
| 15 | private static $queue; |
||
| 16 | |||
| 17 | /** @var callable */ |
||
| 18 | private $callback; |
||
| 19 | |||
| 20 | /** @var SyncPromise */ |
||
| 21 | public $promise; |
||
| 22 | |||
| 23 | 43 | public function __construct(callable $callback) |
|
| 24 | { |
||
| 25 | 43 | $this->callback = $callback; |
|
| 26 | 43 | $this->promise = new SyncPromise(); |
|
| 27 | 43 | self::getQueue()->enqueue($this); |
|
| 28 | 43 | } |
|
| 29 | |||
| 30 | 241 | public static function getQueue() : SplQueue |
|
| 31 | { |
||
| 32 | 241 | if (self::$queue === null) { |
|
| 33 | 1 | self::$queue = new SplQueue(); |
|
| 34 | } |
||
| 35 | |||
| 36 | 241 | return self::$queue; |
|
| 37 | } |
||
| 38 | |||
| 39 | 65 | public static function runQueue() : void |
|
| 46 | } |
||
| 47 | 65 | } |
|
| 48 | |||
| 49 | 1 | public function then($onFulfilled = null, $onRejected = null) |
|
| 52 | } |
||
| 53 | |||
| 54 | 40 | public function run() : void |
|
| 64 |