import { RevRegistry, RevSchemaField } from '../../common'; import { RevBehavioredColumnSettings, RevBehavioredGridSettings } from '../settings'; import { RevUiControllerServices } from './controller/common'; import { RevUiController } from './controller/ui-controller'; /** @internal */ export class RevUiControllerFactory { private readonly _registry = new RevRegistry>; registerDefinition(typeName: string, constructor: RevUiController.Constructor) { this._registry.register(typeName, constructor); } create(name: string, services: RevUiControllerServices) { const constructor = this._registry.get(name); if (constructor === undefined) { return undefined; } else { return new constructor(services); } } }