UNPKG

cs-element

Version:

Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support

72 lines 2.54 kB
/** * Расширенный менеджер 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