| Server IP : 65.109.86.83 / Your IP : 37.27.51.148 Web Server : nginx/1.14.1 System : Linux libra 4.18.0-553.51.1.el8_10.x86_64 #1 SMP Wed Apr 30 20:24:04 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.3.31 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/html/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/promises/src/ |
Upload File : |
<?php
declare (strict_types=1);
namespace YoastSEO_Vendor\GuzzleHttp\Promise;
final class Create
{
/**
* Creates a promise for a value if the value is not a promise.
*
* @param mixed $value Promise or value.
*/
public static function promiseFor($value) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
if ($value instanceof \YoastSEO_Vendor\GuzzleHttp\Promise\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 \YoastSEO_Vendor\GuzzleHttp\Promise\Promise($wfn, $cfn);
$value->then([$promise, 'resolve'], [$promise, 'reject']);
return $promise;
}
return new \YoastSEO_Vendor\GuzzleHttp\Promise\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.
*/
public static function rejectionFor($reason) : \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface
{
if ($reason instanceof \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface) {
return $reason;
}
return new \YoastSEO_Vendor\GuzzleHttp\Promise\RejectedPromise($reason);
}
/**
* Create an exception for a rejected promise value.
*
* @param mixed $reason
*/
public static function exceptionFor($reason) : \Throwable
{
if ($reason instanceof \Throwable) {
return $reason;
}
return new \YoastSEO_Vendor\GuzzleHttp\Promise\RejectionException($reason);
}
/**
* Returns an iterator for the given value.
*
* @param mixed $value
*/
public static function iterFor($value) : \Iterator
{
if ($value instanceof \Iterator) {
return $value;
}
if (\is_array($value)) {
return new \ArrayIterator($value);
}
return new \ArrayIterator([$value]);
}
}