<?php namespace GuzzleHttp\Promise; final class Create { /** * Creates a promise for a value if the value is not a promise. * * @param mixed $value Promise or value. * * @return PromiseInterface */ public static function promiseFor($value) { if ($value instanceof PromiseInterface) { return $value; } // Return a Guzzle promise that shadows the given promise. if (is_object($value) && method_exists($value, 'then')) { $wfn = method_exists($value, 'wait') ? [$value, 'wait'] : null; $cfn = method_exists($value, 'cancel') ? [$value, 'cancel'] : null; $promise = new Promise($wfn, $cfn); $value->then([$promise, 'resolve'], [$promise, 'reject']); return $promise; } return new FulfilledPromise($value); } /** * Creates a rejected promise for a reason if the reason is not a promise. * If the provided reason is a promise, then it is returned as-is. * * @param mixed $reason Promise or reason. * * @return PromiseInterface */ public static function rejectionFor($reason) { if ($reason instanceof PromiseInterface) { return $reason; } return new RejectedPromise($reason); } /** * Create an exception for a rejected promise value. * * @param mixed $reason * * @return \Exception|\Throwable */ public static function exceptionFor($reason) { if ($reason instanceof \Exception || $reason instanceof \Throwable) { return $reason; } return new RejectionException($reason); } /** * Returns an iterator for the given value. * * @param mixed $value * * @return \Iterator */ public static function iterFor($value) { if ($value instanceof \Iterator) { return $value; } if (is_array($value)) { return new \ArrayIterator($value); } return new \ArrayIterator([$value]); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
AggregateException.php | File | 380 B | 0644 |
|
CancellationException.php | File | 183 B | 0644 |
|
Coroutine.php | File | 4.24 KB | 0644 |
|
Create.php | File | 2.06 KB | 0644 |
|
Each.php | File | 2.82 KB | 0644 |
|
EachPromise.php | File | 7.6 KB | 0644 |
|
FulfilledPromise.php | File | 1.94 KB | 0644 |
|
Is.php | File | 999 B | 0644 |
|
Promise.php | File | 8.73 KB | 0644 |
|
PromiseInterface.php | File | 2.79 KB | 0644 |
|
PromisorInterface.php | File | 244 B | 0644 |
|
RejectedPromise.php | File | 2.23 KB | 0644 |
|
RejectionException.php | File | 1.19 KB | 0644 |
|
TaskQueue.php | File | 1.89 KB | 0644 |
|
TaskQueueInterface.php | File | 433 B | 0644 |
|
Utils.php | File | 8.5 KB | 0644 |
|
functions.php | File | 9.89 KB | 0644 |
|
functions_include.php | File | 167 B | 0644 |
|