import { IMarkup, MarkupType } from "./IMarkup"; import { KonvaMarkup } from "./Impl/Konva/KonvaMarkup"; import { VisualizeMarkup } from "./Impl/Visualize/VisualizeMarkup"; export class MarkupFactory { public static createMarkup(markupType: MarkupType): IMarkup { let markup; switch (markupType) { case MarkupType.Konva: markup = this.createKonva(); break; case MarkupType.Visualize: markup = this.createVisualize(); break; default: throw new Error("Error during Markup Initialization. Markup Type is unknown."); break; } return markup; } private static createKonva(): IMarkup { return new KonvaMarkup(); } private static createVisualize(): IMarkup { return new VisualizeMarkup(); } }