cs-element
Version:
Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support
145 lines • 4.28 kB
TypeScript
/**
* Система вычисления различий и трёхстороннего слияния для 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