diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 244592ee..c6669e64 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -1,86 +1,171 @@ parameters: ignoreErrors: - - message: "#^Access to an undefined property Spatie\\\\Image\\\\Drivers\\\\Color\\:\\:\\$alpha\\.$#" + message: "#^Parameter \\#1 \\$value of method Spatie\\\\Image\\\\Drivers\\\\Color\\:\\:initFromObject\\(\\) expects ImagickPixel, object given\\.$#" count: 1 - path: src/Drivers/Gd/GdColor.php + path: src/Drivers/Color.php - - message: "#^Access to an undefined property Spatie\\\\Image\\\\Drivers\\\\Color\\:\\:\\$blue\\.$#" + message: "#^Method Spatie\\\\Image\\\\Drivers\\\\Gd\\\\GdDriver\\:\\:exif\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 - path: src/Drivers/Gd/GdColor.php + path: src/Drivers/Gd/GdDriver.php - - message: "#^Access to an undefined property Spatie\\\\Image\\\\Drivers\\\\Color\\:\\:\\$green\\.$#" + message: "#^Method Spatie\\\\Image\\\\Drivers\\\\Gd\\\\GdDriver\\:\\:pngCompression\\(\\) should return int\\<\\-1, 9\\> but returns int\\.$#" count: 1 - path: src/Drivers/Gd/GdColor.php + path: src/Drivers/Gd/GdDriver.php - - message: "#^Access to an undefined property Spatie\\\\Image\\\\Drivers\\\\Color\\:\\:\\$red\\.$#" + message: "#^Parameter \\#1 \\$data of function imagecreatefromstring expects string, string\\|false given\\.$#" count: 1 - path: src/Drivers/Gd/GdColor.php + path: src/Drivers/Gd/GdDriver.php - - message: "#^Access to an undefined property Spatie\\\\Image\\\\Drivers\\\\ImageDriver\\:\\:\\$image\\.$#" + message: "#^Parameter \\#1 \\$dst_image of function imagecopyresampled expects GdImage, GdImage\\|false given\\.$#" count: 1 path: src/Drivers/Gd/GdDriver.php - - message: "#^Method Spatie\\\\Image\\\\Drivers\\\\Gd\\\\GdDriver\\:\\:exif\\(\\) return type has no value type specified in iterable type array\\.$#" + message: "#^Parameter \\#1 \\$image of function imagealphablending expects GdImage, GdImage\\|false given\\.$#" count: 1 path: src/Drivers/Gd/GdDriver.php - - message: "#^Property Spatie\\\\Image\\\\Drivers\\\\Gd\\\\GdDriver\\:\\:\\$exif type has no value type specified in iterable type array\\.$#" + message: "#^Parameter \\#1 \\$image of function imagecolorallocatealpha expects GdImage, GdImage\\|false given\\.$#" count: 1 path: src/Drivers/Gd/GdDriver.php - - message: "#^Unreachable statement \\- code above always terminates\\.$#" + message: "#^Parameter \\#1 \\$image of function imagecolorsforindex expects GdImage, GdImage\\|false given\\.$#" count: 1 path: src/Drivers/Gd/GdDriver.php - - message: "#^Method Spatie\\\\Image\\\\Drivers\\\\ImageDriver\\:\\:exif\\(\\) return type has no value type specified in iterable type array\\.$#" + message: "#^Parameter \\#1 \\$image of function imagecolortransparent expects GdImage, GdImage\\|false given\\.$#" count: 1 - path: src/Drivers/ImageDriver.php + path: src/Drivers/Gd/GdDriver.php + + - + message: "#^Parameter \\#1 \\$image of function imagefill expects GdImage, GdImage\\|false given\\.$#" + count: 2 + path: src/Drivers/Gd/GdDriver.php - - message: "#^Call to an undefined method Spatie\\\\Image\\\\Drivers\\\\Color\\:\\:getAlphaValue\\(\\)\\.$#" + message: "#^Parameter \\#1 \\$image of function imagesavealpha expects GdImage, GdImage\\|false given\\.$#" count: 1 - path: src/Drivers/Imagick/ImagickColor.php + path: src/Drivers/Gd/GdDriver.php - - message: "#^Call to an undefined method Spatie\\\\Image\\\\Drivers\\\\Color\\:\\:getBlueValue\\(\\)\\.$#" + message: "#^Parameter \\#1 \\$image of method Spatie\\\\Image\\\\Drivers\\\\Gd\\\\GdDriver\\:\\:setImage\\(\\) expects GdImage, GdImage\\|false given\\.$#" count: 1 - path: src/Drivers/Imagick/ImagickColor.php + path: src/Drivers/Gd/GdDriver.php - - message: "#^Call to an undefined method Spatie\\\\Image\\\\Drivers\\\\Color\\:\\:getGreenValue\\(\\)\\.$#" + message: "#^Parameter \\#1 \\$stream of function fclose expects resource, resource\\|false given\\.$#" count: 1 - path: src/Drivers/Imagick/ImagickColor.php + path: src/Drivers/Gd/GdDriver.php - - message: "#^Call to an undefined method Spatie\\\\Image\\\\Drivers\\\\Color\\:\\:getRedValue\\(\\)\\.$#" + message: "#^Parameter \\#1 \\$stream of function fread expects resource, resource\\|false given\\.$#" count: 1 - path: src/Drivers/Imagick/ImagickColor.php + path: src/Drivers/Gd/GdDriver.php - - message: "#^Access to an undefined property Spatie\\\\Image\\\\Drivers\\\\ImageDriver\\:\\:\\$image\\.$#" + message: "#^Parameter \\#1 \\$string of function base64_encode expects string, string\\|false given\\.$#" count: 2 - path: src/Drivers/Imagick/ImagickDriver.php + path: src/Drivers/Gd/GdDriver.php + + - + message: "#^Parameter \\#1 \\$width of method Spatie\\\\Image\\\\Drivers\\\\Gd\\\\GdDriver\\:\\:manualCrop\\(\\) expects int, int\\|null given\\.$#" + count: 1 + path: src/Drivers/Gd/GdDriver.php + + - + message: "#^Parameter \\#2 \\$color of function imagecolorsforindex expects int, int\\|false given\\.$#" + count: 1 + path: src/Drivers/Gd/GdDriver.php + + - + message: "#^Parameter \\#2 \\$color of function imagecolortransparent expects int\\|null, int\\|false given\\.$#" + count: 1 + path: src/Drivers/Gd/GdDriver.php + + - + message: "#^Parameter \\#2 \\$height of method Spatie\\\\Image\\\\Drivers\\\\Gd\\\\GdDriver\\:\\:manualCrop\\(\\) expects int, int\\|null given\\.$#" + count: 1 + path: src/Drivers/Gd/GdDriver.php + + - + message: "#^Parameter \\#2 \\$length of function fread expects int\\<0, max\\>, int\\<0, max\\>\\|false given\\.$#" + count: 1 + path: src/Drivers/Gd/GdDriver.php + + - + message: "#^Parameter \\#4 \\$color of function imagefill expects int, int\\|false given\\.$#" + count: 1 + path: src/Drivers/Gd/GdDriver.php + + - + message: "#^Parameter \\#6 \\$color of function imagefilledrectangle expects int, int\\|false given\\.$#" + count: 1 + path: src/Drivers/Gd/GdDriver.php + + - + message: "#^Property Spatie\\\\Image\\\\Drivers\\\\Gd\\\\GdDriver\\:\\:\\$exif type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Drivers/Gd/GdDriver.php + + - + message: "#^Property Spatie\\\\Image\\\\Drivers\\\\Gd\\\\GdDriver\\:\\:\\$image \\(GdImage\\) does not accept GdImage\\|false\\.$#" + count: 2 + path: src/Drivers/Gd/GdDriver.php + + - + message: "#^Property Spatie\\\\Image\\\\Drivers\\\\Gd\\\\GdDriver\\:\\:\\$image \\(GdImage\\) does not accept mixed\\.$#" + count: 1 + path: src/Drivers/Gd/GdDriver.php + + - + message: "#^Unreachable statement \\- code above always terminates\\.$#" + count: 1 + path: src/Drivers/Gd/GdDriver.php + + - + message: "#^Method Spatie\\\\Image\\\\Drivers\\\\ImageDriver\\:\\:exif\\(\\) return type has no value type specified in iterable type array\\.$#" + count: 1 + path: src/Drivers/ImageDriver.php - message: "#^Method Spatie\\\\Image\\\\Drivers\\\\Imagick\\\\ImagickDriver\\:\\:exif\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 path: src/Drivers/Imagick/ImagickDriver.php + - + message: "#^Parameter \\#1 \\$width of method Spatie\\\\Image\\\\Drivers\\\\Imagick\\\\ImagickDriver\\:\\:manualCrop\\(\\) expects int, int\\|null given\\.$#" + count: 1 + path: src/Drivers/Imagick/ImagickDriver.php + + - + message: "#^Parameter \\#2 \\$height of method Spatie\\\\Image\\\\Drivers\\\\Imagick\\\\ImagickDriver\\:\\:manualCrop\\(\\) expects int, int\\|null given\\.$#" + count: 1 + path: src/Drivers/Imagick/ImagickDriver.php + - message: "#^Property Spatie\\\\Image\\\\Drivers\\\\Imagick\\\\ImagickDriver\\:\\:\\$exif type has no value type specified in iterable type array\\.$#" count: 1 path: src/Drivers/Imagick/ImagickDriver.php + - + message: "#^Property Spatie\\\\Image\\\\Drivers\\\\Imagick\\\\ImagickDriver\\:\\:\\$image \\(Imagick\\) does not accept mixed\\.$#" + count: 1 + path: src/Drivers/Imagick/ImagickDriver.php + - message: "#^Match expression does not handle remaining value\\: Spatie\\\\Image\\\\Enums\\\\Fit\\:\\:Crop$#" count: 1 path: src/Enums/Fit.php + + - + message: "#^Part \\$color \\(mixed\\) of encapsed string cannot be cast to string\\.$#" + count: 1 + path: src/Exceptions/InvalidColor.php diff --git a/src/Size.php b/src/Size.php index fc9a3b3c..2daae0e7 100644 --- a/src/Size.php +++ b/src/Size.php @@ -43,7 +43,7 @@ public function resize( ->resizeHeight($desiredHeight, $constraints); // @todo desiredWidth and desiredHeight can still be null here, which will cause an error - return $dominantHeightSize->fitsInto(new Size($desiredWidth, $desiredHeight)) + return $dominantHeightSize->fitsInto(new self($desiredWidth, $desiredHeight)) ? $dominantHeightSize : $dominantWidthSize; }