PromucFlow_constructor/app/client/src/entities/Engine/factory.ts

19 lines
473 B
TypeScript

import { APP_MODE } from "entities/App";
import AppEngine from ".";
import AppEditorEngine from "./AppEditorEngine";
import AppViewerEngine from "./AppViewerEngine";
const registeredAppEngines = {
[APP_MODE.EDIT]: AppEditorEngine,
[APP_MODE.PUBLISHED]: AppViewerEngine,
};
export default class AppEngineFactory {
static create(
type: keyof typeof registeredAppEngines,
mode: APP_MODE,
): AppEngine {
return new registeredAppEngines[type](mode);
}
}