mirror of
https://github.com/Intervention/image.git
synced 2025-08-16 10:54:02 +02:00
Move ColorObjectDecoder & ImageObjectDecoder
Move ColorObjectDecoder & ImageObjectDecoder from drivers context because they can operate without any specific drivers information must not be specialized.
This commit is contained in:
@@ -4,8 +4,24 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Intervention\Image\Decoders;
|
namespace Intervention\Image\Decoders;
|
||||||
|
|
||||||
use Intervention\Image\Drivers\SpecializableDecoder;
|
use Intervention\Image\Drivers\AbstractDecoder;
|
||||||
|
use Intervention\Image\Exceptions\DecoderException;
|
||||||
|
use Intervention\Image\Interfaces\ColorInterface;
|
||||||
|
use Intervention\Image\Interfaces\ImageInterface;
|
||||||
|
|
||||||
class ColorObjectDecoder extends SpecializableDecoder
|
class ColorObjectDecoder extends AbstractDecoder
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*
|
||||||
|
* @see DecoderInterface::decode()
|
||||||
|
*/
|
||||||
|
public function decode(mixed $input): ImageInterface|ColorInterface
|
||||||
|
{
|
||||||
|
if (!is_a($input, ColorInterface::class)) {
|
||||||
|
throw new DecoderException('Unable to decode input');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $input;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -4,8 +4,24 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Intervention\Image\Decoders;
|
namespace Intervention\Image\Decoders;
|
||||||
|
|
||||||
use Intervention\Image\Drivers\SpecializableDecoder;
|
use Intervention\Image\Drivers\AbstractDecoder;
|
||||||
|
use Intervention\Image\Exceptions\DecoderException;
|
||||||
|
use Intervention\Image\Interfaces\ImageInterface;
|
||||||
|
use Intervention\Image\Interfaces\ColorInterface;
|
||||||
|
|
||||||
class ImageObjectDecoder extends SpecializableDecoder
|
class ImageObjectDecoder extends AbstractDecoder
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*
|
||||||
|
* @see DecoderInterface::decode()
|
||||||
|
*/
|
||||||
|
public function decode(mixed $input): ImageInterface|ColorInterface
|
||||||
|
{
|
||||||
|
if (!is_a($input, ImageInterface::class)) {
|
||||||
|
throw new DecoderException('Unable to decode input');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $input;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,22 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace Intervention\Image\Drivers\Gd\Decoders;
|
|
||||||
|
|
||||||
use Intervention\Image\Exceptions\DecoderException;
|
|
||||||
use Intervention\Image\Interfaces\ColorInterface;
|
|
||||||
use Intervention\Image\Interfaces\DecoderInterface;
|
|
||||||
use Intervention\Image\Interfaces\ImageInterface;
|
|
||||||
|
|
||||||
class ColorObjectDecoder extends AbstractDecoder implements DecoderInterface
|
|
||||||
{
|
|
||||||
public function decode(mixed $input): ImageInterface|ColorInterface
|
|
||||||
{
|
|
||||||
if (!is_a($input, ColorInterface::class)) {
|
|
||||||
throw new DecoderException('Unable to decode input');
|
|
||||||
}
|
|
||||||
|
|
||||||
return $input;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,22 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace Intervention\Image\Drivers\Gd\Decoders;
|
|
||||||
|
|
||||||
use Intervention\Image\Exceptions\DecoderException;
|
|
||||||
use Intervention\Image\Interfaces\ColorInterface;
|
|
||||||
use Intervention\Image\Interfaces\DecoderInterface;
|
|
||||||
use Intervention\Image\Interfaces\ImageInterface;
|
|
||||||
|
|
||||||
class ImageObjectDecoder extends AbstractDecoder implements DecoderInterface
|
|
||||||
{
|
|
||||||
public function decode(mixed $input): ImageInterface|ColorInterface
|
|
||||||
{
|
|
||||||
if (!is_a($input, ImageInterface::class)) {
|
|
||||||
throw new DecoderException('Unable to decode input');
|
|
||||||
}
|
|
||||||
|
|
||||||
return $input;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,22 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace Intervention\Image\Drivers\Imagick\Decoders;
|
|
||||||
|
|
||||||
use Intervention\Image\Drivers\SpecializableDecoder;
|
|
||||||
use Intervention\Image\Exceptions\DecoderException;
|
|
||||||
use Intervention\Image\Interfaces\ColorInterface;
|
|
||||||
use Intervention\Image\Interfaces\ImageInterface;
|
|
||||||
|
|
||||||
class ColorObjectDecoder extends SpecializableDecoder
|
|
||||||
{
|
|
||||||
public function decode(mixed $input): ImageInterface|ColorInterface
|
|
||||||
{
|
|
||||||
if (!is_a($input, ColorInterface::class)) {
|
|
||||||
throw new DecoderException('Unable to decode input');
|
|
||||||
}
|
|
||||||
|
|
||||||
return $input;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,22 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace Intervention\Image\Drivers\Imagick\Decoders;
|
|
||||||
|
|
||||||
use Intervention\Image\Drivers\SpecializableDecoder;
|
|
||||||
use Intervention\Image\Exceptions\DecoderException;
|
|
||||||
use Intervention\Image\Interfaces\ColorInterface;
|
|
||||||
use Intervention\Image\Interfaces\ImageInterface;
|
|
||||||
|
|
||||||
class ImageObjectDecoder extends SpecializableDecoder
|
|
||||||
{
|
|
||||||
public function decode(mixed $input): ImageInterface|ColorInterface
|
|
||||||
{
|
|
||||||
if (!is_a($input, ImageInterface::class)) {
|
|
||||||
throw new DecoderException('Unable to decode input');
|
|
||||||
}
|
|
||||||
|
|
||||||
return $input;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -6,12 +6,12 @@ namespace Intervention\Image\Tests\Unit\Drivers\Gd\Decoders;
|
|||||||
|
|
||||||
use PHPUnit\Framework\Attributes\CoversClass;
|
use PHPUnit\Framework\Attributes\CoversClass;
|
||||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||||
use Intervention\Image\Drivers\Gd\Decoders\ImageObjectDecoder;
|
use Intervention\Image\Decoders\ImageObjectDecoder;
|
||||||
use Intervention\Image\Image;
|
use Intervention\Image\Image;
|
||||||
use Intervention\Image\Tests\GdTestCase;
|
use Intervention\Image\Tests\GdTestCase;
|
||||||
|
|
||||||
#[RequiresPhpExtension('gd')]
|
#[RequiresPhpExtension('gd')]
|
||||||
#[CoversClass(\Intervention\Image\Drivers\Gd\Decoders\ImageObjectDecoder::class)]
|
#[CoversClass(\Intervention\Image\Decoders\ImageObjectDecoder::class)]
|
||||||
final class ImageObjectDecoderTest extends GdTestCase
|
final class ImageObjectDecoderTest extends GdTestCase
|
||||||
{
|
{
|
||||||
public function testDecode(): void
|
public function testDecode(): void
|
||||||
|
@@ -6,12 +6,12 @@ namespace Intervention\Image\Tests\Unit\Drivers\Imagick\Decoders;
|
|||||||
|
|
||||||
use PHPUnit\Framework\Attributes\CoversClass;
|
use PHPUnit\Framework\Attributes\CoversClass;
|
||||||
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
use PHPUnit\Framework\Attributes\RequiresPhpExtension;
|
||||||
use Intervention\Image\Drivers\Imagick\Decoders\ImageObjectDecoder;
|
use Intervention\Image\Decoders\ImageObjectDecoder;
|
||||||
use Intervention\Image\Image;
|
use Intervention\Image\Image;
|
||||||
use Intervention\Image\Tests\ImagickTestCase;
|
use Intervention\Image\Tests\ImagickTestCase;
|
||||||
|
|
||||||
#[RequiresPhpExtension('imagick')]
|
#[RequiresPhpExtension('imagick')]
|
||||||
#[CoversClass(\Intervention\Image\Drivers\Imagick\Decoders\ImageObjectDecoder::class)]
|
#[CoversClass(\Intervention\Image\Decoders\ImageObjectDecoder::class)]
|
||||||
final class ImageObjectDecoderTest extends ImagickTestCase
|
final class ImageObjectDecoderTest extends ImagickTestCase
|
||||||
{
|
{
|
||||||
public function testDecode(): void
|
public function testDecode(): void
|
||||||
|
Reference in New Issue
Block a user