clean install

This commit is contained in:
2024-12-10 15:08:16 +01:00
commit e14eb2d8fd
31193 changed files with 3555714 additions and 0 deletions

12
vendor/lcobucci/clock/src/Clock.php vendored Normal file
View File

@@ -0,0 +1,12 @@
<?php
declare(strict_types=1);
namespace Lcobucci\Clock;
use DateTimeImmutable;
use Psr\Clock\ClockInterface;
interface Clock extends ClockInterface
{
public function now(): DateTimeImmutable;
}

View File

@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
namespace Lcobucci\Clock;
use DateMalformedStringException;
use DateTimeImmutable;
use DateTimeZone;
use InvalidArgumentException;
final class FrozenClock implements Clock
{
public function __construct(private DateTimeImmutable $now)
{
}
public static function fromUTC(): self
{
return new self(new DateTimeImmutable('now', new DateTimeZone('UTC')));
}
public function setTo(DateTimeImmutable $now): void
{
$this->now = $now;
}
/**
* Adjusts the current time by a given modifier.
*
* @param string $modifier @see https://www.php.net/manual/en/datetime.formats.php
*
* @throws InvalidArgumentException When an invalid format string is passed (PHP < 8.3).
* @throws DateMalformedStringException When an invalid date/time string is passed (PHP 8.3+).
*/
public function adjustTime(string $modifier): void
{
$modifiedTime = @$this->now->modify($modifier);
// PHP < 8.3 won't throw exceptions on invalid modifiers
if ($modifiedTime === false) {
throw new InvalidArgumentException('The given modifier is invalid');
}
$this->now = $modifiedTime;
}
public function now(): DateTimeImmutable
{
return $this->now;
}
}

View File

@@ -0,0 +1,32 @@
<?php
declare(strict_types=1);
namespace Lcobucci\Clock;
use DateTimeImmutable;
use DateTimeZone;
use function date_default_timezone_get;
/** @immutable */
final class SystemClock implements Clock
{
public function __construct(private readonly DateTimeZone $timezone)
{
}
public static function fromUTC(): self
{
return new self(new DateTimeZone('UTC'));
}
public static function fromSystemTimezone(): self
{
return new self(new DateTimeZone(date_default_timezone_get()));
}
public function now(): DateTimeImmutable
{
return new DateTimeImmutable('now', $this->timezone);
}
}