ModelCollection::toArray()   A
last analyzed

Complexity

Conditions 3
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 3
dl 0
loc 5
ccs 0
cts 3
cp 0
rs 10
c 1
b 0
f 0
cc 3
nc 1
nop 0
crap 12
1
<?php
2
3
namespace PhpWinTools\WmiScripting\Collections;
4
5
use Illuminate\Support\Collection;
6
use PhpWinTools\WmiScripting\Models\Win32Model;
7
use PhpWinTools\WmiScripting\Contracts\Arrayable;
8
use Illuminate\Support\HigherOrderCollectionProxy;
9
use PhpWinTools\WmiScripting\Support\ApiObjects\SWbemObject;
10
use Illuminate\Contracts\Support\Arrayable as IlluminateArrayable;
11
12
/**
13
 * @property-read HigherOrderCollectionProxy|SWbemObject map
14
 */
15
class ModelCollection extends Collection
16
{
17
    /**
18
     * @param callable|null $callback
19
     * @param null|mixed    $default
20
     *
21
     * @return Win32Model
22
     */
23 2
    public function first(callable $callback = null, $default = null)
24
    {
25 2
        return parent::first($callback, $default);
26
    }
27
28
    public function toArray()
29
    {
30
        return array_map(function ($value) {
31
            return $value instanceof Arrayable || $value instanceof IlluminateArrayable ? $value->toArray() : $value;
32
        }, $this->items);
33
    }
34
}
35