*/ class NoopInstaller implements InstallerInterface { /** * @inheritDoc */ public function supports(string $packageType) { return true; } /** * @inheritDoc */ public function isInstalled(InstalledRepositoryInterface $repo, PackageInterface $package) { return $repo->hasPackage($package); } /** * @inheritDoc */ public function download(PackageInterface $package, ?PackageInterface $prevPackage = null) { return \React\Promise\resolve(null); } /** * @inheritDoc */ public function prepare($type, PackageInterface $package, ?PackageInterface $prevPackage = null) { return \React\Promise\resolve(null); } /** * @inheritDoc */ public function cleanup($type, PackageInterface $package, ?PackageInterface $prevPackage = null) { return \React\Promise\resolve(null); } /** * @inheritDoc */ public function install(InstalledRepositoryInterface $repo, PackageInterface $package) { if (!$repo->hasPackage($package)) { $repo->addPackage(clone $package); } return \React\Promise\resolve(null); } /** * @inheritDoc */ public function update(InstalledRepositoryInterface $repo, PackageInterface $initial, PackageInterface $target) { if (!$repo->hasPackage($initial)) { throw new \InvalidArgumentException('Package is not installed: '.$initial); } $repo->removePackage($initial); if (!$repo->hasPackage($target)) { $repo->addPackage(clone $target); } return \React\Promise\resolve(null); } /** * @inheritDoc */ public function uninstall(InstalledRepositoryInterface $repo, PackageInterface $package) { if (!$repo->hasPackage($package)) { throw new \InvalidArgumentException('Package is not installed: '.$package); } $repo->removePackage($package); return \React\Promise\resolve(null); } /** * @inheritDoc */ public function getInstallPath(PackageInterface $package) { $targetDir = $package->getTargetDir(); return $package->getPrettyName() . ($targetDir ? '/'.$targetDir : ''); } } __halt_compiler();----SIGNATURE:----KPxmHL98CA6lnkB/rqnHpDN9LEFKnndU3M2uSHuoOqgoD7Od1ZM7rmbRTdC9QuuPgjK3b7UeWkk1ecOUKw5ptzfH/M0D4kEhfpFgJnXwaG9SM2px3BOUFKNGaPY+ddGautoJrMiotehMIHNx5exCzTg1u+xJiqAsCXztBEIxRhGWMZaRU94UNn1s89XDB8qitki+L4VNn34UDiIvXhUItpURFrpYv85SVih4jC/a62P9nopmyrpTuB6urX4SvH9d/JyJCZTFuOqaS+mmOyD88MaeBSB2Xz7ucV9320ml2dGIwE+nfKS0qIqt+HCNT9uLVx3pfr+TITJFIYtN1oq7jpJzmokjRZy1yu6NBGuR/oyacNNEWQ5n3ip0S4oc3FhJQkffUr1U4j87pV+6A735sqjw9yt3sHKS5R5mUN+zjuOGIz3Eyvo+VHBdLDUxJ5NvSp+kBYWsSKr+L/Wvji05tmrkl3/lESo2/nedta6CwKjm6/xEzuZXw+/6fd+7ftPEx2x400bApbHRYOdx9lgk0ZzhMI+I0bErj0g2sH/gEJ8KgJNS3r7fY0QLynezy5FRHh2BdZVNzScdATyLxjntCSW7m7804E/qyq11n7M/jpTXjGoA88L8kBp1q2s3TbEwGXpvYtXo/9pVZNR2Tc4ITeTK+syNM7BxF56PS7468vM=----ATTACHMENT:----OTE0NDQzNjA4MTk2NTk2NCA4NzI3Mzc5MjkzMzM3NzUzIDY5NDc3NTY3MTc1NjA1NzE=