serde_shape/impls/
jiff02.rs1use jiff02::SignedDuration;
16use jiff02::Span;
17use jiff02::Timestamp;
18use jiff02::Zoned;
19use jiff02::civil::Date;
20use jiff02::civil::DateTime;
21use jiff02::civil::ISOWeekDate;
22use jiff02::civil::Time;
23
24use crate::DeserializeShape;
25use crate::DeserializeShapeContext;
26use crate::SerializeShape;
27use crate::SerializeShapeContext;
28use crate::ShapeRef;
29
30macro_rules! string_shape {
31 ($($ty:ty),* $(,)?) => {
32 $(
33 impl SerializeShape for $ty {
34 fn serialize_shape_in(_context: &mut SerializeShapeContext) -> ShapeRef {
35 ShapeRef::String
36 }
37 }
38
39 impl DeserializeShape for $ty {
40 fn deserialize_shape_in(_context: &mut DeserializeShapeContext) -> ShapeRef {
41 ShapeRef::String
42 }
43 }
44 )*
45 };
46}
47
48string_shape!(
49 Date,
50 DateTime,
51 ISOWeekDate,
52 SignedDuration,
53 Span,
54 Time,
55 Timestamp,
56 Zoned,
57);