<?php
|
|
namespace think\composer;
|
|
use Composer\Package\PackageInterface;
|
use Composer\Repository\InstalledRepositoryInterface;
|
use React\Promise\PromiseInterface;
|
|
abstract class LibraryInstaller extends \Composer\Installer\LibraryInstaller
|
{
|
public function install(InstalledRepositoryInterface $repo, PackageInterface $package)
|
{
|
return $this->makePromise(parent::install($repo, $package));
|
}
|
|
public function update(InstalledRepositoryInterface $repo, PackageInterface $initial, PackageInterface $target)
|
{
|
return $this->makePromise(parent::update($repo, $initial, $target));
|
}
|
|
protected function makePromise($promise)
|
{
|
if ($promise instanceof PromiseInterface) {
|
return $promise;
|
}
|
return new Promise();
|
}
|
}
|