diff options
Diffstat (limited to 'crates/shirabe/src/downloader/downloader_interface.rs')
| -rw-r--r-- | crates/shirabe/src/downloader/downloader_interface.rs | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/crates/shirabe/src/downloader/downloader_interface.rs b/crates/shirabe/src/downloader/downloader_interface.rs index 9ced979..7b333e6 100644 --- a/crates/shirabe/src/downloader/downloader_interface.rs +++ b/crates/shirabe/src/downloader/downloader_interface.rs @@ -1,84 +1,83 @@ //! ref: composer/src/Composer/Downloader/DownloaderInterface.php -use shirabe_external_packages::react::promise::PromiseInterface; - use crate::package::PackageInterface; +use shirabe_php_shim::PhpMixed; pub trait DownloaderInterface: std::fmt::Debug { fn get_installation_source(&self) -> String; - fn download( + async fn download( &self, package: &dyn PackageInterface, path: &str, prev_package: Option<&dyn PackageInterface>, output: bool, - ) -> anyhow::Result<Box<dyn PromiseInterface>>; + ) -> anyhow::Result<Option<PhpMixed>>; /// Convenience for the PHP default `$output = true` overload. - fn download3( + async fn download3( &self, package: &dyn PackageInterface, path: &str, prev_package: Option<&dyn PackageInterface>, - ) -> anyhow::Result<Box<dyn PromiseInterface>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.download(package, path, prev_package, true) } - fn prepare( + async fn prepare( &self, r#type: &str, package: &dyn PackageInterface, path: &str, prev_package: Option<&dyn PackageInterface>, - ) -> anyhow::Result<Box<dyn PromiseInterface>>; + ) -> anyhow::Result<Option<PhpMixed>>; - fn install( + async fn install( &self, package: &dyn PackageInterface, path: &str, output: bool, - ) -> anyhow::Result<Box<dyn PromiseInterface>>; + ) -> anyhow::Result<Option<PhpMixed>>; /// Convenience for the PHP default `$output = true` overload. - fn install2( + async fn install2( &self, package: &dyn PackageInterface, path: &str, - ) -> anyhow::Result<Box<dyn PromiseInterface>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.install(package, path, true) } - fn update( + async fn update( &self, initial: &dyn PackageInterface, target: &dyn PackageInterface, path: &str, - ) -> anyhow::Result<Box<dyn PromiseInterface>>; + ) -> anyhow::Result<Option<PhpMixed>>; - fn remove( + async fn remove( &self, package: &dyn PackageInterface, path: &str, output: bool, - ) -> anyhow::Result<Box<dyn PromiseInterface>>; + ) -> anyhow::Result<Option<PhpMixed>>; /// Convenience for the PHP default `$output = true` overload. - fn remove2( + async fn remove2( &self, package: &dyn PackageInterface, path: &str, - ) -> anyhow::Result<Box<dyn PromiseInterface>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.remove(package, path, true) } - fn cleanup( + async fn cleanup( &self, r#type: &str, package: &dyn PackageInterface, path: &str, prev_package: Option<&dyn PackageInterface>, - ) -> anyhow::Result<Box<dyn PromiseInterface>>; + ) -> anyhow::Result<Option<PhpMixed>>; /// TODO(phase-b): runtime downcast helpers for PHP `instanceof` checks. fn as_change_report_interface(&self) -> Option<&dyn crate::downloader::ChangeReportInterface> { |
