dokuwiki-matrixnotifierwas-plugin – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | <?php |
2 | |||
3 | declare(strict_types=1); |
||
4 | |||
5 | namespace GuzzleHttp\Promise; |
||
6 | |||
7 | final class Create |
||
8 | { |
||
9 | /** |
||
10 | * Creates a promise for a value if the value is not a promise. |
||
11 | * |
||
12 | * @param mixed $value Promise or value. |
||
13 | */ |
||
14 | public static function promiseFor($value): PromiseInterface |
||
15 | { |
||
16 | if ($value instanceof PromiseInterface) { |
||
17 | return $value; |
||
18 | } |
||
19 | |||
20 | // Return a Guzzle promise that shadows the given promise. |
||
21 | if (is_object($value) && method_exists($value, 'then')) { |
||
22 | $wfn = method_exists($value, 'wait') ? [$value, 'wait'] : null; |
||
23 | $cfn = method_exists($value, 'cancel') ? [$value, 'cancel'] : null; |
||
24 | $promise = new Promise($wfn, $cfn); |
||
25 | $value->then([$promise, 'resolve'], [$promise, 'reject']); |
||
26 | |||
27 | return $promise; |
||
28 | } |
||
29 | |||
30 | return new FulfilledPromise($value); |
||
31 | } |
||
32 | |||
33 | /** |
||
34 | * Creates a rejected promise for a reason if the reason is not a promise. |
||
35 | * If the provided reason is a promise, then it is returned as-is. |
||
36 | * |
||
37 | * @param mixed $reason Promise or reason. |
||
38 | */ |
||
39 | public static function rejectionFor($reason): PromiseInterface |
||
40 | { |
||
41 | if ($reason instanceof PromiseInterface) { |
||
42 | return $reason; |
||
43 | } |
||
44 | |||
45 | return new RejectedPromise($reason); |
||
46 | } |
||
47 | |||
48 | /** |
||
49 | * Create an exception for a rejected promise value. |
||
50 | * |
||
51 | * @param mixed $reason |
||
52 | */ |
||
53 | public static function exceptionFor($reason): \Throwable |
||
54 | { |
||
55 | if ($reason instanceof \Throwable) { |
||
56 | return $reason; |
||
57 | } |
||
58 | |||
59 | return new RejectionException($reason); |
||
60 | } |
||
61 | |||
62 | /** |
||
63 | * Returns an iterator for the given value. |
||
64 | * |
||
65 | * @param mixed $value |
||
66 | */ |
||
67 | public static function iterFor($value): \Iterator |
||
68 | { |
||
69 | if ($value instanceof \Iterator) { |
||
70 | return $value; |
||
71 | } |
||
72 | |||
73 | if (is_array($value)) { |
||
74 | return new \ArrayIterator($value); |
||
75 | } |
||
76 | |||
77 | return new \ArrayIterator([$value]); |
||
78 | } |
||
79 | } |