aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/repository/composer_repository.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-10 00:54:22 +0900
committernsfisis <nsfisis@gmail.com>2026-06-10 00:54:58 +0900
commite583112899cbea7494ffdd73d7de380dd5f808c4 (patch)
tree1ec002a4d9ab5af5f81ff3bc0ae0ea6a92e44c10 /crates/shirabe/src/repository/composer_repository.rs
parent436e12381dd79e419dce755718be17b66d73e17f (diff)
downloadphp-shirabe-e583112899cbea7494ffdd73d7de380dd5f808c4.tar.gz
php-shirabe-e583112899cbea7494ffdd73d7de380dd5f808c4.tar.zst
php-shirabe-e583112899cbea7494ffdd73d7de380dd5f808c4.zip
feat(phase-c): resolve exception-handling phase-b TODOs
* Catch specific exception types instead of broad/placeholder handling. * Drop the shim Countable trait.
Diffstat (limited to 'crates/shirabe/src/repository/composer_repository.rs')
-rw-r--r--crates/shirabe/src/repository/composer_repository.rs10
1 files changed, 4 insertions, 6 deletions
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<String, PhpMixed> = 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<usize> {
self.inner.count()
}
-}
-impl RepositoryInterface for ComposerRepository {
fn has_package(&self, package: PackageInterfaceHandle) -> bool {
self.inner.has_package(package)
}