cs-element
Version:
Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support
72 lines • 2.54 kB
TypeScript
/**
* Расширенный менеджер middleware для CSElement
* Поддерживает приоритеты, модификацию операций, статистику и таймауты
*/
import { EventEmitter } from 'eventemitter3';
import { MiddlewareConfig, MiddlewareContext, MiddlewareStats, AdvancedMiddlewareManager } from '../types/plugin-interfaces';
export declare class AdvancedMiddlewareManagerImpl extends EventEmitter implements AdvancedMiddlewareManager {
private middleware;
private globalTimeout;
private operationCounter;
constructor();
/**
* Добавить middleware с конфигурацией
*/
addMiddleware(operation: string, config: MiddlewareConfig): void;
/**
* Удалить middleware по имени
*/
removeMiddleware(operation: string, name: string): boolean;
/**
* Получить все middleware для операции
*/
getMiddleware(operation: string): MiddlewareConfig[];
/**
* Очистить все middleware для операции
*/
clearMiddleware(operation: string): void;
/**
* Очистить все middleware для всех операций
*/
clearAllMiddleware(): void;
/**
* Выполнить middleware цепочку
*/
executeMiddleware(context: MiddlewareContext, operation: () => Promise<any>): Promise<any>;
/**
* Получить статистику middleware
*/
getStats(operation?: string, name?: string): MiddlewareStats | Record<string, MiddlewareStats>;
/**
* Включить/выключить middleware
*/
toggleMiddleware(operation: string, name: string, enabled: boolean): void;
/**
* Установить глобальный таймаут для middleware
*/
setGlobalTimeout(timeout: number): void;
/**
* Получить все операции с middleware
*/
getOperations(): string[];
/**
* Получить общую статистику
*/
getGlobalStats(): {
totalOperations: number;
totalMiddleware: number;
totalExecutions: number;
averageExecutionTime: number;
};
/**
* Очистить всю статистику
*/
clearStats(): void;
/**
* Приватные методы
*/
private executeWithTimeout;
private isMiddlewareResult;
private updateStats;
}
//# sourceMappingURL=AdvancedMiddlewareManager.d.ts.map