-
Notifications
You must be signed in to change notification settings - Fork 547
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
⏰ Add td_*seconds
serde Serialize
and Deserialize
functions for TimeDelta
#1652
base: main
Are you sure you want to change the base?
Conversation
td_*seconds
serde Serialize
and Deserialize
functions for TimeDelta
td_*seconds
serde Serialize
and Deserialize
functions for TimeDelta
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to see at least one basic round-tripping test for each of these.
S: ser::Serializer, | ||
{ | ||
serializer.serialize_i64(td.num_nanoseconds().ok_or(ser::Error::custom( | ||
"value out of range for a timedelta with nanosecond precision", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's capitalize TimeDelta
in these error messages, too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the timestamp versions of these functions the "timestamp"
is also lower cased, hence I did so here too. So I think there are three options:
- Leave them lowercased.
- Uppercase just
timedelta
- Uppercase both
What do you prefer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Timestamp is an English word commonly spelled as one word. Time delta is not an actual word and is more of a term of art introduced by this library's API. So I think it makes sense to capitalize TimeDelta in these errors even if the same is not true for timestamp.
Fixes #117
This PR copy-pastes the current implementation for
DateTime
such that we have equal implementations forDeltaTime
.I opted to add the logic to the existing
serde.rs
file. However, I think this might be the wrong place and a better solution would be to move themain.rs
'sserde
module combined with thisserde.rs
file to a separatesrc/serde.rs
file, thoughts?PS:
I am just doing a drive-by PR on this crate, so I don't really know what the exact requirements are regarding testing ect. Please let me know!