UNPKG

polen

Version:

A framework for delightful GraphQL developer portals

33 lines 1.29 kB
import { Mask } from '#lib/mask'; import { Err, Str } from '@wollybeard/kit'; export const formatReport = (report, options) => { const maskOptions = options?.debug ? undefined : (options?.mask ?? report.task.mask); // Apply masks const maskedInput = maskOptions?.input ? Mask.apply(report.execution.input, Mask.create(maskOptions.input)) : report.execution.input; const maskedOutput = report.execution.output instanceof Error || !maskOptions?.output ? report.execution.output : Mask.apply(report.execution.output, Mask.create(maskOptions.output)); // Format report const s = Str.Builder(); s `Task: ${report.task.name}`; s `Duration: ${report.execution.timings.duration.toFixed(2)}ms`; s `Input: ${JSON.stringify(maskedInput, null, 2)}`; if (report.execution.output instanceof Error) { s(Err.inspect(report.execution.output)); } else { s `Output: ${JSON.stringify(maskedOutput, null, 2)}`; } return s.render(); }; export const exitWithReport = (report, options) => { const isError = Err.is(report.execution.output); const exitCode = isError ? 1 : 0; console.log(formatReport(report, options)); process.exit(exitCode); }; //# sourceMappingURL=report.js.map