aboutsummaryrefslogtreecommitdiff
path: root/src/client/util/SerializationHelper.ts
diff options
context:
space:
mode:
authorTyler Schicke <tyler_schicke@brown.edu>2019-04-29 01:36:00 -0400
committerTyler Schicke <tyler_schicke@brown.edu>2019-04-29 01:36:15 -0400
commit307564d9b02ed9d4de8ffa4229b0494bf8d671bd (patch)
tree23ea5bb4f2bbbef28c5c102c112e6ac00f4f1959 /src/client/util/SerializationHelper.ts
parenta60abe83ce1e780968e6fd0601cfabce6979a110 (diff)
Fixes
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;