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

eliashaeussler / composer-update-check / 15182034191

22 May 2025 03:06AM UTC coverage: 20.538%. First build
15182034191

Pull #130

github

web-flow
[TASK] Update all dependencies
Pull Request #130: [!!!][FEATURE] Modernize plugin

356 of 1832 new or added lines in 57 files covered. (19.43%)

382 of 1860 relevant lines covered (20.54%)

1.11 hits per line

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

0.0
/src/Entity/Report/Dto/TeamsAction.php
1
<?php
2

3
declare(strict_types=1);
4

5
/*
6
 * This file is part of the Composer package "eliashaeussler/composer-update-check".
7
 *
8
 * Copyright (C) 2020-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 3 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\ComposerUpdateCheck\Entity\Report\Dto;
25

26
use JsonSerializable;
27

28
use function array_filter;
29

30
/**
31
 * TeamsAction.
32
 *
33
 * @author Elias Häußler <elias@haeussler.dev>
34
 * @license GPL-3.0-or-later
35
 */
36
final class TeamsAction implements JsonSerializable
37
{
38
    /**
39
     * @param list<string>|null $targetElements
40
     */
NEW
41
    private function __construct(
×
42
        public readonly string $type,
43
        public readonly string $id,
44
        public readonly ?array $targetElements = null,
45
        public readonly ?string $title = null,
NEW
46
    ) {}
×
47

48
    /**
49
     * @param list<string> $targetElements
50
     *
51
     * @see https://github.com/microsoft/AdaptiveCards/blob/main/schemas/src/actions/Action.ToggleVisibility.json
52
     */
NEW
53
    public static function toggleVisibility(string $id, string $title, array $targetElements): self
×
54
    {
NEW
55
        return new self(
×
NEW
56
            type: 'Action.ToggleVisibility',
×
NEW
57
            id: $id,
×
NEW
58
            targetElements: $targetElements,
×
NEW
59
            title: $title,
×
NEW
60
        );
×
61
    }
62

63
    /**
64
     * @return array{
65
     *     type: string,
66
     *     id: string,
67
     *     targetElements?: list<string>,
68
     *     title?: string,
69
     * }
70
     */
NEW
71
    public function jsonSerialize(): array
×
72
    {
NEW
73
        $action = [
×
NEW
74
            'type' => $this->type,
×
NEW
75
            'id' => $this->id,
×
NEW
76
            'targetElements' => $this->targetElements,
×
NEW
77
            'title' => $this->title,
×
NEW
78
        ];
×
79

NEW
80
        return array_filter($action, static fn (mixed $value) => null !== $value);
×
81
    }
82
}
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

© 2025 Coveralls, Inc