UNPKG

cs-element

Version:

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

145 lines 4.28 kB
/** * Система вычисления различий и трёхстороннего слияния для CSElement */ import { ICSElement } from '../types/interfaces'; import { ThreeWayMergeResult, DiffResult } from '../types/worker-interfaces'; /** * Алгоритмы для вычисления diff */ export declare enum DiffAlgorithm { MYERS = "myers", PATIENCE = "patience", HISTOGRAM = "histogram", SIMPLE = "simple" } /** * Стратегии разрешения конфликтов */ export declare enum MergeStrategy { AUTO = "auto", MANUAL = "manual", OURS = "ours", THEIRS = "theirs", UNION = "union" } /** * Основной движок для вычисления различий */ export declare class DiffEngine { constructor(); /** * Сериализация элемента для diff операций */ private serializeForDiff; /** * Конвертация дочерних элементов в формат SerializableElement */ private convertChildrenToSerializable; /** * Вычисление различий между двумя элементами */ computeDiff(source: ICSElement, target: ICSElement, options?: { algorithm?: DiffAlgorithm; ignoreWhitespace?: boolean; ignoreCase?: boolean; contextLines?: number; includeVisualization?: boolean; }): DiffResult; /** * Трёхстороннее слияние элементов */ threeWayMerge(base: ICSElement, source: ICSElement, target: ICSElement, options?: { strategy?: MergeStrategy; conflictResolution?: 'prompt' | 'auto'; autoResolveThreshold?: number; }): ThreeWayMergeResult; /** * Вычисление изменений между двумя сериализованными элементами */ private computeChanges; /** * Сравнение данных элементов */ private compareData; /** * Сравнение дочерних элементов */ private compareChildren; /** * Поиск конфликтов между изменениями */ private findConflicts; /** * Выполнение слияния */ private performMerge; /** * Группировка изменений по путям */ private groupChangesByPath; /** * Получение значения по пути */ private getValueByPath; /** * Определение типа конфликта */ private determineConflictType; /** * Вычисление серьёзности конфликта */ private calculateConflictSeverity; /** * Проверка возможности автоматического разрешения */ private isAutoResolvable; /** * Генерация предложений для разрешения конфликта */ private generateConflictSuggestions; /** * Применение изменения к объекту */ private applyChange; /** * Разрешение конфликта */ private resolveConflict; /** * Установка значения по пути */ private setValueByPath; /** * Объединяющее слияние */ private unionMerge; /** * Вычисление сводки изменений */ private computeSummary; /** * Генерация визуализации изменений */ private generateVisualization; /** * Глубокое сравнение объектов */ private deepEqual; /** * Глубокое клонирование объекта */ private deepClone; /** * Вычисление уверенности в изменении */ private calculateConfidence; /** * Вычисление схожести строк */ private stringSimilarity; /** * Расстояние Левенштейна */ private levenshteinDistance; } //# sourceMappingURL=DiffEngine.d.ts.map