aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-semver/src/constraint/any_constraint.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-semver/src/constraint/any_constraint.rs')
-rw-r--r--crates/shirabe-semver/src/constraint/any_constraint.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/crates/shirabe-semver/src/constraint/any_constraint.rs b/crates/shirabe-semver/src/constraint/any_constraint.rs
index b61a36fb..37541deb 100644
--- a/crates/shirabe-semver/src/constraint/any_constraint.rs
+++ b/crates/shirabe-semver/src/constraint/any_constraint.rs
@@ -118,6 +118,19 @@ impl AnyConstraint {
matches!(self, Self::MatchNone(_))
}
+ /// The pretty string as stored, without the `getPrettyString()` fallback to the
+ /// constraint's string form. PHP has no such reader — `$prettyString` is protected — so
+ /// this exists for callers that must round-trip a constraint without inventing a value
+ /// for the unset case.
+ pub fn pretty_string(&self) -> Option<&str> {
+ match self {
+ Self::Simple(c) => c.pretty_string.as_deref(),
+ Self::Multi(c) => c.pretty_string.as_deref(),
+ Self::MatchAll(c) => c.pretty_string.as_deref(),
+ Self::MatchNone(c) => c.pretty_string.as_deref(),
+ }
+ }
+
/// PHP exposes `ConstraintInterface::setPrettyString()` and defaults the
/// pretty string to the constraint's string form when unset. This port takes
/// the pretty string at construction instead; this setter exists only so