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) • 1.3 kB
import Package from "../../globals/package.js"; import DateUtil from "../../utils/dateUtil.js"; import Header from "./logiqx/header.js"; class IgirHeader extends Header { constructor(datType, originalDat, options) { const inputOptions = Object.entries(options.toObject()).filter( ([key, value]) => (["merge-", "exclude-", "filter-", "no-", "only-", "single", "prefer-"].some( (start) => key.startsWith(start) ) || ["input", "input-exclude", "dat"].includes(key)) && value !== void 0 && value !== false && value !== "" && (!Array.isArray(value) || value.length > 0) ); const inputOptionsString = JSON.stringify(Object.fromEntries(inputOptions), void 0, 2); const date = DateUtil.format("YYYYMMDD-HHmmss"); super({ name: `${originalDat.getHeader().getName().trim()} ${datType}`.trim(), description: `${originalDat.getHeader().getDescription()?.trim()} ${datType}`.trim(), version: date, date, author: Package.NAME, url: Package.HOMEPAGE, comment: [ `${datType} generated by ${Package.NAME} v${Package.VERSION}`, `Options: ${inputOptionsString}`, `Filtered DAT: ${originalDat.toString()}` ].join("\n") }); } } export { IgirHeader as default }; //# sourceMappingURL=igirHeader.js.map