diff options
author | Tyler Schicke <tyler_schicke@brown.edu> | 2019-04-29 01:36:00 -0400 |
---|---|---|
committer | Tyler Schicke <tyler_schicke@brown.edu> | 2019-04-29 01:36:15 -0400 |
commit | 307564d9b02ed9d4de8ffa4229b0494bf8d671bd (patch) | |
tree | 23ea5bb4f2bbbef28c5c102c112e6ac00f4f1959 /src/client/util/SerializationHelper.ts | |
parent | a60abe83ce1e780968e6fd0601cfabce6979a110 (diff) |
Fixes
Diffstat (limited to 'src/client/util/SerializationHelper.ts')
-rw-r--r-- | src/client/util/SerializationHelper.ts | 5 |
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; |