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.

56 lines (55 loc) • 2.73 kB
import chalk from "chalk"; import isUnicodeSupported from "is-unicode-supported"; import IntlUtil from "../utils/intlUtil.js"; const IS_UNICODE_SUPPORTED = isUnicodeSupported(); const ProgressBarSymbol = { NONE: { symbol: "", color: chalk.reset }, WAITING: { symbol: IS_UNICODE_SUPPORTED ? "\u22EF" : "\u2026", color: chalk.grey }, DONE: { symbol: IS_UNICODE_SUPPORTED ? "\u2713" : "\u221A", color: chalk.green }, // Files FILE_SCANNING: { symbol: IS_UNICODE_SUPPORTED ? "\u21BB" : "\u25CB", color: chalk.magenta }, DAT_DOWNLOADING: { symbol: "\u2193", color: chalk.magenta }, DAT_PARSING: { symbol: "\u03A3", color: chalk.magenta }, ROM_HASHING: { symbol: "#", color: chalk.magenta }, ROM_HEADER_DETECTION: { symbol: "^", color: chalk.magenta }, ROM_TRIMMING_DETECTION: { symbol: IS_UNICODE_SUPPORTED ? "\u2335" : "v", color: chalk.magenta }, ROM_INDEXING: { symbol: "\u2666", color: chalk.magenta }, PATCH_PARSING: { symbol: IS_UNICODE_SUPPORTED ? "\u2119" : "P", color: chalk.magenta }, // Processing a single DAT DAT_GROUPING_SIMILAR: { symbol: "\u2229", color: chalk.cyan }, DAT_MERGE_SPLIT: { symbol: "\u2194", color: chalk.cyan }, DAT_FILTERING: { symbol: "\u2206", color: chalk.cyan }, DAT_PREFERRING: { symbol: IS_UNICODE_SUPPORTED ? "\u21C5" : "\u21A8", color: chalk.cyan }, // Candidates generation CANDIDATE_GENERATING: { symbol: "\u03A3", color: chalk.cyan }, CANDIDATE_PATCHING: { symbol: IS_UNICODE_SUPPORTED ? "\u2119" : "P", color: chalk.cyan }, CANDIDATE_EXTENSION_CORRECTION: { symbol: ".", color: chalk.cyan }, CANDIDATE_HASHING: { symbol: "#", color: chalk.cyan }, CANDIDATE_VALIDATING: { symbol: IS_UNICODE_SUPPORTED ? "\u225F" : "?", color: chalk.cyan }, CANDIDATE_COMBINING: { symbol: IS_UNICODE_SUPPORTED ? "\u222A" : "U", color: chalk.cyan }, // Candidate writing TESTING: { symbol: IS_UNICODE_SUPPORTED ? "\u225F" : "?", color: chalk.yellow }, WRITING: { symbol: IS_UNICODE_SUPPORTED ? "\u270E" : "\xBB", color: chalk.yellow }, RECYCLING: { symbol: IS_UNICODE_SUPPORTED ? "\u267B" : "\xBB", color: chalk.blue }, DELETING: { symbol: IS_UNICODE_SUPPORTED ? "\u2715" : "X", color: chalk.red } }; class ProgressBar { /** * Call the `done()` method with a completion message that indicates how many items were * processed. */ finishWithItems(count, noun, verb) { let pluralSuffix = "s"; if (noun.toLowerCase().endsWith("ch") || noun.toLowerCase().endsWith("s")) { pluralSuffix = "es"; } this.finish( `${IntlUtil.toLocaleString(count)} ${noun.trim()}${count === 1 ? "" : pluralSuffix} ${verb}` ); } } export { ProgressBarSymbol, ProgressBar as default }; //# sourceMappingURL=progressBar.js.map