aboutsummaryrefslogtreecommitdiff
path: root/src/client/util/SerializationHelper.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/util/SerializationHelper.ts')
-rw-r--r--src/client/util/SerializationHelper.ts5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/client/util/SerializationHelper.ts b/src/client/util/SerializationHelper.ts
index ac70aba9d..1a8cc3a44 100644
--- a/src/client/util/SerializationHelper.ts
+++ b/src/client/util/SerializationHelper.ts
@@ -63,6 +63,11 @@ export function Deserializable(name: string): DeserializableOpts;
export function Deserializable(constructor: Function): void;
export function Deserializable(constructor: Function | string): DeserializableOpts | void {
function addToMap(name: string, ctor: Function) {
+ const schema = getDefaultModelSchema(ctor as any) as any;
+ if (schema.targetClass !== ctor) {
+ const newSchema = { ...schema, factory: () => new (ctor as any)() };
+ setDefaultModelSchema(ctor as any, newSchema);
+ }
if (!(name in serializationTypes)) {
serializationTypes[name] = ctor;
reverseMap[ctor.name] = name;