UNPKG

userface

Version:

Universal Data-Driven UI Engine with live data, validation, and multi-platform support

46 lines (45 loc) 2.53 kB
"use strict"; 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();