finnow/finnow-api/source/util/data.d

28 lines
541 B
D

module util.data;
import handy_http_primitives;
import std.typecons;
Optional!T toOptional(T)(Nullable!T value) {
if (value.isNull) {
return Optional!T.empty;
} else {
return Optional!T.of(value.get);
}
}
Nullable!T toNullable(T)(Optional!T value) {
if (value.isNull) {
return Nullable!(T)();
} else {
return Nullable!T(value.value);
}
}
auto serializeOptional(T)(Optional!T value) {
if (value.isNull) {
return Nullable!T();
}
return Nullable!T(value.value);
}