igir
Version:
🕹 A zero-setup ROM collection manager that sorts, filters, extracts or archives, patches, and reports on collections of any size on any OS.
32 lines (31 loc) • 915 B
TypeScript
import File from '../types/files/file.js';
import ROM from './dats/rom.js';
export type ChecksumsToFiles = Map<string, File[]>;
export interface AllChecksums {
crc32: ChecksumsToFiles;
md5: ChecksumsToFiles;
sha1: ChecksumsToFiles;
sha256: ChecksumsToFiles;
}
/**
* A lookup table of {@link File}s based on their checksums.
*/
export default class IndexedFiles {
private readonly crc32;
private readonly md5;
private readonly sha1;
private readonly sha256;
private constructor();
/**
* Generate a {@link IndexedFiles} based on a set of {@link File}s.
*/
static fromFiles(files: File[]): IndexedFiles;
private static combineMaps;
getFiles(): File[];
getFilesByFilePath(): Map<string, File[]>;
getSize(): number;
/**
* Find file(s) in the index based some search criteria.
*/
findFiles(file: File | ROM): File[] | undefined;
}