diff options
Diffstat (limited to 'crates/shirabe-external-packages/src/composer/metadata_minifier/metadata_minifier.rs')
| -rw-r--r-- | crates/shirabe-external-packages/src/composer/metadata_minifier/metadata_minifier.rs | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/crates/shirabe-external-packages/src/composer/metadata_minifier/metadata_minifier.rs b/crates/shirabe-external-packages/src/composer/metadata_minifier/metadata_minifier.rs deleted file mode 100644 index 3f1a4fc..0000000 --- a/crates/shirabe-external-packages/src/composer/metadata_minifier/metadata_minifier.rs +++ /dev/null @@ -1,38 +0,0 @@ -//! ref: composer/vendor/composer/metadata-minifier/src/MetadataMinifier.php - -use indexmap::IndexMap; -use shirabe_php_shim::PhpMixed; - -#[derive(Debug)] -pub struct MetadataMinifier; - -impl MetadataMinifier { - pub fn expand(versions: Vec<IndexMap<String, PhpMixed>>) -> Vec<IndexMap<String, PhpMixed>> { - let mut expanded: Vec<IndexMap<String, PhpMixed>> = Vec::new(); - let mut expanded_version: Option<IndexMap<String, PhpMixed>> = None; - for version_data in versions { - if expanded_version.as_ref().is_none_or(|ev| ev.is_empty()) { - expanded.push(version_data.clone()); - expanded_version = Some(version_data); - continue; - } - - // add any changes from the previous version to the expanded one - let ev = expanded_version.as_mut().unwrap(); - for (key, val) in version_data { - if matches!(&val, PhpMixed::String(s) if s == "__unset") { - ev.shift_remove(&key); - } else { - ev.insert(key, val); - } - } - - expanded.push(ev.clone()); - } - - expanded - } - - // MetadataMinifier::minify() is not ported because it is not used in Composer itself. - // The function is mainly for package repositories. -} |
