1 | <?php |
||
22 | class SimpleDictionary implements Dictionary |
||
23 | { |
||
24 | use Serializable; |
||
25 | |||
26 | /** |
||
27 | * @var array|TypeDefinition[] |
||
28 | */ |
||
29 | protected $types = []; |
||
30 | |||
31 | /** |
||
32 | * @param Type|null $of |
||
33 | * @return iterable|TypeDefinition[] |
||
34 | */ |
||
35 | 3 | public function all(Type $of = null): iterable |
|
43 | |||
44 | /** |
||
45 | * @param string $name |
||
46 | * @param Definition|null $from |
||
47 | * @return TypeDefinition |
||
48 | * @throws TypeNotFoundException |
||
49 | */ |
||
50 | 3 | public function get(string $name, Definition $from = null): TypeDefinition |
|
58 | |||
59 | /** |
||
60 | * @param string $name |
||
61 | * @return null|TypeDefinition |
||
62 | */ |
||
63 | 6 | public function find(string $name): ?TypeDefinition |
|
67 | |||
68 | /** |
||
69 | * @param string $name |
||
70 | * @param Definition|null $from |
||
71 | * @return TypeNotFoundException |
||
72 | */ |
||
73 | protected function typeNotFound(string $name, Definition $from = null): TypeNotFoundException |
||
85 | |||
86 | /** |
||
87 | * @param TypeDefinition $type |
||
88 | * @return Dictionary |
||
89 | */ |
||
90 | 5 | public function add(TypeDefinition $type): Dictionary |
|
96 | |||
97 | /** |
||
98 | * @param string $name |
||
99 | * @return bool |
||
100 | */ |
||
101 | 3 | public function has(string $name): bool |
|
105 | } |
||
106 |