diff options
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; |