style updates
This commit is contained in:
@@ -1,17 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Marketplace\Services;
|
||||
|
||||
use Modules\Marketplace\Models\InstalledPackage;
|
||||
|
||||
final class DependencyResolver
|
||||
{
|
||||
public function __construct(private VersionConstraint $constraints=new VersionConstraint()) {}
|
||||
public function __construct(private VersionConstraint $constraints = new VersionConstraint) {}
|
||||
|
||||
public function resolve(array $manifest): array
|
||||
{
|
||||
$missing=[]; $incompatible=[];
|
||||
foreach (($manifest['requires'] ?? []) as $package=>$constraint) {
|
||||
$installed=InstalledPackage::query()->where('package_name',$package)->where('status','installed')->first();
|
||||
if (!$installed) { $missing[$package]=$constraint; continue; }
|
||||
if (!$this->constraints->matches($installed->version,(string)$constraint)) $incompatible[$package]=['required'=>$constraint,'installed'=>$installed->version];
|
||||
$missing = [];
|
||||
$incompatible = [];
|
||||
foreach (($manifest['requires'] ?? []) as $package => $constraint) {
|
||||
$installed = InstalledPackage::query()->where('package_name', $package)->where('status', 'installed')->first();
|
||||
if (! $installed) {
|
||||
$missing[$package] = $constraint;
|
||||
|
||||
continue;
|
||||
}
|
||||
if (! $this->constraints->matches($installed->version, (string) $constraint)) {
|
||||
$incompatible[$package] = ['required' => $constraint, 'installed' => $installed->version];
|
||||
}
|
||||
}
|
||||
return ['satisfied'=>$missing===[] && $incompatible===[],'missing'=>$missing,'incompatible'=>$incompatible];
|
||||
|
||||
return ['satisfied' => $missing === [] && $incompatible === [], 'missing' => $missing, 'incompatible' => $incompatible];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user