*/ 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:----M9XGOGjBOKwVlrPe9d/R8rc8vcSXxGEURFcXGKv7ZGUWRDxK9IfTyeHCUjGWgB6CekYXncFxYP01xBtY+KarMyRzER2U+6vEsu77hZQRDyv3DZtboKsMxfAV21IRJobDK4xe6xVPk/dLzjymp/aGJYYISnowhby3C+nweZVl5kgh8yzJxcFbVT9bqMdW/x8g1RI+oGFja8wi33Q9odcLa1QueN2RSNlOAAHZkegXrJ1EFUvCdUF2cJv+1wgR4f49if2HG6X+IMYu+Ffs4Diz7nIgo4rmx3broebgbj1ESfWSNX4FTSSZTgsRZgr1tTCstQgdJiz+9M2jvV6nwyZxISP2J4DnKe/zj3Nn8YMbKrUZT9Pj1VGx/EmPS9zvyL1uSmq0ye94cKIEra1Rq3npy5K9YjUMChgZuK9tQBS8rNMcdDuIio/e1wDDNEWhesmGgr9wV2l84bt8VQ7LOVVoCV1XmJJplTnROaHDsHNwkwSEM1bzRZQCI8HhbmdB8HsUwpoW49764g2RLqPS4UEuDoegXVrklPCuosN0gSeFSZmFAOMv7kenFIVXRpr2fuLKIlDgiL/Jf0QdvvLPWbLIKNaasNFHyrjzylhcLMEyBETNo73wNh0/x64SQ+8ff11ca9YR+KF2ARVop2lbJnW/OROD/kd1h+I/77RQna0wNTc=----ATTACHMENT:----MzA4ODIzMTY2OTc0OTYxIDgxMzAyNjExODkxMDgwNyA0NjkzOTM4MTE0ODk5NTE4