aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/composer/semver
diff options
context:
space:
mode:
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!()
+ }
+}