ListNormalizer::normalize()   A
last analyzed

Complexity

Conditions 6
Paths 4

Size

Total Lines 21
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 6
eloc 11
c 1
b 0
f 0
nc 4
nop 1
dl 0
loc 21
rs 9.2222
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
}