Skip to content

Commit

Permalink
feat(Rust): Add convieience functions for Date type
Browse files Browse the repository at this point in the history
  • Loading branch information
nokome committed Jan 9, 2022
1 parent 2adf2df commit 3d6e89d
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 10 deletions.
2 changes: 1 addition & 1 deletion rust/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
mod prelude;
pub use prelude::Array;
pub use prelude::Boolean;
pub use prelude::Cord;
pub use prelude::Integer;
pub use prelude::Null;
pub use prelude::Number;
pub use prelude::Object;
pub use prelude::Primitive;
pub use prelude::Cord;

#[rustfmt::skip]
mod types;
Expand Down
31 changes: 22 additions & 9 deletions rust/src/prelude.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
use chrono::{DateTime, Utc};
pub use defaults::Defaults;
pub use serde::{Deserialize, Serialize};
pub use serde_json::Value;
Expand Down Expand Up @@ -85,13 +86,25 @@ pub enum Primitive {
/// Defined primarily so that a customized `Patchable` implementation
/// can be defined for strings where it is more appropriate to replace,
/// rather than diff the string.
#[derive(
Clone,
Debug,
PartialEq,
Eq,
Hash,
Serialize,
Deserialize
)]
#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct Cord(pub String);

// Convenience functions for `Date`

impl From<DateTime<Utc>> for crate::Date {
fn from(date_time: DateTime<Utc>) -> Self {
Self {
value: date_time.to_rfc3339(),
..Default::default()
}
}
}

impl crate::Date {
pub fn now() -> Self {
Self {
value: Utc::now().to_rfc3339(),
..Default::default()
}
}
}

0 comments on commit 3d6e89d

Please sign in to comment.