/
PackageInfo.php
33 lines (27 loc) · 939 Bytes
/
PackageInfo.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Composer\Util;
use Composer\Package\CompletePackageInterface;
use Composer\Package\PackageInterface;
class PackageInfo
{
public static function getViewSourceUrl(PackageInterface $package): ?string
{
if ($package instanceof CompletePackageInterface && isset($package->getSupport()['source'])) {
return $package->getSupport()['source'];
}
return $package->getSourceUrl();
}
public static function getViewSourceOrHomepageUrl(PackageInterface $package): ?string
{
return self::getViewSourceUrl($package) ?? ($package instanceof CompletePackageInterface ? $package->getHomepage() : null);
}
}