aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-08-06 06:25:10 +0900
committernsfisis <nsfisis@gmail.com>2026-08-06 06:25:30 +0900
commit791ef1cd465597ff43dab4216c4b00e9e4160da8 (patch)
treeec6c3bc45f81576146325350faa6dcea638987b4 /crates/shirabe/src/dependency_resolver
parenta86bbd67954f7bbc38bb09138edb335d82666526 (diff)
downloadphp-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.rs18
-rw-r--r--crates/shirabe/src/dependency_resolver/problem.rs26
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 {}?",