Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
NullableHandler
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
2 / 2
3
100.00% covered (success)
100.00%
1 / 1
 apply
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
2
 properties
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5namespace Cosray\Field\Schema;
6
7use Cosray\Exception\RuntimeException;
8use Cosray\Field\Checkbox;
9use Cosray\Field\Field;
10use Override;
11
12class NullableHandler extends Handler
13{
14    #[Override]
15    public function apply(object $meta, Field $field): void
16    {
17        if (!$field instanceof Checkbox) {
18            throw new RuntimeException('Nullable requires a Checkbox field.');
19        }
20
21        $field->nullable = true;
22    }
23
24    #[Override]
25    public function properties(object $meta, Field $field): array
26    {
27        return [];
28    }
29}