diff --git a/.editorconfig b/.editorconfig index b10c6d4..06651f3 100644 --- a/.editorconfig +++ b/.editorconfig @@ -12,8 +12,8 @@ dfmt_split_operator_at_line_end = false trim_trailing_whitespace = true end_of_line = lf -indent_size = 4 +indent_size = 3 indent_style = space insert_final_newline = true max_line_length = 180 -tab_width = 3 +tab_width = 0 diff --git a/source/dpq/serialisers/string.d b/source/dpq/serialisers/string.d index 032c61b..ea1c66e 100644 --- a/source/dpq/serialisers/string.d +++ b/source/dpq/serialisers/string.d @@ -12,58 +12,54 @@ import dpq.value : Type; struct StringSerialiser { - static bool isSupportedType(T)() - { - return isSomeString!T; - } + static bool isSupportedType(T)() + { + return isSomeString!T; + } - static Nullable!(ubyte[]) serialise(T)(T val) - { - static assert ( - isSupportedType!T, - "'%s' is not supported by StringSerialiser".format(T.stringof)); + static Nullable!(ubyte[]) serialise(T)(T val) + { + static assert(isSupportedType!T, "'%s' is not supported by StringSerialiser".format(T.stringof)); - alias RT = Nullable!(ubyte[]); + alias RT = Nullable!(ubyte[]); - if (isAnyNull(val)) - return RT.init; + if (isAnyNull(val)) + return RT.init; - return RT(val.representation.dup); - } + return RT(val.representation.dup); + } - static T deserialise(T)(const (ubyte)[] bytes) - { - static assert ( - isSupportedType!T, - "'%s' is not supported by StringSerialiser".format(T.stringof)); + static T deserialise(T)(const(ubyte)[] bytes) + { + static assert(isSupportedType!T, "'%s' is not supported by StringSerialiser".format(T.stringof)); - // Is casting good enough? Let's hope so - return cast(T) bytes; - } + // Is casting good enough? Let's hope so + return cast(T)bytes; + } - static Oid oidForType(T)() - { - return Type.TEXT; - } + static Oid oidForType(T)() + { + return Type.TEXT; + } - static string nameForType(T)() - { - return "TEXT"; - } + static string nameForType(T)() + { + return "TEXT"; + } - static void ensureExistence(T)(Connection c) - { - return; - } + static void ensureExistence(T)(Connection c) + { + return; + } } unittest { - import std.stdio; + import std.stdio; - writeln(" * StringSerialiser"); + writeln(" * StringSerialiser"); - string str = "1234567890qwertyuiop[]asdfghjkl;'zxcvbnm,./ščžèéêëē"; - auto serialised = StringSerialiser.serialise(str); - assert(str == StringSerialiser.deserialise!string(serialised.get)); + string str = "1234567890qwertyuiop[]asdfghjkl;'zxcvbnm,./ščžèéêëē"; + auto serialised = StringSerialiser.serialise(str); + assert(str == StringSerialiser.deserialise!string(serialised.get)); } diff --git a/source/dpq/serialisers/systime.d b/source/dpq/serialisers/systime.d index 5fb1db9..326adcb 100644 --- a/source/dpq/serialisers/systime.d +++ b/source/dpq/serialisers/systime.d @@ -23,11 +23,13 @@ struct SysTimeSerialiser static Nullable!(ubyte[]) serialise(T)(T val) { import std.datetime.timezone : UTC; - static assert (isSupportedType!T, "'%s' is not supported by SysTimeSerialiser".format(T.stringof)); + + static assert(isSupportedType!T, "'%s' is not supported by SysTimeSerialiser".format(T.stringof)); alias RT = Nullable!(ubyte[]); - if (isAnyNull(val)) { + if (isAnyNull(val)) + { return RT.init; } @@ -36,11 +38,12 @@ struct SysTimeSerialiser return RT(nativeToBigEndian(diff / 10).dup); } - static T deserialise(T)(const (ubyte)[] bytes) + static T deserialise(T)(const(ubyte)[] bytes) { - static assert (isSupportedType!T, "'%s' is not supported by SysTimeSerialiser".format(T.stringof)); + static assert(isSupportedType!T, "'%s' is not supported by SysTimeSerialiser".format(T.stringof)); import std.datetime.timezone : UTC; + return SysTime(fromBytes!long(bytes, long.sizeof) * 10 + SysTime(POSTGRES_EPOCH, UTC()).stdTime); }