1<?php
2
3namespace GuzzleHttp\Promise;
4
5final class Is
6{
7    /**
8     * Returns true if a promise is pending.
9     *
10     * @return bool
11     */
12    public static function pending(PromiseInterface $promise)
13    {
14        return $promise->getState() === PromiseInterface::PENDING;
15    }
16
17    /**
18     * Returns true if a promise is fulfilled or rejected.
19     *
20     * @return bool
21     */
22    public static function settled(PromiseInterface $promise)
23    {
24        return $promise->getState() !== PromiseInterface::PENDING;
25    }
26
27    /**
28     * Returns true if a promise is fulfilled.
29     *
30     * @return bool
31     */
32    public static function fulfilled(PromiseInterface $promise)
33    {
34        return $promise->getState() === PromiseInterface::FULFILLED;
35    }
36
37    /**
38     * Returns true if a promise is rejected.
39     *
40     * @return bool
41     */
42    public static function rejected(PromiseInterface $promise)
43    {
44        return $promise->getState() === PromiseInterface::REJECTED;
45    }
46}
47