fix: change SCThingMeta getInstance() return value

This commit is contained in:
Rainer Killinger
2019-03-25 11:26:07 +01:00
parent 3242411768
commit 4986042428
2 changed files with 5 additions and 8 deletions

View File

@@ -222,7 +222,7 @@ export class SCThingMeta implements SCMetaTranslations<SCThing> {
/**
* Set type definiton for singleton instance
*/
protected static _instance: SCThingMeta;
protected static _instance = new Map<string, unknown>();
/**
* Translations of fields
@@ -268,8 +268,10 @@ export class SCThingMeta implements SCMetaTranslations<SCThing> {
* Function to retrieve typed singleton instance
*/
public static getInstance<T extends SCThingMeta>(): T {
const typedThis = this as any as typeof SCThingMeta;
return (typedThis._instance || (typedThis._instance = new this())) as T;
if (!this._instance.has(this.name)) {
this._instance.set(this.name, new this());
}
return this._instance.get(this.name) as T;
}
protected constructor() {}

View File

@@ -64,11 +64,6 @@ export interface SCDiff extends SCDiffWithoutReferences {
* Meta information about a diff
*/
export class SCDiffMeta extends SCThingMeta implements SCMetaTranslations<SCDiff> {
/**
* Set type definiton for singleton instance
*/
protected static _instance: SCThingMeta;
/**
* Translations of fields
*/