19 lines
473 B
TypeScript
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);
|
|
}
|
|
}
|