diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-22 23:14:27 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-23 15:48:00 +0900 |
| commit | 5adc4e467f01865ba2d4f519334ee1b0496b8ebf (patch) | |
| tree | f6970f181793c0f8b9b67b2af54c09ae13a25c4b /crates/shirabe/src/downloader/downloader_interface.rs | |
| parent | 2a1696906344cb4da768a940bf8b1f89bbc82b47 (diff) | |
| download | php-shirabe-5adc4e467f01865ba2d4f519334ee1b0496b8ebf.tar.gz php-shirabe-5adc4e467f01865ba2d4f519334ee1b0496b8ebf.tar.zst php-shirabe-5adc4e467f01865ba2d4f519334ee1b0496b8ebf.zip | |
refactor(promise): change functions returning PromiseInterface to async fn
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> { |
