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

eliashaeussler / composer-update-check / 10714291615

05 Sep 2024 05:13AM UTC coverage: 20.122%. First build
10714291615

Pull #130

github

web-flow
Merge pull request #140 from eliashaeussler/fix/compare-package-versions

[BUGFIX] Ensure only actual package version updates are included
Pull Request #130: [!!!][FEATURE] Modernize plugin

329 of 1770 new or added lines in 56 files covered. (18.59%)

363 of 1804 relevant lines covered (20.12%)

1.06 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-2024 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
     */
NEW
51
    public static function toggleVisibility(string $id, string $title, array $targetElements): self
×
52
    {
NEW
53
        return new self(
×
NEW
54
            type: 'Action.ToggleVisibility',
×
NEW
55
            id: $id,
×
NEW
56
            targetElements: $targetElements,
×
NEW
57
            title: $title,
×
NEW
58
        );
×
59
    }
60

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

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