Instances::add()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 4
c 1
b 0
f 0
dl 0
loc 6
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Koriym\AppStateDiagram;
6
7
use stdClass;
8
9
use function assert;
10
use function is_string;
11
use function ksort;
12
use function property_exists;
13
14
/**
15
 * Descriptor instance (raw object) container
16
 */
17
class Instances
18
{
19
    /** @var array<string, stdClass> */
20
    private $insntances = [];
21
22
    public function add(stdClass $instance): void
23
    {
24
        assert(property_exists($instance, 'id'));
25
        assert(is_string($instance->id));
26
        $this->insntances[$instance->id] = $instance;
27
        ksort($this->insntances);
28
    }
29
30
    /** @return array<string, stdClass> */
31
    public function get(): array
32
    {
33
        return $this->insntances;
34
    }
35
}
36