aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/repository/package_repository.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-20 18:34:54 +0900
committernsfisis <nsfisis@gmail.com>2026-06-20 18:34:54 +0900
commit81b9fc9d92bb74aa8428ae4db39bd84e8c16095c (patch)
tree3efb6476d797e2a95545c4c3abba468c3e3c8d52 /crates/shirabe/src/repository/package_repository.rs
parentc09cd630afb4bb0ca10e926f93bf706ca828ae85 (diff)
downloadphp-shirabe-81b9fc9d92bb74aa8428ae4db39bd84e8c16095c.tar.gz
php-shirabe-81b9fc9d92bb74aa8428ae4db39bd84e8c16095c.tar.zst
php-shirabe-81b9fc9d92bb74aa8428ae4db39bd84e8c16095c.zip
refactor(php-shim): drop Box wrapping from PhpMixed List/Array
The List and Array variants of PhpMixed boxed their elements unnecessarily. Store PhpMixed values directly and update all callers accordingly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/repository/package_repository.rs')
-rw-r--r--crates/shirabe/src/repository/package_repository.rs12
1 files changed, 6 insertions, 6 deletions
diff --git a/crates/shirabe/src/repository/package_repository.rs b/crates/shirabe/src/repository/package_repository.rs
index 5ba4840..554e24a 100644
--- a/crates/shirabe/src/repository/package_repository.rs
+++ b/crates/shirabe/src/repository/package_repository.rs
@@ -24,7 +24,7 @@ impl PackageRepository {
pub fn new(config: IndexMap<String, PhpMixed>) -> Self {
let package = config.get("package").cloned().unwrap_or(PhpMixed::Null);
let config_list: Vec<PhpMixed> = match package {
- PhpMixed::List(list) => list.into_iter().map(|p| *p).collect(),
+ PhpMixed::List(list) => list.into_iter().collect(),
other => vec![other],
};
@@ -33,7 +33,7 @@ impl PackageRepository {
.cloned()
.unwrap_or(PhpMixed::Array(IndexMap::new()))
{
- PhpMixed::Array(map) => map.into_iter().map(|(k, v)| (k, *v)).collect(),
+ PhpMixed::Array(map) => map,
_ => IndexMap::new(),
};
@@ -51,8 +51,8 @@ impl PackageRepository {
let mut loader =
ValidatingArrayLoader::new(Box::new(ArrayLoader::new(None, true)), true, None, 0);
for package in &self.config {
- let config_map: IndexMap<String, Box<PhpMixed>> = match package {
- PhpMixed::Array(m) => m.clone(),
+ let config_map: IndexMap<String, PhpMixed> = match package {
+ PhpMixed::Array(m) => m.iter().map(|(k, v)| (k.clone(), v.clone())).collect(),
_ => IndexMap::new(),
};
let package_loaded = match loader.load(config_map, "") {
@@ -104,8 +104,8 @@ impl AdvisoryProviderInterface for PackageRepository {
};
let mut items: Vec<AnySecurityAdvisory> = Vec::new();
for data in list {
- let data_map: IndexMap<String, PhpMixed> = match data.as_ref() {
- PhpMixed::Array(m) => m.iter().map(|(k, v)| (k.clone(), *v.clone())).collect(),
+ let data_map: IndexMap<String, PhpMixed> = match data {
+ PhpMixed::Array(m) => m.clone(),
_ => continue,
};
let advisory =