@adso-ts/badges
Version:
Jest coverage badges generator
27 lines (26 loc) • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateBadge = void 0;
var lodash_1 = require("lodash");
var badge_const_1 = require("./badge.const");
var colors_const_1 = require("./colors.const");
function generateBadge(value, color, label, hasDynamicWidth) {
if (color === void 0) { color = colors_const_1.COLORS.red; }
if (label === void 0) { label = 'Average'; }
if (hasDynamicWidth === void 0) { hasDynamicWidth = false; }
var textLength = label.length + value.length;
var badgeWidth = hasDynamicWidth ? (textLength + 2) * 6 : 110;
var labelWidth = hasDynamicWidth ? (label.length + 2) * 6 : 65;
var valueWidth = hasDynamicWidth ? (badgeWidth - labelWidth) : '45';
var labelPosition = hasDynamicWidth ? lodash_1.toString((labelWidth * 10) + 30) : '700';
var badge = badge_const_1.BADGE_TEMPLATE
.replace(/{{badgeWidth}}/g, lodash_1.toString(badgeWidth))
.replace(/{{label}}/g, lodash_1.toString(label))
.replace(/{{labelWidth}}/g, lodash_1.toString(labelWidth))
.replace('{{value}}', lodash_1.toString(value))
.replace(/{{valueWidth}}/g, lodash_1.toString(valueWidth))
.replace('{{labelPosition}}', labelPosition)
.replace('{{color}}', color);
return badge;
}
exports.generateBadge = generateBadge;