From e068a9d644fde6659a88accd55b3f1d0d9d7cf46 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 23 May 2026 03:07:15 +0900 Subject: 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>> -> Result>). 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 --- .../shirabe/src/installer/metapackage_installer.rs | 24 ++++++---------------- 1 file changed, 6 insertions(+), 18 deletions(-) (limited to 'crates/shirabe/src/installer/metapackage_installer.rs') 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> { - 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> { - 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> { - 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 { -- cgit v1.3.1