Skip to content

Commit 14da200

Browse files
authored
[JMS] Fixed sorting translation extractor (#1749)
* [JMS] Improved SortingTranslationExtractor * [PHPStan] Removed resolved issues from the baseline
1 parent de085b4 commit 14da200

File tree

2 files changed

+9
-24
lines changed

2 files changed

+9
-24
lines changed

phpstan-baseline.neon

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12642,24 +12642,6 @@ parameters:
1264212642
count: 1
1264312643
path: src/lib/Translation/Extractor/PolicyTranslationExtractor.php
1264412644

12645-
-
12646-
message: '#^Method Ibexa\\AdminUi\\Translation\\Extractor\\SortingTranslationExtractor\:\:extract\(\) has no return type specified\.$#'
12647-
identifier: missingType.return
12648-
count: 1
12649-
path: src/lib/Translation/Extractor/SortingTranslationExtractor.php
12650-
12651-
-
12652-
message: '#^Property Ibexa\\AdminUi\\Translation\\Extractor\\SortingTranslationExtractor\:\:\$defaultTranslations has no type specified\.$#'
12653-
identifier: missingType.property
12654-
count: 1
12655-
path: src/lib/Translation/Extractor/SortingTranslationExtractor.php
12656-
12657-
-
12658-
message: '#^Property Ibexa\\AdminUi\\Translation\\Extractor\\SortingTranslationExtractor\:\:\$domain has no type specified\.$#'
12659-
identifier: missingType.property
12660-
count: 1
12661-
path: src/lib/Translation/Extractor/SortingTranslationExtractor.php
12662-
1266312645
-
1266412646
message: '#^Method Ibexa\\AdminUi\\UI\\Action\\FormUiActionMapper\:\:map\(\) has parameter \$form with generic interface Symfony\\Component\\Form\\FormInterface but does not specify its types\: TData$#'
1266512647
identifier: missingType.generics

src/lib/Translation/Extractor/SortingTranslationExtractor.php

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,12 @@
1919
*/
2020
class SortingTranslationExtractor implements ExtractorInterface
2121
{
22-
private $defaultTranslations = [
22+
/**
23+
* Default translations for sort fields.
24+
*
25+
* @var array<int, string>
26+
*/
27+
private array $defaultTranslations = [
2328
1 => 'Location path',
2429
2 => 'Publication date',
2530
3 => 'Modification date',
@@ -31,18 +36,16 @@ class SortingTranslationExtractor implements ExtractorInterface
3136
9 => 'Content name',
3237
];
3338

34-
private $domain = 'ibexa_content_type';
39+
private string $domain = 'ibexa_content_type';
3540

36-
public function extract()
41+
public function extract(): MessageCatalogue
3742
{
3843
$catalogue = new MessageCatalogue();
3944
$locationClass = new \ReflectionClass(Location::class);
4045

4146
$sortConstants = array_filter(
4247
$locationClass->getConstants(),
43-
static function ($value, $key) {
44-
return is_scalar($value) && strtolower(substr($key, 0, 11)) === 'sort_field_';
45-
},
48+
static fn ($value, $key): bool => is_int($value) && str_starts_with(strtolower($key), 'sort_field_'),
4649
ARRAY_FILTER_USE_BOTH
4750
);
4851

0 commit comments

Comments
 (0)