*/ 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:----vVMVxmtMbBADZ/xF92PqzzqIdJLZEKp8MKHCHl40nQOXYK2tEKKDL8ytNWY6ze7I+10dXa1Aj0pXDkwyOH6ilH5sB9dBXyMAgXyGFXeRNB1Wm2aCjOgUTee3+wE4/OrMqBnmY63YJ3hMZOc8u/mba5bcn9UXFUw/GHfqUHohC9Q+pf34iOe9JIq/ATYT+UqPp0CLUCDRNSveQmdUZ3DEYaRCsD5gcJw7hpov39xZhfMJIl2Sza6B94LXFKlhyOa3YxzAdzfOBkFWWjoYGbaXOpkhxpLqV4Lk41AoDlN4NuCEyQGqE3UqZHBuzDo5XLkNx4chazWLy1AeZ3WyO584gLhDKyDd6rmYSgjYTOTl7sR4JwlChJKyJVxY5fWNKrbvFvUt/qoGISJa8ZEzCdciieR0Td0/OCqJhu3xUe5LHxRS7YborUEK+NuHujWNPUb3JiaBdrzK8opqSQH1VW5n0nHQlnYptKdZyepCbWQt7yOgBxjypwHeAkFhx4Fghsr5HPJuHDs466yJaVfvg5TiCBDjxQtLuyKTuB1J/MIYjdJszyBbF8uMqqtE6znNUerByskcQiGqczbs6CwQPgBHYFF4+NSimTZcgpMXoz2wLWAMj8mezY6Ks18Gm+tB8dGivINuhVu6oBmw/TybR4L1r+TWYSEDztNaDL4Io0fh/jA=----ATTACHMENT:----MzE2OTE2NDYxMDc5NzUwMSA3ODA5MzY1MTUwNTg0NzE1IDc3NjA1NjY3NTU2MTM1MzA=