*/ 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:----k9sDY/X7BOXj1bClbKm56eOX82QwpjZEKITkF0mLlLOTvKivB+lZVlEQiRgheX5U7vLtghwtNFZxh86yqNqnHQjabq7scnG5APZ/9cEqRMR0SsIFbseadZB5m5meaWGxfUIhxc6RC0L7saIkeFtNBMGE4c6B4RkOERdKHMqSSWZ3nqMKRfkOMXKU5rIIhbnguBLdGJA6MpIuKvMNEmQwBhgYq6Rjd9UUV9E8QtUBAsHob4P5p4fSBNBmvoZkeQv1IUzFag4G2nciEBq7PWM94v5slUpi5QtiUkALzsRbnXtoihIMcgk6GHW/FLMWmVX/siXjJZrMQFP43qs2gOVbYXlyiQ40EGkH/aysMRzJTpKqNKuwBHiDG4tZxy4x5ZhRCcvnFreYZvEGNCEqtZpcxYytmBtsBvgWym/N7S3tvtfl9OjMPwD9i6wjzEvDLXYv8bqJ1GdoK4+S9hDJYiTa970hgsOQU79G3DjvpCWIxZWNfMDtUzYYISgBPyqO0CIT6wPmpDvnX/l60D7RjnRBaetnM67O1ouaGeJmQ2U1uIjt8lp6yHPAt/6oa6ektEBb7/M2N8WtzFtk/ianw72iJIApfIadtAqiOspHLQYDxuZpurNhtfP5bGPWaZHbkcqUtEHUHTi1dQ44pSzzJeTtQRTgrBX26zMMiJWG0enjY6g=----ATTACHMENT:----NjU5NTI3NDMyNDgzNDYwOCA5ODQ3NjM1Njg2ODQ2ODIwIDQ3ODM5OTc2NTkxNTc0MzM=