Install psalm as dev, sync scripts updates

This commit is contained in:
Clemens Schwaighofer
2023-03-09 16:27:10 +09:00
parent 6bec59e387
commit feba79a2e8
2099 changed files with 283333 additions and 32 deletions

View File

@@ -0,0 +1,53 @@
<?php
namespace Amp;
/**
* A NullCancellationToken can be used to avoid conditionals to check whether a token has been provided.
*
* Instead of writing
*
* ```php
* if ($token) {
* $token->throwIfRequested();
* }
* ```
*
* potentially multiple times, it allows writing
*
* ```php
* $token = $token ?? new NullCancellationToken;
*
* // ...
*
* $token->throwIfRequested();
* ```
*
* instead.
*/
final class NullCancellationToken implements CancellationToken
{
/** @inheritdoc */
public function subscribe(callable $callback): string
{
return "null-token";
}
/** @inheritdoc */
public function unsubscribe(string $id)
{
// nothing to do
}
/** @inheritdoc */
public function isRequested(): bool
{
return false;
}
/** @inheritdoc */
public function throwIfRequested()
{
// nothing to do
}
}