1#![cfg_attr(
5 feature = "document-features",
6 cfg_attr(doc, doc = ::document_features::document_features!())
7)]
8#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
9#![deny(missing_docs, rust_2018_idioms)]
10#![forbid(unsafe_code)]
11
12use bstr::{BStr, BString};
13pub use git_date::{time::Sign, Time};
14
15pub mod signature;
17
18#[derive(Default, PartialEq, Eq, Debug, Hash, Ord, PartialOrd, Clone)]
22#[cfg_attr(feature = "serde1", derive(serde::Serialize, serde::Deserialize))]
23pub struct Signature {
24 pub name: BString,
26 pub email: BString,
28 pub time: Time,
30}
31
32#[derive(PartialEq, Eq, Debug, Hash, Ord, PartialOrd, Clone, Copy, Default)]
36#[cfg_attr(feature = "serde1", derive(serde::Serialize, serde::Deserialize))]
37pub struct SignatureRef<'a> {
38 #[cfg_attr(feature = "serde1", serde(borrow))]
40 pub name: &'a BStr,
41 pub email: &'a BStr,
43 pub time: git_date::Time,
45}