From 15cdbfe580a7b4c2175eee82ae30b81adeb06bb6 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 12 May 2026 03:08:17 +0900 Subject: feat(port): port PearRepository.php --- crates/shirabe-php-shim/src/lib.rs | 6 ++++++ crates/shirabe/src/repository/pear_repository.rs | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) (limited to 'crates') diff --git a/crates/shirabe-php-shim/src/lib.rs b/crates/shirabe-php-shim/src/lib.rs index df2a0c3..2d662d6 100644 --- a/crates/shirabe-php-shim/src/lib.rs +++ b/crates/shirabe-php-shim/src/lib.rs @@ -28,3 +28,9 @@ pub struct UnexpectedValueException { pub message: String, pub code: i64, } + +#[derive(Debug)] +pub struct InvalidArgumentException { + pub message: String, + pub code: i64, +} diff --git a/crates/shirabe/src/repository/pear_repository.rs b/crates/shirabe/src/repository/pear_repository.rs index e66a543..6ee4db7 100644 --- a/crates/shirabe/src/repository/pear_repository.rs +++ b/crates/shirabe/src/repository/pear_repository.rs @@ -1 +1,18 @@ //! ref: composer/src/Composer/Repository/PearRepository.php + +use super::array_repository::ArrayRepository; +use shirabe_php_shim::InvalidArgumentException; + +#[derive(Debug)] +pub struct PearRepository { + inner: ArrayRepository, +} + +impl PearRepository { + pub fn new() -> anyhow::Result { + Err(anyhow::anyhow!(InvalidArgumentException { + message: "The PEAR repository has been removed from Composer 2.x".to_string(), + code: 0, + })) + } +} -- cgit v1.3.1