feat(parse-duration): use better crate

This commit is contained in:
Ushie
2023-05-12 03:59:06 +03:00
parent a194e036df
commit 8f10edd7dc
3 changed files with 74 additions and 11 deletions

77
Cargo.lock generated
View File

@ -588,12 +588,6 @@ dependencies = [
"wasi 0.11.0+wasi-snapshot-preview1",
]
[[package]]
name = "go-parse-duration"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "558b88954871f5e5b2af0e62e2e176c8bde7a6c2c4ed41b13d138d96da2e2cbd"
[[package]]
name = "h2"
version = "0.3.16"
@ -1007,6 +1001,41 @@ dependencies = [
"winapi",
]
[[package]]
name = "num"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36"
dependencies = [
"num-bigint",
"num-complex",
"num-integer",
"num-iter",
"num-rational",
"num-traits",
]
[[package]]
name = "num-bigint"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304"
dependencies = [
"autocfg",
"num-integer",
"num-traits",
]
[[package]]
name = "num-complex"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95"
dependencies = [
"autocfg",
"num-traits",
]
[[package]]
name = "num-integer"
version = "0.1.45"
@ -1017,6 +1046,29 @@ dependencies = [
"num-traits",
]
[[package]]
name = "num-iter"
version = "0.1.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
dependencies = [
"autocfg",
"num-integer",
"num-traits",
]
[[package]]
name = "num-rational"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef"
dependencies = [
"autocfg",
"num-bigint",
"num-integer",
"num-traits",
]
[[package]]
name = "num-traits"
version = "0.2.15"
@ -1080,6 +1132,17 @@ dependencies = [
"windows-sys",
]
[[package]]
name = "parse_duration"
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7037e5e93e0172a5a96874380bf73bc6ecef022e26fa25f2be26864d6b3ba95d"
dependencies = [
"lazy_static",
"num",
"regex",
]
[[package]]
name = "pbkdf2"
version = "0.11.0"
@ -1303,9 +1366,9 @@ dependencies = [
"decancer",
"dirs",
"dotenv",
"go-parse-duration",
"hmac-sha256",
"mongodb",
"parse_duration",
"poise",
"regex",
"reqwest",

View File

@ -34,4 +34,4 @@ tracing = { version = "0.1.37", features = ["max_level_debug", "release_max_leve
tracing-subscriber = "0.3.16"
hmac-sha256 = "1.1.6"
base64 = "0.21.0"
go-parse-duration = "0.1.1"
parse_duration = "2.1.1"

View File

@ -11,7 +11,7 @@ pub mod media_channel;
pub mod moderation;
pub mod poll;
pub fn parse_duration(duration: String) -> Result<Duration, go_parse_duration::Error> {
let d = go_parse_duration::parse_duration(&duration)?;
Ok(Duration::nanoseconds(d))
pub fn parse_duration(duration: String) -> Result<Duration, parse_duration::parse::Error> {
let d = parse_duration::parse(&duration)?;
Ok(Duration::nanoseconds(d.as_nanos() as i64))
}