import { MLTBundlesManager } from './bundles-manager'; import { MLTCompiler } from './compiler'; import { MLTConfig } from './config'; import { MLTDependenciesManager } from './dependencies-manager'; import { MLTSourceLoader } from './source-loader'; import { TBaseModuleManifest, TCompiledMonad, TMLTProcessError, TSearchModuleResult } from './types'; /** * Кэш для хранения загруженных и загружаемых модулей */ export declare class MLTCore { private cache; private errorCache; private readonly bundlesManager; private readonly config; private readonly sourceLoader; private readonly compiler; private readonly dependenciesManager; constructor(dependencies: { bundlesManager: MLTBundlesManager; compiler: MLTCompiler; config: MLTConfig; dependenciesManager: MLTDependenciesManager; loader: MLTSourceLoader; }); getBundleLoadingError(manifest: TUserManifest): TMLTProcessError | void; hasCompiledBundle(moduleSearchResult: TSearchModuleResult): boolean; saveCompiledBundle(compiledBundle: TCompiledMonad): void; startCompiledBundle(compiledBundle: TCompiledMonad): void; loadAndCompileBundle(manifest: TUserManifest): Promise>; /** * Чистая функция, которая запустит prefetch-запрос. * Если модуль, откуда вызывается префеч не загружен - он будет загружен и потянет за собой все свои зависимости */ private executePrefetch; /** * Метод начнет грузить все модули, которые указаны к предзагрузке */ private preloadModules; /** * Метод загрузит и скомпилирует все модули, помеченные */ private loadBlockModules; /** * Метод кеширует скомпиленный модуль. * Если при обращении видит, что нужый модуль есть в кеше, но он не загрузился, * пытается повторно его загрузить и скомпилировать. */ private internalMakeLoadingCache; /** * Метод пытается загрузить и скомпилировать модуль, в процессе кеширует ошибки, если они есть и * удаляет их, если в следующий раз выполнится успешно */ private internalLoadAndCompile; /** * От bulk не должно требовать результата - это просто в пустоту когда-то сработает и сохранится в кэш * Но при этом конечно, если при работе bulk запросить еще раз один из микросервисов - он возьмется из кэша * @param manifests */ bulkLoadBundles(manifests: Array): Promise; } //# sourceMappingURL=core.d.ts.map