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