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
JavaScript
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