ListNormalizer   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 11
c 1
b 0
f 0
dl 0
loc 27
rs 10
wmc 6

1 Method

Rating   Name   Duplication   Size   Complexity  
A normalize() 0 21 6
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: peter
5
 * Date: 20.07.18
6
 * Time: 13:56
7
 */
8
9
namespace Maslosoft\Whitelist\Helpers;
10
11
12
use function is_bool;
13
use function is_numeric;
14
use function is_string;
15
use function str_replace;
16
17
class ListNormalizer
18
{
19
	/**
20
	 * Normalize list values
21
	 * @param string[] $list
22
	 */
23
	public static function normalize(array $list)
24
	{
25
		$proper = [];
26
		foreach($list as $key => $value)
27
		{
28
			if(is_string($key) && is_bool($value))
29
			{
30
				$key = str_replace(['(', ')'], '', $key);
31
				$proper[$key] = $value;
32
			}
33
			elseif(is_numeric($key) && is_string($value))
34
			{
35
				$value = str_replace(['(', ')'], '', $value);
36
				$proper[$value] = true;
37
			}
38
			else
39
			{
40
				assert(false, "Unsupported list");
41
			}
42
		}
43
		return $proper;
44
	}
45
}