Skip to content

Commit ee744a3

Browse files
committed
refactor: for readability
1 parent 6e595b2 commit ee744a3

File tree

1 file changed

+34
-43
lines changed

1 file changed

+34
-43
lines changed

system/Commands/Utilities/FilterCheck.php

Lines changed: 34 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -133,27 +133,49 @@ private function showTable(
133133
string $method,
134134
string $route
135135
): void {
136-
$tbody = [];
137-
138-
$filters = $this->addRequiredFilters($filterCollector, $filters);
139-
140-
$tbody[] = [
141-
strtoupper($method),
142-
$route,
143-
implode(' ', $filters['before']),
144-
implode(' ', $filters['after']),
145-
];
146-
147136
$thead = [
148137
'Method',
149138
'Route',
150139
'Before Filters',
151140
'After Filters',
152141
];
153142

143+
$required = $filterCollector->getRequiredFilters();
144+
145+
$coloredRequired = $this->colorItems($required);
146+
147+
$before = array_merge($coloredRequired['before'], $filters['before']);
148+
$after = array_merge($filters['after'], $coloredRequired['after']);
149+
150+
$tbody = [];
151+
$tbody[] = [
152+
strtoupper($method),
153+
$route,
154+
implode(' ', $before),
155+
implode(' ', $after),
156+
];
157+
154158
CLI::table($tbody, $thead);
155159
}
156160

161+
/**
162+
* Color all elements of the array.
163+
*
164+
* @param list<mixed> $array
165+
*
166+
* @return list<mixed>
167+
*/
168+
private function colorItems(array $array): array
169+
{
170+
return array_map(function ($item) {
171+
if (is_array($item)) {
172+
return $this->colorItems($item);
173+
}
174+
175+
return CLI::color($item, 'yellow');
176+
}, $array);
177+
}
178+
157179
private function showFilterClasses(
158180
FilterCollector $filterCollector,
159181
string $method,
@@ -162,13 +184,7 @@ private function showFilterClasses(
162184
$requiredFilterClasses = $filterCollector->getRequiredFilterClasses();
163185
$filterClasses = $filterCollector->getClasses($method, $route);
164186

165-
foreach ($requiredFilterClasses as $position => $classes) {
166-
foreach ($classes as $class) {
167-
$class = CLI::color($class, 'yellow');
168-
169-
$coloredRequiredFilterClasses[$position][] = $class;
170-
}
171-
}
187+
$coloredRequiredFilterClasses = $this->colorItems($requiredFilterClasses);
172188

173189
$classList = [
174190
'before' => array_merge($coloredRequiredFilterClasses['before'], $filterClasses['before']),
@@ -180,29 +196,4 @@ private function showFilterClasses(
180196
CLI::write(implode('', $classes));
181197
}
182198
}
183-
184-
private function addRequiredFilters(FilterCollector $filterCollector, array $filters): array
185-
{
186-
$output = [];
187-
188-
$required = $filterCollector->getRequiredFilters();
189-
190-
$colored = [];
191-
192-
foreach ($required['before'] as $filter) {
193-
$filter = CLI::color($filter, 'yellow');
194-
$colored[] = $filter;
195-
}
196-
$output['before'] = array_merge($colored, $filters['before']);
197-
198-
$colored = [];
199-
200-
foreach ($required['after'] as $filter) {
201-
$filter = CLI::color($filter, 'yellow');
202-
$colored[] = $filter;
203-
}
204-
$output['after'] = array_merge($filters['after'], $colored);
205-
206-
return $output;
207-
}
208199
}

0 commit comments

Comments
 (0)