aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/composer/semver
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-17 02:25:52 +0900
committernsfisis <nsfisis@gmail.com>2026-05-17 02:25:52 +0900
commit7f606f36fef0c0467c3c0db3d0da33af486dae8a (patch)
treec3f0a3340e1dbfc5245964a775b73030d5abf44e /crates/shirabe-external-packages/src/composer/semver
parent9389ddbf06f6d38445c277640cab7b2270057790 (diff)
downloadphp-shirabe-7f606f36fef0c0467c3c0db3d0da33af486dae8a.tar.gz
php-shirabe-7f606f36fef0c0467c3c0db3d0da33af486dae8a.tar.zst
php-shirabe-7f606f36fef0c0467c3c0db3d0da33af486dae8a.zip
feat(port): add stub implementations of shirabe-external-packages
Diffstat (limited to 'crates/shirabe-external-packages/src/composer/semver')
-rw-r--r--crates/shirabe-external-packages/src/composer/semver/compiling_matcher.rs22
-rw-r--r--crates/shirabe-external-packages/src/composer/semver/intervals.rs29
-rw-r--r--crates/shirabe-external-packages/src/composer/semver/mod.rs3
-rw-r--r--crates/shirabe-external-packages/src/composer/semver/semver.rs16
4 files changed, 70 insertions, 0 deletions
diff --git a/crates/shirabe-external-packages/src/composer/semver/compiling_matcher.rs b/crates/shirabe-external-packages/src/composer/semver/compiling_matcher.rs
new file mode 100644
index 0000000..dea5475
--- /dev/null
+++ b/crates/shirabe-external-packages/src/composer/semver/compiling_matcher.rs
@@ -0,0 +1,22 @@
+use shirabe_php_shim::PhpMixed;
+
+#[derive(Debug)]
+pub struct CompilingMatcher;
+
+impl CompilingMatcher {
+ pub fn r#match(constraint: &dyn std::any::Any, package: &dyn std::any::Any) -> bool {
+ todo!()
+ }
+
+ pub fn matches(constraint: &dyn std::any::Any, operator: &str, version: &str) -> bool {
+ todo!()
+ }
+
+ pub fn match_(constraint: &dyn std::any::Any, operator: &str, version: &str) -> bool {
+ todo!()
+ }
+
+ pub fn clear() {
+ todo!()
+ }
+}
diff --git a/crates/shirabe-external-packages/src/composer/semver/intervals.rs b/crates/shirabe-external-packages/src/composer/semver/intervals.rs
new file mode 100644
index 0000000..957436d
--- /dev/null
+++ b/crates/shirabe-external-packages/src/composer/semver/intervals.rs
@@ -0,0 +1,29 @@
+use shirabe_php_shim::PhpMixed;
+
+#[derive(Debug)]
+pub struct Intervals;
+
+impl Intervals {
+ pub fn is_subset_of(
+ constraint_a: &dyn std::any::Any,
+ constraint_b: &dyn std::any::Any,
+ ) -> anyhow::Result<bool> {
+ todo!()
+ }
+
+ pub fn compact_constraint(constraint: &dyn std::any::Any) -> Box<dyn std::any::Any> {
+ todo!()
+ }
+
+ pub fn compact(constraint: &dyn std::any::Any) -> Box<dyn std::any::Any> {
+ todo!()
+ }
+
+ pub fn get(constraint: &dyn std::any::Any) -> anyhow::Result<PhpMixed> {
+ todo!()
+ }
+
+ pub fn clear() {
+ todo!()
+ }
+}
diff --git a/crates/shirabe-external-packages/src/composer/semver/mod.rs b/crates/shirabe-external-packages/src/composer/semver/mod.rs
new file mode 100644
index 0000000..800150d
--- /dev/null
+++ b/crates/shirabe-external-packages/src/composer/semver/mod.rs
@@ -0,0 +1,3 @@
+pub mod compiling_matcher;
+pub mod intervals;
+pub mod semver;
diff --git a/crates/shirabe-external-packages/src/composer/semver/semver.rs b/crates/shirabe-external-packages/src/composer/semver/semver.rs
new file mode 100644
index 0000000..f467c2c
--- /dev/null
+++ b/crates/shirabe-external-packages/src/composer/semver/semver.rs
@@ -0,0 +1,16 @@
+#[derive(Debug)]
+pub struct Semver;
+
+impl Semver {
+ pub fn sort(versions: Vec<String>) -> anyhow::Result<Vec<String>> {
+ todo!()
+ }
+
+ pub fn rsort(versions: Vec<String>) -> Vec<String> {
+ todo!()
+ }
+
+ pub fn satisfies(version: &str, constraint: &str) -> bool {
+ todo!()
+ }
+}