Skip to content

Commit

Permalink
feat: don't serialize empty ranges
Browse files Browse the repository at this point in the history
  • Loading branch information
Eh2406 committed Mar 4, 2024
1 parent 8e5db7b commit 982953a
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,20 @@ pub use semver_compatibility::SemverCompatibility;

use bump_helpers::{between, bump_major, bump_minor, bump_patch, bump_pre};

/// This needs to be bug-for-bug compatible with https://github.com/dtolnay/semver/blob/master/src/eval.rs
#[cfg(feature = "serde")]
fn range_is_empty(r: &Range<Version>) -> bool {
r == &Range::empty()
}

/// This needs to be bug-for-bug compatible with https://github.com/dtolnay/semver/blob/master/src/eval.rs
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Debug, PartialEq, Eq, Clone)]
pub struct SemverPubgrub {
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "range_is_empty"))]
#[cfg_attr(feature = "serde", serde(default = "Range::empty"))]
normal: Range<Version>,
#[cfg_attr(feature = "serde", serde(skip_serializing_if = "range_is_empty"))]
#[cfg_attr(feature = "serde", serde(default = "Range::empty"))]
pre: Range<Version>,
}

Expand Down

0 comments on commit 982953a

Please sign in to comment.