Helpers::merge_and_prefer_single()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 3
rs 10
1
<?php
2
3
namespace olvlvl\ElasticsearchDSL;
4
5
class Helpers
6
{
7
	static public function filter_not_null(array $input)
8
	{
9
		return array_filter($input, function ($value) {
10
			return !is_null($value);
11
		});
12
	}
13
14
	static public function filter_merge(...$input)
15
	{
16
		return array_values(array_filter(array_merge(...$input)));
17
	}
18
19
	static public function prefer_single(array $input)
20
	{
21
		if (count($input) !== 1) {
22
			return $input;
23
		}
24
25
		return reset($input);
26
	}
27
28
	static public function merge_and_prefer_single(...$input)
29
	{
30
		return Helpers::prefer_single(self::filter_merge(...$input));
31
	}
32
}
33