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/download_manager.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/download_manager.rs')
| -rw-r--r-- | crates/shirabe/src/downloader/download_manager.rs | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/crates/shirabe/src/downloader/download_manager.rs b/crates/shirabe/src/downloader/download_manager.rs index e81a6bb..3100e29 100644 --- a/crates/shirabe/src/downloader/download_manager.rs +++ b/crates/shirabe/src/downloader/download_manager.rs @@ -4,7 +4,6 @@ use crate::io::io_interface; use anyhow::Result; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::Preg; -use shirabe_external_packages::react::promise::PromiseInterface; use shirabe_php_shim::{ InvalidArgumentException, LogicException, PhpMixed, RuntimeException, array_keys, array_reverse, array_shift, dirname, get_class, implode, in_array, preg_quote, rtrim, sprintf, @@ -195,12 +194,12 @@ impl DownloadManager { /// /// @throws \InvalidArgumentException if package have no urls to download from /// @throws \RuntimeException - pub fn download( + pub async fn download( &self, package: &dyn PackageInterface, target_dir: &str, prev_package: Option<&dyn PackageInterface>, - ) -> Result<Box<dyn PromiseInterface>> { + ) -> Result<Option<PhpMixed>> { let target_dir = self.normalize_target_dir(target_dir); self.filesystem .borrow_mut() @@ -291,13 +290,13 @@ impl DownloadManager { /// @param string $targetDir target dir /// @param PackageInterface|null $prevPackage previous package instance in case of updates /// @phpstan-return PromiseInterface<void|null> - pub fn prepare( + pub async fn prepare( &self, r#type: &str, package: &dyn PackageInterface, target_dir: &str, prev_package: Option<&dyn PackageInterface>, - ) -> Result<Box<dyn PromiseInterface>> { + ) -> Result<Option<PhpMixed>> { let target_dir = self.normalize_target_dir(target_dir); if let Some(downloader) = self.get_downloader_for_package(package)? { return downloader.prepare(r#type, package, &target_dir, prev_package); @@ -314,11 +313,11 @@ impl DownloadManager { /// /// @throws \InvalidArgumentException if package have no urls to download from /// @throws \RuntimeException - pub fn install( + pub async fn install( &self, package: &dyn PackageInterface, target_dir: &str, - ) -> Result<Box<dyn PromiseInterface>> { + ) -> Result<Option<PhpMixed>> { let target_dir = self.normalize_target_dir(target_dir); if let Some(downloader) = self.get_downloader_for_package(package)? { return downloader.install2(package, &target_dir); @@ -335,12 +334,12 @@ impl DownloadManager { /// @phpstan-return PromiseInterface<void|null> /// /// @throws \InvalidArgumentException if initial package is not installed - pub fn update( + pub async fn update( &self, initial: &dyn PackageInterface, target: &dyn PackageInterface, target_dir: &str, - ) -> Result<Box<dyn PromiseInterface>> { + ) -> Result<Option<PhpMixed>> { let target_dir = self.normalize_target_dir(target_dir); let downloader = self.get_downloader_for_package(target)?; let initial_downloader = self.get_downloader_for_package(initial)?; @@ -403,11 +402,11 @@ impl DownloadManager { /// @param PackageInterface $package package instance /// @param string $targetDir target dir /// @phpstan-return PromiseInterface<void|null> - pub fn remove( + pub async fn remove( &self, package: &dyn PackageInterface, target_dir: &str, - ) -> Result<Box<dyn PromiseInterface>> { + ) -> Result<Option<PhpMixed>> { let target_dir = self.normalize_target_dir(target_dir); if let Some(downloader) = self.get_downloader_for_package(package)? { return downloader.remove2(package, &target_dir); @@ -423,13 +422,13 @@ impl DownloadManager { /// @param string $targetDir target dir /// @param PackageInterface|null $prevPackage previous package instance in case of updates /// @phpstan-return PromiseInterface<void|null> - pub fn cleanup( + pub async fn cleanup( &self, r#type: &str, package: &dyn PackageInterface, target_dir: &str, prev_package: Option<&dyn PackageInterface>, - ) -> Result<Box<dyn PromiseInterface>> { + ) -> Result<Option<PhpMixed>> { let target_dir = self.normalize_target_dir(target_dir); if let Some(downloader) = self.get_downloader_for_package(package)? { return downloader.cleanup(r#type, package, &target_dir, prev_package); |
