From 3d9b9a4976944de2c8d4f3f99c7e09e7ca37c133 Mon Sep 17 00:00:00 2001 From: "Tristan B. Velloza Kildaire" Date: Fri, 6 Jan 2023 16:42:40 +0200 Subject: [PATCH] - Attempt to mixin properly --- source/libpb/deserialization.d | 8 +++++--- source/libpb/driver.d | 15 ++++++++++----- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/source/libpb/deserialization.d b/source/libpb/deserialization.d index 64b0940..cf8fdc2 100644 --- a/source/libpb/deserialization.d +++ b/source/libpb/deserialization.d @@ -1,10 +1,11 @@ module libpb.deserialization; import std.json; -import std.traits : FieldTypeTuple, FieldNameTuple; -template T(RecordType) + +mixin template T(RecordType) { + import std.traits : FieldTypeTuple, FieldNameTuple; public RecordType fromJSON(JSONValue jsonIn) { RecordType record; @@ -131,7 +132,8 @@ unittest } `); - Person person = T!(Person).fromJSON(json); + mixin T!(Person); + Person person = fromJSON(json); debug(dbg) { diff --git a/source/libpb/driver.d b/source/libpb/driver.d index 69b2d4b..71c0df4 100644 --- a/source/libpb/driver.d +++ b/source/libpb/driver.d @@ -158,7 +158,8 @@ public class PocketBase } } - recordsOut ~= T!(RecordType).fromJSON(returnedItem); + mixin T!(RecordType); + recordsOut ~= fromJSON(returnedItem); } return recordsOut; @@ -268,7 +269,8 @@ public class PocketBase responseJSON["passwordConfirm"] = ""; } - recordOut = T!(RecordType).fromJSON(responseJSON); + mixin T!(RecordType); + recordOut = fromJSON(responseJSON); return recordOut; } @@ -349,7 +351,8 @@ public class PocketBase } - recordOut = T!(RecordType).fromJSON(recordResponse); + mixin T!(RecordType); + recordOut = fromJSON(recordResponse); // Store the token token = responseJSON["token"].str(); @@ -448,7 +451,8 @@ public class PocketBase } } - recordOut = T!(RecordType).fromJSON(responseJSON); + mixin T!(RecordType); + recordOut = fromJSON(responseJSON); return recordOut; } @@ -553,7 +557,8 @@ public class PocketBase } } - recordOut = T!(RecordType).fromJSON(responseJSON); + mixin T!(RecordType); + recordOut = fromJSON(responseJSON); return recordOut; }