dewey 0.3.0

version parser and comparator that works with non-semantic versions
Documentation
  • Coverage
  • 0%
    0 out of 5 items documented0 out of 4 items with examples
  • Size
  • Source code size: 30.34 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.57 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 9s Average build duration of successful builds.
  • all releases: 9s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Gottox/dewey
    2 0 1
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • Gottox

dewey

dewey is a simple version parser and comperator that aims to be compatible to NetBSD and xbps' comperator implementation.

dewey not only parses .-seperated versions but other common patterns such as X.XalphaX, X.XrcX, and X.X.Xpl1

example

use dewey::VersionCmp;

let stable = "1.0".version();
let pre = "1.0pre1".version();
let pl = "1.0pl1".version();
assert!(stable > pre);
assert!(pl > stable);
assert!(pl > pre);

supported seperators

  • Revision: example: 1.0_1
  • Alpha: 0.0alpha1
  • Beta: 0.0beta1
  • Pre: 0.0pre1
  • Rc: 0.0rc1
  • PatchLevel: 0.0pl1
  • Dot: 1.0

version coverage

dewey tries its very best to produce a relationship between two version.

It even can work with rather obscure utf8 versioning:

use dewey::VersionCmp;

let smile = "1.😃".version();
let sad = "1.😢".version();
assert!(smile < sad);

It only fails if there are there are conflicting version schemes:

use dewey::VersionCmp;

let alpha_suffix = "1c".version();
let number_suffix = "1.0".version();
assert!(alpha_suffix.partial_cmp(&number_suffix) == None);