UNPKG

4.14 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var logSymbols = require("log-symbols");
4var chalk_1 = require("chalk");
5var indent = require("indent-string");
6var core_1 = require("@graphql-inspector/core");
7function getSymbol(level) {
8 var _a;
9 var symbols = (_a = {},
10 _a[core_1.CriticalityLevel.Dangerous] = logSymbols.warning,
11 _a[core_1.CriticalityLevel.Breaking] = logSymbols.error,
12 _a[core_1.CriticalityLevel.NonBreaking] = logSymbols.success,
13 _a);
14 return symbols[level];
15}
16exports.getSymbol = getSymbol;
17function renderChange(change) {
18 return [getSymbol(change.criticality.level), bolderize(change.message)];
19}
20exports.renderChange = renderChange;
21function bolderize(msg) {
22 var findSingleQuotes = /\'([^']+)\'/gim;
23 var findDoubleQuotes = /\"([^"]+)\"/gim;
24 return msg
25 .replace(findSingleQuotes, function (_, value) { return chalk_1.default.bold(value); })
26 .replace(findDoubleQuotes, function (_, value) { return chalk_1.default.bold(value); });
27}
28exports.bolderize = bolderize;
29function renderInvalidDocument(invalidDoc) {
30 var errors = invalidDoc.errors
31 .map(function (e) { return " - " + bolderize(e.message); })
32 .join('\n');
33 return [
34 chalk_1.default.redBright('error'),
35 "in " + invalidDoc.source.name + ":\n\n",
36 errors,
37 '\n\n',
38 ];
39}
40exports.renderInvalidDocument = renderInvalidDocument;
41function renderDeprecatedUsageInDocument(invalidDoc, isCritical) {
42 if (isCritical === void 0) { isCritical = false; }
43 var deprecated = invalidDoc.deprecated
44 .map(function (e) { return " - " + bolderize(e.message); })
45 .join('\n');
46 return [
47 isCritical ? chalk_1.default.redBright('error') : chalk_1.default.yellowBright('warn'),
48 "in " + invalidDoc.source.name + ":\n\n",
49 deprecated,
50 '\n\n',
51 ];
52}
53exports.renderDeprecatedUsageInDocument = renderDeprecatedUsageInDocument;
54var ConsoleRenderer = /** @class */ (function () {
55 function ConsoleRenderer() {
56 }
57 ConsoleRenderer.prototype.emit = function () {
58 var msgs = [];
59 for (var _i = 0; _i < arguments.length; _i++) {
60 msgs[_i] = arguments[_i];
61 }
62 console.log.apply(console, msgs);
63 };
64 ConsoleRenderer.prototype.coverage = function (coverage) {
65 this.success('Schema coverage based on documents:\n');
66 for (var typeName in coverage.types) {
67 if (coverage.types.hasOwnProperty(typeName)) {
68 var typeCoverage = coverage.types[typeName];
69 this.emit(chalk_1.default.grey(core_1.getTypePrefix(typeCoverage.type)), chalk_1.default.bold("" + typeName), chalk_1.default.grey('{'));
70 for (var childName in typeCoverage.children) {
71 if (typeCoverage.children.hasOwnProperty(childName)) {
72 var childCoverage = typeCoverage.children[childName];
73 if (childCoverage.hits) {
74 this.emit(indent(childName, 2), chalk_1.default.italic.grey("x " + childCoverage.hits));
75 }
76 else {
77 this.emit(chalk_1.default.redBright(indent(childName, 2)), chalk_1.default.italic.grey('x 0'));
78 }
79 }
80 }
81 this.emit(chalk_1.default.grey('}\n'));
82 }
83 }
84 };
85 ConsoleRenderer.prototype.success = function () {
86 var msgs = [];
87 for (var _i = 0; _i < arguments.length; _i++) {
88 msgs[_i] = arguments[_i];
89 }
90 console.log("\n" + chalk_1.default.greenBright('success') + " " + msgs.join(' '));
91 };
92 ConsoleRenderer.prototype.error = function () {
93 var msgs = [];
94 for (var _i = 0; _i < arguments.length; _i++) {
95 msgs[_i] = arguments[_i];
96 }
97 console.log("\n" + chalk_1.default.redBright('error') + " " + msgs.join(' '));
98 };
99 return ConsoleRenderer;
100}());
101exports.ConsoleRenderer = ConsoleRenderer;
102//# sourceMappingURL=render.js.map
\No newline at end of file