From 26b6d1b127e670b9707ff94759df58d9a9002b58 Mon Sep 17 00:00:00 2001
From: Bart Jaskulski <bjaskulski@protonmail.com>
Date: Fri, 8 Nov 2024 15:49:37 +0100
Subject: [PATCH] chore: phpstan errors fixes

Signed-off-by: Bart Jaskulski <bjaskulski@protonmail.com>
---
 src/AbstractMigrationsRepository.php   | 1 +
 src/ArrayMigrationsRepository.php      | 1 +
 src/FilesystemMigrationsRepository.php | 2 +-
 src/Finder/GlobFinder.php              | 2 +-
 src/MigrationsRepository.php           | 3 +--
 src/Version/MigrationFactory.php       | 1 +
 src/WpdbLogger.php                     | 4 ++--
 src/WpdbMigrator.php                   | 2 +-
 8 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/AbstractMigrationsRepository.php b/src/AbstractMigrationsRepository.php
index d4eb634..7ed4545 100644
--- a/src/AbstractMigrationsRepository.php
+++ b/src/AbstractMigrationsRepository.php
@@ -34,6 +34,7 @@ abstract class AbstractMigrationsRepository implements MigrationsRepository {
 		$this->migrations_source = $migrations_source;
 	}
 
+	/** @param class-string<AbstractMigration> $migration_class_name */
 	public function register_migration( string $migration_class_name ): void {
 		$migration = $this->version_factory->create_version( $migration_class_name );
 		$version   = new Version( $migration_class_name );
diff --git a/src/ArrayMigrationsRepository.php b/src/ArrayMigrationsRepository.php
index 531b312..05e4245 100644
--- a/src/ArrayMigrationsRepository.php
+++ b/src/ArrayMigrationsRepository.php
@@ -6,6 +6,7 @@ namespace WPDesk\Migrations;
 class ArrayMigrationsRepository extends AbstractMigrationsRepository {
 
 	protected function load_migrations(): void {
+		/** @var class-string<AbstractMigration> $class */
 		foreach ( $this->migrations_source as $class ) {
 			$this->register_migration( $class );
 		}
diff --git a/src/FilesystemMigrationsRepository.php b/src/FilesystemMigrationsRepository.php
index 83d1f01..b3b91c2 100644
--- a/src/FilesystemMigrationsRepository.php
+++ b/src/FilesystemMigrationsRepository.php
@@ -28,7 +28,7 @@ final class FilesystemMigrationsRepository extends AbstractMigrationsRepository
 		$this->migration_finder = $migration_finder;
 	}
 
-	/** @param string[] $migrations */
+	/** @param class-string<AbstractMigration>[] $migrations */
 	private function register_migrations( array $migrations ): void {
 		foreach ( $migrations as $migration ) {
 			$this->register_migration( $migration );
diff --git a/src/Finder/GlobFinder.php b/src/Finder/GlobFinder.php
index a1ba300..69c868b 100644
--- a/src/Finder/GlobFinder.php
+++ b/src/Finder/GlobFinder.php
@@ -33,7 +33,7 @@ final class GlobFinder implements MigrationFinder {
 		foreach ( $files as $file ) {
 			require_once $file;
 			$real_file = realpath( $file );
-			if ( ! $real_file ) {
+			if ( $real_file === false ) {
 				continue;
 			}
 			$included_files[] = $real_file;
diff --git a/src/MigrationsRepository.php b/src/MigrationsRepository.php
index 72e3817..119cd35 100644
--- a/src/MigrationsRepository.php
+++ b/src/MigrationsRepository.php
@@ -2,12 +2,11 @@
 
 namespace WPDesk\Migrations;
 
-use WPDesk\Migrations\Version\Version;
-
 interface MigrationsRepository {
 
 	/** @return iterable<AvailableMigration> */
 	public function get_migrations(): iterable;
 
+	/** @param class-string<AbstractMigration> $migration_class_name */
 	public function register_migration( string $migration_class_name ): void;
 }
diff --git a/src/Version/MigrationFactory.php b/src/Version/MigrationFactory.php
index 5c08279..397ef78 100644
--- a/src/Version/MigrationFactory.php
+++ b/src/Version/MigrationFactory.php
@@ -6,5 +6,6 @@ use WPDesk\Migrations\AbstractMigration;
 
 interface MigrationFactory {
 
+	/** @param class-string<AbstractMigration> $migration_class */
 	public function create_version( string $migration_class ): AbstractMigration;
 }
diff --git a/src/WpdbLogger.php b/src/WpdbLogger.php
index 47119c0..f15b821 100644
--- a/src/WpdbLogger.php
+++ b/src/WpdbLogger.php
@@ -20,8 +20,8 @@ class WpdbLogger implements \Psr\Log\LoggerInterface {
 		$this->log_name = $log_name;
 	}
 
-	public function log( $level, $message, array $context = [] ) {
-		if ( empty( $this->log ) ) {
+	public function log( $level, $message, array $context = [] ): void {
+		if ( count( $this->log ) === 0 ) {
 			$this->log = json_decode(
 				get_option(
 					$this->log_name,
diff --git a/src/WpdbMigrator.php b/src/WpdbMigrator.php
index bf896e1..33b40dc 100644
--- a/src/WpdbMigrator.php
+++ b/src/WpdbMigrator.php
@@ -94,7 +94,7 @@ class WpdbMigrator implements Migrator {
 		if ( $last_migration === false ) {
 			return false;
 		}
-		if ( $this->comparator->compare( $last_migration->get_version(), $this->get_current_version() ) ) {
+		if ( $this->comparator->compare( $last_migration->get_version(), $this->get_current_version() ) > 0 ) {
 			return true;
 		}
 		return false;
-- 
GitLab