git-documentdb
Version:
Offline-first database that syncs with Git
36 lines • 1.49 kB
TypeScript
import { TreeEntry, WalkerEntry } from 'isomorphic-git';
import { AcceptedConflict, ChangedFile, ConflictResolutionStrategies } from '../types';
import { GitDDBInterface } from '../types_gitddb';
import { SyncInterface } from '../types_sync';
/**
* merge
*
* @throws Errors from {@link threeWayMerge}
*
* @internal
*/
export declare function merge(gitDDB: GitDDBInterface, sync: SyncInterface, baseCommitOid: string, oursCommitOid: string, theirsCommitOid: string): Promise<[string, ChangedFile[], ChangedFile[], AcceptedConflict[]]>;
/**
* 3-way merge
*
* @throws {@link Err.InvalidConflictStateError}
* @throws {@link Err.CannotDeleteDataError}
*
* @throws # Errors from getMergedDocument
* @throws - {@link Err.InvalidDocTypeError}
* @throws - {@link Err.InvalidConflictResolutionStrategyError}
*
* @throws # Errors from writeBlobToFile
* @throws - {@link Err.CannotCreateDirectoryError}
*
* @throws # Errors from getFatDocFromData, getFatDocFromReadBlobResult
* @throws - {@link Err.InvalidJsonObjectError}
*
*/
export declare function threeWayMerge(gitDDB: GitDDBInterface, sync: SyncInterface, conflictResolutionStrategy: ConflictResolutionStrategies, fullDocPath: string, base: WalkerEntry | null, ours: WalkerEntry | null, theirs: WalkerEntry | null): Promise<[
TreeEntry | undefined,
ChangedFile | undefined,
ChangedFile | undefined,
AcceptedConflict | undefined
]>;
//# sourceMappingURL=3way_merge.d.ts.map