core/reporters/grammar.reporter.ts
core/reporters/grammar.reporter.ts is a file in Code Parse. 25 lines of code and 4 definitions.
import type { BuildKind, BuildResult } from "#types/grammar.types";
import {
SKIPPED_PREFIX,
WASM_UNBUILT_PREFIX,
builtSummary,
fetchFailedNote,
noteLine,
} from "#configuration/strings/grammar.strings";
import process from "node:process";
const printNotes = function printNotes(results: readonly BuildResult[], kind: BuildKind, prefix: string): void {
for (const entry of results.filter((result) => result.kind === kind)) {
process.stdout.write(noteLine(prefix, entry.note));
}
};
export const reportBuild = function reportBuild(results: readonly BuildResult[]): boolean {
const built = results.filter((result) => result.kind === "built").map((result) => result.lang);
process.stdout.write(builtSummary(built));
printNotes(results, "skipped", SKIPPED_PREFIX);
printNotes(results, "wasm-failed", WASM_UNBUILT_PREFIX);
const fetchFailed = results.filter((result) => result.kind === "fetch-failed");
for (const result of fetchFailed) {
process.stderr.write(fetchFailedNote(result.note));
}
return fetchFailed.length === 0;
};