PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.8
Booking for Appointments and Events Calendar – Amelia v2.4.8
2.4.8 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 / FulfilledPromise.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
FulfilledPromise.php
90 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AmeliaVendor\GuzzleHttp\Promise;
6
7 /**
8 * A promise that has been fulfilled.
9 *
10 * Thenning off of this promise will invoke the onFulfilled callback
11 * immediately and ignore other callbacks.
12 *
13 * @final
14 */
15 class FulfilledPromise implements PromiseInterface
16 {
17 private $value;
18
19 /**
20 * @param mixed $value
21 */
22 public function __construct($value)
23 {
24 if (is_object($value) && method_exists($value, 'then')) {
25 throw new \InvalidArgumentException(
26 'You cannot create a FulfilledPromise with a promise.'
27 );
28 }
29
30 $this->value = $value;
31 }
32
33 public function then(
34 ?callable $onFulfilled = null,
35 ?callable $onRejected = null
36 ): PromiseInterface {
37 // Return itself if there is no onFulfilled function.
38 if (!$onFulfilled) {
39 return $this;
40 }
41
42 $queue = Utils::queue();
43 $p = new Promise([$queue, 'run']);
44 $value = $this->value;
45 $queue->add(static function () use ($p, $value, $onFulfilled): void {
46 if (Is::pending($p)) {
47 try {
48 $p->resolve($onFulfilled($value));
49 } catch (\Throwable $e) {
50 $p->reject($e);
51 }
52 }
53 });
54
55 return $p;
56 }
57
58 public function otherwise(callable $onRejected): PromiseInterface
59 {
60 return $this->then(null, $onRejected);
61 }
62
63 public function wait(bool $unwrap = true)
64 {
65 return $unwrap ? $this->value : null;
66 }
67
68 public function getState(): string
69 {
70 return self::FULFILLED;
71 }
72
73 public function resolve($value): void
74 {
75 if ($value !== $this->value) {
76 throw new \LogicException('Cannot resolve a fulfilled promise');
77 }
78 }
79
80 public function reject($reason): void
81 {
82 throw new \LogicException('Cannot reject a fulfilled promise');
83 }
84
85 public function cancel(): void
86 {
87 // pass
88 }
89 }
90