UNPKG

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
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; }