Skip to content

Commit 93dce47

Browse files
committed
Merged branch '4.6'
2 parents 2f4870d + 37e312c commit 93dce47

File tree

3 files changed

+42
-27
lines changed

3 files changed

+42
-27
lines changed

phpstan-baseline.neon

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -714,12 +714,6 @@ parameters:
714714
count: 3
715715
path: src/bundle/Core/DependencyInjection/Configuration/Parser/IO.php
716716

717-
-
718-
message: '#^Method Ibexa\\Bundle\\Core\\DependencyInjection\\Configuration\\Parser\\Image\:\:mapConfig\(\) has no return type specified\.$#'
719-
identifier: missingType.return
720-
count: 1
721-
path: src/bundle/Core/DependencyInjection/Configuration/Parser/Image.php
722-
723717
-
724718
message: '#^Method Ibexa\\Bundle\\Core\\DependencyInjection\\Configuration\\Parser\\Image\:\:mapConfig\(\) has parameter \$scopeSettings with no value type specified in iterable type array\.$#'
725719
identifier: missingType.iterableValue
@@ -3210,18 +3204,6 @@ parameters:
32103204
count: 1
32113205
path: src/bundle/Core/Imagine/Filter/AbstractFilter.php
32123206

3213-
-
3214-
message: '#^Parameter \#2 \$configuredVariations of method Ibexa\\Bundle\\Core\\Imagine\\Filter\\FilterConfiguration\:\:getVariationFilters\(\) expects array\<string, array\{filters\: array\<mixed\>\}\>, non\-empty\-array given\.$#'
3215-
identifier: argument.type
3216-
count: 1
3217-
path: src/bundle/Core/Imagine/Filter/FilterConfiguration.php
3218-
3219-
-
3220-
message: '#^Parameter \#2 \$configuredVariations of method Ibexa\\Bundle\\Core\\Imagine\\Filter\\FilterConfiguration\:\:getVariationPostProcessors\(\) expects array\<string, array\{post_processor\: array\<mixed\>\}\>, non\-empty\-array given\.$#'
3221-
identifier: argument.type
3222-
count: 1
3223-
path: src/bundle/Core/Imagine/Filter/FilterConfiguration.php
3224-
32253207
-
32263208
message: '#^Method Ibexa\\Bundle\\Core\\Imagine\\Filter\\FilterInterface\:\:getOptions\(\) return type has no value type specified in iterable type array\.$#'
32273209
identifier: missingType.iterableValue

src/bundle/Core/DependencyInjection/Configuration/Parser/Image.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,16 @@
1313

1414
/**
1515
* Configuration parser handling all basic configuration (aka "Image").
16+
*
17+
* @phpstan-type TVariationOptions array<string|int, mixed>
18+
* @phpstan-type TFilters array<string, TVariationOptions>
19+
* @phpstan-type TPostProcessors array<string, TVariationOptions>
20+
* @phpstan-type TImageVariation array{
21+
* reference?: string|null,
22+
* filters?: TFilters,
23+
* post_processors?: TPostProcessors
24+
* }
25+
* @phpstan-type TImageVariations array<string, TImageVariation>
1626
*/
1727
class Image extends AbstractParser
1828
{
@@ -107,7 +117,7 @@ public function preMap(array $config, ContextualizerInterface $contextualizer):
107117
$contextualizer->mapSetting('variation_handler_identifier', $config);
108118
}
109119

110-
public function mapConfig(array &$scopeSettings, $currentScope, ContextualizerInterface $contextualizer)
120+
public function mapConfig(array &$scopeSettings, $currentScope, ContextualizerInterface $contextualizer): void
111121
{
112122
}
113123
}

src/bundle/Core/Imagine/Filter/FilterConfiguration.php

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,15 @@
77

88
namespace Ibexa\Bundle\Core\Imagine\Filter;
99

10+
use Ibexa\Bundle\Core\DependencyInjection\Configuration\Parser\Image;
1011
use Ibexa\Contracts\Core\SiteAccess\ConfigResolverInterface;
1112
use Liip\ImagineBundle\Imagine\Filter\FilterConfiguration as BaseFilterConfiguration;
1213

14+
/**
15+
* @phpstan-import-type TImageVariations from Image
16+
* @phpstan-import-type TFilters from Image
17+
* @phpstan-import-type TPostProcessors from Image
18+
*/
1319
class FilterConfiguration extends BaseFilterConfiguration
1420
{
1521
private ConfigResolverInterface $configResolver;
@@ -20,10 +26,24 @@ public function setConfigResolver(ConfigResolverInterface $configResolver): void
2026
}
2127

2228
/**
23-
* @return array<string, mixed>
29+
* @phpstan-return array{
30+
* cache?: string|null,
31+
* data_loader?: string|null,
32+
* reference?: string|null,
33+
* filters?: TFilters,
34+
* post_processors?: TPostProcessors,
35+
* quality?: int|null,
36+
* jpeg_quality?: int|null,
37+
* png_compression_level?: int|null,
38+
* png_compression_filter?: int|null,
39+
* format?: string|null,
40+
* animated?: bool,
41+
* default_image?: string|null
42+
* }
2443
*/
2544
public function get($filter): array
2645
{
46+
/** @phpstan-var TImageVariations $configuredVariations */
2747
$configuredVariations = $this->configResolver->getParameter('image_variations');
2848
if (!array_key_exists($filter, $configuredVariations)) {
2949
return parent::get($filter);
@@ -41,11 +61,14 @@ public function get($filter): array
4161
}
4262

4363
/**
44-
* @return array<string, mixed>
64+
* @phpstan-return TImageVariations
4565
*/
4666
public function all(): array
4767
{
48-
return $this->configResolver->getParameter('image_variations') + parent::all();
68+
/** @phpstan-var TImageVariations $configuredVariations */
69+
$configuredVariations = $this->configResolver->getParameter('image_variations');
70+
71+
return $configuredVariations + parent::all();
4972
}
5073

5174
/**
@@ -54,17 +77,17 @@ public function all(): array
5477
* Both variations configured in Ibexa (SiteAccess context) and LiipImagineBundle are used.
5578
* Ibexa variations always have precedence.
5679
*
57-
* @param array<string, array{filters: array<mixed>}> $configuredVariations Variations set in eZ.
80+
* @phpstan-param TImageVariations $configuredVariations Variations' set.
5881
*
59-
* @return array<mixed>
82+
* @phpstan-return TFilters
6083
*/
6184
private function getVariationFilters(string $variationName, array $configuredVariations): array
6285
{
6386
if (!isset($configuredVariations[$variationName]['filters']) && !isset($this->filters[$variationName]['filters'])) {
6487
return [];
6588
}
6689

67-
// Check variations configured in Ibexa config first.
90+
// Prioritize variations configured in Ibexa config
6891
return $configuredVariations[$variationName]['filters'] ?? $this->filters[$variationName]['filters'];
6992
}
7093

@@ -74,9 +97,9 @@ private function getVariationFilters(string $variationName, array $configuredVar
7497
* Both variations configured in Ibexa and LiipImagineBundle are used.
7598
* Ibexa variations always have precedence.
7699
*
77-
* @param array<string, array{post_processor: array<mixed>}> $configuredVariations Variations set in Ibexa.
100+
* @phpstan-param TImageVariations $configuredVariations Variations set in eZ.
78101
*
79-
* @return array<mixed>
102+
* @phpstan-return TPostProcessors
80103
*/
81104
private function getVariationPostProcessors(string $variationName, array $configuredVariations): array
82105
{

0 commit comments

Comments
 (0)