Skip to content

Commit 177b591

Browse files
committed
docs: update
1 parent 14ab733 commit 177b591

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

Cargo.toml

+6
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ serde = { version = "1.0.190", features = ["derive"], optional = true }
2222
pretty_assertions = "1.4.0"
2323
criterion = { version = "0.5.1", features = ["html_reports"] }
2424
serde_json = "1.0"
25+
serde = { version = "1.0.190", features = ["derive"] }
2526

2627
[features]
2728
default = []
@@ -30,3 +31,8 @@ serde = ["dep:serde"]
3031
[[bench]]
3132
name = "parser"
3233
harness = false
34+
35+
[[example]]
36+
name = "serde"
37+
path = "examples/serde.rs"
38+
required-features = ["serde"]

README.md

+6
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,9 @@ let range: Range = "^1.2".parse().unwrap();
2626

2727
assert!(version.satisfies(&range));
2828
```
29+
30+
## Optional Features
31+
32+
The following are a list of [Cargo features](https://doc.rust-lang.org/stable/cargo/reference/features.html#the-features-section) that can be enabled:
33+
34+
- **serde**: Provides serialization and deserialization for [Version] and [Range].

examples/serde.rs

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
use nodejs_semver::Version;
2+
use serde::Serialize;
3+
4+
#[derive(Serialize)]
5+
struct MyVersion {
6+
version: Version,
7+
info: String,
8+
}
9+
10+
fn main() {
11+
let v = "3.4.5-rc.1".parse::<Version>().unwrap();
12+
let my_version = MyVersion {
13+
version: v,
14+
info: "info".to_string(),
15+
};
16+
17+
println!("{}", serde_json::to_string(&my_version).unwrap());
18+
}

0 commit comments

Comments
 (0)