Files
roi-theme/wp-content/plugins/google-site-kit/third-party/guzzlehttp/promises/src/FulfilledPromise.php
root a22573bf0b Commit inicial - WordPress Análisis de Precios Unitarios
- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 21:04:30 -06:00

74 lines
2.3 KiB
PHP
Executable File

<?php
declare (strict_types=1);
namespace Google\Site_Kit_Dependencies\GuzzleHttp\Promise;
/**
* A promise that has been fulfilled.
*
* Thenning off of this promise will invoke the onFulfilled callback
* immediately and ignore other callbacks.
*
* @final
*/
class FulfilledPromise implements \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\PromiseInterface
{
private $value;
/**
* @param mixed $value
*/
public function __construct($value)
{
if (\is_object($value) && \method_exists($value, 'then')) {
throw new \InvalidArgumentException('You cannot create a FulfilledPromise with a promise.');
}
$this->value = $value;
}
public function then(?callable $onFulfilled = null, ?callable $onRejected = null) : \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\PromiseInterface
{
// Return itself if there is no onFulfilled function.
if (!$onFulfilled) {
return $this;
}
$queue = \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Utils::queue();
$p = new \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Promise([$queue, 'run']);
$value = $this->value;
$queue->add(static function () use($p, $value, $onFulfilled) : void {
if (\Google\Site_Kit_Dependencies\GuzzleHttp\Promise\Is::pending($p)) {
try {
$p->resolve($onFulfilled($value));
} catch (\Throwable $e) {
$p->reject($e);
}
}
});
return $p;
}
public function otherwise(callable $onRejected) : \Google\Site_Kit_Dependencies\GuzzleHttp\Promise\PromiseInterface
{
return $this->then(null, $onRejected);
}
public function wait(bool $unwrap = \true)
{
return $unwrap ? $this->value : null;
}
public function getState() : string
{
return self::FULFILLED;
}
public function resolve($value) : void
{
if ($value !== $this->value) {
throw new \LogicException('Cannot resolve a fulfilled promise');
}
}
public function reject($reason) : void
{
throw new \LogicException('Cannot reject a fulfilled promise');
}
public function cancel() : void
{
// pass
}
}