Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
1 / 1
JavascriptIdentifierList
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
3 / 3
5
100.00% covered (success)
100.00%
1 / 1
 offsetSet
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
2
 offsetGet
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 toStringArray
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2namespace Apie\TypescriptCodeBuilder\Lists;
3
4use Apie\Core\Lists\ItemList;
5use Apie\TypescriptCodeBuilder\ValueObjects\JavascriptIdentifier;
6
7final class JavascriptIdentifierList extends ItemList
8{
9    protected bool $mutable = false;
10
11    public function offsetSet(mixed $offset, mixed $value): void
12    {
13        if (!($value instanceof JavascriptIdentifier)) {
14            $value = JavascriptIdentifier::fromNative($value);
15        }
16        parent::offsetSet($offset, $value);
17    }
18
19    public function offsetGet(mixed $offset): JavascriptIdentifier
20    {
21        return parent::offsetGet($offset);
22    }
23
24    /**
25     * @return string[]
26     */
27    public function toStringArray(): array
28    {
29        $result = [];
30        foreach ($this as $item) {
31            $result[] = $item->toNative();
32        }
33        return $result;
34    }
35}