![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/friendsofphp/php-cs-fixer/src/Cache/ |
<?php declare(strict_types=1); /* * This file is part of PHP CS Fixer. * * (c) Fabien Potencier <[email protected]> * Dariusz Rumiński <[email protected]> * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace PhpCsFixer\Cache; /** * @author Andreas Möller <[email protected]> * * @internal */ final class Signature implements SignatureInterface { private string $phpVersion; private string $fixerVersion; private string $indent; private string $lineEnding; /** * @var array<string, array<string, mixed>|bool> */ private array $rules; /** * @param array<string, array<string, mixed>|bool> $rules */ public function __construct(string $phpVersion, string $fixerVersion, string $indent, string $lineEnding, array $rules) { $this->phpVersion = $phpVersion; $this->fixerVersion = $fixerVersion; $this->indent = $indent; $this->lineEnding = $lineEnding; $this->rules = self::makeJsonEncodable($rules); } public function getPhpVersion(): string { return $this->phpVersion; } public function getFixerVersion(): string { return $this->fixerVersion; } public function getIndent(): string { return $this->indent; } public function getLineEnding(): string { return $this->lineEnding; } public function getRules(): array { return $this->rules; } public function equals(SignatureInterface $signature): bool { return $this->phpVersion === $signature->getPhpVersion() && $this->fixerVersion === $signature->getFixerVersion() && $this->indent === $signature->getIndent() && $this->lineEnding === $signature->getLineEnding() && $this->rules === $signature->getRules(); } /** * @param array<string, array<string, mixed>|bool> $data * * @return array<string, array<string, mixed>|bool> */ private static function makeJsonEncodable(array $data): array { array_walk_recursive($data, static function (&$item): void { if (\is_string($item) && !mb_detect_encoding($item, 'utf-8', true)) { $item = base64_encode($item); } }); return $data; } }