UNPKG

budgie-cli

Version:
54 lines (47 loc) 1.98 kB
import chalk from "chalk"; import { EOL } from "os"; import { ConversionStatus, IConversionResult, IFailedConversionResult } from "../converters/converter"; import { ILogger } from "../logger"; import { indent } from "./text"; export const printActionsPrefix = ( logger: ILogger, targets: ReadonlyArray<unknown> | ReadonlySet<unknown>, descriptor: string, targetType: string, ) => { const size = targets instanceof Set ? targets.size : (targets as ReadonlyArray<unknown>).length; logger.log([`${descriptor} `, size, ` ${targetType}`, size === 1 ? "" : "s", "..."].join("")); }; export const printActionResult = ( logger: ILogger, filePath: string, descriptorSucceeded: string, descriptorFailed: string, result: IConversionResult, ) => { if (result.status === ConversionStatus.Succeeded) { if (result.outputPath !== undefined) { logger.log( chalk.italic.grey(descriptorSucceeded), chalk.bold.green(filePath), chalk.italic.grey("to"), chalk.bold.green(result.outputPath), ); } } else { logger.error( chalk.grey.italic(`Failed ${descriptorFailed}`), [chalk.red.bold(filePath), chalk.grey.italic(":"), EOL, indent(chalk.italic.red(`${result.error.stack}`))].join(""), ); } }; export const printActionsSummary = (logger: ILogger, descriptor: string, failures?: IFailedConversionResult[]) => { if (failures === undefined || failures.length === 0) { logger.log(chalk.green(`${descriptor} complete.`)); } else { logger.log( chalk.bold(`${descriptor} failed with ${chalk.bold(`${failures.length}`)} failure${failures.length === 1 ? "" : "s"}.`), ...failures.map((failure) => chalk.red(`\n ${failure.sourcePath} ${chalk.grey("->")} ${failure.outputPath}`)), ); } };