PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.6
Booking for Appointments and Events Calendar – Amelia v2.4.6
2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / guzzlehttp / promises / src / RejectedPromise.php
ameliabooking / vendor / guzzlehttp / promises / src Last commit date
AggregateException.php 7 months ago CancellationException.php 7 months ago Coroutine.php 7 months ago Create.php 7 months ago Each.php 7 months ago EachPromise.php 7 months ago FulfilledPromise.php 7 months ago Is.php 7 months ago Promise.php 7 months ago PromiseInterface.php 7 months ago PromisorInterface.php 7 months ago RejectedPromise.php 7 months ago RejectionException.php 7 months ago TaskQueue.php 7 months ago TaskQueueInterface.php 7 months ago Utils.php 7 months ago
RejectedPromise.php
96 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AmeliaVendor\GuzzleHttp\Promise;
6
7 /**
8 * A promise that has been rejected.
9 *
10 * Thenning off of this promise will invoke the onRejected callback
11 * immediately and ignore other callbacks.
12 *
13 * @final
14 */
15 class RejectedPromise implements PromiseInterface
16 {
17 private $reason;
18
19 /**
20 * @param mixed $reason
21 */
22 public function __construct($reason)
23 {
24 if (is_object($reason) && method_exists($reason, 'then')) {
25 throw new \InvalidArgumentException(
26 'You cannot create a RejectedPromise with a promise.'
27 );
28 }
29
30 $this->reason = $reason;
31 }
32
33 public function then(
34 ?callable $onFulfilled = null,
35 ?callable $onRejected = null
36 ): PromiseInterface {
37 // If there's no onRejected callback then just return self.
38 if (!$onRejected) {
39 return $this;
40 }
41
42 $queue = Utils::queue();
43 $reason = $this->reason;
44 $p = new Promise([$queue, 'run']);
45 $queue->add(static function () use ($p, $reason, $onRejected): void {
46 if (Is::pending($p)) {
47 try {
48 // Return a resolved promise if onRejected does not throw.
49 $p->resolve($onRejected($reason));
50 } catch (\Throwable $e) {
51 // onRejected threw, so return a rejected promise.
52 $p->reject($e);
53 }
54 }
55 });
56
57 return $p;
58 }
59
60 public function otherwise(callable $onRejected): PromiseInterface
61 {
62 return $this->then(null, $onRejected);
63 }
64
65 public function wait(bool $unwrap = true)
66 {
67 if ($unwrap) {
68 throw Create::exceptionFor($this->reason);
69 }
70
71 return null;
72 }
73
74 public function getState(): string
75 {
76 return self::REJECTED;
77 }
78
79 public function resolve($value): void
80 {
81 throw new \LogicException('Cannot resolve a rejected promise');
82 }
83
84 public function reject($reason): void
85 {
86 if ($reason !== $this->reason) {
87 throw new \LogicException('Cannot reject a rejected promise');
88 }
89 }
90
91 public function cancel(): void
92 {
93 // pass
94 }
95 }
96