• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

eliashaeussler / typo3-solver / 13265832267

11 Feb 2025 02:59PM UTC coverage: 83.534% (-4.3%) from 87.8%
13265832267

Pull #294

github

web-flow
Merge 954766c9a into 47707940a
Pull Request #294: [!!!][FEATURE] Provide generic class for generated solutions

40 of 87 new or added lines in 7 files covered. (45.98%)

832 of 996 relevant lines covered (83.53%)

2.27 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/Classes/ProblemSolving/Solution/Model/Message.php
1
<?php
2

3
declare(strict_types=1);
4

5
/*
6
 * This file is part of the TYPO3 CMS extension "solver".
7
 *
8
 * Copyright (C) 2023-2025 Elias Häußler <elias@haeussler.dev>
9
 *
10
 * This program is free software: you can redistribute it and/or modify
11
 * it under the terms of the GNU General Public License as published by
12
 * the Free Software Foundation, either version 2 of the License, or
13
 * (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
 * GNU General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU General Public License
21
 * along with this program. If not, see <https://www.gnu.org/licenses/>.
22
 */
23

24
namespace EliasHaeussler\Typo3Solver\ProblemSolving\Solution\Model;
25

26
/**
27
 * Message
28
 *
29
 * @author Elias Häußler <elias@haeussler.dev>
30
 * @license GPL-2.0-or-later
31
 *
32
 * @phpstan-type MessageArray array{role: string, content: string|null}
33
 */
34
final class Message implements \JsonSerializable
35
{
NEW
36
    public function __construct(
×
37
        public readonly string $role,
38
        public readonly ?string $content,
NEW
39
    ) {}
×
40

41
    /**
42
     * @return MessageArray
43
     */
NEW
44
    public function toArray(): array
×
45
    {
NEW
46
        return [
×
NEW
47
            'role' => $this->role,
×
NEW
48
            'content' => $this->content,
×
NEW
49
        ];
×
50
    }
51

52
    /**
53
     * @return MessageArray
54
     */
NEW
55
    public function jsonSerialize(): array
×
56
    {
NEW
57
        return $this->toArray();
×
58
    }
59
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc