Skip to content

Latest commit

 

History

History
36 lines (28 loc) · 1015 Bytes

README.md

File metadata and controls

36 lines (28 loc) · 1015 Bytes

Core Semver

Semantic Versioning is a guideline for how version numbers are assigned and incremented. This crate is based on semver and has some extended functions, such as bump version.

Installation

cargo add core_semver

Usage

Tip

For more information, see the rust doc.

use crate::core_semver::parse;

fn main() {
  // prase version str
  // return struct -> Version
  let mut version = core_semver::parse("1.2.3-beta.4");
  assert_eq!(version.major, 1);
  assert_eq!(version.minor, 2);
  assert_eq!(version.patch, 3);
  assert_eq!(version.pre.as_str(), "beta.4");
  assert_eq!(version.to_string(), "1.2.3-beta.4");

  // bump version
  assert_eq!(version.bump_pre(None), "1.2.3-beta.5");
  assert_eq!(version.bump_pre(Some("rc")), "1.2.3-rc.1");
  assert_eq!(version.bump_patch(), "1.2.4");
  assert_eq!(version.bump_minor(), "1.3.0");
  assert_eq!(version.bump_major(), "2.0.0");
}