UNPKG

cs-element

Version:

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

97 lines 3.01 kB
import { HistoryManager, HistoryOperation, HistorySnapshot, HistoryState, HistoryConfig, HistoryEvent, HistoryEventCallback, HistoryExport, HistoryDiff } from '../types/history-interfaces'; /** * Реализация менеджера истории изменений */ export declare class HistoryManagerImpl implements HistoryManager { private operations; private snapshots; private currentIndex; private config; private eventListeners; private stats; constructor(config?: HistoryConfig); /** * Добавить операцию в историю */ addOperation(operation: Omit<HistoryOperation, 'id' | 'timestamp'>): void; /** * Создать снимок состояния */ createSnapshot(data: any, description: string): HistorySnapshot; /** * Отменить последнюю операцию */ undo(): Promise<any>; /** * Повторить отмененную операцию */ redo(): Promise<any>; /** * Отменить до определенной операции */ undoTo(operationId: string): Promise<any>; /** * Повторить до определенной операции */ redoTo(operationId: string): Promise<any>; /** * Получить текущее состояние истории */ getState(): HistoryState; /** * Получить список операций */ getOperations(limit?: number): HistoryOperation[]; /** * Получить список снимков */ getSnapshots(limit?: number): HistorySnapshot[]; /** * Очистить историю */ clear(): void; /** * Очистить старые записи */ cleanup(): void; /** * Получить операцию по ID */ getOperation(id: string): HistoryOperation | null; /** * Получить снимок по ID */ getSnapshot(id: string): HistorySnapshot | null; /** * Экспорт истории */ export(): HistoryExport; /** * Импорт истории */ import(data: HistoryExport): void; /** * Подписка на события истории */ on(event: HistoryEvent, callback: HistoryEventCallback): void; /** * Отписка от событий */ off(event: HistoryEvent, callback: HistoryEventCallback): void; /** * Создать diff между двумя состояниями */ createDiff(before: any, after: any, path?: string[]): HistoryDiff[]; private generateId; private canPerformUndo; private canPerformRedo; private shouldCreateSnapshot; private performCleanupIfNeeded; private calculateSize; private calculateTotalSize; private cleanupBySize; private deepClone; private compressData; private emitEvent; } //# sourceMappingURL=HistoryManagerImpl.d.ts.map