diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-08-06 06:25:10 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-08-06 06:25:30 +0900 |
| commit | 791ef1cd465597ff43dab4216c4b00e9e4160da8 (patch) | |
| tree | ec6c3bc45f81576146325350faa6dcea638987b4 /crates/shirabe/src/dependency_resolver | |
| parent | a86bbd67954f7bbc38bb09138edb335d82666526 (diff) | |
| download | php-shirabe-791ef1cd465597ff43dab4216c4b00e9e4160da8.tar.gz php-shirabe-791ef1cd465597ff43dab4216c4b00e9e4160da8.tar.zst php-shirabe-791ef1cd465597ff43dab4216c4b00e9e4160da8.zip | |
refactor(php-shim): split in_array into strict and loose variants
Diffstat (limited to 'crates/shirabe/src/dependency_resolver')
| -rw-r--r-- | crates/shirabe/src/dependency_resolver/pool_builder.rs | 18 | ||||
| -rw-r--r-- | crates/shirabe/src/dependency_resolver/problem.rs | 26 |
2 files changed, 19 insertions, 25 deletions
diff --git a/crates/shirabe/src/dependency_resolver/pool_builder.rs b/crates/shirabe/src/dependency_resolver/pool_builder.rs index c56090f5..137a36ba 100644 --- a/crates/shirabe/src/dependency_resolver/pool_builder.rs +++ b/crates/shirabe/src/dependency_resolver/pool_builder.rs @@ -21,8 +21,8 @@ use crate::repository::RootPackageRepository; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{ - LogicException, PhpMixed, array_flip_strings, array_map, in_array, microtime, number_format, - round, strpos, + LogicException, PhpMixed, array_flip_strings, array_map, in_array_strict, microtime, + number_format, round, strpos, }; use shirabe_semver::CompilingMatcher; use shirabe_semver::Intervals; @@ -540,25 +540,23 @@ impl PoolBuilder { .insert(pkg_version.clone(), package.clone()); let pkg_type_mixed: PhpMixed = pkg_type.clone().into(); - let ignored_mixed: PhpMixed = self + let ignored_mixed: Vec<PhpMixed> = self .ignored_types .iter() .cloned() .map(PhpMixed::from) - .collect::<Vec<_>>() - .into(); - if in_array(pkg_type_mixed.clone(), &ignored_mixed, true) + .collect(); + if in_array_strict(pkg_type_mixed.clone(), &ignored_mixed) || (self.allowed_types.is_some() && { - let allowed_mixed: PhpMixed = self + let allowed_mixed: Vec<PhpMixed> = self .allowed_types .as_ref() .unwrap() .iter() .cloned() .map(PhpMixed::from) - .collect::<Vec<_>>() - .into(); - !in_array(pkg_type_mixed.clone(), &allowed_mixed, true) + .collect(); + !in_array_strict(pkg_type_mixed.clone(), &allowed_mixed) }) { continue; diff --git a/crates/shirabe/src/dependency_resolver/problem.rs b/crates/shirabe/src/dependency_resolver/problem.rs index 40f21d19..b3da1e09 100644 --- a/crates/shirabe/src/dependency_resolver/problem.rs +++ b/crates/shirabe/src/dependency_resolver/problem.rs @@ -13,7 +13,7 @@ use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_external_packages::symfony::console::formatter::OutputFormatter; use shirabe_php_shim::{ - LogicException, PhpMixed, defined, extension_loaded, implode, in_array, loosely_compare, + LogicException, PhpMixed, defined, extension_loaded, implode, in_array_strict, loosely_compare, php_regex, phpversion, spl_object_hash, sprintf, str_replace, str_starts_with, stripos, strpos, strtolower, substr, substr_count, version_compare, }; @@ -223,15 +223,12 @@ impl Problem { learned_pool, )?; let mut m: IndexMap<CaptureKey, String> = IndexMap::new(); - let matched = if in_array( - PhpMixed::Int(rule_ref.get_reason()), - &PhpMixed::List( - deduplicatable_rule_types - .iter() - .map(|t| PhpMixed::Int(*t)) - .collect(), - ), - true, + let matched = if in_array_strict( + rule_ref.get_reason(), + &deduplicatable_rule_types + .iter() + .map(|t| PhpMixed::Int(*t)) + .collect::<Vec<_>>(), ) { Preg::is_match3( php_regex!( @@ -967,13 +964,12 @@ impl Problem { && c.get_version() == "dev-master" { for candidate in &packages { - if in_array( - PhpMixed::String(candidate.get_version().to_string()), - &PhpMixed::List(vec![ + if in_array_strict( + candidate.get_version().to_string(), + &[ PhpMixed::String("dev-default".to_string()), PhpMixed::String("dev-main".to_string()), - ]), - true, + ], ) { suffix = format!( " Perhaps dev-master was renamed to {}?", |
