Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
Code
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
2 / 2
4
100.00% covered (success)
100.00%
1 / 1
 json
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 syntax
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
3
1<?php
2
3declare(strict_types=1);
4
5namespace Cosray\Value;
6
7use Cosray\Field\Capability\SyntaxAware;
8use Cosray\Field\Capability\Translatable;
9use Cosray\Field\Field;
10use Override;
11
12/**
13 * @property-read Field&Translatable&SyntaxAware $field
14 */
15class Code extends Text
16{
17    /** @return array{code: string, syntax: string} */
18    #[Override]
19    public function json(): array
20    {
21        return ['code' => $this->raw(), 'syntax' => $this->syntax()];
22    }
23
24    public function syntax(): string
25    {
26        $syntax = $this->meta('syntax');
27
28        if (is_string($syntax) && $syntax !== '') {
29            return $syntax;
30        }
31
32        return $this->field->getDefaultSyntax();
33    }
34}