Passed
Push — main ( 72c6fa...9344f0 )
by Sílvio
02:59
created

CacheDatabaseHelper::validateCacheItem()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 3
eloc 2
c 1
b 0
f 1
nc 2
nop 1
dl 0
loc 4
rs 10
1
<?php
2
3
namespace Silviooosilva\CacheerPhp\Helpers;
4
5
use Silviooosilva\CacheerPhp\Exceptions\CacheDatabaseException;
6
7
/**
8
 * Class CacheDatabaseHelper
9
 * @author Sílvio Silva <https://github.com/silviooosilva>
10
 * @package Silviooosilva\CacheerPhp
11
 */
12
class CacheDatabaseHelper
13
{
14
15
16
    /**
17
     * @param array $item
18
     * @return void
19
     */
20
    public static function validateCacheItem(array $item)
21
    {
22
        if (!isset($item['cacheKey']) || !isset($item['cacheData'])) {
23
            throw CacheDatabaseException::create("Each item must contain 'cacheKey' and 'cacheData'");
24
        }
25
    }
26
27
      /**
28
     * @param array $options
29
     * @return array
30
     */
31
    public static function mergeCacheData($cacheData)
32
    {
33
        if (is_array($cacheData) && is_array(reset($cacheData))) {
34
            $merged = [];
35
            foreach ($cacheData as $data) {
36
                $merged[] = $data;
37
            }
38
            return $merged;
39
        }
40
        return (array)$cacheData;
41
    }
42
43
  /**
44
  * @param mixed $currentCacheData
45
  * @param mixed $cacheData
46
  * @return array
47
  */
48
  public static function arrayIdentifier(mixed $currentCacheData, mixed $cacheData)
49
  {
50
    if (is_array($currentCacheData) && is_array($cacheData)) {
51
      $mergedCacheData = array_merge($currentCacheData, $cacheData);
52
    } else {
53
      $mergedCacheData = array_merge((array)$currentCacheData, (array)$cacheData);
54
    }
55
56
    return $mergedCacheData;
57
  }
58
59
}
60
61