tiny-commit-walker
Version:
tiny commit walker
28 lines (27 loc) • 1.12 kB
TypeScript
/// <reference types="node" />
export interface PackedIndex {
readonly offset: number;
readonly fileIndex: number;
}
export declare type PackedIndexMap = Map<string, PackedIndex>;
export declare class Packs {
readonly packDir: string;
readonly packFileNames: string[];
readonly packedIndexMap: PackedIndexMap;
readonly hasPackFiles: boolean;
private _packedObjectCache;
constructor(packDir: string, packFileNames?: string[], packedIndexMap?: PackedIndexMap);
static initialize(gitDir: string): Promise<Packs>;
static _initialize(gitDir: string): Promise<Packs>;
static initializeSync(gitDir: string): Packs;
private _getPackedIndexFromCache(hash);
private _getPackedObjectBufferFromCach(idx);
private _setPackedObjectBuffrToCache(idx, buff);
private _getPackFilePath(idx);
unpackGitObject(hash: string): Promise<Buffer>;
unpackGitObjectSync(hash: string): Buffer;
private _unpackGitObject(fd, idx);
private _unpackGitObjectSync(fd, idx);
private _unpackDeltaObject(fd, idx, po, head);
private _unpackDeltaObjectSync(fd, idx, po, head);
}