Skip to content

Commit

Permalink
Merge pull request #9343 from samsonasik/refactor-add-arrow-function-…
Browse files Browse the repository at this point in the history
…return

refactor: enable AddArrowFunctionReturnTypeRector
  • Loading branch information
samsonasik authored Dec 28, 2024
2 parents 51cdd7d + 47d69b6 commit 51e6f6a
Show file tree
Hide file tree
Showing 51 changed files with 130 additions and 128 deletions.
2 changes: 1 addition & 1 deletion app/Views/errors/cli/error_exception.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
$function .= $padClass . $error['function'];
}

$args = implode(', ', array_map(static fn ($value) => match (true) {
$args = implode(', ', array_map(static fn ($value): string => match (true) {
is_object($value) => 'Object(' . $value::class . ')',
is_array($value) => $value !== [] ? '[...]' : '[]',
$value === null => 'null', // return the lowercased version
Expand Down
2 changes: 2 additions & 0 deletions rector.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
use Rector\Privatization\Rector\Property\PrivatizeFinalClassPropertyRector;
use Rector\Strict\Rector\Empty_\DisallowedEmptyRuleFixerRector;
use Rector\Strict\Rector\If_\BooleanInIfConditionRuleFixerRector;
use Rector\TypeDeclaration\Rector\ArrowFunction\AddArrowFunctionReturnTypeRector;
use Rector\TypeDeclaration\Rector\ClassMethod\AddMethodCallBasedStrictParamTypeRector;
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnNeverTypeRector;
use Rector\TypeDeclaration\Rector\Closure\AddClosureVoidReturnTypeWhereNoReturnRector;
Expand Down Expand Up @@ -201,6 +202,7 @@
TypedPropertyFromAssignsRector::class,
ClosureReturnTypeRector::class,
FlipTypeControlToUseExclusiveTypeRector::class,
AddArrowFunctionReturnTypeRector::class,
])
->withConfiguredRule(StringClassNameToClassConstantRector::class, [
// keep '\\' prefix string on string '\Foo\Bar'
Expand Down
2 changes: 1 addition & 1 deletion system/CLI/CLI.php
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,7 @@ public static function promptByMultipleKeys(string $text, array $options): array
$pattern = preg_match_all('/^\d+(,\d+)*$/', trim($input));

// separate input by comma and convert all to an int[]
$inputToArray = array_map(static fn ($value) => (int) $value, explode(',', $input));
$inputToArray = array_map(static fn ($value): int => (int) $value, explode(',', $input));
// find max from key of $options
$maxOptions = array_key_last($options);
// find max from input
Expand Down
2 changes: 1 addition & 1 deletion system/Commands/Utilities/Routes.php
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ public function run(array $params)

// Sort by Handler.
if ($sortByHandler) {
usort($tbody, static fn ($handler1, $handler2) => strcmp($handler1[3], $handler2[3]));
usort($tbody, static fn ($handler1, $handler2): int => strcmp($handler1[3], $handler2[3]));
}

if ($host !== null) {
Expand Down
18 changes: 9 additions & 9 deletions system/Database/BaseBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -2018,7 +2018,7 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri
$sql = 'INSERT INTO ' . $table . ' (' . implode(', ', $keys) . ")\n{:_table_:}ON DUPLICATE KEY UPDATE\n" . implode(
",\n",
array_map(
static fn ($key, $value) => $table . '.' . $key . ($value instanceof RawSql ?
static fn ($key, $value): string => $table . '.' . $key . ($value instanceof RawSql ?
' = ' . $value :
' = VALUES(' . $value . ')'),
array_keys($updateFields),
Expand Down Expand Up @@ -2108,7 +2108,7 @@ public function onConstraint($set)
if (is_string($set)) {
$set = explode(',', $set);

$set = array_map(static fn ($key) => trim($key), $set);
$set = array_map(static fn ($key): string => trim($key), $set);
}

if ($set instanceof RawSql) {
Expand Down Expand Up @@ -2152,7 +2152,7 @@ public function setQueryAsData($query, ?string $alias = null, $columns = null):
if (is_string($query)) {
if ($columns !== null && is_string($columns)) {
$columns = explode(',', $columns);
$columns = array_map(static fn ($key) => trim($key), $columns);
$columns = array_map(static fn ($key): string => trim($key), $columns);
}

$columns = (array) $columns;
Expand Down Expand Up @@ -2190,7 +2190,7 @@ protected function fieldsFromQuery(string $sql): array
*/
protected function formatValues(array $values): array
{
return array_map(static fn ($index) => '(' . implode(',', $index) . ')', $values);
return array_map(static fn ($index): string => '(' . implode(',', $index) . ')', $values);
}

/**
Expand Down Expand Up @@ -2649,7 +2649,7 @@ protected function _updateBatch(string $table, array $keys, array $values): stri
$sql .= implode(
",\n",
array_map(
static fn ($key, $value) => $key . ($value instanceof RawSql ?
static fn ($key, $value): string => $key . ($value instanceof RawSql ?
' = ' . $value :
' = ' . $alias . '.' . $value),
array_keys($updateFields),
Expand Down Expand Up @@ -2691,8 +2691,8 @@ protected function _updateBatch(string $table, array $keys, array $values): stri
$data = implode(
" UNION ALL\n",
array_map(
static fn ($value) => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index) => $index . ' ' . $key,
static fn ($value): string => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index): string => $index . ' ' . $key,
$keys,
$value
)),
Expand Down Expand Up @@ -2946,8 +2946,8 @@ protected function _deleteBatch(string $table, array $keys, array $values): stri
$data = implode(
" UNION ALL\n",
array_map(
static fn ($value) => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index) => $index . ' ' . $key,
static fn ($value): string => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index): string => $index . ' ' . $key,
$keys,
$value
)),
Expand Down
2 changes: 1 addition & 1 deletion system/Database/Forge.php
Original file line number Diff line number Diff line change
Expand Up @@ -861,7 +861,7 @@ protected function _alterTable(string $alterType, string $table, $processedField
$columnNamesToDrop = explode(',', $columnNamesToDrop);
}

$columnNamesToDrop = array_map(fn ($field) => 'DROP COLUMN ' . $this->db->escapeIdentifiers(trim($field)), $columnNamesToDrop);
$columnNamesToDrop = array_map(fn ($field): string => 'DROP COLUMN ' . $this->db->escapeIdentifiers(trim($field)), $columnNamesToDrop);

return $sql . implode(', ', $columnNamesToDrop);
}
Expand Down
6 changes: 3 additions & 3 deletions system/Database/MySQLi/Builder.php
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ protected function _updateBatch(string $table, array $keys, array $values): stri
$sql .= implode(
",\n",
array_map(
static fn ($key, $value) => $table . '.' . $key . ($value instanceof RawSql ?
static fn ($key, $value): string => $table . '.' . $key . ($value instanceof RawSql ?
' = ' . $value :
' = ' . $alias . '.' . $value),
array_keys($updateFields),
Expand All @@ -132,8 +132,8 @@ protected function _updateBatch(string $table, array $keys, array $values): stri
$data = implode(
" UNION ALL\n",
array_map(
static fn ($value) => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index) => $index . ' ' . $key,
static fn ($value): string => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index): string => $index . ' ' . $key,
$keys,
$value
)),
Expand Down
34 changes: 17 additions & 17 deletions system/Database/OCI8/Builder.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@ protected function _insertBatch(string $table, array $keys, array $values): stri
$data = implode(
" FROM DUAL UNION ALL\n",
array_map(
static fn ($value) => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index) => $index . ' ' . $key,
static fn ($value): string => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index): string => $index . ' ' . $key,
$keys,
$value
)),
Expand All @@ -107,7 +107,7 @@ protected function _insertBatch(string $table, array $keys, array $values): stri
*/
protected function _replace(string $table, array $keys, array $values): string
{
$fieldNames = array_map(static fn ($columnName) => trim($columnName, '"'), $keys);
$fieldNames = array_map(static fn ($columnName): string => trim($columnName, '"'), $keys);

$uniqueIndexes = array_filter($this->db->getIndexData($table), static function ($index) use ($fieldNames): bool {
$hasAllFields = count(array_intersect($index->fields, $fieldNames)) === count($index->fields);
Expand All @@ -126,24 +126,24 @@ protected function _replace(string $table, array $keys, array $values): string

$sql = 'MERGE INTO ' . $table . "\n USING (SELECT ";

$sql .= implode(', ', array_map(static fn ($columnName, $value) => $value . ' ' . $columnName, $keys, $values));
$sql .= implode(', ', array_map(static fn ($columnName, $value): string => $value . ' ' . $columnName, $keys, $values));

$sql .= ' FROM DUAL) "_replace" ON ( ';

$onList = [];
$onList[] = '1 != 1';

foreach ($uniqueIndexes as $index) {
$onList[] = '(' . implode(' AND ', array_map(static fn ($columnName) => $table . '."' . $columnName . '" = "_replace"."' . $columnName . '"', $index->fields)) . ')';
$onList[] = '(' . implode(' AND ', array_map(static fn ($columnName): string => $table . '."' . $columnName . '" = "_replace"."' . $columnName . '"', $index->fields)) . ')';
}

$sql .= implode(' OR ', $onList) . ') WHEN MATCHED THEN UPDATE SET ';

$sql .= implode(', ', array_map(static fn ($columnName) => $columnName . ' = "_replace".' . $columnName, $replaceableFields));
$sql .= implode(', ', array_map(static fn ($columnName): string => $columnName . ' = "_replace".' . $columnName, $replaceableFields));

$sql .= ' WHEN NOT MATCHED THEN INSERT (' . implode(', ', $replaceableFields) . ') VALUES ';

return $sql . (' (' . implode(', ', array_map(static fn ($columnName) => '"_replace".' . $columnName, $replaceableFields)) . ')');
return $sql . (' (' . implode(', ', array_map(static fn ($columnName): string => '"_replace".' . $columnName, $replaceableFields)) . ')');
}

/**
Expand Down Expand Up @@ -298,7 +298,7 @@ protected function _updateBatch(string $table, array $keys, array $values): stri
$sql .= implode(
",\n",
array_map(
static fn ($key, $value) => $table . '.' . $key . ($value instanceof RawSql ?
static fn ($key, $value): string => $table . '.' . $key . ($value instanceof RawSql ?
' = ' . $value :
' = ' . $alias . '.' . $value),
array_keys($updateFields),
Expand All @@ -315,8 +315,8 @@ protected function _updateBatch(string $table, array $keys, array $values): stri
$data = implode(
" UNION ALL\n",
array_map(
static fn ($value) => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index) => $index . ' ' . $key,
static fn ($value): string => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index): string => $index . ' ' . $key,
$keys,
$value
)) . ' FROM DUAL',
Expand All @@ -342,7 +342,7 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri
$constraints = $this->QBOptions['constraints'] ?? [];

if (empty($constraints)) {
$fieldNames = array_map(static fn ($columnName) => trim($columnName, '"'), $keys);
$fieldNames = array_map(static fn ($columnName): string => trim($columnName, '"'), $keys);

$uniqueIndexes = array_filter($this->db->getIndexData($table), static function ($index) use ($fieldNames): bool {
$hasAllFields = count(array_intersect($index->fields, $fieldNames)) === count($index->fields);
Expand Down Expand Up @@ -401,7 +401,7 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri
$sql .= implode(
",\n",
array_map(
static fn ($key, $value) => $key . ($value instanceof RawSql ?
static fn ($key, $value): string => $key . ($value instanceof RawSql ?
" = {$value}" :
" = {$alias}.{$value}"),
array_keys($updateFields),
Expand All @@ -412,7 +412,7 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri
$sql .= "\nWHEN NOT MATCHED THEN INSERT (" . implode(', ', $keys) . ")\nVALUES ";

$sql .= (' ('
. implode(', ', array_map(static fn ($columnName) => "{$alias}.{$columnName}", $keys))
. implode(', ', array_map(static fn ($columnName): string => "{$alias}.{$columnName}", $keys))
. ')');

$this->QBOptions['sql'] = $sql;
Expand All @@ -424,8 +424,8 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri
$data = implode(
" FROM DUAL UNION ALL\n",
array_map(
static fn ($value) => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index) => $index . ' ' . $key,
static fn ($value): string => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index): string => $index . ' ' . $key,
$keys,
$value
)),
Expand Down Expand Up @@ -503,8 +503,8 @@ protected function _deleteBatch(string $table, array $keys, array $values): stri
$data = implode(
" FROM DUAL UNION ALL\n",
array_map(
static fn ($value) => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index) => $index . ' ' . $key,
static fn ($value): string => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index): string => $index . ' ' . $key,
$keys,
$value
)),
Expand Down
2 changes: 1 addition & 1 deletion system/Database/OCI8/Result.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public function getFieldCount(): int
*/
public function getFieldNames(): array
{
return array_map(fn ($fieldIndex) => oci_field_name($this->resultID, $fieldIndex), range(1, $this->getFieldCount()));
return array_map(fn ($fieldIndex): false|string => oci_field_name($this->resultID, $fieldIndex), range(1, $this->getFieldCount()));
}

/**
Expand Down
14 changes: 7 additions & 7 deletions system/Database/Postgre/Builder.php
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ protected function _updateBatch(string $table, array $keys, array $values): stri
$sql .= implode(
",\n",
array_map(
static fn ($key, $value) => $key . ($value instanceof RawSql ?
static fn ($key, $value): string => $key . ($value instanceof RawSql ?
' = ' . $value :
' = ' . $that->cast($alias . '.' . $value, $that->getFieldType($table, $key))),
array_keys($updateFields),
Expand Down Expand Up @@ -394,8 +394,8 @@ static function ($key, $value) use ($table, $alias, $that): string|RawSql {
$data = implode(
" UNION ALL\n",
array_map(
static fn ($value) => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index) => $index . ' ' . $key,
static fn ($value): string => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index): string => $index . ' ' . $key,
$keys,
$value
)),
Expand Down Expand Up @@ -458,7 +458,7 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri

// if this is the first iteration of batch then we need to build skeleton sql
if ($sql === '') {
$fieldNames = array_map(static fn ($columnName) => trim($columnName, '"'), $keys);
$fieldNames = array_map(static fn ($columnName): string => trim($columnName, '"'), $keys);

$constraints = $this->QBOptions['constraints'] ?? [];

Expand Down Expand Up @@ -524,7 +524,7 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri
$sql .= implode(
",\n",
array_map(
static fn ($key, $value) => $key . ($value instanceof RawSql ?
static fn ($key, $value): string => $key . ($value instanceof RawSql ?
" = {$value}" :
" = {$alias}.{$value}"),
array_keys($updateFields),
Expand Down Expand Up @@ -617,8 +617,8 @@ static function ($key, $value) use ($table, $alias, $that): RawSql|string {
$data = implode(
" UNION ALL\n",
array_map(
static fn ($value) => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index) => $index . ' ' . $key,
static fn ($value): string => 'SELECT ' . implode(', ', array_map(
static fn ($key, $index): string => $index . ' ' . $key,
$keys,
$value
)),
Expand Down
2 changes: 1 addition & 1 deletion system/Database/Postgre/Connection.php
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,7 @@ protected function _indexData(string $table): array
$obj = new stdClass();
$obj->name = $row->indexname;
$_fields = explode(',', preg_replace('/^.*\((.+?)\)$/', '$1', trim($row->indexdef)));
$obj->fields = array_map(static fn ($v) => trim($v), $_fields);
$obj->fields = array_map(static fn ($v): string => trim($v), $_fields);

if (str_starts_with($row->indexdef, 'CREATE UNIQUE INDEX pk')) {
$obj->type = 'PRIMARY';
Expand Down
2 changes: 1 addition & 1 deletion system/Database/Query.php
Original file line number Diff line number Diff line change
Expand Up @@ -418,7 +418,7 @@ public function debugToolbarDisplay(): string
*/
$search = '/\b(?:' . implode('|', $highlight) . ')\b(?![^(')]*'(?:(?:[^(')]*'){2})*[^(')]*$)/';

return preg_replace_callback($search, static fn ($matches) => '<strong>' . str_replace(' ', '&nbsp;', $matches[0]) . '</strong>', $sql);
return preg_replace_callback($search, static fn ($matches): string => '<strong>' . str_replace(' ', '&nbsp;', $matches[0]) . '</strong>', $sql);
}

/**
Expand Down
6 changes: 3 additions & 3 deletions system/Database/SQLSRV/Builder.php
Original file line number Diff line number Diff line change
Expand Up @@ -694,7 +694,7 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri

$identityInFields = in_array($tableIdentity, $keys, true);

$fieldNames = array_map(static fn ($columnName) => trim($columnName, '"'), $keys);
$fieldNames = array_map(static fn ($columnName): string => trim($columnName, '"'), $keys);

if (empty($constraints)) {
$tableIndexes = $this->db->getIndexData($table);
Expand Down Expand Up @@ -773,7 +773,7 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri
$sql .= implode(
",\n",
array_map(
static fn ($key, $value) => $key . ($value instanceof RawSql ?
static fn ($key, $value): string => $key . ($value instanceof RawSql ?
' = ' . $value :
" = {$alias}.{$value}"),
array_keys($updateFields),
Expand All @@ -787,7 +787,7 @@ protected function _upsertBatch(string $table, array $keys, array $values): stri
'(' . implode(
', ',
array_map(
static fn ($columnName) => $columnName === $tableIdentity
static fn ($columnName): string => $columnName === $tableIdentity
? "CASE WHEN {$alias}.{$columnName} IS NULL THEN (SELECT "
. 'isnull(IDENT_CURRENT(\'' . $fullTableName . '\')+IDENT_INCR(\''
. $fullTableName . "'),1)) ELSE {$alias}.{$columnName} END"
Expand Down
Loading

0 comments on commit 51e6f6a

Please sign in to comment.