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 --- crates/shirabe/src/downloader/perforce_downloader.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'crates/shirabe/src/downloader/perforce_downloader.rs') diff --git a/crates/shirabe/src/downloader/perforce_downloader.rs b/crates/shirabe/src/downloader/perforce_downloader.rs index ae433ef..fdb0f0d 100644 --- a/crates/shirabe/src/downloader/perforce_downloader.rs +++ b/crates/shirabe/src/downloader/perforce_downloader.rs @@ -40,7 +40,7 @@ impl PerforceDownloader { _url: String, _prev_package: Option<&dyn PackageInterface>, ) -> Result> { - Ok(shirabe_external_packages::react::promise::resolve(None)) + Ok(None) } pub async fn do_install( @@ -70,7 +70,7 @@ impl PerforceDownloader { .sync_code_base(label.as_deref()); self.perforce.as_mut().unwrap().cleanup_client_spec(); - Ok(shirabe_external_packages::react::promise::resolve(None)) + Ok(None) } fn get_label_from_source_reference(&self, source_ref: String) -> Option { @@ -118,7 +118,7 @@ impl PerforceDownloader { path: String, url: String, ) -> Result> { - self.do_install(target, path, url) + self.do_install(target, path, url).await } pub fn get_local_changes( -- cgit v1.3.1