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.

67 lines (66 loc) • 1.67 kB
export interface DATProps extends CMProObject { clrmamepro?: ClrMameProProps; game?: GameProps | GameProps[]; resource?: ROMProps | ROMProps[]; } export interface ClrMameProProps extends CMProObject { name?: string; description?: string; category?: string; version?: string; forcemerging?: 'none' | 'split' | 'full'; forcezipping?: 'yes' | 'no'; date?: string; author?: string; homepage?: string; url?: string; comment?: string; } export interface GameProps extends CMProObject { name?: string; description?: string; year?: string; manufacturer?: string; cloneof?: string; romof?: string; rom?: ROMProps | ROMProps[]; disk?: ROMProps | ROMProps[]; sample?: SampleProps | SampleProps[]; comment?: string; genre?: string; } export interface ROMProps extends CMProObject { name?: string; size?: string; crc?: string; md5?: string; sha1?: string; } export interface SampleProps extends CMProObject { name: string; } type CMProValue = CMProObject | string | undefined; interface CMProObject { [key: string]: CMProValue | CMProValue[]; } /** * A parser for CMPRo schema DATs. * @see http://www.logiqx.com/DatFAQs/CMPro.php */ export default class CMProParser { private static readonly WHITESPACE_CHARS; private readonly contents; private pos; constructor(contents: string); /** * Parse the CMPro DAT's file contents. */ parse(): DATProps; private skipWhitespace; private parseObject; private parseTag; private parseValue; private parseQuotedString; private parseUnquotedString; } export {};