Skip to content

Commit 979e39f

Browse files
committed
update mir serde for timestamps auto proxy
1 parent 99ebc0c commit 979e39f

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

source/mir/serde.d

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -973,6 +973,7 @@ Final proxy type
973973
+/
974974
template serdeGetFinalProxy(T)
975975
{
976+
import mir.timestamp: Timestamp;
976977
import std.traits: hasUDA, isAggregateType;
977978
static if (isAggregateType!T || is(T == enum))
978979
{
@@ -981,6 +982,11 @@ template serdeGetFinalProxy(T)
981982
alias serdeGetFinalProxy = .serdeGetFinalProxy!(serdeGetProxy!T);
982983
}
983984
else
985+
static if (is(typeof(Timestamp(T.init))))
986+
{
987+
alias serdeGetFinalProxy = string;
988+
}
989+
else
984990
{
985991
alias serdeGetFinalProxy = T;
986992
}
@@ -1013,6 +1019,7 @@ Final deep proxy type
10131019
+/
10141020
template serdeGetFinalDeepProxy(T)
10151021
{
1022+
import mir.timestamp: Timestamp;
10161023
import std.traits: Unqual, hasUDA, isAggregateType, isArray, ForeachType;
10171024
static if (isAggregateType!T || is(T == enum))
10181025
{
@@ -1021,6 +1028,11 @@ template serdeGetFinalDeepProxy(T)
10211028
alias serdeGetFinalDeepProxy = .serdeGetFinalDeepProxy!(serdeGetProxy!T);
10221029
}
10231030
else
1031+
static if (is(typeof(Timestamp(T.init))))
1032+
{
1033+
alias serdeGetFinalDeepProxy = string;
1034+
}
1035+
else
10241036
static if (__traits(hasMember, T, "serdeKeysProxy"))
10251037
{
10261038
alias serdeGetFinalDeepProxy = .serdeGetFinalDeepProxy!(T.serdeKeysProxy);

0 commit comments

Comments
 (0)