*/ 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:----ooUyWymU6J+LhsEJXwyDgJN5t02I58wmVO6NHrPzzxz7H/JO+OfB2faXXEnQr+Wq8irrvoXmz4mqxTNvhcLPemOwMlpEqakRgFob/zqCbdp/yCd3OrBV4KMIZmwQF7TPsjC9XUQ6WuNqs8dbWrcZmn2dnAhSjOh8BbVnY6eIDHnvoqUI0tPXGByxu5qyNvk4z02NQv266qSKSo2tm/Iz3RxB6+LNpgvt3SU5TJbA99QDfAEIHZMwnXC0FDwcHVoJMR+854iKIKiD5a2DbENRCOfbvCf+8LJ7XRXW5pxGPUOcJep2HMbIVX1B8CjhNp8ND1ACEtEe3SihOHHVkZmwL/MagHOsIyiR/fFzWpNil8/6YqR9Y6YxWkWBGwmUPEDj9N3WFwQdN6xvKdO8o1ZHfOiSLEcO2raDMFLGFkJIeWv1KNhZfVuKkfgjDwrNQoYybBVijoEaZa0hdxY59wR7EDMdUI0Z2REaF0F3H3SWdbNTsfm/p838DFBtO+FiCnHqB8Xwzv9WRC6aWCVTPYztlyVNcDciklSu0jVt5T2IAk8xhKLpCIxUS79tKP/vjiYXXpLwTDb4wpPNIAwqVlN9A9QDOABpVdQ5GYXghlSOnkM5+fx5+lsXc/N9LgtvJv9yTKRoSTPPxEzNknuz3aQf9Z2a9uakTcYRkSHRZacwQQ4=----ATTACHMENT:----NDIwMTk2NDcwMzU2Nzk5MyA1MTk3OTQ5NzEwNDgwMzQ3IDcwNjAwODMwMTg0MDgwOTM=