#parser #sentry #name #semver

sentry-release-parser

A parser for the sentry release name format

17 releases (10 stable)

1.3.2 Aug 28, 2023
1.3.1 Apr 25, 2022
1.3.0 Jul 12, 2021
0.6.0 May 28, 2020
0.4.0 Jan 30, 2020

#508 in Encoding

Download history 219/week @ 2024-07-01 191/week @ 2024-07-08 567/week @ 2024-07-15 325/week @ 2024-07-22 162/week @ 2024-07-29 120/week @ 2024-08-05 137/week @ 2024-08-12 88/week @ 2024-08-19 135/week @ 2024-08-26 367/week @ 2024-09-02 87/week @ 2024-09-09 102/week @ 2024-09-16 316/week @ 2024-09-23 185/week @ 2024-09-30 142/week @ 2024-10-07 113/week @ 2024-10-14

757 downloads per month

Apache-2.0

75KB
679 lines

sentry-release-parser

This package implements a release name parser that is used by Sentry.

use sentry_release_parser::Release;

let release = Release::parse("org.example.FooApp@1.0rc1+20200101100").unwrap();
assert_eq!(release.package(), Some("org.example.FooApp"));
assert_eq!(release.version_raw(), "1.0rc1+20200101100");

let version = release.version().unwrap();
assert_eq!(version.major(), 1);
assert_eq!(version.minor(), 0);
assert_eq!(version.patch(), 0);
assert_eq!(version.triple(), (1, 0, 0));
assert_eq!(version.pre(), Some("rc1"));
assert_eq!(version.build_code(), Some("20200101100"));

Features

  • semver: if enabled the version object provides a method to convert it into a semver if it's compatible.
  • serde: turns on serde serialization.

License: Apache-2.0


lib.rs:

This package implements a release name parser that is used by Sentry.

use sentry_release_parser::Release;

let release = Release::parse("org.example.FooApp@1.0rc1+20200101100").unwrap();
assert_eq!(release.package(), Some("org.example.FooApp"));
assert_eq!(release.version_raw(), "1.0rc1+20200101100");

let version = release.version().unwrap();
assert_eq!(version.major(), 1);
assert_eq!(version.minor(), 0);
assert_eq!(version.patch(), 0);
assert_eq!(version.triple(), (1, 0, 0));
assert_eq!(version.pre(), Some("rc1"));
assert_eq!(version.build_code(), Some("20200101100"));

Features

  • semver: if enabled the version object provides a method to convert it into a semver if it's compatible.
  • serde: turns on serde serialization.

Dependencies

~2.8–4.5MB
~72K SLoC