use jiff02::SignedDuration;
use jiff02::Span;
use jiff02::Timestamp;
use jiff02::Zoned;
use jiff02::civil::Date;
use jiff02::civil::DateTime;
use jiff02::civil::ISOWeekDate;
use jiff02::civil::Time;
use crate::DeserializeShape;
use crate::DeserializeShapeContext;
use crate::SerializeShape;
use crate::SerializeShapeContext;
use crate::ShapeRef;
macro_rules! string_shape {
($($ty:ty),* $(,)?) => {
$(
impl SerializeShape for $ty {
fn serialize_shape_in(_context: &mut SerializeShapeContext) -> ShapeRef {
ShapeRef::String
}
}
impl DeserializeShape for $ty {
fn deserialize_shape_in(_context: &mut DeserializeShapeContext) -> ShapeRef {
ShapeRef::String
}
}
)*
};
}
string_shape!(
Date,
DateTime,
ISOWeekDate,
SignedDuration,
Span,
Time,
Timestamp,
Zoned,
);