mirror of
https://github.com/shlinkio/shlink.git
synced 2025-02-25 18:45:27 -06:00
Replaced usage of Functional\contians
This commit is contained in:
@@ -6,7 +6,6 @@ namespace Shlinkio\Shlink\Core;
|
||||
|
||||
use BackedEnum;
|
||||
use Cake\Chronos\Chronos;
|
||||
use Cake\Chronos\ChronosInterface;
|
||||
use DateTimeInterface;
|
||||
use Doctrine\ORM\Mapping\Builder\FieldBuilder;
|
||||
use Jaybizzle\CrawlerDetect\CrawlerDetect;
|
||||
@@ -18,8 +17,10 @@ use Shlinkio\Shlink\Common\Util\DateRange;
|
||||
use Shlinkio\Shlink\Core\ShortUrl\Model\ShortUrlMode;
|
||||
|
||||
use function array_map;
|
||||
use function array_reduce;
|
||||
use function date_default_timezone_get;
|
||||
use function Functional\reduce_left;
|
||||
use function in_array;
|
||||
use function is_array;
|
||||
use function print_r;
|
||||
use function Shlinkio\Shlink\Common\buildDateRange;
|
||||
@@ -57,7 +58,7 @@ function parseDateRangeFromQuery(array $query, string $startDateName, string $en
|
||||
/**
|
||||
* @return ($date is null ? null : Chronos)
|
||||
*/
|
||||
function normalizeOptionalDate(string|DateTimeInterface|ChronosInterface|null $date): ?Chronos
|
||||
function normalizeOptionalDate(string|DateTimeInterface|Chronos|null $date): ?Chronos
|
||||
{
|
||||
$parsedDate = match (true) {
|
||||
$date === null || $date instanceof Chronos => $date,
|
||||
@@ -68,7 +69,7 @@ function normalizeOptionalDate(string|DateTimeInterface|ChronosInterface|null $d
|
||||
return $parsedDate?->setTimezone(date_default_timezone_get());
|
||||
}
|
||||
|
||||
function normalizeDate(string|DateTimeInterface|ChronosInterface $date): Chronos
|
||||
function normalizeDate(string|DateTimeInterface|Chronos $date): Chronos
|
||||
{
|
||||
return normalizeOptionalDate($date);
|
||||
}
|
||||
@@ -180,3 +181,21 @@ function enumValues(string $enum): array
|
||||
$cache[$enum] = array_map(static fn (BackedEnum $type) => (string) $type->value, $enum::cases())
|
||||
);
|
||||
}
|
||||
|
||||
function contains(mixed $value, array $array): bool
|
||||
{
|
||||
return in_array($value, $array, strict: true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array[] $multiArray
|
||||
* @return array
|
||||
*/
|
||||
function flatten(array $multiArray): array
|
||||
{
|
||||
return array_reduce(
|
||||
$multiArray,
|
||||
static fn (array $carry, array $value) => [...$carry, ...$value],
|
||||
initial: [],
|
||||
);
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ use Endroid\QrCode\Writer\WriterInterface;
|
||||
use Psr\Http\Message\ServerRequestInterface;
|
||||
use Shlinkio\Shlink\Core\Options\QrCodeOptions;
|
||||
|
||||
use function Functional\contains;
|
||||
use function Shlinkio\Shlink\Core\contains;
|
||||
use function strtolower;
|
||||
use function trim;
|
||||
|
||||
@@ -74,7 +74,7 @@ final class QrCodeParams
|
||||
private static function resolveWriter(array $query, QrCodeOptions $defaults): WriterInterface
|
||||
{
|
||||
$qFormat = self::normalizeParam($query['format'] ?? '');
|
||||
$format = contains(self::SUPPORTED_FORMATS, $qFormat) ? $qFormat : self::normalizeParam($defaults->format);
|
||||
$format = contains($qFormat, self::SUPPORTED_FORMATS) ? $qFormat : self::normalizeParam($defaults->format);
|
||||
|
||||
return match ($format) {
|
||||
'svg' => new SvgWriter(),
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace Shlinkio\Shlink\Core\ShortUrl\Model;
|
||||
|
||||
use function Functional\contains;
|
||||
use function Shlinkio\Shlink\Core\contains;
|
||||
|
||||
enum OrderableField: string
|
||||
{
|
||||
@@ -16,8 +16,8 @@ enum OrderableField: string
|
||||
public static function isBasicField(string $value): bool
|
||||
{
|
||||
return contains(
|
||||
[self::LONG_URL->value, self::SHORT_CODE->value, self::DATE_CREATED->value, self::TITLE->value],
|
||||
$value,
|
||||
[self::LONG_URL->value, self::SHORT_CODE->value, self::DATE_CREATED->value, self::TITLE->value],
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,9 +10,9 @@ use Shlinkio\Shlink\Core\Model\DeviceType;
|
||||
|
||||
use function array_keys;
|
||||
use function array_values;
|
||||
use function Functional\contains;
|
||||
use function Functional\every;
|
||||
use function is_array;
|
||||
use function Shlinkio\Shlink\Core\contains;
|
||||
use function Shlinkio\Shlink\Core\enumValues;
|
||||
|
||||
class DeviceLongUrlsValidator extends AbstractValidator
|
||||
@@ -41,7 +41,7 @@ class DeviceLongUrlsValidator extends AbstractValidator
|
||||
|
||||
$validValues = enumValues(DeviceType::class);
|
||||
$keys = array_keys($value);
|
||||
if (! every($keys, static fn ($key) => contains($validValues, $key))) {
|
||||
if (! every($keys, static fn ($key) => contains($key, $validValues))) {
|
||||
$this->error(self::INVALID_DEVICE);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace Shlinkio\Shlink\Core\Util;
|
||||
|
||||
use function Functional\contains;
|
||||
use function Shlinkio\Shlink\Core\contains;
|
||||
|
||||
enum RedirectStatus: int
|
||||
{
|
||||
@@ -13,11 +13,11 @@ enum RedirectStatus: int
|
||||
|
||||
public function allowsCache(): bool
|
||||
{
|
||||
return contains([self::STATUS_301, self::STATUS_308], $this);
|
||||
return contains($this, [self::STATUS_301, self::STATUS_308]);
|
||||
}
|
||||
|
||||
public function isLegacyStatus(): bool
|
||||
{
|
||||
return contains([self::STATUS_301, self::STATUS_302], $this);
|
||||
return contains($this, [self::STATUS_301, self::STATUS_302]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ use Shlinkio\Shlink\Core\Visit\Entity\Visit;
|
||||
use Shlinkio\Shlink\Core\Visit\Model\Visitor;
|
||||
|
||||
use function count;
|
||||
use function Functional\contains;
|
||||
use function Shlinkio\Shlink\Core\contains;
|
||||
|
||||
class NotifyVisitToWebHooksTest extends TestCase
|
||||
{
|
||||
@@ -102,7 +102,7 @@ class NotifyVisitToWebHooksTest extends TestCase
|
||||
return true;
|
||||
}),
|
||||
)->willReturnCallback(function ($_, $webhook) use ($invalidWebhooks) {
|
||||
$shouldReject = contains($invalidWebhooks, $webhook);
|
||||
$shouldReject = contains($webhook, $invalidWebhooks);
|
||||
return $shouldReject ? new RejectedPromise(new Exception('')) : new FulfilledPromise('');
|
||||
});
|
||||
$this->logger->expects($this->exactly(count($invalidWebhooks)))->method('warning')->with(
|
||||
|
||||
@@ -32,8 +32,8 @@ use stdClass;
|
||||
use Symfony\Component\Console\Style\StyleInterface;
|
||||
|
||||
use function count;
|
||||
use function Functional\contains;
|
||||
use function Functional\some;
|
||||
use function Shlinkio\Shlink\Core\contains;
|
||||
use function sprintf;
|
||||
use function str_contains;
|
||||
|
||||
@@ -128,8 +128,8 @@ class ImportedLinksProcessorTest extends TestCase
|
||||
$this->em->method('getRepository')->with(ShortUrl::class)->willReturn($this->repo);
|
||||
$this->repo->expects($this->exactly(count($urls)))->method('findOneByImportedUrl')->willReturnCallback(
|
||||
fn (ImportedShlinkUrl $url): ?ShortUrl => contains(
|
||||
['https://foo', 'https://baz2', 'https://baz3'],
|
||||
$url->longUrl,
|
||||
['https://foo', 'https://baz2', 'https://baz3'],
|
||||
) ? ShortUrl::fromImport($url, true) : null,
|
||||
);
|
||||
$this->shortCodeHelper->expects($this->exactly(2))->method('ensureShortCodeUniqueness')->willReturn(true);
|
||||
|
||||
Reference in New Issue
Block a user