🚨 Fix psalm warnings

This commit is contained in:
Philipp Stracker 2025-01-28 13:26:44 +01:00
parent 6aecfdad31
commit 7bd3c0b199
No known key found for this signature in database

View file

@ -5,7 +5,7 @@
* @package WooCommerce\PayPalCommerce\Settings\Data * @package WooCommerce\PayPalCommerce\Settings\Data
*/ */
declare(strict_types=1); declare( strict_types = 1 );
namespace WooCommerce\PayPalCommerce\Settings\Data; namespace WooCommerce\PayPalCommerce\Settings\Data;
@ -14,7 +14,7 @@ use WooCommerce\PayPalCommerce\ApiClient\Exception\RuntimeException;
/** /**
* Class TodosModel * Class TodosModel
* *
* Handles the storage and retrieval of todo completion states in WordPress options table. * Handles the storage and retrieval of task completion states in WordPress options table.
* Provides methods to get and update completion states with proper type casting. * Provides methods to get and update completion states with proper type casting.
*/ */
class TodosModel { class TodosModel {
@ -23,7 +23,7 @@ class TodosModel {
* *
* @var string * @var string
*/ */
const OPTION_NAME = 'ppcp_todos'; protected const OPTION_NAME = 'ppcp_todos';
/** /**
* Retrieves the formatted completion states from WordPress options. * Retrieves the formatted completion states from WordPress options.
@ -33,12 +33,16 @@ class TodosModel {
* *
* @return array The formatted completion states array. * @return array The formatted completion states array.
*/ */
public function get(): array { public function get() : array {
$completion_states = get_option( self::OPTION_NAME, array() ); $completion_states = get_option( self::OPTION_NAME, array() );
return array_map( return array_map(
static function ( $state ) { /**
return (bool) $state; * Ensures the task completion states are boolean values.
}, *
* @param mixed $state value to sanitize, as stored in the DB.
*/
static fn( $state ) => (bool) $state,
$completion_states $completion_states
); );
} }
@ -49,11 +53,11 @@ class TodosModel {
* Converts the provided data array and saves it to wp_options table. * Converts the provided data array and saves it to wp_options table.
* Throws an exception if update fails. * Throws an exception if update fails.
* *
* @param array $states Array of todo IDs and their completion states. * @param array $states Array of task IDs and their completion states.
* @return void * @return void
* @throws RuntimeException When the completion states update fails. * @throws RuntimeException When the completion states update fails.
*/ */
public function update( array $states ): void { public function update( array $states ) : void {
$completion_states = array_map( $completion_states = array_map(
static function ( $state ) { static function ( $state ) {
return (bool) $state; return (bool) $state;