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 |