aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/repository/repository_factory.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/repository_factory.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/repository_factory.rs')
-rw-r--r--crates/shirabe/src/repository/repository_factory.rs19
1 files changed, 5 insertions, 14 deletions
diff --git a/crates/shirabe/src/repository/repository_factory.rs b/crates/shirabe/src/repository/repository_factory.rs
index d78fc48..47caf59 100644
--- a/crates/shirabe/src/repository/repository_factory.rs
+++ b/crates/shirabe/src/repository/repository_factory.rs
@@ -82,10 +82,8 @@ impl RepositoryFactory {
if repository.starts_with('{') {
let parsed = JsonFile::parse_json(Some(repository), None)?;
- let repo_config: IndexMap<String, PhpMixed> = parsed
- .as_array()
- .map(|m| m.iter().map(|(k, v)| (k.clone(), (**v).clone())).collect())
- .unwrap_or_default();
+ let repo_config: IndexMap<String, PhpMixed> =
+ parsed.as_array().map(|m| m.clone()).unwrap_or_default();
return Ok(repo_config);
}
@@ -120,15 +118,8 @@ impl RepositoryFactory {
owned_rm = Self::manager(io, config, None, None, None)?;
&mut owned_rm
};
- let repos = Self::create_repos(
- rm,
- vec![PhpMixed::Array(
- repo_config
- .into_iter()
- .map(|(k, v)| (k, Box::new(v)))
- .collect(),
- )],
- )?;
+ let repos =
+ Self::create_repos(rm, vec![PhpMixed::Array(repo_config.into_iter().collect())])?;
// PHP: return current($repos);
let (_, first) = repos
.into_iter()
@@ -276,7 +267,7 @@ impl RepositoryFactory {
.to_string();
let repo_config_map: IndexMap<String, PhpMixed> = repo_arr
.iter()
- .map(|(k, v)| (k.clone(), *v.clone()))
+ .map(|(k, v)| (k.clone(), v.clone()))
.collect();
let name =
Self::generate_repository_name_indexed(index, &repo_config_map, &repo_map);