aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-12 03:10:52 +0900
committernsfisis <nsfisis@gmail.com>2026-05-12 03:10:52 +0900
commit14b75a9a50a886b895e2d1a0805c0988f2e2c7b7 (patch)
tree44820ac9d3862dc778502496242846c68795f596 /crates/shirabe
parent15cdbfe580a7b4c2175eee82ae30b81adeb06bb6 (diff)
downloadphp-shirabe-14b75a9a50a886b895e2d1a0805c0988f2e2c7b7.tar.gz
php-shirabe-14b75a9a50a886b895e2d1a0805c0988f2e2c7b7.tar.zst
php-shirabe-14b75a9a50a886b895e2d1a0805c0988f2e2c7b7.zip
feat(port): port PolicyInterface.php
Diffstat (limited to 'crates/shirabe')
-rw-r--r--crates/shirabe/src/dependency_resolver/policy_interface.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/crates/shirabe/src/dependency_resolver/policy_interface.rs b/crates/shirabe/src/dependency_resolver/policy_interface.rs
index 8627a9e..279cf38 100644
--- a/crates/shirabe/src/dependency_resolver/policy_interface.rs
+++ b/crates/shirabe/src/dependency_resolver/policy_interface.rs
@@ -1 +1,10 @@
//! ref: composer/src/Composer/DependencyResolver/PolicyInterface.php
+
+use crate::dependency_resolver::pool::Pool;
+use crate::package::package_interface::PackageInterface;
+
+pub trait PolicyInterface {
+ fn version_compare(&self, a: &dyn PackageInterface, b: &dyn PackageInterface, operator: &str) -> bool;
+
+ fn select_preferred_packages(&self, pool: &Pool, literals: Vec<i64>, required_package: Option<String>) -> Vec<i64>;
+}