From e583112899cbea7494ffdd73d7de380dd5f808c4 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 10 Jun 2026 00:54:22 +0900 Subject: feat(phase-c): resolve exception-handling phase-b TODOs * Catch specific exception types instead of broad/placeholder handling. * Drop the shim Countable trait. --- crates/shirabe/src/repository/composer_repository.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'crates/shirabe/src/repository/composer_repository.rs') diff --git a/crates/shirabe/src/repository/composer_repository.rs b/crates/shirabe/src/repository/composer_repository.rs index f634e23..f07eb73 100644 --- a/crates/shirabe/src/repository/composer_repository.rs +++ b/crates/shirabe/src/repository/composer_repository.rs @@ -4,7 +4,7 @@ use indexmap::IndexMap; use shirabe_external_packages::composer::metadata_minifier::MetadataMinifier; use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ - Countable, InvalidArgumentException, LogicException, PHP_EOL, PhpMixed, RuntimeException, + InvalidArgumentException, LogicException, PHP_EOL, PhpMixed, RuntimeException, UnexpectedValueException, extension_loaded, hash, http_build_query, in_array, json_decode, parse_url_all, realpath, strtolower, strtr, urlencode, var_export, }; @@ -1212,7 +1212,7 @@ impl ComposerRepository { } } - if Countable::count(&self.inner) > 0 { + if self.inner.count()? > 0 { for (k, v) in self.inner.get_providers(package_name.to_string())? { let mut entry: IndexMap = IndexMap::new(); entry.insert("name".to_string(), PhpMixed::String(v.name)); @@ -3401,13 +3401,11 @@ fn clone_root_data(rd: &RootData) -> RootData { } } -impl shirabe_php_shim::Countable for ComposerRepository { - fn count(&self) -> i64 { +impl RepositoryInterface for ComposerRepository { + fn count(&self) -> anyhow::Result { self.inner.count() } -} -impl RepositoryInterface for ComposerRepository { fn has_package(&self, package: PackageInterfaceHandle) -> bool { self.inner.has_package(package) } -- cgit v1.3.1