sourcecontrol
Version:
A modern TypeScript CLI application for source control
49 lines • 1.52 kB
TypeScript
import { IndexEntry } from '../../../core/index/index-entry';
import fs from 'fs-extra';
export declare enum ChangeType {
UNCHANGED = "unchanged",
SIZE_CHANGED = "size-changed",
TIME_CHANGED = "time-changed",
CONTENT_CHANGED = "content-changed",
MODE_CHANGED = "mode-changed",
FILE_MISSING = "file-missing",
MULTIPLE_CHANGES = "multiple-changes"
}
export interface ComparisonResult {
hasChanged: boolean;
changeType: ChangeType;
details: ComparisonDetails;
quickCheck: boolean;
}
export interface ComparisonDetails {
size?: {
index: number;
workingDir: number;
};
modificationTime?: {
index: number;
workingDir: number;
};
mode?: {
index: number;
workingDir: number;
};
contentHash?: {
index: string;
workingDir: string;
};
exists: boolean;
reason: string;
}
export interface ComparisonOptions {
quickCheck?: boolean;
workingDirectory: string;
}
export declare class IndexEntryComparator {
static compare(entry: IndexEntry, options: ComparisonOptions): Promise<ComparisonResult>;
static compareWithStats(entry: IndexEntry, stats: fs.Stats, options: ComparisonOptions): Promise<ComparisonResult>;
private static isContentChanged;
private static getChangeType;
static createOptions(workingDirectory: string, overrides?: Partial<Omit<ComparisonOptions, 'workingDirectory'>>): ComparisonOptions;
}
//# sourceMappingURL=index-entry-comparator.d.ts.map