core/reporters/derivation.reporter.ts
core/reporters/derivation.reporter.ts is a file in Bane's Lab Content. 24 lines of code and 5 definitions.
import { FINDINGS_HEAD, FINDING_INDENT } from "#configuration/strings/derivation.strings";
import type { Finding } from "#types/derivation.types";
import { LINE_END } from "#configuration/constants/inventory.constants";
import process from "node:process";
const EXIT_CLEAN = 0;
const EXIT_FAILED = 1;
export const say = function say(message: string): void {
process.stdout.write(message + LINE_END);
};
export const refuse: (message: string) => never = function refuse(message: string): never {
process.stderr.write(message + LINE_END);
process.exit(EXIT_FAILED);
};
export const conclude = function conclude(label: string, findings: readonly Finding[], clean: string): void {
if (findings.length === 0) {
say(clean);
process.exit(EXIT_CLEAN);
}
say(`${label}: ${String(findings.length)}${FINDINGS_HEAD}`);
for (const finding of findings) {
say(`${FINDING_INDENT}${finding.file} ${finding.message}`);
}
process.exit(EXIT_FAILED);
};