userface
Version:
Universal Data-Driven UI Engine with live data, validation, and multi-platform support
46 lines (45 loc) • 2.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.engine = exports.EngineFactory = void 0;
const engine_1 = require("./engine");
const component_registry_1 = require("./component-registry");
const data_layer_1 = require("./data-layer");
const plugin_system_1 = require("./plugin-system");
const validation_1 = require("./validation");
const error_recovery_1 = require("./error-recovery");
const logger_1 = require("./logger");
class EngineFactory {
static createEngine() {
// Создаем все сервисы
const componentStore = new component_registry_1.ComponentRegistry();
// Используем существующие экземпляры
const dataService = data_layer_1.dataLayer;
const pluginManager = new plugin_system_1.PluginSystem(componentStore);
const validator = validation_1.validationEngine;
const errorHandler = error_recovery_1.errorRecovery;
const testRunner = {
runAllTests: async () => [],
createMockComponent: (name, schema, render) => ({ name, schema, render }),
getMockComponent: (name) => null,
getAllMockComponents: () => [],
generateTestData: (schema) => ({ component: schema.name }),
getTestResults: () => [],
clearTestResults: () => { },
getTestSummary: () => ({ total: 0, passed: 0, failed: 0, duration: 0 }),
addTestSuite: (suite) => { },
createTestCase: (name, test) => ({ name, test }),
generateRandomUserFace: (schema) => ({ component: schema.name }),
mockComponent: (name, schema, render) => { }
};
const loggerInstance = logger_1.logger;
// Создаем Engine с зависимостями
const engine = new engine_1.Engine(componentStore, dataService, pluginManager, validator, errorHandler, testRunner, loggerInstance);
return engine;
}
static createEngineWithCustomServices(componentRegistry, dataLayerInstance, pluginSystemInstance, validationEngineInstance, errorRecoveryInstance, testingInfrastructureInstance, loggerInstance) {
return new engine_1.Engine(componentRegistry, dataLayerInstance, pluginSystemInstance, validationEngineInstance, errorRecoveryInstance, testingInfrastructureInstance, loggerInstance);
}
}
exports.EngineFactory = EngineFactory;
// Создаем глобальный экземпляр Engine
exports.engine = EngineFactory.createEngine();