aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/installer/metapackage_installer.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-23 03:07:15 +0900
committernsfisis <nsfisis@gmail.com>2026-05-23 15:48:00 +0900
commite068a9d644fde6659a88accd55b3f1d0d9d7cf46 (patch)
treebb719a70eb8c840957a94a5601df8961055ceb0f /crates/shirabe/src/installer/metapackage_installer.rs
parent60eb89529c8af2e4477e0bb65ed9e0f2dc7d3dd7 (diff)
downloadphp-shirabe-e068a9d644fde6659a88accd55b3f1d0d9d7cf46.tar.gz
php-shirabe-e068a9d644fde6659a88accd55b3f1d0d9d7cf46.tar.zst
php-shirabe-e068a9d644fde6659a88accd55b3f1d0d9d7cf46.zip
refactor(promise): rewrite promise bodies to async/await
Mechanically convert promise-returning function bodies to async/await: resolve() returns the value directly, forwarding calls get .await, and simple .then chains become await sequences. Also collapse the installer double-Option (Result<Option<Option<PhpMixed>>> -> Result<Option<PhpMixed>>). Hard spots that depend on the Loop::wait / job-machine boundary (accept/reject orchestration, closures capturing &mut self, batch waits) are left intact and marked with TODO(phase-c-promise) for manual porting. The crate does not compile yet; traits still need #[async_trait]. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/installer/metapackage_installer.rs')
-rw-r--r--crates/shirabe/src/installer/metapackage_installer.rs24
1 files changed, 6 insertions, 18 deletions
diff --git a/crates/shirabe/src/installer/metapackage_installer.rs b/crates/shirabe/src/installer/metapackage_installer.rs
index f6d6133..23d92f2 100644
--- a/crates/shirabe/src/installer/metapackage_installer.rs
+++ b/crates/shirabe/src/installer/metapackage_installer.rs
@@ -40,9 +40,7 @@ impl InstallerInterface for MetapackageInstaller {
_package: &dyn PackageInterface,
_prev_package: Option<&dyn PackageInterface>,
) -> Result<Option<PhpMixed>> {
- Ok(Some(shirabe_external_packages::react::promise::resolve(
- None,
- )))
+ Ok(None)
}
async fn prepare(
@@ -51,9 +49,7 @@ impl InstallerInterface for MetapackageInstaller {
_package: &dyn PackageInterface,
_prev_package: Option<&dyn PackageInterface>,
) -> Result<Option<PhpMixed>> {
- Ok(Some(shirabe_external_packages::react::promise::resolve(
- None,
- )))
+ Ok(None)
}
async fn cleanup(
@@ -62,9 +58,7 @@ impl InstallerInterface for MetapackageInstaller {
_package: &dyn PackageInterface,
_prev_package: Option<&dyn PackageInterface>,
) -> Result<Option<PhpMixed>> {
- Ok(Some(shirabe_external_packages::react::promise::resolve(
- None,
- )))
+ Ok(None)
}
async fn install(
@@ -80,9 +74,7 @@ impl InstallerInterface for MetapackageInstaller {
repo.add_package(package.clone_package_box());
- Ok(Some(shirabe_external_packages::react::promise::resolve(
- None,
- )))
+ Ok(None)
}
async fn update(
@@ -108,9 +100,7 @@ impl InstallerInterface for MetapackageInstaller {
repo.remove_package(initial);
repo.add_package(target.clone_package_box());
- Ok(Some(shirabe_external_packages::react::promise::resolve(
- None,
- )))
+ Ok(None)
}
async fn uninstall(
@@ -134,9 +124,7 @@ impl InstallerInterface for MetapackageInstaller {
repo.remove_package(package);
- Ok(Some(shirabe_external_packages::react::promise::resolve(
- None,
- )))
+ Ok(None)
}
fn get_install_path(&self, _package: &dyn PackageInterface) -> Option<String> {