From cc5d73c05a0abca2eebcc8a6afa0b1543ee49850 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 27 May 2026 00:49:33 +0900 Subject: refactor(package): pass package handles by value throughout Co-Authored-By: Claude Opus 4.7 (1M context) --- .../shirabe/src/installer/installer_interface.rs | 25 +++++++++++----------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'crates/shirabe/src/installer/installer_interface.rs') diff --git a/crates/shirabe/src/installer/installer_interface.rs b/crates/shirabe/src/installer/installer_interface.rs index 8ab7efd..3056429 100644 --- a/crates/shirabe/src/installer/installer_interface.rs +++ b/crates/shirabe/src/installer/installer_interface.rs @@ -1,6 +1,5 @@ //! ref: composer/src/Composer/Installer/InstallerInterface.php -use crate::package::PackageInterface; use crate::package::PackageInterfaceHandle; use crate::repository::InstalledRepositoryInterface; use shirabe_php_shim::PhpMixed; @@ -12,49 +11,49 @@ pub trait InstallerInterface: std::fmt::Debug { fn is_installed( &self, repo: &dyn InstalledRepositoryInterface, - package: &dyn PackageInterface, + package: PackageInterfaceHandle, ) -> bool; async fn download( &self, - package: &dyn PackageInterface, - prev_package: Option<&dyn PackageInterface>, + package: PackageInterfaceHandle, + prev_package: Option, ) -> anyhow::Result>; async fn prepare( &self, r#type: &str, - package: &dyn PackageInterface, - prev_package: Option<&dyn PackageInterface>, + package: PackageInterfaceHandle, + prev_package: Option, ) -> anyhow::Result>; async fn install( &mut self, repo: &mut dyn InstalledRepositoryInterface, - package: &PackageInterfaceHandle, + package: PackageInterfaceHandle, ) -> anyhow::Result>; async fn update( &mut self, repo: &mut dyn InstalledRepositoryInterface, - initial: &PackageInterfaceHandle, - target: &PackageInterfaceHandle, + initial: PackageInterfaceHandle, + target: PackageInterfaceHandle, ) -> anyhow::Result>; async fn uninstall( &mut self, repo: &mut dyn InstalledRepositoryInterface, - package: &PackageInterfaceHandle, + package: PackageInterfaceHandle, ) -> anyhow::Result>; async fn cleanup( &self, r#type: &str, - package: &dyn PackageInterface, - prev_package: Option<&dyn PackageInterface>, + package: PackageInterfaceHandle, + prev_package: Option, ) -> anyhow::Result>; - fn get_install_path(&self, package: &dyn PackageInterface) -> Option; + fn get_install_path(&self, package: PackageInterfaceHandle) -> Option; fn clone_box(&self) -> Box { todo!() -- cgit v1.3.1