MCPcopy Create free account
hub / github.com/aws/aws-lambda-rust-runtime / deserialize_milliseconds

Function deserialize_milliseconds

lambda-events/src/encodings/time.rs:105–117  ·  view source on GitHub ↗
(deserializer: D)

Source from the content-addressed store, hash-verified

103}
104
105fn deserialize_milliseconds<'de, D>(deserializer: D) -> Result<DateTime<Utc>, D::Error>
106where
107 D: Deserializer<'de>,
108{
109 let (whole, frac) = normalize_timestamp(deserializer)?;
110 assert_eq!(frac, 0);
111 let seconds: f64 = whole as f64 / 1000.0;
112 let milliseconds: u32 = (seconds.fract() * 1000f64) as u32;
113 let nanos = milliseconds * 1_000_000;
114 Utc.timestamp_opt(seconds as i64, nanos)
115 .latest()
116 .ok_or_else(|| D::Error::custom("invalid timestamp"))
117}
118
119fn serialize_seconds<S>(date: &DateTime<Utc>, serializer: S) -> Result<S::Ok, S::Error>
120where

Callers

nothing calls this directly

Calls 1

normalize_timestampFunction · 0.85

Tested by

no test coverage detected